10.04.2017 Sicherheitsempfehlungen für TLS-Verbindungen

Viele Dienste im Internet benötigen zwingend die Sicherstellung von Vertraulichkeit, Integrität und Authentizität bei der Kommunikation zwischen dem Webserver und den verbundenen Clients. Ohne diese Absicherung wären sie nicht, beziehungsweise nicht in dieser Form, möglich.

Die Sicherstellung dieser drei Eckpfeiler sicherer Kommunikation wird im Webbereich mittels TLS bzw. dessen Vorgänger SSL gewährleistet. Das Zentrum für sichere Informationstechnologie – Austria hat eine umfangreiche Studie zu diesbezüglichen Sicherheitsempfehlungen für Behörden durchgeführt. Die Empfehlungen eignen sich auch für Unternehmen und sonstige Server-Betreiber.

Die Qualität einer verschlüsselten Verbindung wird anhand der entsprechenden Server-Konfiguration bestimmt. Daher beschränkt sich diese Studie auf die Analyse und Bewertung der serverseitigen TLS/SSL-Konfiguration. In der Studie werden Empfehlungen zu Mindestschlüssellängen, Versionen, Cipher-Suites, Transferformaten und allgemein zu Konfiguration und Betrieb eines Webservers erörtert. Die vollständige Auflistung finden Sie in der Studie im Kapitel 5.

Cipher Suites sind festgelegte Kombinationen aus Algorithmen für die Authentifizierung, Verschlüsselung, Hashfunktion und dem Schlüsselaustausch einer SSL/TLS-Verbindung. Bei der Auswahl dieser Cipher-Suites ist ein Abwägen von den sich wechselseitig bedingenden Faktoren Sicherheit und Geschwindigkeit notwendig. Je stärker die verwendeten Verfahren sind, desto sicherer ist die Verbindung. Gleichzeitig bedeutet dies jedoch ein Mehr an Leistung und Zeit, um die Daten zu verschlüsseln. Allerdings ist nicht sichergestellt, dass eine eingesetzte Cipher Suite von allen Browsern unterstützt wird. Dies ist insbesondere bei neueren Suites der Fall, obwohl teilweise auch ältere Suites von neueren Browser-Versionen nicht mehr unterstützt werden. Durch die stetig steigende Rechenleistung von Computern und neu entdeckte Angriffsmethoden kann sich die Einstufung der Sicherheit einer in Verwendung befindlichen Cipher-Suite ändern. Die eingesetzten Parameter sollten daher regelmäßig überprüft und gegebenenfalls angepasst werden.

In diesem Zusammenhang besonders erwähnenswert sind die beiden HTTPS-Funktionen HSTS und HPKP. Bei HTTP Strict Transport Security (HSTS) handelt es sich um einen zusätzlichen Header-Eintrag, der dem Browser mitteilt, dass die Verbindung nur über HTTPS verfügbar ist. Dadurch wird das Risiko einer Man-in-the-Middle-Attacke reduziert. Weiters werden Downgrade-Attacken und das Übernehmen einer Session verhindert. HTTP Public Key Pinning (HPKP) ist ebenfalls ein HTTP-Header-Eintrag, der  – im Gegensatz zu HSTS – einen sogenannten Pin beinhaltet. Ein Pin setzt sich aus einer Zeitangabe und dem Hash eines kryptografischen Schlüssels zusammen. Der Browser akzeptiert nur mehr Verbindungen mit einem Zertifikat, das einen der gepinnten Schlüssel verwendet. Mit dieser Methode wird die HTTPS-Verbindung vor gefälschten Zertifikaten geschützt.

Bei Public Key Pinning ist jedoch zu beachten, dass man unter Umständen ausgesperrt werden kann. Sofern der Server gehackt wird, kann HPKP aktiviert und der Schlüssel gelöscht werden, wodurch kein Zugriff mehr möglich ist – dies gilt ebenso, wenn der Zugriff auf den kryptografischen Schlüssel auf anderem Weg verloren geht. Diese Funktion sollte daher nur bei Webseiten, deren Risikoprofil es erfordert, eingesetzt werden. Zur Risikominimierung kann ein Back-up-Schlüssel erstellt werden.

Um all diese Empfehlungen und Vorgaben zu erfüllen, können einige sehr nützliche Projekte und Webseiten zu Rate gezogen werden. Konkrete Implementierungshilfen für diese Empfehlungen bietet zum Beispiel das Projekt BetterCrypto. Auf der Webseite von Qualsys SSL Labs werden neben Browser-Tests für Endbenutzerinnen und -benutzer auch Konfigurationstests für Server angeboten. Darüber hinaus bietet A-SIT einen SSL/TLS Browser- und Server-Test an.

Mithilfe dieser Tests erhält man rasch einen umfassenden Überblick über die Absicherung der Verbindung und Ratschläge, wie man diese noch weiter steigern kann. Des Weiteren wird die Konfiguration auch auf bekannte Schwachstellen getestet, also aktiv ausgenützte Angriffsvektoren in bestimmten Software-Versionen von zum Beispiel OpenSSL. Diese Auflistung beinhaltet bekannte Namen wie etwa BEAST, DROWN, Heartbleed und POODLE.

Eine lückenlose Umsetzung dieser Empfehlungen und die gleichzeitige Sensibilisierung und Aufklärung der Beteiligten erhöht die Wahrscheinlichkeit für eine sichere Verbindung zwischen Server und verbundenen Clients massiv. Zu beachten bleibt jedoch, dass sich die Vorgaben ändern können und daher eine regelmäßige Überprüfung notwendig ist, um das Sicherheitsniveau zu halten.

Weitere Informationen:

Datum der Veröffentlichung: 10.04.2017

Für den Inhalt verantwortlich:
  • A-SIT Zentrum für sichere Informationstechnologie – Austria