{{tag>deutsch linux debian sshd it-security}}
====== Sichern des sshd ======
Der vorinstallierte SSH Daemon (sshd) ist in der Grundkonfiguration unsicher. Um einen größeren Schutz zu gewährleisten, ist es nötig eine [[wpde>Asymmetrisches_Kryptosystem|Schlüsselauthentifizierung]] zu integrieren.
===== Schlüsselpaar erzeugen =====
Zunächst legen wir unter Linux ein Schlüsselpaar an:
$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): /home/user/.ssh/id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
35:9f:6e:c2:46:62:09:2d:dc:dd:1e:79:cc:56:d9:2b root@v05-s42
**Unbedingt ein Passwort angeben, ansonsten kann man durch den reinen Besitz des Private Keys auf den Server zugreifen!**
id_rsa.pub benennen wir um in authorized_keys und id_rsa laden wir uns lokal auf den Computer. **Wichtig ist es, id_rsa danach sicher zu löschen!** (ggf. wipe installieren mit //apt-get install wipe//)
$ wipe id_rsa
Okay to WIPE 1 regular file ? (Yes/No) yes
Operation finished.
1 file wiped and 0 special files ignored in 0 directories, 0 symlinks removed but not followed, 0 errors occured.
Den Vorgang wiederholen wir mit allen Usern, die Zugriff auf den sshd haben sollen.
Modes setzen:
chmod 0700 .ssh
chmod 0600 .ssh/authorized_keys
===== Putty Private Key =====
Nun laden wir uns [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|puttygen.exe]] runter. Wir öffnen puttygen.exe und navigieren im Menü zu **Conversion / Import Key**. An dieser Stelle wählen wir den generierten private key aus, den wir uns auf unseren Computer geladen haben. Nun noch ein passendes Kommentar hinzufügen und wir können auf **save private key** klicken.
Diesen Key mit der .ppk Endung brauchen wir zum späteren Login für putty. **Diesen Key niemals auf den Server laden!**
===== Login Test =====
Nun testen wir, ob die Verbindung mit dem erzeugten Schlüssel zustande kommt. Dazu öffnen wir putty.exe und tragen wie gewohnt den Hostnamen ein. Bevor wir nun auf **open** klicken, wechseln wir links in der Baumansicht auf **Connection / SSH / Auth** und geben unter **private key file for authentication** den Pfad zu unserem ppk file an. Nun auf **open** klicken. Wenn der Login erfolgreich war, und ohne Fehlermeldung, können wir die Passwort Autenthifizierung in unserem sshd komplett deaktivieren.
===== sshd Konfiguration =====
Nun bearbeiten wir die sshd Konfigurationsdatei /etc/ssh/sshd_config
# Hier ist es sinnvoll einen Port oberhalb von 1024 zu nehmen
Port 22
# Unbedingt Protokoll 2 verwenden!
Protocol 2
# RSAAuthentication deaktivieren
RSAAuthentication no
# PubkeyAuthentication aktivieren
PubkeyAuthentication yes
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# Wollen wir nicht
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
# Wollen wir erst recht nicht
PasswordAuthentication no #UNBEDINGT AUSKOMMENTIEREN UND AUF NO SETZEN!!!!
ChallengeResponseAuthentication no
===== sshd neustarten =====
/etc/init.d/ssh restart
==== Hinweis ====
Die aktuelle SSH Sitzung wird nicht beendet. **Um Konfigurationsfehler zu beheben sollte die aktuelle Sitzung offen bleiben, bis alles richtig funktioniert!**