Seite wählen

NETWAYS Blog

Hier erfährst Du alles was uns bewegt. Technology, Hardware, das Leben bei NETWAYS, Events, Schulungen und vieles mehr.

Kleine Klassiker

Nicht jedes Unternehmen benötigt eine große Überwachungslandschaft. Häufig reicht eine punktuelle Überwachung von Umweltfaktoren wie Temperatur und Luftfeuchtigkeit sowie eventueller Leckagen aus. Für diese Szenarien bieten drei unserer Hersteller genau das richtige...

Kleine Klassiker

Nicht jedes Unternehmen benötigt eine große Überwachungslandschaft. Häufig reicht eine punktuelle Überwachung von Umweltfaktoren wie Temperatur und Luftfeuchtigkeit sowie eventueller Leckagen aus. Für diese Szenarien bieten drei unserer Hersteller genau das richtige...

Kleine Klassiker

Kleine Klassiker

Nicht jedes Unternehmen benötigt eine große Überwachungslandschaft. Häufig reicht eine punktuelle Überwachung von Umweltfaktoren wie Temperatur und Luftfeuchtigkeit sowie eventueller Leckagen aus. Für diese Szenarien bieten drei unserer Hersteller genau das richtige...

+++ Final note | Only a few OSMC tickets available +++

Nächste Woche ist es schon soweit und die 12. OSMC öffnet ihre Tore! Erfreulicher Weise sind nur noch ein paar letzte Tickets buchbar! Darum heißt es schnell handeln, um noch dabei sein zu können! Neben einem tollen Programm und einer mit Sicherheit...

Ungewöhnliche Überwachungen

Bei meinen Einsätzen als Consultant bei Netways bin ich oft bei Kunden vor Ort und darf mich immer wieder von der Unterschiedlichkeit der Monitoring Installationen überzeugen. Dabei fallen mir immer wieder kreative und ungewöhnliche Methoden auf neue Dinge zu...

Lösungen & Technology

NETWAYS' upcoming Trainings, Spring 2018

The NETWAYS trainings are proof of our love for Open Source.  And as we always want to share our knowledge, we are happy to present our spring trainings:   1. Fundamentals for Puppet: 3 days training | 17.04.2018 to 19.04.2018 Learn the basic functionality behind...

NETWAYS' upcoming Trainings, Spring 2018

The NETWAYS trainings are proof of our love for Open Source.  And as we always want to share our knowledge, we are happy to present our spring trainings:   1. Fundamentals for Puppet: 3 days training | 17.04.2018 to 19.04.2018 Learn the basic functionality behind...

Batch Mode Cluster ssh mit der Distributed Shell dsh

Auch in Zeiten von Puppet und Mcollective braucht man manchmal einfach auf die Schnelle die Möglichkeit, sich per ssh aus einem Server-Cluster bestimmte Informationen holen zu können, oder einfache Befehle ausführen zu können. Hier bietet sich die oftmals in...

Google-Analytics in Prestashop richtig verwenden

Seit nun fast 4 Monaten betreiben wir unseren Online-Shop nicht mehr mit Magento, sondern mit PrestaShop. Dies bringt bereits ein Google-Analytics Plugin mit. Man gibt nur die Web-Property-ID ein und los geht's. Nachdem wir die Daten nun auswerten wollten, sind uns...

Microsoft 2008 Cluster in Virtualbox mit FreeNAS 8

Es kommt vor, das man in einem Unternehmen auf Microsoft's Cluster Lösung trifft und diese überwachen möchte oder einrichten muss. Um das alles testen zu können, installiere ich mir solche Szenarios gerne erst einmal virtuell. Das Problem, auf das man dabei trifft ist...

Events & Trainings

Open Source Backup Conference – 7 reasons | part 3

Hello again! Today, we want to present the tree hands-on Workshops for the Open Source Backup Conference! BAREOS Introduction Puppet for BAREOS Scripting BAREOS The conference will be held from September 25 to 26, 2017 at the Steigenberger Hotel in Cologne. What...

Open Source Backup Conference – 7 reasons | part 3

Hello again! Today, we want to present the tree hands-on Workshops for the Open Source Backup Conference! BAREOS Introduction Puppet for BAREOS Scripting BAREOS The conference will be held from September 25 to 26, 2017 at the Steigenberger Hotel in Cologne. What...

Keine Ergebnisse gefunden

Die angefragte Seite konnte nicht gefunden werden. Verfeinern Sie Ihre Suche oder verwenden Sie die Navigation oben, um den Beitrag zu finden.

Web Services

Keine Ergebnisse gefunden

Die angefragte Seite konnte nicht gefunden werden. Verfeinern Sie Ihre Suche oder verwenden Sie die Navigation oben, um den Beitrag zu finden.

Keine Ergebnisse gefunden

