Wer kennt das nicht: Da sitzt man beim Kunden (oder auch remote) und debugt ein Programm wie bspw. Icinga 2. Alle Stricke reißen und man ist dazu genötigt, den Netzwerk-Verkehr zu inspizieren… Ach ja, das ist ja alles SSL-verschlüsselt. Und dies ist auch nicht abschaltbar, selbst wenn man es dürfte. Und jetzt?
Genau in dieser Zwickmühle befand sich neulich ein Kollege und wandte sich kurzerhand an einen der Sicherheitsfanatiker hier in der Firma – mich.
Als solcher kenne ich die Maschen der dunklen Seite der Macht. So auch bspw. diese hier:
- Wireshark, den Netzwerk-Verkehr und den privaten Schlüssel von Icinga 2 Du brauchst:
/var/lib/icinga2/certs/HOST_FQDN.key
- Den Schlüssel in Wireshark Du hinterlegst: Preferences (Command + Komma) / Protocols / SSL / RSA key list / Edit
- Den Netzwerk-Verkehr automatisch Wireshark entschlüsselt
So jedenfalls die Theorie ist…
In der Theorie sind Theorie und Praxis gleich – in der Praxis nicht. So wurden auch wir davon überrascht, dass sich am mitgeschnittenen Kauderwelsch nichts geändert hat. „Stimmt…“, fiel mir wieder ein, „da war was…“
Das DH macht den Unterschied
Zu Beginn einer SSL-Verschlüsselten Verbindung handeln Client und Server u.a. den konkreten Verschlüsselungsalgorithmus aus. In diesem Fall waren die beiden besonders schlau und wählten einen „Diffie Hellman“ Algo. Schön für den Sysadmin, doof für uns. Der Zweck von Diffie Hellman ist es nämlich, genau solche Machenschaften der dunklen Seite der Macht dumm aus der Wäsche schauen zu lassen.
Zum Glück hatte ich noch ein Ass im Ärmel. Icinga 2 gibt dem Admin nämlich die Möglichkeit, die zu verwendenden Algorithmen einzuschränken:
--- /etc/icinga2/features-available/api.conf +++ /etc/icinga2/features-available/api.conf @@ -7,4 +7,6 @@ //accept_commands = false ticket_salt = TicketSalt + + cipher_list = "AES256-SHA256" }
Im konkreten Fall habe ich mich der Einfachheit halber auf einen einzigen nicht-DH Algorithmus beschränkt:
openssl ciphers |tr : \\n |grep -vFe DH
Es aber gingen theoretisch auch alle:
openssl ciphers |tr : \\n |grep -vFe DH |paste -sd : -
Nach einem Neustart von Icinga 2 und einer Wiederholung der HTTP-Anfragen hatten wir dann endlich Transparenz à la DSGVO (die grün markierten Pakete):
Fazit
Viel Spaß beim debuggen (lasst euch nicht vom Datenschutzbeauftragten erwischen) und vergesst nicht, die Lücke hinterher abzudrehen.
Und wenn bei euch wirklich alle Stricke reißen, helfen wir euch gerne weiter.

Alternativ kann man, wenn man Firefox als Client benutzt, den auch bitten, die Session- Keys mitzuloggen.
Siehe z.B.