Sicherheit & Datenschutz

Neues Self-Hosted-Tool tlswatch prüft TLS-Zertifikate und Unterstützung für Legacy-Protokolle

tlswatch ist ein neues Open-Source-Binary, das den Ablauf von TLS-Zertifikaten, die Gültigkeit der Zertifikatskette und die Akzeptanz von Legacy-Protokollen über jeden Port oder jede Adresse hinweg überwacht.

Illustration eines Monitoring-Dashboards, das Serverstatus und Sicherheitsschlösser anzeigt
Für diesen Artikel erstellte Illustration

Automatisch aus dem englischen Original übersetzt.

Ein neues Self-Hosted-Dienstprogramm namens tlswatch ist erschienen, um Infrastrukturteams bei der Überwachung der Gesundheit und Sicherheit ihrer Transport Layer Security (TLS)-Konfigurationen zu unterstützen. Dieses Tool, entwickelt von Sjoerd305, geht über einfache Ablaufwarnungen hinaus, indem es Zertifikatsketten, die Stärke der Signaturen und das Vorhandensein veralteter Protokolle wie TLS 1.0 prüft. Es wird als einzelnes Go-Binary mit einer SQLite-Backend ausgeführt und ist für eine einfache Bereitstellung in Umgebungen konzipiert, in denen Teams ihre eigenen Software-Stacks verwalten.

Was passiert ist

tlswatch aktiv Hostnamen und IP-Adressen ab, um die aktuell bereitgestellten TLS-Zertifikate zu inspizieren. Im Gegensatz zu standardmäßigen Uptime-Monitoren, die möglicherweise nur prüfen, ob ein HTTPS-Port offen ist, untersucht dieses Tool jede Adresse hinter einem Domainnamen. Diese Fähigkeit ist entscheidend für die Erkennung veralteter Knoten hinter Load Balancern, die möglicherweise noch abgelaufene oder falsch konfigurierte Zertifikate bereitstellen. Das System unterstützt Prüfungen auf jedem Port und behandelt sowohl implizites TLS als auch STARTTLS-Protokolle, die von Diensten wie SMTP, IMAP, POP3, FTP und PostgreSQL verwendet werden.

Das Tool führt zudem tiefgehende Konfigurationsprüfungen durch. Es führt tägliche Tests durch, um Server zu identifizieren, die weiterhin unsichere Verbindungen über SSL 3.0, TLS 1.0 oder TLS 1.1 akzeptieren. Es bewertet Cipher Suites auf Schwachstellen hin, einschließlich Export-Grade-, NULL-, anonym-, DES-, RC4- und 3DES-Optionen. Basierend auf diesen Erkenntnissen weist tlswatch jedem Ziel eine Konfigurationsnote von A bis F zu und liefert klare Gründe für jeglichen Punktabzug. Es erkennt auch Sonderfälle wie RSA-Zertifikate, die neben ECDSA-Zertifikaten bereitgestellt werden, oder Standardzertifikate, die ohne Server Name Indication (SNI) ausgeliefert werden, was bestimmte Clients stören kann.

Wichtige Details

  • Bereitstellung als Single Binary: Die Anwendung läuft als ein einziges Go-Binary mit einer Web-UI und einer SQLite-Datenbank und erfordert keine zusätzlichen Dienste.
  • Umfassende Protokollunterstützung: Prüft jeden Port auf implizites TLS oder STARTTLS und deckt E-Mail-, Datenbank- und Dateiübertragungsdienste ab.
  • Erkennung von Legacy-Systemen: Identifiziert Server, die TLS 1.0, 1.1 oder SSL 3.0 akzeptieren, und bewertet die Konfigurationssicherheit von A bis F.
  • Verteiltes Probing: Nutzt „Nodes“, um interne Netzwerke zu untersuchen, die der Hauptserver nicht erreichen kann; diese aktualisieren sich automatisch.
  • Abgleich mit Certificate Transparency: Vergleicht öffentlich ausgestellte Zertifikate mit den tatsächlich bereitgestellten, um ungenutzte oder schädliche Zertifikate zu erkennen.
  • Flexible Benachrichtigungen: Sendet Mitteilungen per E-Mail, Telegram, Slack, Discord, ntfy oder Webhooks und unterstützt Massenbestätigungen.

Hintergrund

