Pacemaker Linux-HA-Cluster

Ich bin mit Alex und Martin gerade auf einer Pacemaker Linux-HA-Cluster Schulung in Köln und dokumentiere den kompletten Inhalt im Techstories Wiki. Zum Nachschlagen von gewissen Grundsetups (z.B. Samba-OpenLDAP-HA mit Clustered LVM und OCFS2)  und diverser nützlicher Hinweise im Umgang mit Pacemaker vielleicht auch für andere interessant: Notizen zur Pacemaker HA-Cluster Schulung im Wiki

(Bis Freitag Abend wird das Dokument noch weiter ausgebaut, dann ist die Schulung vorbei.)

S/MIME Mails mit IPhone lesen

Endlich! Mit dem kostenlosen IPhone App SMIME Reader kann man nun auch verschlüsselte (S/MIME) Mails mit dem IPhone lesen. Zwar ist, wie der Name des Apps schon verrät, noch kein Versand von verschlüsselten Mails möglich, aber das Lesen reicht in den meisten Fällen unterwegs vollkommen aus.

Drei einfache Schritte sind für die Einrichtung nötig, wenn man das Zertfikat im Mac OS X Schlüsselbund importiert hat.

1. Zunächst das IPhone App auf dem IPhone installiert (ach nee ;) ). Am besten direkt über ITunes mit angeschlossenem IPhone durchführen, da dies für den dritten Schritt benötigt wird.

2. S/MIME Mail-Zertifikat samt privaten Schlüssel als PKCS#12 (.p12)-Datei über die Schlüsselbundverwaltung exportieren:

3. Über ITunes die exportierte Datei im Dateispeicher des SMIME Readers importieren:

Fertig :) Nun kann in IPhone Mail eine verschlüsselte Mail über den SMIME Reader geöffnet und entschlüsselt dargestellt werden:

arpwatch unter Mac mit Growl

Viele Man-in-the-middle-Angriffe in lokalen Netzwerken basieren auf ARP-Spoofing, bei dem durch gezieltes Fälschen von ARP-Netzwerkpaketen der Traffic eines Rechners so umgeleitet wird, dass ein Dritter diese mitlesen und verändern kann. Mittels Sicherheitsfunktionen wie z.B. Port Security sollten solche gefälschten Pakete in lokalen Netzwerkinfrastrukturen verhindert werden.

Möchte man in fremden Netzwerken selbst sicherstellen, dass man nicht Opfer solcher Angriffe wird, ist es möglich mit Software das Netzwerk zu überwachen und bei verdächtigen Veränderungen gewarnt zu werden. Ein bekanntes Unix-Netzwerktool in diesem Bereich ist arpwatch, welches ich u.a. auch auf meinem Notebook unter Mac OS X betreibe. Um direkt über verdächtige Änderungen im Netzwerk informiert zu werden, habe ich ein kleines Python-Skript geschrieben, das die System-Log von Mac OS X nach arpwatch-Meldungen durchsucht und entsprechende Growl-Nachrichten erstellt. Eine solche Growl-Nachricht kann z.B. so aussehen:

Hier wird gemeldet, dass sich die MAC-Adresse der IP 192.168.0.2 zwischen den beiden aufgeführten Adressen hin und her ändert. Ein Hinweis auf eine doppelt vergebene IP-Adresse im Netzwerk oder aber auch ein Indiz für gefälschte ARP-Anfragen bei einem Man-in-the-middle-Angriff.

Im Wiki habe ich die Einrichtung der Software und die erforderlichen Skripte für den Nachbau dokumentiert.

Robotik: Hexapod bis Humaniod

Neben Modellflug hat mich auch schon immer die Robotik fasziniert. Daher habe ich mich über das Ostern-Wochenende etwas über aktuelle Robotik-Systeme informiert und meine persönlichen Roboter-Highlights mit Videos, Preisen und weiterführenden Links im Wiki dokumentiert. Am beeindruckendsten fand ich die Hexapoden, 6 beinige Roboter-Spinnen. Die Videos sind ein must-see für jeden Technik-Freaks – ab ins Wiki, dort gibt es mehr :)

Cloud Computing mit Amazon

