Mittels sslh SSL, SSH und OpenVPN unter Raspbian Jessie Lite auf Port 443 betreiben

sslh erlaubt es mehrere Dienste wie SSL, SSH und OpenVPN gleichzeitig auf Port 443 zu betreiben. Es unterscheidet anhand des Headers beim Aufbau der TLS Verbindung an welchen Dienst die Anfrage weitergeleitet werden muss. Dies ist z.B. nützlich, wenn das WLAN in Hotels oder Cafés nur Verbindungen auf bestimmte Ports erlauben. In diesem Beitrag beschreibe ich wie sslh unter Raspbian installiert und konfiguriert werden kann.

Weiterlesen

E-Mail bei neuer SSH Verbindung senden

Ich habe gerne einen Überblick darüber wann eine SSH Verbindung auf einen Server aufgebaut wird. Deshalb lasse ich mir bei jeder neuen Verbindung eine E-Mail-Benachrichtigung schicken. Unter Ubuntu Linux 16.04 und anderen auf Debian basierten Linux Distributionen wird PAM (Pluggable Authentication Modules) zum Authentifizieren von Benutzern verwendet. Dies kann relativ einfach so konfiguriert werden, dass bei einer neuen SSH Verbindung ein bestimmtes Skript aufgerufen wird, welches dann eine E-Mail-Benachrichtigung versendet. In diesem Beitrag beschreibe ich, wie PAM so konfiguriert werden und ein Skript zum Versenden der E-Mail-Benachrichtigungen aussehen kann.

Weiterlesen

SSH Authentifizierung über Passworte für einzelne Verbindungen erlauben

Falls wie in meinem Beitrag Sichere SSH Konfiguration vorgeschlagen standardmäßig keine SSH Verbindungen mit Passwortauthentifizierung akzeptiert werden, kommt beim Verbindungsaufbau zu Servern die nur Authentifizierung über Passworte unterstützen oder der eigene Public-Key noch nicht hinterlegt wurde zu folgender Fehlermeldung.

$ ssh user@host
Permission denied (publickey,password).
Weiterlesen

Sichere SSH Konfiguration

In diesem Beitrag erläutere ich meine SSH Konfiguration für Server und Clients. Ich erkläre außerdem wie man sie einrichtet. Sie schränkt die erlaubten kryptographischen Algorithmen auf als sicher geltende ein. Meine Auswahl der Algorithmen basiert auf dem Artikel Secure Secure Shell.

Ich beschreibe zuerst die verschiedenen verwendeten Optionen und wie man sie Konfiguriert. Am Ende habe ich nochmal die kompletten Konfigurationsdateien zum einfachen kopieren eingefügt.

Bei der Konfiguration muss extrem vorsichtig vorgegangen werden, da man sich u.U. auch komplett vom Server aussperren kann. Ich übernehme dafür keine Haftung.

Weiterlesen

SSH Authentifizierung mittels Public-Keys

Authentifizierung über Public Keys ist die Bezeichnung dafür, dass für das Anmelden an einem SSH Server kein Passwort, sondern ein Kryptographischer Schlüssel verwendet wird, welcher lokal auf dem PC gespeichert ist. Die dazu verwendeten Schlüssel bestehen aus zwei Teilen, einem öffentlichen und einem privaten Teil. Der öffentliche Teil ist kein Geheimnis und wird z.B. auch auf dem Server abgelegt. An Angreifer, welcher in Besitz dieses öffentlichen Teils des Schlüssels gelangt, kann nichts damit anstellen. Der private Teil hingegen muss immer sicher gespeichert und darf nicht weitergegeben werden. Mit ihm ist es möglich sich am Server anzumelden.

Weiterlesen

Konfigurationsdatei zum Verwalten von SSH Verbindungen

Verbindet man sich regelmäßig über SSH zu verschiedenen Servern, kann es schwer werden sich verschiedene Servernamen, Benutzernamen oder Ports zu merken. Damit man sich dies nicht merken muss gibt es die ~/.ssh/config Datei. Dort kann für jeden Server ein Alias vergeben und Eigenschaften wie den Username, Port, Schlüssel oder Kryptographische Algorithmus festgelegt werden.

Weiterlesen