SSH Fingerprints im DNS hinterlegen (SSHFP Record)

Verbindet man sich zum ersten Mal per SSH mit einem Server, sieht man den Fingerabdruck des Servers. Diesen sollte man im Idealfall vergleichen und erst mit yes bestätigen, wenn man sich sicher ist, dass es sich um den richtigen Fingerprint handelt. Stimmt der Fingerabdruck nicht, könnte man Opfer einer Man in the Middle Attacke sein. Das Vergleichen der Fingerprints ist etwas mühsam und mittels fuzzying (beispielsweise mit dem Tool ffp) können sehr ähnliche Fingerprints erstellt werden, welche dem Menschen auf den ersten Blick gleich erscheinen. Man kann sich einfach vor gefälschten SSH Fingerprints schützen, indem man diese in einem DNSSEC signierten speziellen DNS Record hinterlegt. Hierfür gibt es den speziellen SSHFP Record.

Read moreSSH Fingerprints im DNS hinterlegen (SSHFP Record)

Dynamische DNS Zonen automatisch für DNSSEC signieren

Setzt man DNSSEC ein, muss man bei jeder Änderung der Zone oder wenn die Signatur abgelaufen ist die Zone neu signieren. Setzt man dynamisches DNS ein (wie in diesem Blogpost beschrieben: ), ist es am einfachsten wenn der Nameserver die Zone nach einem Update selber neu signiert.

Read moreDynamische DNS Zonen automatisch für DNSSEC signieren

DNS Zonen mit DNSSEC signieren (mit Bind)

DNS Antworten können signiert werden, damit man überprüfen kann, ob es sich um eine richtige und vertrauenswürdige Antwort handelt. Die DNS Antworten werden vom authoritativen DNS Server signiert. Die Schlüssel, welche die Antworten signieren, werden von dem DNS Server eine Zone höher signiert. Über diese Chain-of-Trust können Anwendungssoftware und DNS Resolver prüfen, ob eine Antwort vertrauenswürdig ist oder nicht. Mit dem DNS Server bind kann man seine Zonen selber signiert anbieten. Ich zeige das am Beispiel der Domain example.org.

Read moreDNS Zonen mit DNSSEC signieren (mit Bind)

Einfaches Portforwarding mit der ssh_config

SSH kann dazu verwendet werden, Ports von und zu anderen Geräten weiterzuleiten. So kann zum Beispiel via SSH auf eine Datenbank auf einem Server zugegriffen werden, welche sonst nur Verbindungen von sich selber akzeptiert. Ein anderer Anwendungsfall wäre die Bereitstellung eines Dienstes in einem Netzwerk, welches die Clients im Netz wo der Server steht sonst keinen Zugriff hätte. Dies geht über ein (längeren) SSH-Befehl. Braucht man das öfters, lohnt sich die Konfiguration in der Datei ssh_config.

Read moreEinfaches Portforwarding mit der ssh_config

Tmux: Neue Fenster im aktuellen Verzeichnis öffnen

Im Terminal Multiplexer tmux fehlt seit Version 1.9a vom 20. Februar 2014 neue Fenster (Panes) mit dem Arbeitsverzeichnis $HOME. Befindet man sich also im Verzeichnis /tmp/foo und erstellt ein neues Fenster, befindet man sich sofort wieder im Verzeichnis /home/username. Diese Einstellung kann man aber überschreiben.

Read moreTmux: Neue Fenster im aktuellen Verzeichnis öffnen

Mit iptables nur bestimmte MAC-Adressen zulassen

Manche Dienste will man nur für bestimmte Geräte zugänglich machen. Befindet sich der Server und der Client im selben Layer 2 Netz, ist es einfach die Verbindungen nur für bestimmte MAC-Adressen zuzulassen. Kommt die Verbindung nicht von der konfigurierten MAC-Adresse, wird der Verbindungsaufbau nicht zugelassen und der Dienst ist für dieses Gerät somit nicht verfügbar.

Read moreMit iptables nur bestimmte MAC-Adressen zulassen

Aufnahmedatum von Fotos korrigieren mit jhead

Wenn man Fotos von mehreren Kameras zusammenführen will, ist es von Vorteil, wenn das Aufnahmedatum auf die Sekunde genau stimmt. Es kann auch sein, dass die Kamera während den Ferien in der falschen Zeitzone war oder noch auf Winterzeit eingestellt war. Mit jhead kann man das Aufnahmedatum von Fotos korrigieren.

Read moreAufnahmedatum von Fotos korrigieren mit jhead