Sophos hat kürzlich das Update auf die Version 9.5 für die UTM veröffentlicht. Eine der Neuerungen UTM 9.5 ist die Möglichkeit die TLS-Version für die Web Application Firewall einzustellen. Das reicht allerdings noch nicht um bei dem SSL Server Test von Qualys SSL Labs ein A+ Rating zu bekommen.
Zwar ist ein A-Rating nicht unbedingt schlecht, aber A+ wäre schöner. Hier also meine (von Sophos nicht supportete) Konfiguration:
TLS v1.1 oder höher verwenden
Mit der Sophos UTM 9.5 lässt sich jetzt die TLS Version für den virtuellen Webserver festlegen, mit früheren UTM Versionen war dies über die GUI nicht möglich:
Dies ist schon mal ein Fortschritt, denn in der Standardeinstellung wurde auch noch TLS 1.0 zugelassen. Mit der oben gezeigten Einstellung besteht jetzt immerhin die Möglichkeit nur noch TLS ab der Version 1.1 zu verwenden.
Um das A+ Rating zu erreichen, muss hier die Einstellung “TLS v1.1 oder höher” ausgewählt werden.
Nur starke Cipher verwenden
In der Standardeinstellung bietet die UTM noch zwei Ciphersuiten an, die nicht mehr ganz auf dem aktuellen Stand sind. Leider können die Cipher nur per Shell geändert werden, was Nachteile mit sich bringt (siehe Ende des Artikels).
Um die Cipher zu ändern, muss sich per SSH an der UTM angemeldet werden, dazu muss zunächst SSH aktiviert werden:
Danach kann sich per SSH mit dem Benutzer “loginuser” an der UTM angemeldet werden. Mit dem Befehl “sudo su –“ erlangt man Root-Rechte:
Mit vim wird nun die folgende Datei geöffnet:
vim /var/storage/chroot-reverseproxy/usr/apache/conf/httpd.conf
Sucht nun die Zeile mit dem folgenden Inhalt:
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:ECDH+3DES:DH+3DES:RSA+3DES:!aNULL:!MD5:!DSS
und ersetzt die Zeile mit folgenden Inhalt:
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AES:!ADH:!AECDH:!MD5:!DSS:!3DES
Dies deaktiviert alle schwachen Cipher. Die Datei kann gespeichert und geschlossen werden. Die Shell wird auch für den nächsten Schritt benötigt.
HTTP Strict Transport Security (HSTS) aktivieren
Ebenfalls via Shell muss für das A+ Rating HSTS aktiviert werden. Eine kurze Beschreibung von HSTS findet sich auf Wikipedia.
Um HSTS zu aktivieren, muss die folgende Datei per VIM geöffnet werden:
vim /var/storage/chroot-reverseproxy/usr/apache/conf/reverseproxy.conf
Bei jedem Virtual Host, der per HTTPS (Port 443) erreichbar ist, muss nun die folgende Zeile zur Konfiguration hinzugefügt werden:
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;"
Die <VirtualHost IP:443> Einträge können je nach Konfiguration der WAF mehrfach vorkommen, alle Server die ein A+ Rating bekommen sollen, benötigen den HSTS Eintrag.
Damit die Änderungen an den Cipher und der VirtualHost Konfiguration wirksam werden, muss der Reverse Proxy neugestartet werden:
/var/mdw/scripts/reverseproxy restart
Die beiden Warnungen sind bei mir übrigens schon vorher aufgetreten und haben nichts mit den geänderten Einstellungen zu tun.
SSL Server Test von Qualys SSL Labs
Nachdem alle Einstellungen wie oben beschrieben gesetzt wurden und das Zertifikat von einer öffentlichen CA ausgestellt wurde, stellt Qualys SSL Labs das A+ Ratating aus:
Falls der Test mehrfach gestartet wurde, muss der “Clear Cache” Link angeklickt werden, damit der Test wiederholt wird.
Nachteile
Die Änderung via Shell wird durch Sophos nicht unterstützt, in meiner Umgebung kann ich diesen Nachteil noch verschmerzen, in produktiven Umgebungen ist dieses allerdings ein Showstopper.
Weiterer Nachteil: Sobald eine Änderung der WAF Konfiguration über die GUI erfolgt, sind die manuellen Änderungen in via Shell hinfällig und werden überschrieben, somit ist dann auch das A+ Rating wieder futsch.
Bleibt die Frage warum Sophos diese recht einfachen Schritte nicht in der GUI verfügbar macht. Dies dürfte eigentlich keinen großen Aufwand darstellen.
Hallo Frank,
sag mal, kennst du ein persistentes Verzeichnis auf der UTM?
Man könnte dieses Problem hier mit einem cronjob in der cron.misc Datei „Workaround/Hotfixen“ wenn man nur irgendwo ein Script ablegen könnte, dass nicht nach jedem Neustart gelöscht wird.
A+ Ratings bekomme ich mit über WAF (UTM 9.3) veröffentlichte Apachen bereits jetzt schon, wenn ich HSTS und HPKP im Apache nutze (Test für IIS stehen noch aus). Die WAF scheint die Header des Webserver bisher wenig zu beeinflussen. Hier Einstellungen zu setzten ist sicher eleganter. Grade eine Verwaltung für https key pins würde sich lohnen.