Open Source im professionellen Einsatz
Linux-Magazin 08/2016

Aus dem Alltag eines Sysadmin: Testssl.sh

Eine Schlüsselstellung

Charly Kühnast kann sich noch gut an die Zeit erinnern, als das Einbinden und die Funktionsprüfungen eines SSL-Zertifikats eine einfache Sache war. Jetzt hat er ein Shellskript gefunden, das trotz des Wirrwarrs an Schlüsselprotokollen und Ciphers klare Auskünfte erteilt.

402

Es ist absehbar, dass Webserver mit SSL-Zertifikat die Regel werden. Im selben Maße steigt die Verantwortung der Admins, zu überblicken, welche SSL- und TLS-Einstellungen auf welchen Servern noch up to date sind. Ich lasse mir dabei von Testssl.sh helfen, denn das Shellskript ist ein Tausendsassa. So löst

testssl -U https://Server

Scantests auf gängige Sicherheitslücken wie Heartbleed, Poodle und Crime aus (Listing 1). Jede Testoption kann ich auch einzeln auslösen. Um zu erfahren, ob ein Server anfällig für Logjam ist, genügt:

Listing 1

testssl -U https://Server

01 Service detected:       HTTP
02 Testing vulnerabilities
03
04 Heartbleed (CVE-2014-0160)              not vulnerable (OK) (timed out)
05 CCS (CVE-2014-0224)                     not vulnerable (OK)
06 Secure Renegotiation (CVE-2009-3555)    not vulnerable (OK)
07 Secure Client-Initiated Renegotiation   not vulnerable (OK)
08 CRIME, TLS (CVE-2012-4929)              not vulnerable (OK)
09 [...]
testssl.sh --logjam Adresse

Mit »testssl -P Adresse« prüfe ich, ob der Server seine Ciphers in einer definierten Reihenfolge (von stark zu schwach) anbietet, denn das sollte er. Testssl.sh zeigt das stärkste Verschlüsselungsverfahren, das er aushandeln konnte (Listing 2). Mit »testssl.sh -Y Adresse« finde ich zusätzlich heraus, ob der Server HTTP/2 unterstützt. Der antwortet dann vielleicht mit:

Listing 2

testssl -P <I>Adresse<I>

01 Testing server preferences
02
03 Has server cipher order?   yes (OK)
04 Negotiated protocol        TLSv1.2
05 Negotiated cipher          ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH
06 Cipher order
07 [Eine längliche Liste der angebotenen Ciphers]
Service detected:       HTTP
HTTP2/ALPN http/1.1 (offered)

Die Tests sind nicht auf HTTPS beschränkt. Einen Mailserver teste ich mit

testssl.sh --starttls smtp Adresse

und bekomme genauso gute Analysen wie beim Webprotokoll – in diesem besonders ausführlich, denn wenn ich keine Parameter angebe, prüft sich Testssl.sh einmal durchs ganze Regal (Abbildung 1).

Abbildung 1: Testssl.sh fühlt sogar den Mailserver-Zertifikaten auf den Zahn.

Ach so: Aha

Zum Schluss ein Tipp vom Testssl-Entwickler: Wer zusätzlich das Tool »aha« [2] installiert, kriegt die Konsolenausgabe ganz einfach in HTML gewandelt:

testssl.sh Adresse | aha > /Pfad/servertest.html

In ein kleines Shellskript gewickelt, checke ich so schnell per Cron einmal wöchentlich den TLS- und SSL-Status meiner Server.

Infos

  1. Testssl.sh: https://github.com/drwetter/testssl.sh
  2. Aha: https://github.com/theZiz/aha und in den Repositories vieler Distributionen

Der Autor

Charly Kühnast administriert Unix-Systeme im Rechenzentrum Niederrhein. Zu seinen Aufgaben gehören Sicherheit und Verfügbarkeit der Firewalls und der DMZ.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 1 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Zodiac FX

    Weil White-Label-Switches mit Picos für das Heimlabor fast unerschwinglich sind, trat Northbound Networks mit einer Kickstarter-Kampagne an, um diese Lücke zu schließen – heraus kam der Zodiac FX.

  • Open Flow

    Mit Open Flow und entsprechenden Controllern lassen sich DDoS-Angriffe auch innerhalb des eigenen Netzwerks entdecken und bekämpfen. Das hilft Cloudanbietern und Hostern gleichermaßen.

  • Swagger API

    Ein REST-API nützt einem Entwickler vor allem dann, wenn der API-Anbieter die Methoden ausführlich dokumentiert. Genau dabei hilft das Toolpaket Swagger. Dessen Werkzeuge generieren nicht nur halbautomatisch eine API-Referenz, sondern auch ein passendes Client-SDK für zahlreiche Programmiersprachen.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.