Rocky Linux 9でSquidの構築

比較的セキュアなプロキシサーバを作成することになりました。以下の設定を行い作成しましたので参考にしてください。指定したサイト以外にはアクセスさせたくない環境のプロキシサーバになります。
Squidの設定(プロキシサーバ)
/etc/squid.confの内容

# Squid configuration

# IPv4優先
dns_v4_first on

# IPアドレス(接続元のネットワークアドレスを指定)

# 適宜追加、変更
acl localnet src 192.168.1.0/24    # From Local Network

# HTTP通信以外を拒否
acl Safe_ports port 80          # http
acl Safe_ports port 443         # https
http_access deny !Safe_ports

# SSLではTCP443ポート以外は拒否
acl SSL_ports port 443          # https
acl CONNECT method CONNECT
http_access deny CONNECT !SSL_ports

# ホワイトリストのファイルのパスを指定
acl whitelist dstdomain "/etc/squid/whitelist"

# 接続元IPアドレス外の通信は拒否
http_access deny !localnet

# ホワイトリストで定義したURLへのアクセスを許可
http_access allow whitelist

# 許可されたルール以外のアクセスをすべて拒否する
http_access deny all

# Squidの設定:
#
# Squid使用ポート
http_port 3128

# キャッシュを拒否
no_cache deny all

# コアファイルを書き出すパスを指定
coredump_dir /var/spool/squid

# access.logのフォーマット
#ローカル時間 送信元IP リクエストステータス レスポンスサイズ リクエストメソッド リクエストURL ユーザ名 階層コード コンテンツタイプで区切る
logformat squid %tl %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt

#
# セキュリティ設定
#
# ホスト名を秘匿
visible_hostname unknown

# プロキシを秘匿
forwarded_for off
request_header_access User-Agent deny all
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

#以上

/etc/squid/whitelistの内容
接続テスト用にgoogleとredhat。
Rocky Linux9のyumコマンドでのレポジトリ、WindowsUpdate用のURLを許可しています。

.google.com
.redhat.com
.mirrors.rockylinux.org
.ctrliq.cloud
.ftp.iij.ad.jp
.windowsupdate.com
.microsoft.com

クライアントの設定
yumコマンド実行時にプロキシサーバを使用するように/etc/yum.confに以下を追記

#yum proxy設定 /etc/yum.conf
#プロキシサーバのIPアドレスとsquidが使用しているTCPポートを追記
proxy=http://192.168.1.1:3128

Windows Server
設定→ネットワークとインターネットで手動プロキシ セットアップ

ご参考まで。

関連記事

TOP