Transport Layer Security (TLS) ist das Standardprotokoll zur Verschlüsselung von Daten, die über das Internet übertragen werden. Während die meisten Administratoren die Ablaufdaten von Zertifikaten überwachen, um Serviceausfälle zu verhindern, hängt die Sicherheit einer TLS-Implementierung von mehr als nur den Gültigkeitszeiträumen ab. Server müssen auch starke kryptografische Standards durchsetzen und veraltete Protokolle ablehnen, die anfällig für Angriffe sind. Legacy-Protokolle wie TLS 1.0 und 1.1 weisen bekannte Schwachstellen auf und werden von großen Branchenverbänden als veraltet eingestuft, bleiben jedoch oft standardmäßig aktiviert oder aufgrund von Anforderungen älterer Anwendungen erhalten.

Certificate Transparency (CT) ist ein öffentliches Ledger-System, das alle ausgestellten TLS-Zertifikate protokolliert. Die Überwachung von CT-Logs hilft Organisationen, unbefugte Zertifikatausstellungen zu erkennen. Allerdings garantiert ein im Log erscheinendes Zertifikat nicht, dass es korrekt auf den vorgesehenen Servern bereitgestellt wird. Tools, die nur CT-Logs überwachen, können Konfigurationsfehler übersehen, während Tools, die nur Live-Server prüfen, unbefugte Ausstellungen verpassen könnten. tlswatch schließt diese Lücke, indem es öffentliche Ausstellungsdaten mit Live-Server-Probes kreuzreferenziert.

Warum es wichtig ist

Für Teams, die Self-Hosted-Software betreiben, ist die Aufrechterhaltung einer sicheren TLS-Haltung komplex. Infrastrukturen umfassen oft eine Mischung aus öffentlich zugänglichen Webservern und internen Diensten wie Datenbanken oder Mailservern, die STARTTLS verwenden. Standard-Uptime-Monitore behandeln TLS typischerweise als Blackbox und überprüfen nur, ob eine Verbindung hergestellt werden kann. Sie inspizieren selten die Zertifikatskette, prüfen auf schwache Ciphers oder validieren, ob alle IP-Adressen hinter einem Load Balancer das richtige Zertifikat verwenden. Diese Blindstelle kann zu Sicherheitslücken oder intermittierenden Fehlern führen, die schwer zu diagnostizieren sind.

tlswatch adressiert diese Lücken, indem es eine einheitliche Sicht auf die Zertifikatsgesundheit und die Konfigurationssicherheit bietet. Durch die Zuweisung einer Note an jedes Ziel erhalten Operatoren eine schnelle Möglichkeit, Sanierungsmaßnahmen zu priorisieren. Die Fähigkeit, interne Netzwerke über verteilte Nodes zu untersuchen, bedeutet, dass sogar Dienste, die vom öffentlichen Internet isoliert sind, auf die Einhaltung von Sicherheitsrichtlinien überwacht werden können. Dies ist besonders wertvoll für Organisationen, die strenge kryptografische Standards über ihre gesamte Infrastruktur hinweg durchsetzen müssen, nicht nur auf ihren öffentlichen Websites.

Was Sie tun können

  • Testinstanz bereitstellen: Verwenden Sie die bereitgestellte Docker Compose-Datei, um tlswatch lokal auszuführen und die Oberfläche zu erkunden, ohne sich auf eine Produktionsumgebung festzulegen.
  • Interne Dienste prüfen: Konfigurieren Sie Nodes so, dass sie interne Ports wie 587 für SMTP oder 5432 für PostgreSQL untersuchen, um sicherzustellen, dass STARTTLS korrekt implementiert ist.
  • Konfigurationsnoten überprüfen: Sehen Sie sich die A-F-Bewertungen Ihrer öffentlichen Endpunkte an, um veraltete Protokolle wie TLS 1.0 oder schwache Cipher Suites zu identifizieren und zu deaktivieren.
  • Certificate Transparency überwachen: Aktivieren Sie die CT-Überwachung, um Warnungen zu erhalten, wenn Zertifikate für Ihre Domains ausgestellt, aber nicht von Ihrer bekannten Infrastruktur bereitgestellt werden.
  • Inventardaten exportieren: Nutzen Sie die CSV-Exportfunktion, um einen externen Datensatz aller Zertifikate, ihrer Ablaufdaten und der Orte, an denen sie bereitgestellt werden, zu pflegen.
  • Integration mit bestehenden Alarmen: Verbinden Sie tlswatch mit Ihren aktuellen Benachrichtigungskanälen wie Slack oder Telegram, um sicherzustellen, dass Zertifikatswarnungen die richtigen Teammitglieder erreichen.

Weitere News

Alle News