Heute habe ich in der Firma eine kurze Präsentation über Cloud Computing mit Amazon Web Services und Skalierung von Webanwendungen gehalten. Die wichtigsten Eckpunkte sind im Techstories Wiki veröffentlicht: Cloud Computing mit Amazon Web Services.

Wer selbst schon Amazon Web Services einsetzt und vom lokalen Serverspeicherplatz (ephemeral storage) auf das Booten vom SAN (EBS boot) umstellen möchte, findet als Unterseite meine Notizen über die notwendigen Schritte hierfür: Umstellung AWS EC2 ephemeral store auf EBS boot.

Dell switch from Hell: Probleme mit PowerConnect 6224

eine Story über die Macht von Software über Netzwerke und eher mäßigen Support

Alles Begann mit einer Umstrukturierung des internen Netzwerks im Juli 2008.Es wurde geplant, das Netz in mehrere Segmente aufzuteilen und diese mit einem Layer-3 Switch zu verbinden. Die Entscheidung fiel auf einen Dell PowerConnect 6224. Da dies ein zentraler Knotenpunkt werden sollte, erwarben wir auch den Pro Support mit 4h vor Ort Austausch-Service.

Im Februar tauchten sporadisch kurze Netzwerkausfälle auf, die sich immer weiter häuften. Es stellte sich heraus, dass der Switch sporadisch neustartete. Nach einem Anruf bei Dell hatten wir innerhalb einer Stunde ein Austauschgerät. Respekt!

Allerdings war das Problem damit nicht behoben. Nach ca. 3 Wochen Mailverkehr mit der Softwareentwicklung in Irland bekam ich den Hinweis, doch das SSH mal abzuschalten und siehe da, es war Ruhe im Karton.In ca. 1 Monat sollte eine neue Software erscheinen mit einer neuen SSH-Implementierung. Das war zwar etwas unschön, da wir den Switch primär über SSH managen, aber für 1 Monat würde das gehen. Leider wurden daraus 3 Monate. Diese lief auch stabil und behob noch ein anderes Manko, nämlich, dass man das DHCP Relay nur global einschalten konnte, und nicht pro vlan.

Im November fingen die Probleme dann richtig an, als ich für ein VLAN das Routing abschalten wollte. Über einen Zeitraum von ca. 15 min. funktionierte das Routing für das gesamte Netz nicht mehr. Interessanterweise passierte es nicht plötzlich, sondern nach und nach waren immer mehr Systeme nicht mehr erreichbar, als wenn der Routing Cache erst leerlaufen musste. Wenn man das Routing für das vlan wieder aktivierte lief wieder alles. Es ist mir nicht gelungen, dieses vlan abzuschalten ohne das Netz lahmzulegen, also habe ich es erstmal gelassen. Als wir später 2 zusätzliche LAG’s an den Switch anbinden wollten, bildeten sich plötzlich Netzwerkschleifen, wodurch das Netz zeitweise nicht  mehr benutzbar war.  Wir haben mehrere Tage intensiv den ganzen Netzaufbau nach möglichen Ursachen dafür abgesucht, konnten aber nichts finden. Also fragten wir mal beim Dell Support nach. Dieser verwies uns mehrfach an den kostenpflichtigen Konfigurationssupport . Beim dritten Anfruf endlich bekam ich die Aussage, dass die Software kurz nach der Veröffentlichung wieder zurückgezogen wurde, weil Diese Fehler en masse enthalte und ich solle doch bitte wieder ein Downgrade auf die alte Software durchführen. Gesagt, getan und wirklich, alles lief wieder vernünftig, ausser SSH natürlich.  Bis heute, nach über einem Jahr, ist noch keine neue Software erschienen und SSH ist nach wie vor nicht nutzbar.

Fazit: Der teure ProSupport von Dell nützt einem bei Softwareproblemen leider gar nichts. Mit den Servern von Dell haben wir wirklich sehr gute Erfahrungen gemacht, aber von den Switches, speziell dem 6224 und dem ProSupport dafür bin ich mehr als enttäuscht. Der nächste Layer-3 Switch wird definitiv kein Dell werden.  Schade, Dell hier besteht noch einiges an Nachholungsbedarf.

