Wie bringt man den Squid-Proxy dazu, selbstsignierte Zertifikate zu akzeptieren?

Wie bringt man den Squid-Proxy dazu, selbstsignierte Zertifikate zu akzeptieren?

Ich habe einen Anwendungsfall, bei dem ich selbstsignierte Zertifikate in Squid akzeptieren muss. Die Endpunkte sind Kubernetes-Cluster, die selbstsignierte Zertifikate verwenden. Die Cluster werden bei Bedarf mit unterschiedlichen selbstsignierten Zertifikaten neu erstellt und müssen daher mit einem regulären Ausdruck, auf bevorzugte Weise oder global zu Testzwecken akzeptiert werden.

Die aktuelle Squid-Version ist 6.0.0, kompiliert mit den folgenden Flags:

Squid Cache: Version 6.0.0-VCS                                                                                                                                             
Service Name: squid                                                                                                                                                        
                                                                                                                                                                           
This binary uses OpenSSL 1.1.1  11 Sep 2018. For legal restrictions on distribution see https://www.openssl.org/source/license.html                                        
                                                                                                                                                                           
configure options:  '--prefix=/apps/squid' '--enable-icap-client' '--enable-ssl' '--with-openssl' '--enable-ssl-crtd' '--enable-security-cert-generators=file' '--enable-au
th' '--with-default-user=proxy'                                                                                                                                            

In meinen Tests habe ich mit den ssl_bump-Konfigurationen und den tls_outgoing_options gespielt:

http_port 8080 ssl-bump cert=/apps/squid/etc/ssl_cert/CA_crt.pem key=/apps/squid/etc/ssl_cert/CA_key.pem generate-host-certificates=on dynamic_cert_mem_cache_size=4MB 
sslcrtd_program /apps/squid/libexec/security_file_certgen -s /apps/squid/var/logs/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump bump all
sslproxy_cert_error allow all
tls_outgoing_options options=ALL flags=DONT_VERIFY_PEER,DONT_VERIFY_DOMAIN

Aber das beste Ergebnis, das ich erreichen kann, ist_curl: (51) SSL: no alternative certificate subject name matches target host name

Oder ohne ssl_bump

http_port 8080 ssl-bump cert=/apps/squid/etc/ssl_cert/CA_crt.pem key=/apps/squid/etc/ssl_cert/CA_key.pem generate-host-certificates=on dynamic_cert_mem_cache_size=4MB
sslcrtd_program /apps/squid/libexec/security_file_certgen -s /apps/squid/var/logs/ssl_db -M 4MB
sslcrtd_children 5
sslproxy_cert_error allow all
tls_outgoing_options options=ALL flags=DONT_VERIFY_PEER,DONT_VERIFY_DOMAIN

Ich bekommecurl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to

Heute brauche ich K8S-Endpunkte, aber morgen können es auch andere Endpunkte sein. Daher muss Squid die Verbindung herstellen, indem er den CN austrickst.

verwandte Informationen