{{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!**