squid SSL https

发布时间:2023年12月18日

在 Squid 服务中配置 SSL Bumping
建议在 Squid 服务中配置 SSL Bumping 以处理加密连接。如果未配置 SSL Bumping,则代理服务器无法干预加密连接建立过程。在这种情况下,Kaspersky Web Traffic Security(反病毒和反网络钓鱼)的保护模块无法扫描在加密数据通道内传输的数据。这降低了企业 IT 基础架构的保护级别。

创建一个自签名的 SSL 证书
如要创建一个自签名的 SSL 证书:

转至 Squid 服务文件夹。为此,请执行命令:
cd /etc/squid

创建一个自签名的 SSL 证书。为此,请执行命令:
openssl req -new -newkey rsa:2048 -days -nodes -x509 -keyout bump.key -out bump.crt

您将被提示填写自签名 SSL 证书的字段。

请填写自签名 SSL 证书的字段。
证书文件 bump.crt 和私钥文件 bump.key 将按 PEM 格式进行创建。

私钥文件必须存储在安全位置以防对流量未经授权进行访问。

将证书文件转换为 DER 格式的受信任证书以便它可以被导入浏览器中。为此,请执行命令:
openssl x509 -in bump.crt -outform DER -out bump.der

将 bump.der 文件导入用户计算机上受信任的根认证权威列表。
当使用某些浏览器(诸如 Mozilla Firefox)时,您必须将证书也添加到浏览器存储。

将创建自签名 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:
chown proxy:proxy /etc/squid/bump*

chmod 400 /etc/squid/bump*

确定您的服务器上使用的 Squid 服务的版本。为此,请执行命令:
squid -v

利用版本的信息显示为格式 Squid Cache: 版本 .

如果 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

在 /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:
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

在 /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:
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

重启 Squid 服务。为此,请执行命令:
service squid restart

配置 Squid 服务中的 SSL Bumping 将完成。

文章来源:https://blog.csdn.net/drrui520/article/details/134988699
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。