So identifizieren und stärken Sie schwaches SSL


Ihre Website oder Anwendung muss innerhalb von Kommunikationsnetzen eingerichtet sein, um für die Benutzer zugänglich zu sein. Jeder Verbindungspunkt zu einer externen Umgebung ist ein möglicher Angriffsvektor, der Ihre Angriffsfläche bildet. Um den Datenverkehr zwischen Ihrer Website und Ihren Benutzern zu verschlüsseln, können Sie Ihr System mit einem SSL-Zertifikat einrichten, das SSL/TLS-Protokolle verwendet, um den Datenverkehr zu sichern.

Wenn Ihr Server jedoch einen schwachen SSL-Algorithmus oder eine unsichere SSL/TLS-Version verwendet, müssen Sie das System aktualisieren, um Ihre Kunden und Ihre Assets zu schützen. Dieser Artikel bietet eine kurze Einführung in SSL/TLS-Netzwerke, wie Sie schwache und unsichere Elemente in Ihrem SSL-Setup identifizieren und welche Maßnahmen Sie ergreifen können, um Ihr System zu sichern und Benutzerdaten zu schützen.

Funktionsweise von Netzwerkkommunikation und SSL/TLS-Handshakes

Die Protokolle Secure Sockets Layer (SSL) und Transport Layer Security (TLS) ermöglichen eine verschlüsselte Kommunikation zwischen öffentlichen Websystemen über eine definierte Public Key Infrastructure (PKI). Die meisten Websites und Apps verwenden SSL-Zertifikate, um einen kryptografischen Schlüssel bereitzustellen, der sich zwischen Servern authentifiziert und eine sichere Übertragungsmethode einrichtet, in der Regel über eine HTTPS-Verbindung (Hypertext Transfer Protocol Secure). SSL/TLS-Zertifikate sind eine Art von X.509-Zertifikaten, die für die Identitätsauthentifizierung zwischen Ihren Servern und den Browsern der Benutzer verwendet werden. SSL/TLS-Sicherheit bietet die starke Kryptographie, die von Vorschriften wie PCI-DSS und FISMA gefordert wird, durch die Verwendung von Public/Private-Key-Verschlüsselung.

SSL/TLS-Protokolle richten Kommunikationskanäle durch Verschlüsselung, Authentifizierung und Integrität ein. Bei der SSL/TLS-Kommunikation werden Cipher Suites verwendet, die mehrere Ebenen der Kryptografie gewährleisten. Eine Cipher Suite ist eine Reihe von kryptografischen Algorithmen, die während des TLS-Handshakes verwendet werden, um die Kommunikation zu sichern, und jede Cipher Suite wird mit den Algorithmen benannt, aus denen die Suite besteht.

Ein TLS-Handshake ist die Art und Weise, wie Netzwerke auf sichere Weise miteinander kommunizieren:

  1. Der Server (Ihre Website oder Anwendung) überwacht Port 443 auf sichere HTTPS-Verbindungsanforderungen.
  2. Der Client (der Browser eines Benutzers) stellt eine Verbindung mit Port 443 her und tauscht Nachrichten mit dem Server aus, um die Gültigkeit des Austauschs und die kryptografischen Parameter zu bestimmen, die für diese Sitzung verwendet werden sollen. (Diese werden häufig als Client-Hello, Server-Hello und Client-Schlüsselaustausch bezeichnet.)
  3. Sobald Sie sich auf die TLS-Version und die Cipher Suite geeinigt haben und die digitalen Zertifikate ausgetauscht und authentifiziert wurden, wird eine verschlüsselte Sitzung geöffnet, und die sichere Kommunikation zwischen dem Client und dem Server kann weitergeleitet werden, bis der Client die Sitzung beendet.

Jedes Zertifikat verwendet einen Verschlüsselungsalgorithmus, um die verschlüsselten Daten ohne das entsprechende Schlüsselpaar, das die Daten entschlüsseln kann, unlesbar zu machen. Die Verschlüsselungsalgorithmen, aus denen sich eine Cipher Suite zusammensetzt, sind so konzipiert, dass sie schwer zurückzuentwickeln sind, und Zertifikate passen sich ständig an sicherere Standards an, weshalb es so wichtig ist, Zertifikate zu erneuern, bevor sie ablaufen.

