OSS

【Rockylinux9】SQUIDの透過型プロキシ構築手順

やりたいこと

  1. Rockylinux9 の SQUID を透過型プロキシとして構築し、クライアントからプロキシ設定無しでインターネット接続およびプロキシで GET や POST のメソッドまでログできるようにする

前提

以下の手順で SQUID を ssl_bump 込みで構築した状態から始めます。

【Rockylinux9】SQUID+ssl_bumpの仕組みと設定
やりたいこと Rockylinux9 で SQUID を構築し、クライ...

構築手順

ルーティング設定

RockyLinux9 上でルーティングができるように設定します。

[root@localhost ~]# tee -a /etc/sysctl.conf <<EOF > /dev/null
net.ipv4.ip_forward = 1
EOF
[root@localhost ~]# sysctl -p
[root@localhost ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

NAT 設定

続いて firewalld の DIRECT RULE で NAT 設定をします。

[root@localhost ~]# firewall-cmd --permanent --direct --add-rule ipv4 nat PREROUTING 1 -i enp0s3 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
[root@localhost ~]# firewall-cmd --permanent --direct --add-rule ipv4 nat PREROUTING 2 -i enp0s3 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3129
[root@localhost ~]# firewall-cmd --reload

SQUID 追加設定

そして最後に /etc/squid/squid.conf にて http_port の設定を以下のように修正します。

http_port 3128
http_port 3128 intercept
https_port 3129 intercept tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB tls-cert=/etc/squid/bump.crt tls-key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem

http_port を 2 行追加し、ssl_bump の設定の "http_port 3128" を "https_port 3129 intercept" に差し替えています。

そして squid を再起動し、ステータスを確認します。

[root@localhost ~]# systemctl restart squid
[root@localhost ~]# systemctl status squid

動作確認

クライアントのプロキシ設定を外し、インターネット宛の通信が RockyLinux9 を通過するようにします。

簡単なやり方としては、squid の待ち受けインタフェースと同セグメントにクライアント PC を設置し、デフォルトゲートウェイをその待ち受けインタフェースの IP アドレスにすることです。

その後、squid 側でログを流す状態にします。

[root@localhost ~]# tail -f /var/log/squid/access.log

そしてクライアントからインターネットへアクセスし、GET や POST のログが流れることを確認します。

コメント

タイトルとURLをコピーしました