Artikel mit Tag cipher suites

IIS Crypto 3.3 - Protokolle und Cipher Suites unter Windows verwalten

Um Cipher Suites auf Windows Servern zur verwalten, muss in die Registry (HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL) eingegriffen werden. Nartac Software möchte diesen Eingriff am offenen Herzen vereinfachen und bietet seit Jahren das Tool IIS Crypto an.

IIS Crypto 3.3

IIS Crypto ermöglicht die einfache Verwaltung von Server-Protokollen, Chipers, Hashes und Schlüsselaustauschalgorithmen unter einer Oberfläche.

Ich habe dieses Tool früher oft verwendet, um Windows Server zu härten. Es werden die Versionen 2008, 2012, 2016, 2019 und 2022 unterstützt. Am besten hat mir die Möglichkeit gefallen, Cipher Suites neu anzuordnen.

Neben Windows Server 2022 wurde in der aktuellen Version die Unterstützung für TLS 1.3 implementiert.

Vorhandene Vorlagen wurden angepasst. So werden im Strict Template nun CBC Ciphers Suites unter Windows 2016 und höher entfernt.

iss-crypto

Fazit

Wenn man bedenkt, wie lange TLS 1.3 bereits im Einsatz ist, haben sich die Entwickler hinter IIS Crypto sehr (sehr) viel Zeit gelassen.

Unabhängig davon bietet das Tool mit seinen Best Practices (siehe Screenshot) unerfahrenen Nutzern eine einfache Möglichkeit, Windows Server zu härten und besser abzusichern.

Download

Hardening Apache Server - In 5min einen Webserver sicherer machen

Letzte Woche hatte ich euch kurz erklärt wie sich ein Apache in Verbindung mit einem Tomcat installieren lässt. Um auf der sicheren Seite zu sein, wurde der Apache gleich mit SSL "SSLEngine on" und einem selbstsignierten Zertifikat konfiguriert. 

In den folgenden Schritten möchte ich zeigen, wie ein Webserver (Apache) weiter abgesichert werden kann. Dazu müssen lediglich weitere Parameter in der Apache Konfiguration "/etc/apache2/sites-available/default-ssl.conf" gesetzt werden.

apache

Theoretisch könnt ihr die folgenden Zeilen direkt in eure Konfigdatei kopieren:

Apache Server härten

Wie bereits oben beschrieben werden alle Einstellungen in der default-ssl.conf gesetzt, innerhalb des ""VirtualHost" Bereichs:

Unsichere SSL Versionen blockieren

SSLProtocol All -SSLv2 -SSLv3

SSL Kompression deaktivieren um beispielsweise der "Crime" Attacke vorzubeugen 

SSLCompression off

Der Server soll vorgeben welche Verschlüsselung verwendet werden darf, normalerweise sucht sich der Client selbst etwas aus. 

SSLHonorCipherOrder On

Sichere Cipher Suites direkt vorgeben und ungewollte blockieren 

SSLCipherSuite 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-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4

Damit ist der Grundstock für einen sicheren Apache gelegt.

HTTP Strict Transport Security aktivieren

Ein weiterer Sicherheitsaspekt wäre beispielsweise HTTP Strict Transport Security.

Nach Aktivierung dieser Option ist es nicht mehr möglich Session Cookies abzugreifen, indem man den Anwender auf eine unsichere HTTP Webseite leitet. Dem Apache wird sozusagen mitgeteilt, über einen bestimmten Zeitraum (max-age - Angaben in Sekunden) nur noch HTTPS Verbindungen zuzulassen.

Um diese Funktion nutzen zu können, muss zunächst ein Apache Modul installiert werden

a2enmod headers

Danach kann wiederum in die default-ssl.conf folgendes eingetragen werden. Im Beispiel wir dem Server mitgeteilt, dass er die nächste 10 Jahre nur HTTPS Verbindungen zulassen soll. Mögliche Subdomains werden mit einbezogen.

Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"

OCSP (Online Certificate Status Protocol) aktivieren

Eine weitere Möglichkeit den eigenen Webserver gegen Angriffe zu schützen ist OCSP. Hierbei wird während des Aufbaus einer SSL/TLS Verbindung das Zertifikat auf Echtheit überprüft.

Hierzu ist natürlich ein offizielles Zertifikat eines CA notwendig. Diese Sicherheits-Funktion bietet ihre Vor- und Nachteile, warum ich sie nur bedingt empfehle.

Bei einem selbstsignierten Zertifikat, macht diese Sicherheitsfunktion sowieso wenig Sinn. Dennoch hier der Befehl, wie diese eingebunden wird (benötigt Apache 2.4):

SSLUseStapling on

SSLStaplingCache "shmcb:logs/stapling-cache(150000)"

Abschlusstest

Egal welche Funktion ihr in eine Konfiguration einbaut. Sie sollte vor Inbetriebnahme immer getestet werden

apache2ctl -t

sudo service apache2 restart