Squid サービスでの SSL Bump の設定

暗号化された接続を処理するため、Squid サービスで SSL Bump を設定することを推奨します。SSL Bump が設定されていないと、暗号化された接続を確立するプロセスにプロキシサーバーが介入できません。この場合、Kaspersky Web Traffic Security の保護モジュール(アンチウイルスモジュールとアンチフィッシングモジュール)は、暗号化されたデータ接続内で送受信されるデータをスキャンできません。これにより、IT インフラストラクチャの保護レベルは低下します。

SSL Bump には PEM 形式の SSL 証明書と秘密鍵が必要です。新しい自己署名 SSL 証明書を作成するか、既存の証明書(認証局が発行した SSL 証明書など)を使用できます。

秘密鍵がパスワードで保護されている場合は、事前に復号する必要があります。

Squid サービスで SSL Bump を設定するには:

  1. 使用している Squid サービスが必要なオプションをサポートしていることを確認します。この操作には、次のコマンドを実行します:

    squid -v

    configure options パラメータの値に --enable-ssl-crtd および --with-openssl が含まれている必要があります。

  2. PEM 形式の SSL 証明書を /etc/squid/bump.crt ファイルにコピーします。
  3. PEM 形式の秘密鍵を /etc/squid/bump.key ファイルにコピーします。
  4. Diffie-Hellman アルゴリズムの設定ファイルを生成します。この操作には、次のコマンドを実行します:

    openssl dhparam -outform PEM -out /etc/squid/bump_dhparam.pem 2048

  5. SSL 証明書ファイルを使用するための権限を設定します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
    • CentOS、Red Hat Enterprise Linux、SUSE Linux Enterprise Server:

      chown squid:squid /etc/squid/bump*

      chmod 400 /etc/squid/bump*

    • Ubuntu、Debian:

      chown proxy:proxy /etc/squid/bump*

      chmod 400 /etc/squid/bump*

  6. サーバーで使用中の Squid サービスのバージョンを確認します。この操作には、次のコマンドを実行します:

    squid -v

    使用中のバージョンに関する情報は、Squid Cache: Version <バージョン> の形式で表示されます。

  7. Squid サービスが実行中の場合は停止します。この操作には、次のコマンドを実行します:

    service squid stop

  8. バージョン 3.5.x の Squid サービスを使用している場合:
    1. 証明書データベース用のディレクトリを作成して、データベースを初期化します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
      • 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

    2. /etc/squid/squid.conf 設定情報ファイルを次のように変更します:
      1. ファイルの末尾に、使用中のオペレーティングシステムに応じて次の指示句を追加します:
        • 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

      2. 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

  9. バージョン 4.x の Squid サービスを使用している場合:
    1. 証明書データベース用のディレクトリを作成して、データベースを初期化します。この操作には、使用しているオペレーティングシステムに応じて、以下のコマンドを実行します:
      • 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:

        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

    2. /etc/squid/squid.conf 設定情報ファイルを次のように変更します:
      1. ファイルの先頭または 1 つ目の http_access 指示句の前に次の指示句を追加します:

        acl intermediate_fetching transaction_initiator certificate-fetching

        http_access allow intermediate_fetching

      2. 使用しているオペレーティングシステムに応じて、ファイルの末尾に以下の指示句を追加します:
        • 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:

        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

      3. 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

  10. Squid サービスを再起動します。この操作には、次のコマンドを実行します:

    service squid restart

Squid サービスでの SSL Bump の設定が完了します。

ページのトップに戻る