Totgeglaubte leben länger! – Warum man als ITler bloggen sollte

Inzwischen sind seit der aktiven Zeit auf diesem Blog Jahre vergangen. Früher schaffte ich bis zu einem Post in der Woche…. nun liegen die letzten Posts immer Monate und fast Jahre auseinander. Dabei hätte es eigentlich viel zu bloggen gegeben. Wie die wenigen Stammleser sicher wissen, habe ich begonnen mein Hobby Informatik zum Beruf zu machen und eine Ausbildung zum Fachinformatiker für Systemintegration begonnen, die voraussichtlich im Sommer 2015 zu Ende gehen wird. Doch auch neben dem Berufsleben habe ich mich sehr viel (einige meinen zu viel) mit Themen der modernen, vernetzten Welt beschäftigt. So wurden aus meinen anfänglichen PHP-Kenntnissen deutlich mehr und ich arbeite nun täglich mit Zend Framework 2 und stelle sowohl auf Arbeit als auch privat demnächst größere Projekte fertig. (yay) Parallel dazu lerne ich derzeit Apples neusten Wurf Swift, um demnächst erste Apps zu veröffentlichen.

Doch auch abseits der Programmierung habe ich viel neues gelernt. So habe ich durch über 4 Jahre browserlife.de Serverbetrieb viel Probleme umschiffen müssen und habe so manch Eigenheit des Internets schmerzhaft erfahren müssen. Aktuell beschäftige ich mich mit Virtualisierung mit KVM und libvirt, dass ist spannend, aber man findet leider nur mit viel googlen (oder bingen) passende Lösungen…

Damit kommen wir auch dazu warum ich das alles erzähle: Ich verbringe täglich locker 1/5 meiner Arbeitszeit damit das Internet nach Lösungen für meine Probleme zu durchsuchen…ich lese Foren, Blogs, Stackoverflow und Mailinglisten auf der Suche nach so manch Fehler…doch schreiben tu ich nie, dabei lebt das ganze Konzept der Communities von der „Rückgabe“ von Wissen. Dabei ist es das beste was man machen kann- auch für sich selbst! Einfach wenn man ein Problem gelöst hat und es möglicherweise auch für andere oder einen selber nochmal interessant werden könnte es aufzuschreiben. Das muss ja nicht immer eine detailierte Step-By-Step Anleitung sein sondern machnmal einfach nur ein Codeschnipsel.

Lange Rede, relativ kurzer Sinn: Ich werde ab sofort versuchen wieder mehr zu IT Themen hier zu veröffentlichen. Thema wird immer das sein, was mich beim Programmieren oder Administrieren so beschäftigt. Ich hoffe ich schaffe es regelmäßig, denn seien wir mal ehrlich: Jeder Informatiker hat mindestens einmal in der Woche ein Problem was andere vielleicht auch schon geplagt hat!

Auf bessere Zeiten für dieses Blog!

Eigene Zertifizierungsstelle mit OpenSSL

Besitzer eigener Server im Internet kennen das Problem: Um https zu nutzen braucht man SSL Zertifikate, doch Zertifikate von großen Zertifizierungsstellen kosten oft viel Geld. Zwar gibt es kostenlose Zertifikate von StartSSL und co., aber gerade für Dienste wie OpenVPN oder generell für Dienste eines eingeschränkten Nutzerkreises, ist es komfortabler die Zertifikate selber zu erstellen und zu signieren. Damit die Zertifikate dann als gültig akzeptiert werden, muss man nur das Stammzertifikat importiert werden, aber dazu später mehr.

!!!Selbstsignierte SSL Zertifikate sollten niemals für „öffentliche“ Webseiten/Dienste verwendet werden, die von einem großen Nutzerkreis aufgerufen werden, da der Browser stets eine Warnung bringt!!!

Die Vorbereitungen

Für die eigene Zertifizierungsstelle benötigt man folgendes:

  • einen Computer mit einem beliebigen Linux (vorzugsweise der Server)
  • openssl
  • Shell-Zugriff (ssh)

Erstellen der CA (Certificate authority)

Zunächst legt man sich einen neuen Ordner an (es spielt ansich keine Rolle wo dieser Ordner liegt, sofern er nicht von außen erreichbar ist):

mkdir /root/ownca/
cd /root/ownca/

Nun erstellen wir den privaten Schlüssel für die CA. Dieser muss sicher aufbewahrt werden, denn sollte er in falsche Hände geraten, dann sollte man schleunigst alle Zertifikate ersetzen und von vorn anfangen. Häufig findet man in Anleitungen, dass man 2048 oder 4096 Bit nehmen soll. Das ist oft einfacher, denn zum Beispiel MacOS hat Probleme mit 8192 Bit langen Zertifikaten, dennoch ist es die erhöhte Sicherheit wert.

openssl genrsa -des3 -out ca.key 8192

