In diesem Artikel möchte ich Ihnen kurz zeigen, wie Sie einen SSH-Zugang mit dem Public-Key Verfahren absichern können und worauf Sie sonst noch achten sollten. Es gibt sicherlich noch weitere Möglichkeiten z.B. mit 2FA, worauf ich evtl. mal in einem späteren QuickTipp eingehen werde.
Datenschutzrechtlich passt das ganze zum Thema technische und organisatorische Maßnahmen (§9 BDSG sowie Anlage zu §9 Satz 1 BDSG)
In vielen Bereichen unserer Informationstechnolgie kommen u.a. Linux Server zum Einsatz, die remote Wartung und die Konfiguration des Server findet i.d.R. über ssh (Secure Shell) statt, welches eine verschlüsselte Kommunikation darstellt. Die Authentifizierung findet in der Standardeinstellung über Benutzername und Passwort statt und die Kommunikation über den Standardport 22. Wer dann ein zu einfaches Passwort erstellt hat, wird sich sicherlich mit nicht gewollten Gästen rumschlagen müssen.
Auf dem Client erstellen wir einen RSA-Schlüssel mit 4096 Bit, es ist darauf zu achten das Sie eine Passwort-Passphrase für den Schlüssel erstellen, ansonsten könnte jeder der den Schlüssel besitzt, z.B. durch eine kompromitierung des Clients, ohne Passwort auf den Server zugreifen!
Anschließend kopieren wir den Public-Key vom Client auf dem Server.
Wir können jetzt schon einmal die Verbindung testen, achten Sie darauf das Sie nicht nach Ihrem Passwort vom Server gefragt werden, sondern nach dem erstelln Passhrasen-Passwort.
Der Login mit Public Key funktioniert, allerdings ist es nach wie vor möglich sich mit dem reinen Passwort via ssh anzumelden, aber genau das wollen wir ja abstellen. Um dieses, und noch andere Einstellungen, zu ändern – müssen wir Änderungen an der /etc/ssh/sshd_config vornehmen.
Im einzelnen habe ich hier folgende Einstellungen vorgenommen:
Den Port habe ich von 22 auf 22555 gewechselt, die meisten Angriffe (Dictonary Attacks, etc) werden auf dem Standarport 22 gefahren, um diesen entgegenzuwirken wechseln wir den Port – hier auf 22555.
PermitRootLogin sollte auf no gesetzt werden, somit ist es nicht möglich sich als root über ssh auf den Server anzumelden.
Um die Authentifizierung via Benutzername und Passwort zu unterbinden ändern wir noch PasswordAuthentication und UsePAM von yes auf no. Anschließend lesen wir die neue konfiguration mit reload ssh ein und die Konfiguration ist soweit abgeschlossen.
Im unteren Fenster sehen Sie das die Standardverbindung auf Port 22 abgewiesen wird, sobald wir uns mit einem verifizierten Benutzer, wo der Public key auf dem Server hinterlegt ist, verbinden – und die korrekte Passphrase für den Schlüssel eingegeben haben, können wir uns auf den Server verbinden.