Skip to main content
Skip table of contents

nginx: TLS-Fingerabdrücke

Diese Handbuchseite ist nur für fortgeschrittene Benutzer gedacht, da die Funktion nicht für Anfänger gedacht ist. Möglicherweise werden die Kurven von der TLS-Implementierung nicht bereitgestellt und Sie erhalten einen leeren String. Wenn dies der Fall ist, ist es normal, aber Sie sollten Probleme erwarten, wenn Sie sie verwenden, da eine spätere Version der Software sie möglicherweise implementiert und dann alle Ihre Verbindungen als abgefangen gekennzeichnet werden.

Anforderungen

  • Um diese Funktion zu nutzen, müssen Sie einen HTTPS-Server betreiben, der einige Protokolle schreibt.

  • Verschiedene Browser von verschiedenen Betriebssystemen als Clients

Analyse Seite

Die Analyseseite ist in einige Abschnitte gruppiert:

Farbe

Beschreibung

Orange

User-Agent-String (HTTP-Header) - technische Beschreibung des Clients

Rot

Gesamtzahl der Treffer im Protokoll der UA mit diesen Chiffren und Kurven

Blau

Unterstützte Chiffren und Kurven in der Reihenfolge der Client-Begrüßung - unser Fingerabdruck

Grün

Wenn Sie auf diese Schaltfläche klicken, können Sie den Fingerabdruck in die Konfiguration übernehmen

Gray

Tortendiagramm der Anzahl der Fingerabdrücke und des User-Agents (visualisiert)

Das Tortendiagramm ist wichtig, um zu wissen, ob ein Fingerabdruck abgefangen wird, da viele Abhörsoftware den Client hallo verändert. Schauen wir uns das mal an:

Es gibt einen kleinen, den wir wahrscheinlich ignorieren können, also schauen wir uns die anderen beiden Fingerabdrücke an: Einer enthält Chiffren, Hashes usw., die Browser nicht mehr unterstützen sollten (z. B. NULL, MD5, …), so dass dieser in diesem Screenshot, der eine Verbindung von Firefox 63 abfängt, wahrscheinlich abgefangen wird (es ist tatsächlich OWASP ZAP 2.7.0). In diesem Fall ist nur noch ein großes Segment übrig, das sehr wahrscheinlich der echte Browser-Fingerabdruck (oder ein anderer Proxy) ist.

Schauen Sie sich im folgenden Beispiel das Kreisdiagramm an (insbesondere das Segment mit dem Cursor darauf):

Das Segment hat einen großen Anteil an den Anfragen mit diesem User-Agent. In einem solchen Fall kann es entweder immer derselbe Client sein, der eine Ressource anfordert und wahrscheinlich nur wenige Benutzer verwenden, oder, was wahrscheinlicher ist, wenn es sich um einen Browser handelt, dass es wahrscheinlich der richtige Fingerabdruck ist.

Einige Proxys spiegeln das Client-Hallo, so dass sie nicht erkannt werden. Seien Sie auch vorsichtig, denn wenn Sie z. B. einen großen Kunden haben, der viel Datenverkehr erzeugt, kann ein großes Segment des Kuchendiagramms (sogar das größte) abgefangen werden.

Aus Sicherheitsgründen sollten Sie auch die absolute Anzahl berücksichtigen, wenn Sie an einem realen Beispiel arbeiten und die Software möglicherweise in einer anderen Breite kompiliert wird, was auch die Krypto-Bibliothek ersetzen kann, was wiederum bedeutet, dass sie einen anderen Fingerabdruck hat.

Wenn Sie auf die Schaltfläche „Speichern“ klicken, öffnet sich ein Dialog und Sie können einen neuen Eintrag in Ihrer Konfiguration erstellen, der dann auf der Konfigurationsseite sichtbar ist.

Zum Beispiel könnte unser Fingerabdruck wie im folgenden Screenshot gezeigt in die Konfiguration importiert werden:

Konfigurationsseite

Auf der Konfigurationsseite unter HTTP ‣ TLS-Fingerabdrücke gibt es nun einen Eintrag für den erstellten Fingerabdruck, so dass dieser bearbeitet werden kann:

Vertrauenswürdige Fingerabdrücke

Ein vertrauenswürdiger Fingerabdruck ist ein Fingerabdruck, der zur Erkennung von Man-in-the-Middle-Angriffen verwendet wird, indem das Client-Helo des Fingerabdrucks mit den vom Client gesendeten Daten verglichen wird. Wenn zusätzliche Chiffren oder Kurven vorhanden sind, erhalten Sie diese Informationen über einen HTTP-Header in Ihre Anwendung. Bitte beachten Sie, dass Sie nur einen Fingerabdruck pro User-Agent haben können.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.