Die angefragte Seite konnte nicht gefunden werden. Verfeinern Sie Ihre Suche oder verwenden Sie die Navigation oben, um den Beitrag zu finden.

Keine Ergebnisse gefunden

Die angefragte Seite konnte nicht gefunden werden. Verfeinern Sie Ihre Suche oder verwenden Sie die Navigation oben, um den Beitrag zu finden.

Keine Ergebnisse gefunden

Die angefragte Seite konnte nicht gefunden werden. Verfeinern Sie Ihre Suche oder verwenden Sie die Navigation oben, um den Beitrag zu finden.

Unternehmen

Der Abteilungsdurchlauf: Von Managed Services zum Eventmanagement

Gut vier Monate sind vergangen seitdem ich bei NETWAYS angefangen habe. Viel hat sich seitdem ereignet: Ein LAMP-Projekt, die Open Source Monitoring Conference, dann diverse interne Schulungen und ein paar eingestreute Berufsschulblöcke später finde ich mich zuerst...

Inhaltsverzeichnis Mai 2009

Twitter Weekly Updates for 2009-05-30 Falcom Samba 55/56/75 werden eingestellt Ask the developer: NETWAYSGrapherV2 Partnerschaft mit der Knürr AG Bring it on! NETWAYSGrapherV2 rc1 released! Jetzt isses raus! NETWAYSGrapherV2 rc1 veröffentlicht! Data Center Tours:...

Partnerschaft mit der Knürr AG

Bereits auf der CeBIT im März diesen Jahres hatte ein erster Kontakt mit der Knürr AG stattgefunden um eine mögliche Kooperation in den Bereichen Monitoring von Rechenzentrumskomponenten mit Nagios/Icinga anzustoßen. Zusätzlich wurde eine Zusammenarbeit im...

Blogroll

Da hast Du einiges zu lesen …

Welcome to Berlin – Puppet Camp 2014

Puppet Camp started for Lennart, me and an audience of 66 persons yesterday with an introduction to puppet. I tried to cover different topics starting with the different components to hopefully helpful tips in designing infrastructure, workflow and modules while Lennart added a practical demo.
For the rest of the attendees puppet camp started with a warm welcome from Bernd and our partner puppetlabs who also provided the keynote. Andy Parker started with a quick poll and some nice giveaways before giving an insight look in puppetlabs philosophy and ecosystem around puppet.
Ger Apeldoorn talked about creating a puppet infrastructure instead of implementing a specific component. Like always I found some homework for me to do, this time having a deeper look on the hiera backend eyaml which adds encryption, the git extension gitflow and r10k, a deployment tool for puppet modules.
In his talk „Module (Re)writing the smart way“ Martin Alfke encouraged people to write and publish modules as a community also mentioned some important things to consider. He also gave good advise on how to find good modules provided by the community.
 


After Lunch Jos Boumans gave his talk about metrics and how these help to improve your it infrastructure. And he knows what he is talking about because his company is making a good revenue with providing metrics. These metrics are created using collectd, statsd and graphite with many many modules pushing their data to this solution. One of those is puppet which is also used to configure everything.
The pitfalls and antipattern shown by Felix Frank were quit nice and it is always helpful to learn from others mistakes instead of doing it wrong by your own.
Never had a deeper look into OpenBSD but it was quite interesting what challenges the OpenBSD community represented by Jasper Lievisse Adriaanse had to master to get puppet running on all the supported platforms.
Craig Dunn provided advise to mitigate the pitfalls we heard about earlier and additional patterns helping to improve your puppet code. I also encourage everybody to use the roles and profiles pattern perhaps many advanced users will notice that they are doing it this way anyway.
After many high level talks for the experienced users Steven Thwaites did a demo covering puppet and puppet enterprise which was quite nice especially for beginners.
Jordan Sissel gave a great talk on fpm and pleaserun, some nice tools to simplify and abstract packaging and running services. I like it, but I also have to disagree in some points. Mainly seeing myself as an administrator I prefer guidelines like those provided by fedora, file system hierarchy standard and manual work to get better supportable packages. But I fully agree on the usefulness also of the ELK stack (elastic search – logstash – kibana) he additionally talked about.
It was an awesome conference especially for networking with other puppet users. So I am looking forward to October 16th when the next puppet camp will take place in Dusseldorf. So save the day!
P.S.: I want to congratulate those passed the puppet certified professional exam that took place next to the conference.

Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman und andere Systems-Management-Lösungen. Früher war er bei einem Träger der gesetzlichen Rentenversicherung als Senior Administrator beschäftigt und auch für die Ausbildung der Azubis verantwortlich wie nun bei NETWAYS.

GnuPG / GPG Best Practices

