之前有使用到burpsuite中的SSL代理功能,能同时代理HTTPS,所以向研究一下squid能不能完成这个功能。
搭建
首先需要配置自签证书:
mkdir /etc/squid/certs
cd /etc/squid/certs
openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout squid-ca-key.pem -out squid-ca-cert.pem
ls
cat squid-ca-cert.pem squid-ca-key.pem >> squid-ca-cert-key.pem
然后配置squid服务:
http_port 3128 ssl-bump cert=/etc/squid/certs/squid-ca-cert-key.pem generate-host-certificates=on dynamic_cert_mem_cache_size=16MB
sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/spool/squid/ssl_db -M 16MB
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all
ssl_bump splice all
我没研究过SSL连接,所以对这里的参数还没有研究过,不过可以参考这篇文章《Using Squid to Proxy SSL Sites》
注意:这里虚空先生成ssl_db
目录,否则squid代理无法生效。
注意,一定要注意,/var/spool/squid/ssl_db
这个目录不能存在,否则将失效。
/usr/lib64/squid/security_file_certgen -c -s /var/spool/squid/ssl_db -M 16MB
chown squid:squid -R ssl_db
最后再启动squid服务,然后测试:
systemctl restart squid
测试
- 导入证书(公钥),这里使用firefox来进行演示,比较方便
注意,这里在导入的时候需要勾选一下信任
- 测试
本文经「原本」原创认证,作者乾坤盘,访问yuanben.io查询【3NFQKCCJ】获取授权信息。