Squidでプロキシサーバーを構築

Squidでプロキシサーバーの構築

Squidを使ったプロキシサーバーの構築について解説します。Squidはオープンソースのプロキシサーバーのミドルウェアです。今回はCentOS7 / AmazonLinux2を例に解説していきます。まず最初にSquidをインストールします。

$ sudo yum install squid

次に/etc/squid/squid.confを編集します。まずファイル中ほどにある「http_access deny all」をコメントアウトします。次いでファイルの最後に以下を追記します。

# 自分のグローバルIPアドレスだけを接続許可
acl allowadress src [クライアントのIPアドレス]/255.255.255.255
http_access allow allowadress
http_access deny all
# プロキシサーバーの情報の秘匿
forwarded_for off
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
# ポート番号(デフォルトは3128番ですが攻撃対象になるため変更した方が良いです)
http_port 53891
# キャッシュを残さないように設定
no_cache deny all

Squidデーモンを起動させます。

$ sudo systemctl start squid

クライアント側からの確認

クライアントからcurlコマンドで、Webのコンテンツが取得できるかやグローバルIPアドレスが書き換わっているかを確認します。

$ curl --proxy http://[プロキシサーバーのIPアドレス]:53891 http://httpbin.org/ip

プロキシサーバーのIPアドレスが表示されれば成功です。「curl: (7) Failed to connect to ... port 5389: Connection refused」などのエラーメッセージが表示される場合はネットワークやファイアウォールの設定に問題がある可能性があります。