Wenn ein SSL-Zertifikat jedoch auf einer veralteten Version oder unsicheren Cipher Suites basiert, ist die SSL-Verbindung möglicherweise nicht so sicher, wie Ihre Benutzer erwarten. Da die Verschlüsselungssammlung durch eine Aushandlung zwischen dem Client (dem Browser eines Benutzers) und dem Server (Ihrer Website) ausgewählt wird, sollten schwache SSL-Verschlüsselungssammlungen deaktiviert werden, damit sie nicht ausgewählt werden können. Wenn Sie OpenSSL als SSL/TLS-Toolkit verwenden, können Sie [.rt-script]openssl ciphers[.rt-script] ausführen, um die Verschlüsselungsliste zu generieren, die Ihnen derzeit zur Verfügung steht.

Cipher Suites, die bekanntermaßen schwach sind, wie z. B. die Protokolle SSLv2 und SSLv3, sollten aktualisiert werden, damit die Sitzungen Ihrer Benutzer geschützt sind. Unsichere TLS-Versionen und schwache Cipher Suites können zu CVEs (Common Vulnerabilities and Exposures), Ausnutzung von Entschlüsselungen, POODLE-Angriffen (Padding-Oracle) und Man-in-the-Middle-Angriffen führen. Alle bekannten CVEs enthalten CVSS-Scores, die die Risikoauswirkungen angeben, die sie haben könnten. Darüber hinaus sind Benutzer möglicherweise nicht in der Lage, eine sichere Verbindung herzustellen, wenn es unsichere Versionen oder schwache Cipher Suites gibt, und schwache Verbindungen könnten möglicherweise von einem gut ausgestatteten Angreifer entschlüsselt werden.

Da veraltete Versionen möglicherweise für die Legacyunterstützung aktiviert bleiben, ist es wichtig, bekannte unsichere Versionen zu deaktivieren und auf die neuesten Verschlüsselungsalgorithmen zu migrieren. Um diese Änderungen vornehmen zu können, müssen Sie schwache SSL/TLS-Versionen, unsichere Cipher Suites oder andere Aspekte Ihrer Zertifikatseinrichtung identifizieren.

So erkennen Sie schwache SSL-Chiffren und unsicheres TLS

Das Open Worldwide Application Security Project (OWASP) bietet eine Vielzahl von Ressourcen, mit denen Sie Ihre SSL/TLS-Sicherheit aus Ihren eigenen Systemen heraus überprüfen können. Sie können Ihre Ports und andere SSL-Dienste mit der Anleitung von OWASP überprüfen, aber es kann zeitaufwändig sein, manuelle Untersuchungen durchzuführen.

Sie können auch ein automatisiertes Scan-Tool verwenden, das die erforderlichen Daten berücksichtigt, um sicherzustellen, dass Sie Schwachstellen in den Verschlüsselungsstandards für Ihre externen Assets schnell identifizieren können. UpGuard BreachSight bietet eine kontinuierliche Überwachung und automatisierte Überprüfung auf potenzielle Bedrohungen, einschließlich bekannter Schwachstellen im Zusammenhang mit dem SSL/TLS-Protokoll.

