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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です