UPDATE: Probleme mit WLAN bei Kanalüberlappung

Manchmal wundert man sich, wie weniger mehr sein kann. Bereits im Oktober 2010 hatte ich zum Thema WLAN Sendeleistung und Kanalüberlappung empfohlen, die Sendeleistung zu reduzieren und nicht überlappende Kanäle zu wählen. Heute veröffentlicht Golem das Vorgehen der IETF bei einer Tagung in Frankreich: Sendeleistung reduzieren und überlappende Kanäle vermeiden.

Das Beispiel des IETF-Umbaus in Paris zeigt: Weniger ist bei drahtlosen Netzen oft mehr.

John the Ripper Multicore unter Ubuntu/Debian

Passwörter knacken für deren zugrundeliegenden Hash-Algorithmus es noch keinen GPU-Cracker gibt, ein kurzweiliger Spaß bei dem man eine Menge Zeit und eine Menge Strom verbrauchen kann. In unserem Labor steht ein kleines 16 Kern Monster, dass nicht nur virtuelle Server befeuern soll, sondern auch Passwörter knacken. Das geht mit Debian und Ubuntu ganz einfach.

1. Notwendige Pakete installieren

apt-get install libmpich2-dev mpich2

Die verfügbaren (öffentlichen) Patches für John the Ripper verwenden das Message Passing Interface um untereinander zu kommunizieren. Mit MPICH2 das als Paket vorhanden ist, ist man gut ausgerüstet, um auch später weitere Hosts hinzu zu fügen.

2. MPICH2 mit Minimal-Konfiguration einrichten

touch ~/.mpd.conf && echo "MPD_SECRETWORD=secret" > ~/.mpd.conf && chmod 600 ~/.mpd.conf

3. MPICH2 Cluster starten

mpdboot

4. John the Ripper mit MPI-Unterstützung herunterladen und kompilieren

wget http://www.bindshell.net/tools/johntheripper/john-1.7.2-bp17-mpi8.tar.gz
tar xzf john-1.7.2-bp17-mpi8.tar.gz && cd john-1.7.2-bp17-mpi8/ && make linux-x86-64
cd ../run/

Jetzt kann eine vorbereitete Benutzerliste in das run Verzeichnis kopiert werden. Zum Beispiel eine MD5-Liste ohne Salt im Format Username:Passwort.

5. Bruteforce Spaß!

mpiexec -np 16 ./john  --format=raw-MD5 benutzerliste_md5.txt | tee benutzerliste_md5_john-log.txt

Hier muss allerdings die Anzahl 16 durch die Anzahl der verfügbaren Kerne aus /proc/cpuinfo (+1 da dort von 0 an gezählt wird) ersetzt werden.

Einfaches Router Failover mit gc_timeout für Debian

Um ausgehende Verbindungen bei Ausfall der primären Defaultroute über eine zweite Defaultroute lenken zu können (wie im folgenden abgebildet), braucht es nicht viel mehr als zwei Kommandozeilen Befehle.

1. Das externe Netzwerkinterface in der Datei /etc/network/interfaces um einen Eintrag ergänzen:

# Failover
post-up route add default gw failover metric 1	

Entscheidend hier ist die Metrik der Route. Die erste Defaultroute hat eine Metrik von 0, wird also vor der zweiten Route mit Metrik 1 bevorzugt. Fällt die erste Route aus, wird die Garbage Collection des Kernels aktiv und wählt die zweite Defaultroute.

Der zweite Befehl beeinflusst die Routingtabellen Garbage Collection des Kernels, damit der Ausfall schneller erkannt wird. Dafür wird eingestellt, den Routen Cache alle zehn Sekunden zu erneuern.

2. Öfter Routen Cache aktualisieren

# Routen Cache alle 10 Sekunden neu aufbauen
sysctl -w net.ipv4.route.gc_timeout=10
# echo "net.ipv4.route.gc_timeout=10" >> /etc/sysctl.conf um die Änderung permanent einzurichten.

Die Lösung ist nicht optimal, weil nicht festgestellt wird, ob der Router oder die Anbindung des Routers ausgefallen ist. Dafür würde sich ein Skript eignen, dass den Ausfall auch schneller erkennen könnte. Erfahrungswerte mit dieser Lösung liegen bei ungefähr 3-5 Minuten für das Failover, was im SoHo-Bereich ausreichend ist.

Debian per USB-Stick installieren

So einfach lässt sich ein USB-Stick für eine Debian Installation vorbereiten, dass man es kaum glauben möchte. So gehts:

1. Bootimage holen und auf USB-Stick schreiben

wget ftp://ftp.de.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/hd-media/boot.img.gz
zcat boot.img.gz > /dev/sdX

2. USB-Stick einbinden

mkdir /mnt/sdX
mount /dev/sdX /mnt/sdX
cd /mnt/sdX

3. Netinstall Image direkt in USB-Stick herunterladen

wget ftp://ftp.de.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-netinst.iso

4. Stick auswerfen und installieren!

umount /dev/sdb

Man sollte hier locker mit einem 256MB Stick hinkommen.