Squid
このガイドでは、Glasswall Halo ICAP serverでSquid 6.xを設定する方法を説明します。これにより、Glasswall Halo を介して高度な Content Disarm and Reconstruction (CDR) 技術による高度な脅威保護を有効にできます。
注: 手順はOpenSSL でビルドされた Squid 6.xに基づいています。設定オプションの完全な一覧については、Squid documentationを参照してください。
Squid 統合ガイド
- ステップ 1 - 基本設定
- ステップ 2 - 永続接続
- ステップ 3 - squid を再起動
- ステップ 4 - トラブルシューティング(任意)
- ステップ 5 - https スキャンの有効化
- ステップ 6 - 最終再起動
ステップ 1: 基本設定
通常は次の場所にある Squid 設定ファイルを見つけて編集します:
/etc/squid/squid.conf/etc/squid5/squid.conf
1A - アクセス制御リストを定義する
ローカルネットワークと安全なポート用に、次の ACL をコメント解除するか追加します:
acl localnet src 10.0.0.0/8
acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16
acl localnet src fc00::/7
acl localnet src fe80::/10
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
1B - ローカルネットワークアクセスを許可する
推奨される最小アクセス権限設定の下に、次を追加します:
http_port 3128
http_access allow localnet
http_access allow localhost
http_access deny all
1C - ICAP を有効にする
ICAP サポートを有効にするには、次を追加します:
icap_enable on
icap_send_client_ip on
icap_preview_enable on
icap_preview_size 0
icap_service_failure_limit -1
1D - リクエスト変更(アップロード)の設定
icap_service glasswall_req reqmod_precache bypass=0 icap://<Halo ICAP Server>:1344/req-cdr-service
adaptation_access glasswall_req allow all
1E - レスポンス変更(ダウンロード)の設定
icap_service glasswall_resp respmod_precache bypass=0 icap://<Halo ICAP Server>:1344/req-cdr-service
adaptation_access glasswall_resp allow all
ステップ 2 - 永続接続
Squid 6.x はデフォルトで永続的な ICAP 接続をサポートしています。強制するには:
icap_persistent_connections on
ヒント: ICAP サーバー側も永続接続用に設定されていることを確認してください。そうでない場合は、エラーを防ぐために無効化(off)してください。
ステップ 3 - squid を再起動する
変更を適用します:
sudo systemctl restart squid
ステップ 4 - トラブルシューティング(任意)
次のようなエラーが表示される場合:
essential ICAP service is down after an options fetch failure: icap://<Halo ICAP Server>:1344/req-cdr-service [down,!opt]
次の点を確認してください:
- 最新の安定版 Squid 6.x を実行していることを確認してください
- 永続接続が問題を引き起こす場合は、これらを無効にします:
icap_persistent_connections off
ステップ 5 - HTTPs コンテンツのスキャン
暗号化された https トラフィックをスキャンするには、Squid を SSL 対応でコンパイルし、SSL bumping 用に設定する必要があります。
要件
- openssl を使用する Squid 6.x
- SSL インターセプト用のルート証明書
5A - リッスンポートを更新
http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=<SQUIDFOLDER>/etc/ssl/myc.pem
5B - SSL bump を設定する
sslcrtd_program <SQUIDFOLDER>/lib/squid/ssl_crtd -s <SQUIDFOLDER>/var/cache/squid_ssldb -M 4MB
sslcrtd_children 5
ssl_bump server-first all
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all
sslproxy_cert_error deny all
5C - ルート証明書を生成してインストールする
openssl req -new -newkey rsa:2048 -days 1000 -nodes -x509 -keyout myc.pem -out myc.pem
証明書ストレージを初期化します:
rm -rf <SQUIDFOLDER>/var/cache/squid_ssldb
<SQUIDFOLDER>/lib/squid/ssl_crtd -c -s <SQUIDFOLDER>/var/cache/squid_ssldb
重要: ブラウザで myc.pem を信頼されたルート証明書としてインストールしてください。
ステップ 6 - 最終再起動
すべての変更を確定するために Squid を再起動します:
sudo systemctl restart squid