squid SSL https

17 篇文章 0 订阅
2 篇文章 0 订阅

在 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 将完成。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要让squid支持反向代理HTTPS端口,需要重新编译squid,并且在编译时启用SSL支持。具体步骤如下: 1. 安装依赖库: ``` sudo apt-get install build-essential openssl libssl-dev ``` 2. 下载squid源码包: ``` wget http://www.squid-cache.org/Versions/v4/squid-4.15.tar.gz tar -xzvf squid-4.15.tar.gz cd squid-4.15 ``` 3. 配置、编译和安装squid: ``` ./configure --prefix=/usr/local/squid --with-openssl --enable-ssl --enable-ssl-crtd make sudo make install ``` 上述命令中,--with-openssl和--enable-ssl参数表示启用SSL支持,--enable-ssl-crtd参数表示启用SSL证书缓存。 4. 生成SSL证书: 为了让squid支持HTTPS反向代理,需要为squid生成一个SSL证书。可以使用以下命令生成SSL证书: ``` cd /usr/local/squid/etc/ openssl req -new -newkey rsa:2048 -nodes -keyout squid.key -out squid.csr openssl x509 -req -days 365 -in squid.csr -signkey squid.key -out squid.crt ``` 5. 配置squid: 编辑squid配置文件/etc/squid/squid.conf,添加以下内容: ``` http_port 80 accel defaultsite=www.example.com https_port 443 accel defaultsite=www.example.com cert=/usr/local/squid/etc/squid.crt key=/usr/local/squid/etc/squid.key cache_peer web_server_ip_address parent 80 0 no-query originserver name=webserver cache_peer web_server_ip_address parent 443 0 no-query originserver ssl sslflags=DONT_VERIFY_PEER name=webserver_https acl ssl_port port 443 acl ssl method CONNECT http_access allow ssl_port ssl http_access allow webserver http_access allow webserver_https ``` 上述配置中,http_port设置为80,https_port设置为443,并开启了加速模式。cache_peer指令用于设置反向代理服务器,其中web_server_ip_address为反向代理的目标服务器的IP地址。ssl_port和ssl方法用于允许SSL连接,http_access用于控制访问权限。 6. 重启squid服务: ``` sudo service squid restart ``` 完成上述配置后,squid即可支持反向代理HTTPS端口。但是客户端到squid之间仍然需要SSL证书,可以自行使用openssl生成证书并配置客户端。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叮咚网工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值