Generell kann ich Switches von Dell nicht sehr empfehlen, das reicht von langen Bootzeiten über nicht mehr erreichbare Webinterfaces (bis zum nächsten Neustart,eher suboptimal bei Netzwerkknotenpunkten) bis hin zu den merkwürdigsten Effekten in den Webinterfaces.

Update: Das Problem wird von DELL auch im englischen Community-Forum ignoriert: Link zum Post.

Update 2: Dell hat jetzt ein neues Minor-Release veröffentlicht, welches aber, laut den Release Notes, nicht das SSH-Problem behebt.

Update 3: Vor einigen Wochen hat Dell wieder eine neue Version der 3-er Reihe veröffentlicht und wir haben es eingespielt. Und oh Wunder, es gab noch keine Probleme und wir haben endlich wieder ssh. ;) Super Dell, nach ca. 1,5 Jahren haben wir endlich mal wieder eine sauber funktionierende Software…

Übersicht Confluence Plugins

Im Zuge der Umstellung meines Wikis auf Confluence habe ich mich letzte Woche durch alle Confluence 3.1 Plugins durchgearbeitet, die zusätzlich über das Plugin Repository im Adminbereich verfügbar sind. Eine Liste der interessantesten Plugins mit jeweils einer kurzen Beschreibung und Link zum Atlassian Plugin-Portal steht im Wiki zum Durchstöbern bereit.

Neues Techstories Wiki

Soeben habe ich eine neue Version des Techstories Wiki aktiviert, welches nun auf Confluence statt FosWiki basiert. Alle URLs des alten Wikis werden automatisch auf die entsprechenden URLs des neuen Wikis umgeleitet, so dass Bookmarks und externe Verlinkungen noch funktionieren sollten.

Ein paar Gründe für meinen Umstieg von FosWiki auf Confluence:

  • Sehr gute Bedienbarkeit (Usability), z.B. Anhängen von Dateien an Wiki-Seiten per Drag&Drop.
  • Lese- und Schreibzugriff auf alle Wiki-Daten per WebDAV.
  • Schnelle und gute Suche mit Indizierung gängiger Dateitypen.
  • Intuitiver Wiki-Code und ausgereifter WYSIWYG-Editor.
  • Schneller Seitenaufbau, kurze Ladezeiten.

Auf Anfrage erstelle ich gerne Benutzer im Wiki zum Mitarbeiten an Dokumenten. Ansonsten lässt sich jedes Wiki-Dokument auch anonym kommentieren. Viel Spaß mit dem neuen System!

PEAR Probleme mit Laconi.ca LDAP-Patch

Letzte Woche habe ich unser internes Laconi.ca System um eine rudimentäre LDAP-Integration erweitert. Der im Laconi.ca Ticket-System veröffentlichte LDAP-Patch basiert auf PEARs Net_LDAP. Der Patch führt mittels des Benutzernames beim Login eine LDAP-Suche durch und versucht sich mit dem gefundenen DN des Benutzers und dem angegebenen Passwort am LDAP-Server zu authentifizieren (binden):

// rebind to authenticate the password now we know the user exists
$entries = $search->entries();
$bind_result = $ldap->bind($entries[0]->dn(), $password);

Und genau hier gab es Probleme mit dem Code, zumindest auf unserer Standard Debian LAMP-Installation mit Apache 2.2 und PHP 5. Wenn der LDAP-Bind fehl schlägt, soll eigentlich der Fehlercode abgefragt und mittels einem “False-Return” der Anwendung mitgeteilt werden, dass die angegebenen Legitimationsdaten inkorrekt sind:

