工作项目上,需要在linux上搭建一个透明代理,用于代理ssl请求,并且使用自定义证书解密ssl请求。在网上找了一些工具试用,有开源的,也有不开源的,这里介绍下这个PolarPorxy。


工具官网为https://www.netresec.com/?page=PolarProxy,没有开源,但是有x64和arm版本,可以免费商用

操作步骤

1,在linux上下载安装。

这里安装的是x64版本,具体安装步骤见上面连接,略。

2,终端下载证书

使用另外一台机器访问 http://192.168.0.151:10080

(192.168.0.151为安装polarproxy的linux主机IP)

访问后可以直接下载证书

3,终端安装证书

透明ssl代理工具使用

PC上直接打开,一路下一步,三个步骤可以完成。其他设备的安装,例如android或者ios设备的证书安装参见我的其他文章。



4,终端上访问HTTPS网址

终端IP是192.168.0.215, polarproxyIP是192.168.0.151。

如果polarproxy安装在网关设备,应该只需要做一下端口转发就可以(443转发到polarproxy监听的10443)。本次试验的环境polarproxy不在网关,需要配置下网关上的防火墙规则

sudo iptables -I FORWARD -i eth1 -d 192.168.0.151 -p tcp --dport 10443 -m state --state NEW -j ACCEPT

sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j DNAT --to 192.168.0.151 :10443

或者直接用curl的命令完成转发

终端没安装证书的话会提示证书不受信任


安装证书后,随便找个网址测试下

curl --ssl-no-revoke --connect-to www.sohu.com:443:192.168.0.151:10443 https://www.sohu.com/

实际测试,可以正常访问HTTPS网站

5,查看polarproxy的日志和抓包文件

logs polarproxy可以看到相关的解析日志,192.168.0.215(发送请求的终端),17660→443端口的请求,域名是www.sohu.com跳转到了polarproxy. action:decrypt后,生成了pcap文件


打开pcap文件,可以看到https://www.sohu.com的请求记录的是http明文请求



总结:工具和方案可行,可以在不影响正常上网的情况下,完成https内容的解密

存在的问题就是不开源,具体的性能影响不好评估。

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。