OpenSSH-Server – Kurzanleitung

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