Dieser Artikel richtet sich an User, die bereits etwas Erfahrung mit GnuPG / GPG / OpenPGP haben. GnuPG liefert bereits sehr brauchbare Standardeinstellungen mit und es kann ohne Probleme ohne grossen Zusatzaufwand verwendet werden. Wer aber etwas tiefer eintauchen, höhere Sicherheit und mehr Komfort möchte, findet im Folgenden einige Vorschläge.
Die Konfiguration
Normalerweise konfiguriert man GnuPG durch ein Konfigfile, meist ~/.gnupg/gpg.conf. Einige graphische Frontends sollten einige dieser Optionen auch anbieten und sie gegebenenfalls in eine Konfigurationsdatei schreiben.
Bei mir sieht das so aus:

default-key 91B8ECDC6265BAE6
default-recipient-self
keyserver hkp://keys.gnupg.net
keyserver-options auto-key-retrieve
personal-digest-preferences SHA512 SHA384 SHA256 SHA224
personal-cipher-preferences AES256 AES192 AES
personal-compress-preferences SHA512 SHA384 SHA256 SHA224
cert-digest-algo SHA512
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
use-agent
verify-options show-uid-validity

Nicht alle Optionen sind für die Verwendung des Schlüssels für sichere E-Mail wichtig, sondern werden mehr beim Verschlüsseln und Signieren von Dateien auf der Kommandozeile verwendet. Die Optionen können auch beim Aufruf von gpg auf der Kommandozeile angegeben werde. Eine Liste findet sich auf der GnuPG Homepage.
Der default-key gibt einfach an, welcher Schlüssel als eigener Schlüssel für Signaturen oder Verschlüsselung an sich selbst verwendet wird. Dabei wird eine längere Fassung der ID verwendet, da es bei der 8 stelligen Kurzfassung, die man oft sieht, zu leicht zu Kollisionen kommen kann. Wer meinen Schlüssel betrachtet, wird sehen, dass ich auch noch nicht alle dieser Ratschläge mit diesem Key umgesetzt habe. Ein neuer Schlüssel ist generiert, hat aber noch zu wenig Signaturen, um ihn sinnvoll zu verwenden. Es ist also nur mehr eine Frage der Zeit, bis ich mich an meine eigenen Empfehlungen halte. 🙂
Die Option default-recipient-self gibt an, dass man beim Verschlüsseln auf der Kommandozeile keinen Empfänger angeben muss, sondern immer mit dem eigenen Key verschlüsselt wird, wenn keine ID angegeben wird.
Mit keyserver wird der Standardkeyserver angegeben, der genutzt wird, wenn kein anderer Schlüsselserver auf der Kommandozeile genannt wird. Dabei wird immer wieder davor gewarnt, pgp.mit.edu als Keyserver zu verwenden, da dieser berüchtigt dafür ist, Daten nicht sauber mit anderen Servern zu synchronisieren. Welcher andere Keyserver genannt wird, ist meist nebensächlich, da sich eigentlich alle Keyserver miteinander abgleichen sollen.
Durch keyserver-options auto-key-retrieve werden Schlüssel, die im Keyring fehlen, aber zum Verifizieren von Signaturen benötigt werden, automatisch geholt.
Die personal-digest-preferences, personal-cipher-preferences und personal-compress-preferences Listen geben an, welche dieser Algorithmen man bevorzugt, in absteigender Reihenfolge. Beim Versand einer Nachricht wird damit jeweils von links an nach dem ersten Algorithmus gesucht, den alle Empfänger unterstützen. So ist sichergestellt, dass möglichst starke Standards verwendet werden, aber auch an ältere oder suboptimal konfigurierte Clients versandt werden kann. Gibt man z.B. keinen Digest (Hashing) Algorithmus aus der SHA-2 Familie an, nutzt GnuPG Standardmässig SHA-1 für Hashing, was nicht mehr empfohlen werden kann. Es sollte unbedingt ein Algorithmus aus der SHA-2 Familie vor SHA-1 und MD5 in der Liste stehen. Welche Algorithmen in der eigenen Installation zur Verfügung stehen, sieht man übrigens bei einem Aufruf von gpg --version. Bei diesen Optionen eine Liste anzugeben, verhindert den Versand nicht, da immer ein Algorithmus gewählt wird, den alle Empfänger verstehen. Das bedeutet aber auch, dass unter Umständen dennoch unsichere Algorithmen verwendet werden.
Die Option cert-digest-algo ist etwas tückisch. Sie gibt an, welcher Hash Algorithmus beim Signieren von fremden Schlüsseln verwendet wird. Wird der nicht von anderen Usern unterstützt, können Signaturen nicht überprüft werden. Gilt das auch für die Selbstsignatur eines Schlüssels, kann er gar nicht vom Kommunikationspartner verwendet werden. Standard ist eigentlich MD5 für PGP2 Schlüssel und SHA-1 für alle anderen Schlüssel. Da diese aber nicht mehr verwendet werden sollten, steht man vor der Wahl: Unsicherer Algorithmus oder unter Umständen Inkompatibilität zu anderen Usern. Ich habe mich bei neuen Schlüsseln für die mögliche Inkompatibilität entschieden. Vielleicht kann ich damit ja auch den einen oder anderen User zum Upgrade auf eine sichere Version bewegen. Da Signaturen normalerweise nur einmal erstellt werden, sollte man diese Option unbedingt setzen, bevor man einen neuen Schlüssel erstellt. Aus den genannten Gründen führen auch manche Seiten diese Option als „esoteric option“ auf. 🙂
Mit default-preference-list gibt man an, welche Algorithmen man selbst unterstützen möchte. Diese Liste wird beim Erstellen eines neuen Schlüssels verwendet, sie sollte also unbedingt gesetzt werden, bevor man einen Schlüssel erstellt. Diese Liste wird auch im Schlüssel verankert und daraus und aus den oben genannten personal-...-preferences wird dann die beste bevorzugte Version ausgesucht, die von allen Beteiligten unterstützt wird. Diese Einstellung kann auch nachträglich am Schlüssel geändert werden. Allerdings muss dann der Absender wieder den aktuellen Schlüssel haben, um die aktuelle Liste zu verwenden. Also auch gleich lieber vor Erstellung eines neuen Schlüssels richtig setzen.
use-agent gibt lediglich an, dass der GnuPG Agent verwendet wird, sofern verfügbar. Damit wird eine eingegebene Passphrase für einige Zeit gespeichert und man muss sie nicht gleich erneut eingeben.
Zu guter letzt sorgt verify-options show-uid-validity dafür, dass beim Anzeigen von UIDs auch gleich deren Gültigkeit angezeigt wird.
Beim Erstellen neuer Schlüssel zu beachten
Wie erwähnt, macht es Sinn, die Optionen in der Konfigurationsdatei zu setzen, bevor man einen Schlüssel erstellt.
Mit gpg --gen-key wird die Erstellung eines neuen Schlüssels gestartet. Ausnahmsweise sei es auch erlaubt, eine GUI dafür zu verwenden. 😉 Dieser Artikel richtet sich an Fortgeschrittene, weshalb auf die Erstellung an sich nicht weiter eingegangen wird.
Als Schlüsselpaar wird bei aktuelleren GnuPG Installationen bereits RSA/RSA vorgeschlagen, was auch übernommen werden sollte.
Dann kommt das leidige Thema der Schlüssellänge. Hier gilt fast noch mehr, als bei den Algorithmen, dass davon die Kompatibilität zu Kommunikationspartnern abhängt. Die meisten sollten inzwischen 4096bit unterstützen. Weniger sollte man alleine schon deshalb nicht mehr wählen, weil man den Schlüssel ja einige Zeit behalten möchte und 4096bit noch länger aktuell bleiben wird, als kürzere Schlüssel. Längere Schlüssel werden noch immer von zu wenig Clients unterstützt. Wobei man bedenken sollte, dass viele Clients zwar keine Erstellung von Schlüsseln über einer bestimmten Länge anbieten, aber sehr wohl mit solchen umgehen können. Es gibt noch weitere Gründe, warum es nicht unbedingt sinnvoll ist, längere Schlüssel als 4096bit zu erstellen, aber dazu vielleicht später mehr.
Es gibt einige Artikel, die darauf eingehen, ob es Sinn macht, ein Kommentar zum Schlüssel hinzuzufügen. Wobei die meisten entweder sehr dafür oder sehr dagegen sind. Ich selbst füge nur mehr Kommentare hinzu, wenn es für mich Sinn macht. Ein Beispiel wäre „package signing key“ für Schlüssel, über die ich eigentlich nicht kommunizieren möchte. Kommentare, die nur Informationen enthalten, die man auch aus der zu der uid gehörigen E-Mail Adresse entnehmen kann, kann man getrost weglassen.
Wichtig ist, ein Ablaufdatum festzulegen. Einige Seiten empfehlen, es nicht weiter als 5 Jahre in die Zukunft zu setzen. Es kann jederzeit, auch nach Ablauf des Schlüssels, verändert werden. Nach einer Änderung sollte der Schlüssel wieder auf einen Keyserver hochgeladen werden. Auch wenn man noch so darauf achtet, kann es passieren, dass man den privaten Teil des Schlüssels verliert oder die Passphrase vergisst. Dann sollte der Schlüssel nicht ewig über die Keyserver geistern, sondern irgendwann entfernt werden. Dabei geht es weniger darum, dass Ressourcen gespart werden, sondern mehr darum, dass ein Kommunikationspartner auch wirklich nur Schlüssel von den Keyservern holt, die auch noch zum Entschlüsseln genutzt werden können. Ähnliches gilt, wenn der Besitzer des Schlüssels ihn aus anderen Gründen nicht mehr nutzen kann (z.B. weil er verstorben ist)
Nach dem Erstellen des Schlüssels
Als erstes sollte ein Revocation Certificate erstellt werden. gpg --output revoke.asc --gen-revoke [keyid] Dieses sollte an einem sicheren Platz (USB Stick in einem Tresor, Truecrypt Container, oder vergleichbares) abgespeichert und evtl. sogar ausgedruckt (dazu beim Erstellen die Option --armor verwenden, um das Zertifikat als ASCII zu erhalten) werden, um sie im schlimmsten Fall abzutippen. Mit diesem Zertifikat kann der Schlüssel ungültig gemacht werden, ohne, dass man den privaten Teil oder die Passphrase braucht. Das ist einerseits gut, wenn man einen oder beide dieser Teile verloren hat, aber andererseits sehr gefährlich, weil jeder damit den Schlüssel ungültig machen kann. Um es zu verwenden, importiert man es einfach in seinen Schlüsselbund und lädt den Schlüssel auf einen Keyserver hoch. Ab da scheint er bei jedem als ungültig auf, der die aktuelle Version des Schlüssels hat.
Dann können weitere IDs zu dem Schlüssel hinzugefügt werden. Eine für jede E-Mail Adresse, mit der man den Schlüssel verwenden will. Einige Anleitungen empfehlen auch, eine ID ohne E-Mail Adresse hinzuzufügen, da sich der Name seltener ändert als E-Mail Adressen. Ich bin ein Freund davon, sich zumindest eine Adresse mit einer eigenen Domain zuzulegen, die sich möglichst nie ändert, was diesen Grund wieder relativiert. Ausserdem signieren manche automatisierte Tools nur „aktive“ IDs, also solche, von deren E-Mail Adressen man auch Nachrichten empfangen kann, was hier ebenfalls nicht funktionieren würde. Es spricht aber auch nicht wirklich etwas gegen das Erstellen einer solchen ID.
Eine Photo ID finde ich persönlich sinnvoll, vor allem wenn man Schlüssel nur bei persönlichem Kontakt signiert. Legt man sich selbst eine Signatur Policy zurecht, die auch Signaturen ohne persönliches Treffen erlauben, kann es sinnvoll sein, auf die Signatur einer Photo ID zu verzichten. Man kann ja auch einzelne IDs signieren.
Mit gpg --send-key [keyid] schickt man den Schlüssel dann an den konfigurierten Keyserver. An sich reicht es, ihn an einen Server zu senden, da sich die Keyserver untereinander synchronisieren. In der Praxis funktioniert das nicht immer reibungslos, aber im Allgemeinen findet jeder Schlüssel früher oder später den Weg zu den einzelnen Servern.
Regelmässige Wartung
Da, anders als bei S/MIME, aktualisierte Schlüssel nicht beim Versand von E-Mails übertragen werden, sondern immer wieder vom Keyserver geladen werden müssen, ist es sehr wichtig, die Schlüssel regelmässig von einem Keyserver zu aktualisieren. Dazu habe ich folgenden Eintrag in meiner crontab: 40 5 * * 4 /usr/bin/gpg --refresh-keys --keyserver-options no-honor-keyserver-url ; /usr/bin/gpg --refresh-keys --keyserver-options honor-keyserver-url . Das funktioniert, weil ich das Gerät regelmässig für Wartungsaufgaben über Nacht laufen lasse. Wer das anders hält, muss eben die Zeit des cronjobs anpassen. Dabei führe ich --refresh-keys zwei mal aus. Einmal hole ich die Schlüssel von dem Keyserver, den ich mir als Standard konfiguriert habe und einmal von dem Keyserver, den die Schlüsselbesitzer evtl. in ihren Schlüsseln hinterlegt haben. Damit respektiere ich einerseits, falls jemand seinen Schlüssel an einem bestimmten Server pflegt, der sich unter Umständen gar nicht mit anderen Schlüsselservern synchronisiert und bin andererseits dafür gewappnet, dass jemand evtl. einen Server angegeben hat, der gar nicht mehr existiert. Wer keinen hkps fähigen Keyserver verwendet, überträgt damit regelmässig eine Liste der Schlüssel im eigenen Keyring und damit wahrscheinlich eine Liste der regelmässigen Kommunikationspartner. Es gibt Tools, die helfen, das zu Verschleiern, ohne auf hkps umsteigen zu müssen, da aber keine weitere Information enthalten ist, hebe ich Anleitungen dafür für etwaige spätere Artikel auf.
Mit dem Befehl gpg --update-trustdb kann man die Trust-DB ausfüllen. Damit gibt man für alle Schlüssel, für die man das noch nicht getan hat, an, wie sehr man dem Besitzer zutraut, Schlüssel anderer Personen nur nach ordentlicher Überprüfung der Identität zu vertrauen. Diese Information hat durchaus mit der persönlichen Meinung über die Besitzer zu tun und sollte deshalb sehr vertraulich behandelt werden. Sie wird auch nicht mit einem Schlüssel exportiert. Zu beachten ist, dass dies nichts damit zu tun hat, wie sehr man dem Besitzer eines Schlüssels glaubt, tatsächlich der zu sein, der er zu sein vorgibt. Diesen Befehl sollte man regelmässig ausführen, da diese Einstufung bei jedem neu importierten Schlüssel nötig ist. Das muss interaktiv passieren, deshalb macht es keinen Sinn, einen Cronjob dafür zu planen.
Zum Backup der geheimen Schlüssel sollte man ab und zu gpg --export-secret-keys --armor ausführen und den Output an einem sicheren Ort speichern. Zwar ist der Schlüssel mit der Passphrase geschützt, aber nur darauf sollte man sich auf keinen Fall verlassen. Die öffentlichen Schlüssel kann man zwar von Schlüsselservern neu holen, aber wenn man schon mal dabei ist: gpg --export --armor.
Es ist auch sinnvoll, immer wieder zu kontrollieren, ob das Ablaufdatum des Schlüssels nicht kurz bevor steht. Da es einige Zeit braucht, bis alle Kommunikationspartner einen aktualisierten Schlüssel holen, sollte man früh genug damit beginnen, das Ablaufdatum wieder nach hinten zu verschieben und den öffentlichen Schlüssel über die Keyserver zu verteilen.
Als stolzer Schlüsselbesitzer sollte man regelmässig versandte Mails signieren. Das ist wahrscheinlich der effektivste Weg, herauszufinden, ob man nicht unter seinen regelmässigen Kommunikationspartnern auch GnuPG Anwender hat. Ausserdem wird so oft die Rückfrage kommen, was denn „diese komischen Zeichen“ sein sollen. Ein sehr praktischer Weg, um ein Gespräch über sichere E-Mailkommunikation zu beginnen. 🙂
Was man sonst noch tun kann
Natürlich sollte man über diesen Vorschlägen nicht vergessen, den Schlüssel einfach auch mal zu verwenden. Zum Signieren und Verschlüsseln von E-Mails, Signieren von Softwarepaketen, Verschlüsseln von Dateien, die man sicher aufbewahren will und einiges mehr.
Die wichtigste Regel im Umgang mit E-Mail Sicherheit ist meiner Meinung die gleiche, die ich für Wiederbelebung in der Ersten Hilfe gelernt habe: Hauptsache, man tut’s. Auch wenn man sich nicht ans Handbuch hält und vielleicht nicht alles perfekt ausführt, ist es immer noch viel, viel besser, als nichts zu tun. Bei beidem gilt jedoch auch, dass man immer nur Chancen verschieben kann. 100% Erfolgschance gibt es bei beidem leider nicht, auch wenn man noch so gut vorbereitet ist. Je besser man sich vorbereitet, umso höher sind aber die Chancen des Erfolges. Sicher ist nur eines: Macht man nichts, sieht’s düster aus.
Für alle, die sich dennoch gerne vorbereiten wollen, soll dieser Artikel einen Anhaltspunkt für den E-Mail Teil des Vergleichs geben, für den Rest gibt’s hier, hier und bei vielen anderen Stellen, die ich leider hier aus Platzgründen nicht mehr nennen kann, Angebote.
Für die Nerds und Geeks unter den Lesern findet sich viel Spass mit Graphen und Statistiken zu Schlüsseln auf
Natürlich gibt es noch viel mehr, was man mit GnuPG und GPG Schlüsseln machen kann, was sich im täglichen Leben als praktisch und/oder sicher erweist, aber als Start sollte dieser Artikel einige Anhaltspunkte geben. Sollte Bedarf bestehen, können gerne Einführungsanleitungen folgen. Eine wunderbare Anwendung des Kommentarfeldes, solchen Bedarf anzumelden. 🙂
Noch eine Anmerkung: Sicherheitstechnologien sind einem ständigen Wandel unterworfen. Es lohnt sich also immer, mal kurz nach dem aktuellen Stand der Technik zu suchen, um zu vergleichen, ob die Informationen nicht schon wieder überholt sind. Bei Kommunikationstechnologien ist das doppelt wichtig, da sich Sender und Empfänger auf einen Satz an Technologien einigen müssen. Dafür wird  oft eine gewichtete Liste konfiguriert, welche Technologien unterstützt werden und welche bevorzugt werden. Das sollte nicht zu restriktiv gehalten werden, sonst kann es schon zu Problemen beim Versand von E-Mails von sehr konservativen Betriebssystemen an Bleeding-Edge OS und umgekehrt kommen. Beispiele solcher Listen finden sich oben in dem Beispiel der Konfigurationsdatei.
Für weitere Vorschläge anderer Best Practices bietet sich ebenfalls die Kommentarfunktion an.
Ein paar weiterführende Links zum Thema:

