https透明代理中的Squid CN证书错误

时间:2019-02-27 02:15:36

标签: squid

我知道这个问题可能会被问到多次,但是在最新的鱿鱼中,没有一个对我有用

我正在尝试在MITM模式下运行鱿鱼。我通过将站点的fqdn解析为鱿鱼IP,将流量从浏览器重定向到鱿鱼。现在,我希望Squid终止SSL并创建一个到目标服务器的新SSL,这是一种透明的代理https请求。

我已经信任浏览器中的根CA。我看到的问题是squid返回的证书中的CN与目标服务器不匹配,它附带根CA的CN。

我正在使用以下方式编译的鱿鱼4.5 ./configure --with-openssl = / usr / local / ssl --with-ssl-crtd

Squid.conf

https_port 443 accel cert=/usr/local/squid/etc/ssl_cert/myCA.pem \
  key=/usr/local/squid/etc/ssl_cert/myCA.pem allow-direct \
  generate-host-certificates=on dynamic_cert_mem_cache_size=4MB

acl step1 at_step SslBump1

ssl_bump stare step1

ssl_bump bump all

如果使用此配置,如果我忽略证书验证连接就可以了,但是如果启用,则CN返回给客户端的证书不正确。

示例-尝试通过鱿鱼连接到Google

[nsroot@Bastion ~]$ curl https://google.com -vv --insecure
* Connected to google.com (10.90.18.99) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* skipping SSL peer certificate verification
* SSL connection using TLS_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
*     subject: E=er,CN=er,OU=er,O=er,L=er,ST=er,C=er ------> CN should have google.com
*     start date: Feb 07 04:30:51 2019 GMT
*     expire date: Feb 04 04:30:51 2029 GMT
*     common name: er
*     issuer: E=er,CN=er,OU=er,O=er,L=er,ST=er,C=er

我玩过多个配置,但没有成功。返回正确证书的配置如下

乌贼conf

https_port 443 intercept ssl-bump cert=/usr/local/squid/etc/ssl_cert/myCA.pem \
 key=/usr/local/squid/etc/ssl_cert/myCA.pem \
 generate-host-certificates=on dynamic_cert_mem_cache_size=4MB

acl step1 at_step SslBump1

acl step2 at_step SslBump2

acl step3 at_step SslBump3

ssl_bump bump all

但是使用此配置,无法连接到Google网站。

什么是正确的配置以透明地拦截https连接并为客户端生成正确的证书。

0 个答案:

没有答案