SSL Bumping in Squid konfigurieren

Diese Anweisung wird verwendet, wenn Kaspersky Web Traffic Security aus einem rpm- oder deb-Paket in einem bestehenden Betriebssystem installiert wurde. Wenn Kaspersky Web Traffic Security, aus einer iso-Datei installiert wurde, ist keine manuelle Änderung der Konfigurationsdateien des integrierten Proxyservers vorgesehen.

Es wird empfohlen, im Squid-Dienst SSL-Bumping zur Verarbeitung verschlüsselter Verbindungen zu konfigurieren. Wenn SSL-Bumping nicht konfiguriert ist, kann der Proxyserver nicht eingreifen, wenn die Herstellung einer verschlüsselten Verbindung beginnt. In diesem Fall können die Schutzmodule von Kaspersky Web Traffic Security (Anti-Virus und Anti-Phishing) die durch den verschlüsselten Kommunikationskanal übertragenen Daten nicht überprüfen. Das beeinträchtigt das Schutzniveau der IT-Infrastruktur eines Unternehmens.

Für die Nutzung von SSL-Bumping sind ein SSL-Zertifikat und ein privater Schlüssel im PEM-Format erforderlich. Dabei können Sie ein neues selbstsigniertes SSL-Zertifikat erstellen oder ein vorgefertigtes Zertifikat verwenden (z. B. ein vom Zertifizierungszentrum des Unternehmens ausgestelltes SSL-Zertifikat).

Wenn der private Schlüssel kennwortgeschützt ist, muss er zunächst entschlüsselt werden.

Gehen Sie wie folgt vor, um SSL Bumping in Squid zu konfigurieren:

  1. Vergewissern Sie sich, dass der verwendete Squid-Dienst die erforderlichen Optionen unterstützt. Führen Sie dazu den folgenden Befehl aus:

    squid -v

    Der Parameter configure options muss die Werte --enable-ssl-crtd und --with-openssl enthalten.

  2. Kopieren Sie das SSL-Zertifikat im PEM-Format in die Datei /etc/squid/bump.crt.
  3. Kopieren Sie den privaten Schlüssel im PEM-Format in die Datei /etc/squid/bump.key.
  4. Generieren Sie eine Parameterdatei für den Diffie-Hellman-Algorithmus. Führen Sie dazu den folgenden Befehl aus:

    openssl dhparam -outform PEM -out /etc/squid/bump_dhparam.pem 2048

  5. Richten Sie die Berechtigungen zur Verwendung der Zertifikatsdatei ein. Führen Sie dazu je nach verwendetem Betriebssystem folgende Befehle aus:
    • CentOS, Red Hat Enterprise Linux oder SUSE Linux Enterprise Server:

      chown squid:squid /etc/squid/bump*

      chmod 400 /etc/squid/bump*

    • Ubuntu, Debian oder AltServer:

      chown proxy:proxy /etc/squid/bump*

      chmod 400 /etc/squid/bump*

  6. Ermitteln Sie die auf Ihrem Server verwendete Squid-Version. Führen Sie dazu den folgenden Befehl aus:

    squid -v

    Die Informationen zur verwendeten Version werden im Format Squid Cache: Version <Version> angezeigt.

  7. Beenden Sie den Squid-Dienst, falls dieser läuft. Führen Sie dazu den folgenden Befehl aus:

    service squid stop

  8. Wenn Sie Squid Version 3.5.x verwenden, gehen Sie folgendermaßen vor:
    1. Erstellen Sie ein Verzeichnis für die Zertifikatdatenbank und initialisieren Sie die Datenbank. Führen Sie dazu je nach verwendetem Betriebssystem folgende Befehle aus:
      • CentOS oder Red Hat Enterprise Linux:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib64/squid/ssl_crtd -c -s /var/lib/squid/ssl_db

        chown -R squid:squid /var/lib/squid

      • SUSE Linux Enterprise Server:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/sbin/ssl_crtd -c -s /var/lib/squid/ssl_db

        chown -R squid:squid /var/lib/squid

      • Ubuntu oder Debian:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib/squid/ssl_crtd -c -s /var/lib/squid/ssl_db

        chown -R proxy:proxy:<Gruppe> /var/lib/squid

    2. Nehmen Sie in der Konfigurationsdatei /etc/squid/squid.conf die folgenden Änderungen vor:
      1. Fügen Sie am Ende der Datei je nach Betriebssystem die folgenden Befehle hinzu:
        • CentOS oder Red Hat Enterprise Linux:

        sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

        • SUSE Linux Enterprise Server:

        sslcrtd_program /usr/sbin/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

        • Ubuntu oder Debian:

        sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

      2. Ersetzen Sie den Befehl http_port durch den folgenden Befehl:

        http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB cert=/etc/squid/bump.crt key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,NO_SSLv2,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem

  9. Wenn Sie Squid Version 4.x verwenden, gehen Sie folgendermaßen vor:
    1. Erstellen Sie ein Verzeichnis für die Zertifikatdatenbank und initialisieren Sie die Datenbank. Führen Sie dazu je nach verwendetem Betriebssystem folgende Befehle aus:
      • CentOS oder Red Hat Enterprise Linux:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib64/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB

        chown -R squid:squid /var/lib/squid

      • SUSE Linux Enterprise Server:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/sbin/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB

        chown -R squid:squid /var/lib/squid

      • Ubuntu, Debian oder AltServer:

        mkdir -p /var/lib/squid

        rm -rf /var/lib/squid/ssl_db

        /usr/lib/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB

        chown -R proxy:proxy /var/lib/squid

    2. Nehmen Sie in der Konfigurationsdatei /etc/squid/squid.conf die folgenden Änderungen vor:
      1. Fügen Sie am Anfang der Datei oder vor dem ersten Befehl http_access die folgenden Befehle hinzu:

        acl intermediate_fetching transaction_initiator certificate-fetching

        http_access allow intermediate_fetching

      2. Fügen Sie am Ende der Datei je nach Betriebssystem die folgenden Befehle hinzu:
        • CentOS oder Red Hat Enterprise Linux:

        sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

        • SUSE Linux Enterprise Server:

        sslcrtd_program /usr/sbin/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

        • Ubuntu, Debian oder AltServer:

        sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB

        sslproxy_cert_error allow all

        ssl_bump stare all

      3. Ersetzen Sie den Befehl http_port durch den folgenden Befehl:

        http_port 3128 tcpkeepalive=60,30,3 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=20MB tls-cert=/etc/squid/bump.crt tls-key=/etc/squid/bump.key cipher=HIGH:MEDIUM:!LOW:!RC4:!SEED:!IDEA:!3DES:!MD5:!EXP:!PSK:!DSS options=NO_TLSv1,NO_SSLv3,SINGLE_DH_USE,SINGLE_ECDH_USE tls-dh=prime256v1:/etc/squid/bump_dhparam.pem

  10. Starten Sie den Squid-Dienst neu. Führen Sie dazu den folgenden Befehl aus:

    service squid restart

Die Konfiguration von SSL Bumping in Squid wird abgeschlossen.

Nach oben