Thomas Widhalm
Thomas Widhalm
Manager Operations

Pronomina: er/ihm. Anrede: "Hey, Du" oder wenn's ganz förmlich sein muss "Herr". Thomas war Systemadministrator an einer österreichischen Universität und da besonders für Linux und Unix zuständig. Seit 2013 ist er bei der NETWAYS. Zuerst als Consultant, jetzt als Leiter vom Operations Team der NETWAYS Professional Services, das unter anderem zuständig ist für Support und Betriebsunterstützung. Nebenbei hat er sich noch auf alles mögliche rund um den Elastic Stack spezialisiert, schreibt und hält Schulungen und macht auch noch das eine oder andere Consulting zum Thema. Privat begeistert er sich für Outdoorausrüstung und Tarnmuster, was ihm schon mal schiefe Blicke einbringt...

Welcome to Berlin – OSDC 2014 – Part 2

BkzRYZYIYAE2Cni
Day 1 – done. Awesome. Lots of interesting talks, presentations and especially those stunning demos as Dirk already remarked in his blog post yesterday. Evening event in the sky of Berlin – priceless. Well, and sleep is overrated, like usual. Personal I-need-more-time-to-play-with list: Graylog2 & Ansible in combination with Icinga 2.
Bkzk8fHIgAEAb2F
OSDC Day 2 kicked off with an introduction into Docker by Tobias Schwab. While I am familiar with Vagrant used for virtualized development and demo boxes, the presentation really made it clear – give it a shot, use existing (puppet) provisioners and run containers locally on your linux. Although the project is relatively young, it’s already famous to be on the top 50 of GitHub projects. Sebastion already covered Docker already last year here on the blog. Docker further removed a blocking issue recently – the requirement of a patched kernel – in their 0.0.7 release, so definitely a „must try“ (also given that rapid development already shows 0.10.0 as latest release).
Bk2aX-qIgAAy3jLUp next a tough decision between Ceph by Martin Loschwitz, or SysDB with Sebian Harl. SysDB got my attraction in terms of its future capabilities combining it with monitoring interfaces such as the livestatus protocol for data feeds. It’s not yet decided whether to use a RDBMS/NoSQL or graph database as backend for SysDB, or how to proceed in detail with all required APIs. Though the project looks promising and possibly fills some gap on all those ‚inventory monitoring graphs metric whatever‘ tool combinations out there. Let’s wait for the documentation and a final release 😉
Bk3ZTO-IUAAgqeE
Automated MySQL Failover with MHA presented by Colin Charles from MariaDB/SkySQL promises insights into one those painful things to-be-done with MariaDB and high availability (and likewise, its predecessor MySQL). MHA basically monitors all connected nodes. If a failure occurs, it saves the binary logs from the crashed master. Then identifying the most-uptodate slave, applying differences to all others, promoting the new slave as new master. Last but not least, announce the new master to all slaves. Sounds pretty easy – and integrates well with existing HA solutions such as Pacemaker, as heard during the presentation.
Bk3H8dRIQAAN-lv
Lunch was very delicious and sweet in the end – and so was the entry talk into the afternoon by Mike Adolphs on ‚How we do Support at Github‚. Not so much technical details, but nice images illustrating the steps how to put effort into having the best support ever. Even with Lego workers fixing all the problems 😉
Jochen Lillich with Dynamic Server Orchestration introduced alternative methods on the key player tool (like Puppet, Chef, Ansible, etc) like serf. Last but not least – the final presentation by Yves Fauser from VMWare introducing an ‚Overview of networking challenges and solutions in OpenStack‚.
Bk20okIIAAAvC65
Well, and it wouldn’t be me if I wouldn’t talk a lot about Icinga 2 collecting ideas & feedback during coffee breaks and on twitter #osdc. Nice location, smart people, cool atmosphere – can’t wait for next year!
Save the date – 21 – 23 April 2015!
Thanks to all speakers, sponsors and participants – see you next year 🙂
PS: We’ll upload the slides, presentation recordings and pictures in the next weeks. Keep an eye on osdc.de!

