在 Squid 服務中配置 SSL Bumping
2023年12月13日
ID 166244
如果 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:
- 請確保所用的 Squid 服務支援必需的選項。為此,請執行指令:
squid -v
配置選項
參數必須包含--enable-ssl-crtd and --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.х 的 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:<group> /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.х 的 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 設定檔中進行以下變更:
- 將以下指令新增到檔案開始或第一個 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
- 將以下指令新增到檔案開始或第一個 http_access 指令前:
- 为憑證資料库建立目錄然後初始化資料库。為此,請根據所使用的作業系統執行以下指令:
- 重啟 Squid 服務。為此,請執行指令:
service squid restart
配置 Squid 服務中的 SSL Bumping 將完成。