Ошибка сертификата Squid CN в прозрачном прокси https - PullRequest
0 голосов
/ 27 февраля 2019

Я знаю, что это может быть задано несколько раз, но ни один из них не работал для меня на последней версии 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, а также для генерации надлежащих сертификатов для клиента.

...