Red Hat #nEuland Linux, Python 2.4 und ich

Es war einmal ein Python-Software-Projekt, das ich für Icinga umzusetzen hatte.
Eine Vorgabe, die mir persönlich nicht gefallen hat, war die Python-Version: 2.4.
Ein größeres kleines Dorn im Auge war mir vor allem das Fehlen der (erst in Python 2.5 eingeführten) bedingten Ausdrücke:
print 'komfortabel' if sys.version_info[:2] > (2, 4) else u'umst\xe4ndlich'
Im Ernst: Wer verwendet heute noch den fast 10 Jahre alten Python-2.4-Interpreter?
Ach ja… Red Hat Enterprise Linux.
Die zu entwickelnde Software soll wohl u. a. auf der (bis einschließlich März 2017 unterstützten) Version 5 von RHEL laufen.
Aber warum ist RHEL eigentlich so konservativ?
Ein Grund ist sicher, dass RHEL für Geschäftskunden gedacht ist, von deren Servern ein extrem stabiler Betrieb verlangt wird (z. B.: Wissenschaft, Militär oder Raumfahrt).
Dieser ist des öfteren auch von großer Bedeutung – in den USA beispielsweise bei der NASA, dem Verteidigungsministerium oder der Luftfahrtbehörde.
RHEL 7 soll immerhin Python 2.7 enthalten, während Debian, das als eine der stabilsten Linux-Distributionen gilt, schon länger Python 3 anbietet.
Fedora (wohl eine der innovativsten Linux-Distributionen) will Python 3 sogar als Standart-Interpreter heranziehen.
Aber solch ein Schritt ist für RHEL wahrscheinlich noch #Neuland.