Zusätzlich zu den Risiken im Zusammenhang mit dem Ablauf von SSL-Zertifikaten und fehlenden SSL-Zertifikaten sucht UpGuard nach schwachen oder anderweitig unsicheren SSL/TLS-Konfigurationen. UpGuard wertet die gesammelten Daten aus und vergleicht die erwartete Antwort mit der tatsächlichen Antwort für ein bestimmtes Asset, z. B. eine Domäne oder IP-Adresse. Unser Prozess notiert das Erkennungsdatum, an dem dieses Ergebnis zum ersten Mal identifiziert wurde, damit Sie mit der Sicherheit in Ihren Systemen auf dem neuesten Stand bleiben. Für jedes beliebige Asset stellt UpGuard eine Liste zusätzlicher Überprüfungen zur Verfügung, die wir durchgeführt haben, die es Ihnen ermöglichen, gemeinsam verwandte Ergebnisse zu identifizieren und einen Aktionsplan zu erstellen. Sie können jederzeit eine PDF-Version der Ergebnisse für ein bestimmtes Asset exportieren, um sie mit den relevanten Stakeholdern zu teilen. In den PDF-Ergebnissen werden die aktuellen Risiken zuerst nach dem höchsten Schweregrad aufgelistet, gefolgt von zusätzlichen Überprüfungen, die derzeit nicht gefährdet sind.

UpGuard-Benutzer werden über diese Risikoergebnisse für schwaches und unsicheres SSL informiert:

  • Schwacher SSL-Algorithmus
  • Unsichere SSL/TLS-Versionen verfügbar
  • Unterstützung von unsicheren Cipher Suites und schwachen Cipher Suites
  • Nicht vertrauenswürdiges SSL-Zertifikat

Mit dem Ergebnis "Schwacher SSL-Algorithmus" wird ausgewertet, ob der branchenübliche SHA-256-Verschlüsselungsalgorithmus mit Ihrem SSL-Zertifikat verwendet wird. SHA-256 berechnet mehrere Runden von 32-Bit-Hash-Funktionen, was den Federal Information Processing Standards (FIPS) 180-4 für sichere Hash-Standards entspricht. UpGuard sucht nach dem erwarteten SHA-256-Verschlüsselungsalgorithmus und identifiziert, falls er nicht verwendet wird, welcher SHA-Algorithmus verwendet wird.

Die Suche nach verfügbaren unsicheren SSL/TLS-Versionen gibt an, welche Version von SSL/TLS auf Ihren Systemen verwendet wird. UpGuard sucht nach bekannten unsicheren Protokollversionen, einschließlich der SSL-Versionen 1, 2 und 3 sowie der TLS-Version 1, von denen bekannt ist, dass sie anfällig für Padding-Oracle-Angriffe ("POODLE") sind. Die Suche nach verfügbaren unsicheren SSL/TLS-Versionen gibt an, ob Ihr System über eine bekannte unsichere Version verfügt, die gegen die erwartete Antwort deaktiviert werden sollte (keine bekannten unsicheren Versionen).

Häufig wird eine unsichere Protokollversion mit dem Befund "Schwache Cipher Suites" in Verbindung gebracht. Jede Cipher Suite wird nach ihrer algorithmischen Zusammensetzung benannt, sodass Sie schnell die Komponenten identifizieren können, aus denen sich eine bestimmte Cipher Suite zusammensetzt. Anhand der [.rt-script]TLSv1.0: TLS_ECDHE_RSA_WITH_RC4_128_SHA[.rt-script] Cipher Suite als Beispiel können Sie jede Komponente analysieren:

  • TLSv1.0: Diese Beispiel-Cipher Suite wird von der TLS-Version 1.0 unterstützt, die im Jahr 2021 aufgrund von Sicherheitsbedenken als veraltet eingestuft wurde.
  • ECDHE_: In der Stichprobe wird der ECDHE-Schlüsselaustausch (Elliptic-Curve Diffie-Hellman Ephemeral) verwendet, der einen eindeutigen Schlüsselaustausch während des TLS-Handshakes ermöglicht. Obwohl ECDHE ein akzeptierter sicherer Algorithmus ist, sind die übrigen Algorithmen in der Stichprobe nicht sicher.
  • RSA_WITH_RC4_128_: Die Beispiel-Cipher-Suite beinhaltet auch eine RSA-Authentifizierung mit Rivest Cipher 4 mit 128-Bit-Schlüssel (RC4 128). RC4 hat einen Fehler, der es unglaublich anfällig für Entschlüsselung macht, insbesondere mit dem 128-Bit-Schlüssel.
  • SHA: In diesem Beispiel wird standardmäßig auch der Secure Hash Algorithm 1 (SHA-1) verwendet, obwohl SHA-1 nicht mehr verwendet wird, um zu verbesserten SHA-Optionen mit größeren Schlüsselgrößen für die Datenverschlüsselung zu wechseln.

