メイン コンテンツにスキップ

Squid

このガイドでは、Glasswall Halo ICAP serverSquid 6.xを設定する方法を説明します。これにより、Glasswall Halo を介して高度な Content Disarm and Reconstruction (CDR) 技術による高度な脅威保護を有効にできます。

注: 手順はOpenSSL でビルドされた Squid 6.xに基づいています。設定オプションの完全な一覧については、Squid documentationを参照してください。

Squid 統合ガイド

ステップ 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