Alexander Klimov
Alexander Klimov
Senior Developer

Alexander hat 2017 seine Ausbildung zum Developer bei NETWAYS erfolgreich abgeschlossen. Als leidenschaftlicher Programmierer und begeisterter Anhänger der Idee freier Software, hat er sich dabei innerhalb kürzester Zeit in die Herzen seiner Kollegen im Development geschlichen. Wäre nicht ausgerechnet Gandhi sein Vorbild, würde er von dort aus daran arbeiten, seinen geheimen Plan, erst die Abteilung und dann die Weltherrschaft an sich zu reißen, zu realisieren - tut er aber nicht. Stattdessen beschreitet er mit der Arbeit an Icinga Web 2 bei uns friedliche Wege.

Welcome to Berlin – OSDC 2014 – Part 1

After an awesome trip to Berlin (of course with good music and no beer or was it the other way round? 😉 ), the workshops on puppet, logstash and graphite and some preparation work the conference started with our typical opening from Bernd.
For the first talk Jordan Sissel and Lennart Koopmann combined there knowledge from developing logstash and graylog2 to one talk introducing to log management. They showed all the problems you can face when dealing with logs and gave a short introduction to their tools to solve this problems. A deeper look into this tools was provided in specific talks throughout the day.


The deeper look into logstash and the complementary tools elastic search and kibana was next also provided by Jordan. One sentence every project should adapt is his philosophy that every failed user experience is a bug, a bug in software, documentation or treating people. But not also the philosophy is awesome also the feature set of the ELK stack (elastic search – logstash – kibana) so I would like to encourage everybody to try it also if he does not feel the need for log management. If you have tried it out you will get the feeling you don’t want to miss it. Only thing I hate about it is the default dark theme.
The third talk I was watching was about graphite by Devdas Bhagat from booking.com. After a short introduction to graphite he gave a deeper look into how booking.com scaled up their infrastructure and use it for monitoring and debugging. The really diverse tools that are used for collecting data and pushing them to graphite shows the power of it. Also if the common consents is that the default front-end sometimes sucks. 😉
Ansible is a configuration management solution I was pointed to quite a while ago, so I was really interested in the talk by Jan-Piet Mens, although I personally dislike the idea of using ssh for this kind of automatism. Ansible sounds really powerful and flexible but simple, especially for ad-hoc tasks. The roles provided on ansible galaxy shows the greatness of the community like puppet forge does it for puppet.

