SSL Mit Logstash und Rabbitmq (Erlang Code Quality)

Zeit für meinen ersten Technik Rant:

Derzeit bin ich auf der Arbeit mit einem Projekt beschäftigt, in dessen Verlauf das aufsetzen eines Elasticsearch Clusters mit Logstash, Kibana und RabbitMQ von nöten war. Durch den NSA Skandal sind viele IT Unternehmen auf einmal darauf bedacht möglichst alles mit SSL oder TLS abzusichern, leider hilft auch das nicht immer (Heartbleed Bug) allerdings per se keine schlechte Entwicklung.

Also frisch ans Werk und die Komponenten installiert und eingerichtet, natürlich zum Testen erstmal ohne SSL Transportverschlüsselung und Zusatzfeatures die das Debuggen erschweren. Ergebniss:

logstash-forwarder -> Logstash -> RabbitMQ -> Logstash -> Elsaticsearch -> Kibana

Funktionierte alles, soweit so gut.

nun ging es an die SSL Transportverschlüsselung. Sollte ja kein Problem sein, mag sich der geneigte Admin nun denken, VONWEGEN, wer Debian Wheezy nutzt und halbwegs vernüftige Zertifikate verwendet wird schnell feststellen, das RabbitMQ wunderschöne Erlang stacktraces wirft. ARG!

Nach einer debug Orgie bis hin zum lesen des Erlang standart library Quelltexts wurde der Übeltäter ausfindig gemacht. Ein contitional statement im Code für das Laden von SSL Zertifikaten:

 

Auf den ersten Blick vielleicht garnicht soo verwerflich, allerdings äusserst schmerzhaft wenn man SSL Zertifikate mit „sha256WithRSAEncryption“ oder ähnlichem einsetzt. Hier kann Erlang in der mit Debian Wheezy ausgelieferten version überhaupt nichts mit anfangen, gefixt wurde dies erst in der version aus den Wheezy-Backports.

dort sieht die selbe Stelle im Code wie folgt aus:

Schon besser und wesentlich Zeitgemäßer.

Ich habe jedenfalls wieder einen grund mehr warum ich Erlang scheusslich finde 😀

– Cronix

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.