Я знаю, что это может быть задано несколько раз, но ни один из них не работал для меня на последней версии Squid
Я пытаюсь запустить Squid в режиме MITM.Я перенаправляю трафик с браузера на squid, разрешив fqdn сайта на squid IP.Теперь я хочу, чтобы Squid прекратил работу SSL и создал новый SSL для сервера назначения, своего рода прозрачный запрос https для прокси.
Я доверял корневому центру сертификации в браузере.Проблема, которую я вижу, состоит в том, что CN в сертификате, возвращаемом squid, не соответствует целевому серверу, он поставляется с CN корневого CA.
Я использую squid 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 через squid
[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
Я игралс несколькими конфигами, но безуспешно.Конфиг, вернувший правильный сертификат, был таким, как показано ниже:
Squid 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, а также для генерации надлежащих сертификатов для клиента.