if ($ldap->getCode() == LDAP_INVALID_CREDENTIALS) {
return false;

Soweit kam die Anwendung jedoch nicht. Bei einem fehlgeschlagegen LDAP-Bind hat das PEAR LDAP-Modul die Anwendung einfach mit einem DB-Fehler und einem “die” beendet.

Die Lösung: Mittels folgender PEAR-Anweisung lässt sich die Standard-Fehlerbehandlung auf “PEAR_ERROR_RETURN” umstellen, so dass bei einem fehlgeschlagenen LDAP-Bind nicht mehr die Anwendung beendet, sondern nur einer Fehlercode zurückgegeben wird:

PEAR::setErrorHandling(PEAR_ERROR_RETURN);

Verschlüsseltes LVM vergrößern

Vorletzte Woche habe ich doch tatsächlich bei der Daten-Partition meines Fileservers die 90% Kapazitätsmarke erreicht. Nun stand eine Vergrößerung des Dateisystems an. Die Besonderheit dabei war, dass es sich um eine verschlüsselte Partition auf einer “Logical Volume” handelte. Dennoch ging die Vergrößerung mit nur wenigen Handgriffen ohne Probleme über die Bühne:

Partition unmounten und Verschlüsselung schließen:

# sudo umount /home/fileserver
# sudo cryptsetup luksClose fileserver

LVM vergrößern (hier um 512GB):

# sudo lvresize /dev/data/fs_crypt -L +512G

Verschlüsselung wieder aktiveren:

# sudo cryptsetup luksOpen /dev/data/fs_crypt fileserver

Dateisystemcheck durchführen (sonst beschwert sich resize2fs):

# sudo e2fsck -f /dev/mapper/fileserver

Schließlich Dateisystem auf dem verschlüsseltem Device vergrößern:

# sudo resize2fs /dev/mapper/fileserver

Mal sehen, wie lange das jetzt hält :)

Lüftersteuerung im Fileserver

Nach einer Blog-Sommerpause stelle ich heute eine kleine Verbesserungsarbeit an meinem Mini-ITX Fileserver vor. An dieser Stelle möchte ich mich für den Lob und die Danksagungen für meinem Blog-Artikel Mini-ITX Raid-Fileserver und dem dazugehörigen Wiki-Dokument UbuntuHomeserver bedanken. Es freut mich, wenn ich dem einen oder anderen mit ein paar nützlichen Tipps unterstützen konnte.

Nun aber zum Thema: Das Mini-ITX Gehäuse ES34069 von Chenbro, mit dem ich bisher sehr zufrieden bin, hat einen Schönheitsfehler: Der Geräuschpegel der beiden, hinteren 70cm Lüfter, die die vier vorderen SATA-Festplattenslot kühlen, ist recht hoch. Gerade in einer ruhigen Umgebung sind die Lüfter deutlich zu hören. Nach ein paar Tests mit niedrigeren Spannungen an den Lüftern (7-10V) stand fest, dass mit einer Lüftersteuerung der Geräuschpegel stark abgesenkt werden kann. Die Wahl fiel auf den T-Balancer MiniNG, eine 2-Kanal Lüftersteuerung, die im Chenbro-Gehäuse über dem ITX-Mainboard Platz findet. Einen der beiden zur Verfügung stehenden Temperatursensoren habe ich in einen der SATA-Wechselslot befestigt, um dort direkt die Temperatur der Festplatten zu ermitteln.

Das Ergebnis ist eine fast nicht mehr hörbare Kühlung bei normaler Umgebungstemperatur. Zudem gehen die Lüfter komplett aus, wenn die Festplatten in Standby fahren – ein großer Vorteil gegenüber einem festen Herabsetzen der Lüfterspannung (z.B. 7V) ohne Steuerungselektronik.

Bilder und weitere Details zur Konfiguration der Lüftersteuerung finden sich im Abschnitt Geräuscharme Kühlung im HomeServer-Wiki-Artikel.

Meine Top35 Firefox Plugins

Nach dem Blick auf die Statusleiste meines Firefox-Browsers haben mich in letzter Zeit einige nach meinen installierten Plugins gefragt. Hier die Liste meiner Firefox 3.0 Plugins unter Mac OS X (die unterschrichenen Plugins sind meine meist genutzten):

