Veröffentlichung 3. Juli 2018 @ 18:15
Letzte Änderung 27. März 2021 @ 14:24
Voraussetzungen
Netzwerk
- Benutzer sshuser
- IP-Adressse x.x.x.x
- SSH-Port 42022
Software
- OpenSSH 7.2, OpenSSL 1.0.2g #ssh -V
- Ubuntu Server 16.04.04 LTS #lsb_release -a
Ordner und Dateien
- Installation /etc/ssh, /usr/lib/openssh
- Konfiguration /etc/ssh/sshd_config
- Log /var/log/auth.log
- systemd /lib/systemd/system/ssh.service, /lib/systemd/system/ssh@.service, /lib/systemd/system/ssh.socket
OpenSSH-Server installieren
apt install openssh-server
SSH-Server für möglichst sicheren Betrieb konfigurieren
Konfigurationsdatei anpassen / ersetzen
#Zugriff nur für bestimmte Benutzer: AllowUsers sshuser #aussschließlich Public-Key-Authentifizierung: AuthenticationMethods publickey #sicherste symmetrische Chiffre mit Authentizierung und Integritätsprüfung gemäß ssh -Q cipher-auth #=> kein Eintrag für MACs erforderlich: Ciphers chacha20-poly1305@openssh.com #sicherster Host-Authentifizierungsschlüssel: HostKey /etc/ssh/ssh_host_ed25519_key #sicherster Schlüsselaustausch-Algorithmen gemäß ssh -Q kex: KexAlgorithms curve25519-sha256@libssh.org #Zugriff nur auf bestimmte Netzwerkschnittstelle: ListenAddress x.x.x.x #keine Passwort-Authentifizierung: PasswordAuthentication no #keine Einwahl als root: PermitRootLogin no #geänderter Standard-Port für Security through obscurity: Port 42022 #SFTP-Server: Subsystem sftp /usr/lib/openssh/sftp-server
[Optional]Konfiguration für kompatiblen Betrieb, z. B. für Eclipse, modifizieren
Konfigurationsdatei anpassen
... #Ciphers chacha20-poly1305@openssh.com Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr ... HostKey /etc/ssh/ssh_host_ed25519_key HostKey /etc/ssh/ssh_host_rsa_key ... #KexAlgorithms curve25519-sha256@libssh.org KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256 ... #MACs-Eintrag erforderlich wegen symmetrischer Chiffren ohne Authentizierung aes256-ctr, aes192-ctr und aes128-ctr: hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com ...
Moduli für Schlüsselaustausch-Algorithmus Diffie-Hellman Group Exchange mit weniger als 4096 Bits deaktivieren
cp /etc/ssh/moduli /etc/ssh/moduli.save awk '$5 >= 4095' /etc/ssh/moduli.save > /etc/ssh/moduli
SSH-Server neustarten und Status abfragen
systemctl reload ssh journalctl --unit ssh.service
Quellen
https://infosec.mozilla.org/guidelines/openssh
http://manpages.ubuntu.com/manpages/xenial/man5/sshd_config.5.html
https://stribika.github.io/2015/01/04/secure-secure-shell.html
https://www.openssh.com/manual.html
https://www.openssh.com/specs.html