在 Squid 服務中配置 SSL Bumping

如果 Kaspersky Web Traffic Security 是從 RPM 或 DEB 軟體套件安裝到即用型作業系統,則這些說明適用。如果 Kaspersky Web Traffic Security 是從 ISO 檔案安裝,則無法手動變更內建代理伺服器的設定檔。

建議在 Squid 服務中配置 SSL Bumping 以處理加密連線。如果未配置 SSL Bumping,則代理伺服器無法干預加密連線建立過程。在這種情況下,Kaspersky Web Traffic Security(病毒防護和網路釣魚防護)的防護模組無法掃描在加密資料通道內傳輸的資料。這降低了企業 IT 基礎架構的防護等級。

SSL Bumping 需要 SSL 憑證和 PEM 格式的私密金鑰。您可以 新建一個自簽章 SSL 憑證 或使用一個準備好的(例如,憑證機構頒發的 SSL 憑證)。

如果私密金鑰受密碼防護,需要提前解密。

要在 Squid 服務中配置 SSL Bumping:

  1. 請確保所用的 Squid 服務支援必需的選項。為此,請執行指令:

    squid -v

    配置選項參數必須包含 --enable-ssl-crtd and --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 或 ALT Server:

      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.х 的 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:<group> /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.х 的 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 或 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

    2. 在 /etc/squid/squid.conf 設定檔中進行以下變更:
      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 或 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

      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 Bumping 將完成。

頁面頂端