After the tasty lunch I had a difficult decision to make and decided in favor of Andreas Schmidt on serverspec. Serverspec are RSpec tests for checking servers are configured correctly. It shows that syntax does not need to be difficult and testing is simple. I would say it is simple enough to satisfy a non-technical auditer, too. Perhaps just missing a gui / report with pie charts! 😀
Lennart gave the audience a deeper look into graylog2 after that. The architectural differences between graylog2 and ELK stack are small but with big effects to consider e.g. data access. The front-end is also powerful, for dashboards not as powerful as kibana Lennart said by himself, but I think it looks nicer. I like the streams you can set acls and alerts on, too. Like always I want the good things of both (in this case graylog2 and kibana) combined! 😉
Last talk for today was Christian Patsch on capistrano and puppet. Capistrano is an orchestration tool using ssh to automatize tasks and Christian showed how to use it for a masterless puppet setup. I would not do it as a default solution but it is a nice setup if you have requirements like ad-hoc configuration. He also mentioned other solutions for those using chef or ansible as an alternative.
Now we will go to the evening event you will find some impressions from this later on and Michi will cover the talks tomorrow in another post.

Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman und andere Systems-Management-Lösungen. Früher war er bei einem Träger der gesetzlichen Rentenversicherung als Senior Administrator beschäftigt und auch für die Ausbildung der Azubis verantwortlich wie nun bei NETWAYS.