2. Advent – Hol dir den Code

“Advent, Advent… Die Festtage stehen vor der Tür. Um euch die Wartezeit zu verkürzen und hektische Tage etwas aufzulockern, präsentieren wir nach jedem Adventssonntag ein Codebeispiel für die tägliche Computerpraxis. Wir wünschen euch eine schöne Adventszeit! Eure ICT-Blogger”

Secure Server ansprechen

Wenn man Internet Services betreibt, muss man sich oft mit den Niederungen der Protokolle rumschlagen. Glücklicherweise betrifft das nur die Anwendungsprotokolle, denn auf Netzebene darf man dann auch schon mal Bytefolgen aufdröseln. Aber das ist ein anderes Thema.

In den meisten Fällen langt es zur Diagnose, ob die Netzwerkverbindung läuft, einfach auf den jeweiligen Port einer Applikation zu telnetten, z.B. auf einen Webserver:

telnet webserver.example.com 80
GET / HTTP/1.0

Nach dem zweimaligen drücken der ENTER-Taste erscheinen die Header-Daten, die der geneigte Surfer nicht zu sehen bekommt. Dafür bietet das Kommandozeilenprogramm auch einen etwas geringeren Komfort als die meisten Browser.

Etliche wichtige Dienste sind aber per SSL verschlüsselt, so dass ein Verbindungsversuch mit Telnet nur Zeichenwüste ausspuckt. Glücklicherweise ist bei den meisten modernen Betriebssystemen (d.h. bei Windows muss man es nachinstallieren) das Schweizer Taschenmesser der Verschlüsselung dabei: OpenSSL. Damit lassen sich neben der Erstellung von Zertifikaten noch viele andere Aufgaben erledigen.

So bringt es auch einen Client für den Aufbau verschlüsselter Verbindungen mit:

openssl s_client -connect remote.host:443

oder

openssl s_client -connect remote.host:993

Die Verbindung zu IMAP geht allerdings einfacher mit Curl:

curl -v imaps://business-imap.ip-plus.net:993/Inbox/ -u kk@example.com:f001bar

Das ist natürlich nicht mein eigenes Kennwort. Apropos Kennwort: Mit OpenSSL kann man auch ein einigermassen sicheres Kennwort erzeugen:

openssl rand -base64 16

Zugegeben, wer sich solche Kennwörter merken kann, schnarcht wahrscheinlich auch weisses Rauschen. Eine eingängigere Methode schlägt XKCD vor.