Sie können jede schwache Cipher Suite, einschließlich des bereitgestellten Beispiels, zu einer Blockliste hinzufügen, so dass sie nicht verwendet werden kann, obwohl es auch von Vorteil ist, zu wissen, wie Elemente schwacher kryptografischer Algorithmen identifiziert werden.

Die meisten SSL-Zertifikate werden von vertrauenswürdigen Zertifizierungsstellen ausgestellt, die den meisten Browsern bekannt sind. Zertifikate können jedoch auch selbstsigniert oder von einer nicht vertrauenswürdigen Zertifizierungsstelle ausgestellt werden. Ein selbstsigniertes Zertifikat und Zertifikate von einer nicht vertrauenswürdigen Zertifizierungsstelle bedeuten, dass der Benutzer nicht darauf vertrauen kann, dass das Zertifikat das gleiche Maß an verschlüsselter Sicherheit bietet wie ein Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle. Darüber hinaus lassen einige Browser keinen Datenverkehr zu diesen Zertifikatstypen zu, da sie die Zertifizierungsstelle nicht überprüfen können. Wenn Sie die Fehlermeldung "Nicht vertrauenswürdiges SSL-Zertifikat" erhalten, sollten Sie das nicht vertrauenswürdige Zertifikat durch ein gültiges Zertifikat ersetzen, das Sie über eine Zertifikatsignieranforderung generieren. Wenn Ihre Domain oder IP-Adresse andere Risikobefunde im Zusammenhang mit SSL/TLS aufweist, können Sie diese möglicherweise auch mit einem neuen Zertifikat abschwächen.

So entschärfen Sie unsicheres SSL und schwache Cipher Suite-Ergebnisse

Sobald Sie Sicherheitsbedenken im Zusammenhang mit der Stärke Ihrer SSL/TLS-Zertifikate identifiziert haben, können Sie Änderungen vornehmen, um Ihr System zu schützen und die Sicherheitslage Ihres Webservers zu stärken. Nachdem Sie alle häufigen Probleme behoben haben, können Sie Angriffe auf schwache Cipher Suites verhindern, indem Sie aktuelle Standards implementieren und alle bekannten schwachen Cipher Suites oder unsicheren Versionen von SSL/TLS deaktivieren.

Aktualisieren von SSL/TLS-Versionen

Ersetzen Sie Zertifikate, die unsichere SSL/TLS-Versionen oder schwache Cipher Suites verwenden. Alle SSL-Versionen und TLS-Versionen unter 1.2 sind unsicher, daher sollte nur TLS 1.2 oder höher für Ihr System zugelassen werden.

Aktualisieren der Cipher Suites

Wenn Sie ein neues Zertifikat anfordern, können Sie stärkere Verschlüsselungsalgorithmen vom Aussteller angeben. Die Verschlüsselungsstandards ändern sich ständig, daher ist es wichtig, Zertifikate regelmäßig zu erneuern (mindestens einmal pro Jahr, wenn nicht sogar häufiger), damit Ihre TLS-Cipher-Suites an die aktuellen TLS-Standards angepasst sind.

Moderne Chiffren wie die DHE- und ECDHE-Familien und der Galois-Counter-Modus (GCM) sind immer noch in Gebrauch. ECDHE ist stärker als DHE, so dass Sie DHE-Werte entfernen können, aber das kann zu einer verringerten Kompatibilität zwischen Betriebssystemen und Geräten führen. Ebenso bietet der Advanced Encryption Standard (AES) eine starke Verschlüsselung mit symmetrischen Schlüsseln und verfügt über drei verfügbare Schlüsselgrößen: AES-128 für 128-Bit-Schlüssel, AES-192 für 192-Bit-Schlüssel und AES-256 für 256-Bit-Schlüssel.

Schwache Algorithmen verbieten

