Ich weiß nicht, wie oft ich schon Mails von Bloglesern erhalten habe, mein SSL-Zertifikat sei abgelaufen und ich sollte es doch endlich mal erneuern. Nicht dass mir mein Monitoring das nicht rechtzeitig gesagt hätte, auch https://startssl.com hat mir immer rechtzeitig eine entsprechende Info geschickt. Aber Zertifikatupdates sind einfach umständlich und doof.

Um so erfreuter war ich, als https://letsencrypt.org sich anschickte hier Abhilfe zu schaffen. Doch der Betatest brachte einige Ernüchterung. Der Standard-Client brachte nicht nur zahlreiche Dependencies und damit überraschend viel Komplexität mit sich, er wollte außerdem auf genau den Ports laufen, die mein Webserver belegt. Das manuelle Verfahren, welches zumindest die letztgenannte Einschränkung nicht mit sich brachte war leider nicht sauber automatisierbar, da es ständig irgendwelche Rückfragen stellte.

Abhilfe schaffte hier [[https://github.com/lukas2511/letsencrypt.sh|letsencrypt.sh]]. Es benötigt lediglich sed und curl, beides ist sowieso installiert. Das eigentliche Script ist in Bash geschrieben und deutlich überschaubarer als der letsencrypt-Standard-Client. Der einzige Nachteil, die Apache-Konfiguration muss ich weiterhin selbst übernehmen, doch das hatte der letsencrypt-Client auch nicht sauber hinbekommen.

Weiterlesen...

Neben der Serverüberwachung mit Icinga/Nagios habe ich bisher immer Munin verwendet. Munin zeichnet Graphen z.B. für die aktuelle Serverlast (Load) oder die Belegung der Festplatten. Leider skaliert Munin nicht besonders gut. In festen Intervallen fragt Munin die verbundenen Clients nach neuen Daten und rendert neue Grafiken. Das dauert leider einigermaßen lang.

Eine ressourcensparendere Alternative ist collectd (https://collectd.org/).

Weiterlesen...

Speichermedien für Backups gibt es reichlich. Eines der ältesten Medien sind sicherlich Bänder. Und auch wenn sie immer mehr von Cloudlösungen und Festplatten abgelöst werden gibt es sie noch immer. Die Vorteile sind sicherlich die hohen Kapazitäten in Verbindung mit den günstigen Medien. Einzig die Einstiegpreise für ein entsprechendes Laufwerk sind zunächst sicher abschreckend.

Ein Nachteil von Bändern ist sicher dass man sie nicht einfach so wie eine normale Festplatte ansprechen kann. Somit scheiden viele Backuplösungen aus und man benötigt eine auf Bandlaufwerke spezialisierte Software.

Hier kommt Bacula ins Spiel.

Weiterlesen...

Ein VPN ist eine praktische Sache und eine der seltenen Maßnahmen, die sowohl Komfort als auch Sicherheit erhöhen. Die Einrichtung eines VPNs kann recht komplex sein, mit OpenVPN geht es aber ziemlich leicht. Außerdem stehen für OpenVPN Clients für quasi jedes Betriebssystem zur Verfügung.

Weiterlesen...

Vor einiger Zeit habe ich bereits ein Cluster-Setup auf Pacemaker/Corosync-Basis unter Debian Wheezy hier verbloggt. Seitdem hat sich im Pacemakerumfeld ein wenig was getan und somit ist es an der Zeit für ein Update, diesmal mit CentOS7.

Die größte Neuerung (für mich) war der Wegfall des Cluster Resource Managers (crm), er wird durch pcs bzw. pcsd ersetzt, letzterer stellt sogar ein komfortables Webinterface zur Verwaltung des Clusters zur Verfügung.

Weiterlesen...

Ich habe kürzlich beschlossen etwas über meinen Linux-Tellerrand zu schauen und habe mich mal ein wenig mit CentOS beschäftigt. Anfangs war auch alles ziemlich einfach, VirtualBox und los. Aber auf Dauer macht sowas nicht glücklich, also habe ich mich entschlossen es auf Xen-Basis nochmal zu probieren. Die erste Ernüchterung Xen auf CentOS 7-Basis geht nicht. CentOS 6.5 würde gehen, aber ich habe mich entschieden dann doch auf den bewährten Debian-Unterbau zu setzen.

Weiterlesen...

Bisher habe ich gerne One Time Passwords (TOTP, Time based One Time Password) mittels OPIE unter Debian genutzt. Leider ist OPIE in aktuellen Debianversionen nicht mehr dabei.

Als Alternative kann man das PAM-Modul “google_authenticator” verwenden. Es funktioniert zwar etwas anders als OPIE erhöht aber die Sicherheit auf ähnliche Weise. Während man bei OPIE quasi wählen kann ob man sich mit seinem normalen Password oder aber mit einem One-Time-Password anmelden möchte benötigt man beim google_authenticator stets beides.

Weiterlesen...

Aufmerksame Leser werden bemerkt haben dass wir uns einen kleinen Hostingcluster geleistet haben. Um die Xen-Maschinen auf diesem möglichst gut abzusichern haben wir uns entschieden diesen keine Internetverbindung zu spendieren.

Da dort hauptsächlich Webanwendungen liegen mag das zunächst kontraproduktiv wirken. Mit einem Reverse-Proxy funktioniert das aber sehr gut. Hardwaretechnisch besteht der Proxy aus zwei Maschinen in einem Active/Passive-Cluster, den man später zum Loadbalancer umrüsten könnte. Softwaretechnisch haben wir uns hier für nginx entschieden.

Weiterlesen...

Für unseren Testserver brauchte ich eine Möglichkeit eine virtuelle Xen-Maschine auf ein anderes System zu klonen. Auf der Dom0 wird hierzu ein LVM-Snapshot der zu klonenden Maschine erzeugt, damit sich die Daten während des Kopiervorgangs nicht verändern.

Das Ziel des Kopiervorgangs ist eine andere Dom0, welche per SSH erreichbar ist. Ausgelöst wird der Kopiervorgang von einem dritten System aus, weil nur hier die nötigen SSH-Keys vorliegen (der Befehl ist Teil eines komplexeren Scripts welches weitere Informationen von anderen Rechnern per SSH einsammelt).

Insgesamt sind an dem Kopiervorgang also drei Systeme beteiligt. Der Rechner von dem aus das Script gestartet wird, die Quell-Dom0 und die Ziel-Dom0.

Weiterlesen...

In den vorangegangenen Artikeln wurden ja bereits einige Beispiele für Konfigurationen mit Hilfe von Salt gegeben, (mind.) ein Beispiel fehlt aber noch. Gerade bei Tools zur Serverüberwachung, wie zum Beispiel Icinga oder Munin, müssen Konfigurationsdateien auf verschiedenen Rechnern gepflegt werden. Der Client (also der zu überwachende Rechner) muss z.B. wissen welche Daten er erheben soll und an wen er sie weitergeben darf. Der Monitorrechner muss wissen bei welchen Rechnern er Daten abholen soll.

Bei Salt ergibt sich hier ein Problem. Die Konfiguration gilt immer nur für den jeweiligen Minion. Der Minion der als Monitor dient weiß nichts von den anderen Rechnern und der zu überwachende Rechner weiß nichts über den Monitorrechner.

Weiterlesen...