Debian 12 (Bookworm)を使いやすく・セキュアに構築する の続きで、WorpPressをセットアップする前に、管理画面へのアクセスを制限する為に、Squidでプロキシサーバを構築します。
固定IPにしてIP制限するのがベストですが、リモートワークのご時世と合わなくなってきた。
VPNも選択肢としてはありますが、ON/OFFが面倒。(別用途で作っても良いかも)
プロキシサーバならFireFoxだけとかできるので、スイッチングコストが低い。
Squidをインストール・設定
# apt install -y squid apache2-utils 有効な設定のみ表示するコマンド(confが長い為) # grep -vE '^\s*#|^\s*$' /etc/squid/squid.conf # cd /etc/squid # cp -a squid.conf squid.conf,def # vi squid.conf
### START ###
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/.htpasswd
auth_param basic children 5 startup=5 idle=5
auth_param basic realm Please enter your ID and Password.
auth_param basic credentialsttl 2 hours
### END ###
### START ###
acl password proxy_auth REQUIRED
### END ###
### START ###
# acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN)
# acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN)
# acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN)
# acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines
# acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN)
# acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
# acl localnet src fc00::/7 # RFC 4193 local private network range
# acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl localhost src 127.0.0.1/32
acl localhost src ::1
### END ###
### START ###
#http_access allow localhost
http_access allow password
### END ###
### START ###
#http_port 3128
http_port 31281
### END ###
### START ###
#refresh_pattern ^ftp: 1440 20% 10080
#refresh_pattern ^gopher: 1440 0% 1440
#refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
#refresh_pattern . 0 20% 4320
### END ###
### START ###
visible_hostname unknown
### END ###
### START ###
forwarded_for off
### END ###
# cd /etc/squid/conf.d # ls debian.conf # cat debian.conf
#
# Squid configuration settings for Debian
#
# Logs are managed by logrotate on Debian
logfile_rotate 0
# For extra security Debian packages only allow
# localhost to use the proxy on new installs
#
#http_access allow localnet
# htpasswd -c /etc/squid/.htpasswd (ユーザー名) New password: (パスワード) Re-type new password: (パスワード) # chown root:proxy /etc/squid/.htpasswd # chmod 640 /etc/squid/.htpasswd
# squid -k parse # squid -k reconfigure
logrotateの設定変更
logfile_rotate 0が設定されている前提です。
# chmod 740 /var/log/squid # chown proxy:adm /var/log/squid # chown proxy:adm /var/log/squid/*.log # vi /etc/logrotate.d/squid
#
# Logrotate fragment for squid.
#
/var/log/squid/*.log {
daily
compress
delaycompress
### START ###
# rotate 2
rotate 30
### END ###
missingok
### START ###
# nocreate
create 640 proxy adm
### END ###
sharedscripts
### START ###
# prerotate
# test ! -x /usr/sbin/sarg-reports || /usr/sbin/sarg-reports daily
# endscript
### END ###
postrotate
test ! -e /run/squid.pid || test ! -x /usr/sbin/squid || /usr/sbin/squid -k rotate
### START ###
sleep 1
### END ###
endscript
}
Firewalldのポート制限に追加
/etc/squid/squid.confのhttp_portで設定したポート(31281)を開けます。
# firewall-cmd --permanent --add-port=31281/tcp # firewall-cmd --reload # firewall-cmd --list-ports 22123/tcp 31281/tcp
