Ubuntu – Apache SSL Sicherheit verbessern

Veröffentlicht von

Hier eine Anleitung, wie man die SSL-Sicherheit, durch der Anpassung SSL Protokolle und Cipher Suites, verbessern kann.

Beim testen der SSL Sicherheit habe ich nur ein B bekommen, hier ist der Link um es zu testen. In meinem Fall handelt es sich um einen Ubuntu-Server 20.04

Standardmäßig sind SSL Protokolle wie SSLv3 TLS 1.0, TLS 1.1 und TLS 1.2 aktiviert. Zusätzlich ist eine große Anzahl von Cipher Suites konfiguriert um eine möglichst große Anzahl von Geräten bzw. Betriebssysteme und Browser zu erreichen.

Um unsichere Protokolle und Cipher Suites zu deaktivieren, ist ein Eingriff via SSH direkt auf die zuständige Konfigurationsdatei des Apache2 bzw. Moduls notwendig. In diesem Fall handelt es sich um die Datei /etc/apache2/mods-enabled/ssl.conf.

wir legen uns am besten eine Sicherungs-Kopie von der /etc/apache2/mods-enabled/ssl.conf an.

cp /etc/apache2/mods-enabled/ssl.conf /etc/apache2/mods-enabled/ssl.conf.original

danach öffnen wir die Datei

sudo nano /etc/apache2/mods-enabled/ssl.conf

löschen den Inhalt und fügen den folgenden Code ein

<IfModule mod_ssl.c>
    SSLRandomSeed startup builtin
    SSLRandomSeed startup file:/dev/urandom 512
    SSLRandomSeed connect builtin
    SSLRandomSeed connect file:/dev/urandom 512
    # Some MIME-types for downloading certificates and CRLs
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl .crl
    # Pass phrase dialog
    SSLPassPhraseDialog                 exec:/usr/share/apache2/ask-for-passphrase
    # Inter-process session cache
    SSLSessionCache                     shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
    SSLSessionCacheTimeout              300
    # SSL configuration
    SSLProtocol                         all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite                      ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA
    SSLHonorCipherOrder                 on
    SSLCompression                      off
    SSLSessionTickets                   off
    SSLOpenSSLConfCmd                   Curves secp521r1:secp384r1
    # OCSP stapling
    SSLUseStapling                      on
    SSLStaplingResponderTimeout         5
    SSLStaplingReturnResponderErrors    off
    SSLStaplingCache                    shmcb:${APACHE_RUN_DIR}/ssl_ocsp(512000)
    # Whether to forbid non-SNI clients to access name based virtual hosts.
    # Default: Off
    #SSLStrictSNIVHostCheck On
</IfModule>Code-Sprache: PHP (php)

im Anschluss muss der Apache-Server neu gestartet werden

sudo systemctl restart apache2

Danach habe ich nochmal den Test durchlaufen lassen und das was mein Ergebnis.
Falls direkt das alte Ergebnis angezeigt wird, nachdem man den Test gestartet hat, muss man den Link Clear cache klicken und es im Anschluss nochmal starten.