比較的セキュアなプロキシサーバを作成することになりました。以下の設定を行い作成しましたので参考にしてください。指定したサイト以外にはアクセスさせたくない環境のプロキシサーバになります。
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
設定→ネットワークとインターネットで手動プロキシ セットアップ
ご参考まで。