Squid サービスでの SSL Bump の設定
2023年12月13日
ID 166244
以下の手順は、Kaspersky Web Traffic Security が RPM パッケージと DEB パッケージから、すぐ使えるオペレーティングシステムにインストールされた場合のみに適用されます。Kaspersky Web Traffic Security が ISO ファイルからインストールされた場合は、ビルトインのプロキシサーバー用の設定情報ファイルを手動で変更することはできません。
暗号化された接続を処理するため、Squid サービスで SSL Bump を設定することを推奨します。SSL Bump が設定されていないと、暗号化された接続を確立するプロセスにプロキシサーバーが介入できません。この場合、Kaspersky Web Traffic Security の保護モジュール(アンチウイルスモジュールとアンチフィッシングモジュール)は、暗号化されたデータ接続内で送受信されるデータをスキャンできません。これにより、IT インフラストラクチャの保護レベルは低下します。
SSL Bump には PEM 形式の SSL 証明書と秘密鍵が必要です。新しい自己署名 SSL 証明書を作成するか、既存の証明書(認証局が発行した SSL 証明書など)を使用できます。
秘密鍵がパスワードで保護されている場合は、事前に復号する必要があります。
Squid サービスで SSL Bump を設定するには:
- 使用している Squid サービスが必要なオプションをサポートしていることを確認します。この操作には、次のコマンドを実行します:
squid -v
configure options
パラメータの値に--enable-ssl-crtd および --with-openssl
が含まれている必要があります。 - PEM 形式の SSL 証明書をファイル /etc/squid/bump.crt にコピーします。
- PEM 形式の秘密鍵をファイル /etc/squid/bump.key にコピーします。
- Diffie-Hellman アルゴリズムの設定ファイルを生成します。この操作には、次のコマンドを実行します:
openssl dhparam -outform PEM -out /etc/squid/bump_dhparam.pem 2048
- SSL 証明書ファイルを使用するための権限を設定します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
- CentOS、Red Hat Enterprise Linux、SUSE Linux Enterprise Server:
chown squid:squid /etc/squid/bump*
chmod 400 /etc/squid/bump*
- Ubuntu、Debian、ALT Server:
chown proxy:proxy /etc/squid/bump*
chmod 400 /etc/squid/bump*
- CentOS、Red Hat Enterprise Linux、SUSE Linux Enterprise Server:
- サーバーで使用中の Squid サービスのバージョンを確認します。この操作には、次のコマンドを実行します:
squid -v
使用中のバージョンに関する情報は、
Squid Cache: Version <バージョン>
の形式で表示されます。 - Squid サービスが実行中の場合は停止します。この操作には、次のコマンドを実行します:
service squid stop
- バージョン 3.5.x の Squid サービスを使用している場合:
- 証明書データベース用のディレクトリを作成して、データベースを初期化します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
- CentOS、Red Hat Enterprise Linux:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/lib64/squid/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -R squid:squid /var/lib/squid
- SUSE Linux Enterprise Server:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/sbin/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -R squid:squid /var/lib/squid
- Ubuntu、Debian:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/lib/squid/ssl_crtd -c -s /var/lib/squid/ssl_db
chown -R proxy:proxy:<グループ> /var/lib/squid
- CentOS、Red Hat Enterprise Linux:
- /etc/squid/squid.conf 設定情報ファイルを次のように変更します:
- ファイルの末尾に、使用中のオペレーティングシステムに応じて次の指示句を追加します:
- CentOS、Red Hat Enterprise Linux:
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- Ubuntu、Debian:
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- http_port 指示句を以下で置き換えます:
http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB cert=/etc/squid/bump.crt key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,NO_SSLv2,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem
- ファイルの末尾に、使用中のオペレーティングシステムに応じて次の指示句を追加します:
- 証明書データベース用のディレクトリを作成して、データベースを初期化します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
- バージョン 4.x の Squid サービスを使用している場合:
- 証明書データベース用のディレクトリを作成して、データベースを初期化します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
- CentOS、Red Hat Enterprise Linux:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/lib64/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB
chown -R squid:squid /var/lib/squid
- SUSE Linux Enterprise Server:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/sbin/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB
chown -R squid:squid /var/lib/squid
- Ubuntu、Debian、ALT Server:
mkdir -p /var/lib/squid
rm -rf /var/lib/squid/ssl_db
/usr/lib/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB
chown -R proxy:proxy /var/lib/squid
- CentOS、Red Hat Enterprise Linux:
- /etc/squid/squid.conf 設定情報ファイルを次のように変更します:
- ファイルの先頭または 1 つ目の http_access 指示句の前に次の指示句を追加します:
acl intermediate_fetching transaction_initiator certificate-fetching
http_access allow intermediate_fetching
- 使用しているオペレーティングシステムに応じて、ファイルの末尾に以下の指示句を追加します:
- CentOS、Red Hat Enterprise Linux:
sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- SUSE Linux Enterprise Server:
sslcrtd_program /usr/sbin/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- Ubuntu、Debian、ALT Server:
sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB
sslproxy_cert_error allow all
ssl_bump stare all
- http_port 指示句を以下で置き換えます:
http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB tls-cert=/etc/squid/bump.crt tls-key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem
- ファイルの先頭または 1 つ目の http_access 指示句の前に次の指示句を追加します:
- 証明書データベース用のディレクトリを作成して、データベースを初期化します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
- Squid サービスを再起動します。この操作には、次のコマンドを実行します:
service squid restart
Squid サービスでの SSL Bump の設定が完了します。