Datenschutz / Sicherheit / Privatsphäre:

  • Adblock Plus blockt Werbeeinblendungen jeglicher Form auf Webseiten.
  • CookieSafe managt den Umgang mit Cookies: temporäres oder dauerhaftes Erlauben bzw. Sperren von Cookies.
  • Counterpixel sucht versteckte Image-Pixel von Webanalyse-Diensten wie Google Analytics, Sitecatalyst, IVW.
  • FormFox zeigt per mouse-over das Ziel eines HTML-Formulars an, um z.B. zu sehen an welche Adresse ein eingegebenes Passwort geschickt würde.
  • FoxyProxy ist ein Proxy-Management-Werkzeug, welches die begrenzten Proxy-Einstellungen von Firefox erweitert.
  • Ghostery zeigt versteckte Skripte von Webanalyse-Diensten wie Google Analytics, Omniture, Quantcast, usw. an.
  • Mark Unsecured Password Elements markiert Passwort-Felder rot, die unverschlüsselt verschickt würden.
  • NoScript sperrt und erlaubt JavaScript-Code auf Webseiten temporär oder dauerhaft pro Domain.
  • Download / Bedienung:

  • Download Statusbar zeigt Downloads statt in einem Download-Fenster in einer platzsparenden, zusätzlichen Download-Statusleiste an.
  • DownThemAll! ist ein Download-Manager und -Beschleuniger (unterstützt mehrere Verbindungen pro Download).
  • FaviconizeTab minimiert die Größe eines Tabs in Firefox auf das Favicon, konfigurierbar auch automatisch für bestimmte Webseiten.
  • FireGestures etabliert Mouse-Gesten in Firefox, mit dem verschiedene Kommandos oder Benutzerskripte ausgeführt werden können.
  • Tab Mix Plus erweitert die Tabbed-Browsing-Funktionen von Firefox (z.B. mehrspaltige Tableiste).
  • Erweiterungen / Tools:

  • 1Password ist ein Passwort-Manager für Mac OS X, welches mit einem entsprechendem Firefox Plugin ausgeliefert wird.
  • Abduction erstellt Screenshots kompletter Webseiten oder Ausschnitte davon.
  • Cooliris stellt Bilder und Videos von Webseiten (z.B. YouTube, Flickr, Facebook)  auf einer 3D-animierten Wand dar.
  • GooglePreview setzt auf den Google- und Yahoo-Suchergebnisseiten Vorschaubilder der gefundenen Webseiten ein.
  • Greasemonkey und Stylish passen die Anzeige von Webseiten mittels Javascript-Code und CSS an (Snippet-Sammlung: userscripts.org).
  • It’s All Text! kann den Inhalt von Textfeldern (textareas) auf Webseiten in externen Editoren bearbeiten.
  • Linkification konvertiert Text-Links in “klickbare” URLs.
  • Nagios Checker zeigt in der Firefox Statusbar Ereignisse des Netzwerkmonitoring-Dienstes Nagios an (z.B. Up, Warning, Critical, Down).
  • Web-Entwicklung:

  • ColorZilla ist ein Set aus ColorPicker, Page Zoomer und DOM Color Analyzer.
  • Firebug ist ein Entwicklungswerkzeug zum Editieren, Debuggen und Überwachen von CSS, HTML und Javascript.
  • FireCookie verwaltet und zeigt Cookies von Webseiten in der Firebug Konsole an.
  • FirePHP protokolliert PHP-Anwendungen und -Frameworks in der Firebug Konsole.
  • Javascript Deobfuscator zeigt welcher Javascript Code auf der Webseite ausgeführt wird, auch wenn dieser “obfuscated” ist.
  • Live HTTP Headers zeigt den HTTP-Header beim Aufruf von Webseiten an.
  • Page Speed testet die Performance von Webseiten und gibt Vorschläge zur Verbesserung dieser.
  • Web Developer erweitert Firefox um diverse Webentwickler-Werkzeuge.
  • YSlow analysiert die Geschwindigkeit von Webseiten nach Yahoos Performance-Kriterien.
  • Web Security / Penetration:

  • HackBar bietet eine erweiterte Adressleiste für einfache Web Security- und Penetrationstests.
  • SQL Inject Me testet Webseiten auf “SQL-injection” Schwachstellen.
  • Tamper Data zeigt HTTP/HTTPS Header- und Post-Parameter an und kann diese live modifizieren.
  • XSS Me testet Webseiten auf “reflected Cross-Site Scripting (XSS)” Schwachstellen.
  • X-Forwarded-For Spoofer fälscht den Header-Parameter “X-Forwarded-For”.
  • Fehlen noch unschlagbare Plugins, die umbedingt erwähnt werden sollten? Über Ergänzungen der Liste per Kommentar würde ich mich freuen.