サーバからhttp/httpsでのアクセス先を制御したく、
Squidをインストールし、ホワイトリストに記載したドメインだけにアクセス先を限定する設定をしました。
環境は以下です。
OS:CentOS Linux release 8.3.2011
Squid:Squid Cache: Version 4.15
しかしホワイトリストへの記載がないにもかかわらず、
curlで外部サイト(www.google.comなど)にhttpリクエストを行ってもレスポンスコード200でアクセスできてしまいました。
なので、症状切り分けのためsquid.confの1番上の行に”http_access deny all”と記載し、
設定反映の為squid再起動後、同じくcurlで外部サイトにアクセスしても同じくレスポンスコード200でアクセスできてしまい、
Squidの制御が利いていないようです。
ただ、systemctlでstatusを確認しても、きちんとsquid.confを参照して起動しています。
[root@servername squid]# systemctl status squid.service ● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2022-03-08 21:20:20 JST; 32min ago Docs: man:squid(8) Process: 171002 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS) Main PID: 171007 (squid) Tasks: 2 (limit: 17884) Memory: 13.7M CGroup: /system.slice/squid.service tq171007 /usr/sbin/squid --foreground -f /etc/squid/squid.conf mq171010 (squid-1) --kid squid-1 --foreground -f /etc/squid/squid.conf
また、リッスンポートが上がっていることも確認しています。
※XXX.XXX.XXX.XXXはグローバルネットワーク側のeth1のIP
[root@servername squid]# netstat -na | grep :3128 tcp 0 0 XXX.XXX.XXX.XXX:3128 0.0.0.0:* LISTEN
試しにcurlしてみた直後にnetstatで確認すると、やはりeth1から外部サイト向けにアクセスできてしまっているようです。
[root@servername squid]# netstat -na | grep :80 tcp 0 0 XXX.XXX.XXX.XXX:45942 142.250.206.228:80 TIME_WAIT
また、/var/log/squid/access.logにも何も記録がありません。
squidをインストールしたサーバからのhttp/httpsのアクセス制御を行うために、何かその他に設定が必要なのでしょうか。
設定にて見落としている点などあれば、ご指摘ください。

回答2件
あなたの回答
tips
プレビュー