Sie können auch SSL-Verschlüsselungen angeben, die Sie von Ihrem System ausschließen möchten, um die aktuelle Kompatibilität mit modernen Browsern zu gewährleisten. Es gibt einige Verschlüsselungsalgorithmen, die bekanntermaßen unsicher sind und die für die Verwendung mit Ihrer Webanwendung deaktiviert werden sollten, darunter der Data Encryption Standard (DES), das Electronic Codebook (ECB) und Cipher Block Chaining (CBC). Weitere anfällige Verschlüsselungsalgorithmen sind 3DES, RC4 und der Message-Digest-Algorithmus (MD5).

Stellen Sie sicher, dass Ihre Zertifikate von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wurden

Nicht vertrauenswürdige Zertifikate verursachen in den meisten Browsern Fehler und verhindern oft, dass Benutzer auf Ihre Website zugreifen können. Die absichtliche Verwendung von selbstsignierten oder nicht vertrauenswürdigen Zertifikaten sollte mit äußerster Sorgfalt erfolgen, um sowohl die Zugänglichkeit als auch die Sicherheit der betroffenen Systeme zu gewährleisten.

Automatisieren Sie die Zertifikatserneuerung

Verhindern Sie, dass Ihr SSL-Zertifikat aufgrund von Ablauf abläuft, indem Sie einen automatischen Verlängerungszyklus einrichten.

Leiten Sie den gesamten Datenverkehr über HTTPS weiter

>

Erzwingen Sie eine HSTS-Richtlinie (HTTP Strict Transport Security), sodass der gesamte Websitedatenverkehr eine sichere Verbindung verwendet, um Website-Lookalikes durch SSL-Stripping zu verhindern. Um Datenverkehr über HSTS zu verarbeiten, müssen Sie möglicherweise Ihre Konfigurationsdateien mit zusätzlichen Anweisungen und Timeouteinstellungen aktualisieren. Wenn Sie Apache als Proxyserver verwenden, müssen Sie die Datei [.rt-script].htaccess[.rt-script] mit einem Header aktualisieren, der das HSTS-Routing festlegt. Bei anderen Proxyservern müssen Sie möglicherweise alle Konfigurations- oder Vorlagendateien für das sichere Routing aktualisieren.

Schützen Sie Ihre SSH-Verbindungen

Wenn Sie Routen für SSH-Verbindungen (Secure Shell) bereitstellen, ist es wichtig sicherzustellen, dass diese nicht anfällig für Verschlüsselungsunterbrechungen sind. Ihre SSH-Verbindungen sollten nicht extern sein, da nur Ihr internes Team SSH zum Ausführen von Befehlen auf Ihrem Server verwenden sollte. Wenn Sie über Ihre Cipher Suites nachdenken, sollten Sie sich überlegen, wie die Authentifizierung für digitale Signaturen festgelegt ist. Viele Cipher Suites verwenden entweder den RSA-Algorithmus (Rivest-Shamir-Adleman) oder ECDSA (Elliptic Curve Digital Signature Algorithm), die beide Vor- und Nachteile haben.

Aktuelle UpGuard-Benutzer können sich anmelden und auf ihr Risikoprofil in BreachSight zugreifen, um zu beurteilen, ob sich eine der in diesem Artikel genannten SSL-Ergebnisse auf externe Assets auswirkt. Sie können auch allgemeine SSL-Ergebnisse im Zusammenhang mit fehlenden Zertifikaten und abgelaufenen Zertifikaten auswerten. Sobald Sie Sicherheitsbedenken identifiziert haben, können Sie Ihren Behebungsprozess auch innerhalb von UpGuard verwalten. Sie können sich an unser Support-Team wenden, um alle SSL-Ergebnisse zu untersuchen und zu überprüfen, die für Ihre Assets identifiziert wurden.

Wenn Sie noch kein UpGuard-Benutzer sind und Ihre öffentlich zugänglichen Assets auf diese und weitere Ergebnisse überprüfen möchten, melden Sie sich für eine Testversion an.

Verwandte Artikel