Nun erstellt man das dazugehörige Zertifikat. Wichtige Angaben sind hier vorallem das Land (DE), die Provinz (Bundesland), die Organisation und der Common Name (CN). Beim CN kann man seine Domain nehmen oder irgendwas anderes, denn es spielt ansich keine Rolle. Land, Provinz und Organisation sollte man ordentlich ausfüllen, da alle anderen Zertifikate die man später damit signieren will diese Attribute gleich haben müssen.

openssl req -new -x509 -extensions v3_ca -key ca.key -out ca.crt -days 3650

Als nächstes erstellen wir ein paar Ordner um etwas Ordnung rein zu bringen, denn sobald man ein paar Zertifikate erstellt hat, liegen schon ordentlich viele Dateien rum. Das -m 0700 stellt sicher, dass niemand außer man selbst auf die vertraulichen Keys zugreifen kann.


mkdir -m 0700 \
/root/ownca/certs \
/root/ownca/crl \
/root/ownca/newcerts \
/root/ownca/private

Nun benötigen wir noch eine serial Datei (diese steuert die Seriennummer für die Zertifikate) und eine index.txt (hier stehen später alle Zertifikate aufgelistet)

echo 1000 >> /root/ownca/serial
touch /root/ownca/index.txt

Nun schieben wir den vorhin erstellten Key und das Zertifikat an die richtigen Stellen und ändern gleich noch die Dateiberechtigung des Keys auf eine sichere Einstellung von 400.


mv ca.key private/
chmod 0400 private/ca.key
mv ca.crt certs/

OpenSSL-Config an die eigene CA anpassen

Damit man nicht bei jedem Zertifikat viele Parameter für die CA angeben muss, kann man das in der OpenSSL-Config anpassen. Diese liegt unter Debian und vielen anderen Distributionen unter /etc/ssl/openssl.cnf. 

Folgende Zeilen im Bereich der CA_DEFAULT müssen angepasst werden:


dir = /root/ownca/
certificate = $dir/certs/ca.crt
private_key = $dir/private/ca.key#

Zertifikate signieren

Nun ist alles vorbereitet und wir können mit dem Ausstellen von Zertifikaten beginnen. Zunächst benötigt man einen Request in Form einer CSR. Webinterfaces wie Plesk ermöglichen es diesen direkt zu erstellen. In diesem Fall kann der folgende Schritt ignoriert werden und man muss nur sicher stellen, dann die myreq.csr im Hauptordner liegt.

Einen Request (csr) erstellen

Ein Request + der dazu gehörige Privatekey ist schnell mit folgendem Befehl erstellt:

openssl req -new -nodes -newkey rsa:2048 -keyout mycertkey.key -out myreq.csr -days 365

Dabei immer darauf achten, dass man bei Company, State und Country die gleichen Werte angibt wie bei der CA-Erstellung.

Erstellen des Zertifikates aus dem Request

Das Zertifikat wird mit dem folgenden Aufruf erstellt und liegt dann im Unterordner certs/ bereit. Achtet darauf die Dateien ordentlich zu benennen um nicht im Chaos zu versinken!

openssl ca -out certs/server.crt -infiles myreq.csr

Damit ist dieses Tutorial auch schon abgeschlossen und ihr habt nun eure eigene CA. Was ihr damit alles machen könnt, erfahrt ihr in kommenden Posts.

Solltet ihr Probleme mit dem Tutorial haben oder sollte sich ein Fehler eingeschlichen haben, dann schreibt einfach einen Kommentar.

Danke fuer die Glückwuensche

Das war vielleicht was. Gestern erreichte ich nun nach 18 langen Jahren die Volljährigkeit. Was nun alles machen kann und muss weiß ich selber noch nicht, außer dass ich mir meine Webserver nun selber bestellen darf 🙂 Doch der Grund warum ich hier schreibe ist ein anderer! Ich möchte mich einfach nur bei allen Leuten bedanken, die mir gestern gratuliert haben und ich wäre kein Blogger wenn ich das nicht in aller Ausführlichkeit machen würde.

Mein Geburtstag begann bereits 0:00 Uhr. Ich lag  im Bett und schlief, da ich Montag früh zur Arbeit musste. Ich hab mit meiner Mutter gewettet, dass mich da niemand aus dem Bett klingelt, da doch alle auf Klassenfahrt sind. Doch schon 30 Sekunden nach Mitternacht bekam ich die erste SMS und nur eine Minute später bildete sich fast eine Telefonwarteschlange. Nachdem ich die Telefongespräche extrem verpennt geführt hatte und mein Handy nun einmal angeschaltet war, begann es auch gleich damit meine Mails herunterzuladen. Um es kurz zu machen: Durch die Facebookmeldungen wurden es über 30 Mails.

Also nochmal:

Danke an alle, die mir gratuliert haben.

Besonders hervorzuhebende: Anja (für die erste SMS des Tages), Markus (für den weckenden Anruf ohne den ich nicht gemerkt hätte das jemand an mich denkt), Tim (für den 2. Anruf), Frau Weber (für die erste und einzige nicht automatische Geburtstagsmail).