Absichern
Was für Chips und MAC’s werden unterstützt:
- ssh -Q mac <– MACs in sshd_config
- ssh -Q kex <– KexAlgorithms in sshd_config
- ssh -Q cipher <– Ciphers im sshd_config
- ssh -Q key <– HostKeyAlgorithms in sshd_config
Obige Befehle auf Client sowie Server ausführen, die stärksten gemeinsamen Nenner finden und die /etc/ssh/ssh.conf[sshd.conf] anpassen. Nach dem löschen der veralteten Verfahren nicht vergessen die Eintrage nach Stärke von links nach rechts zu sortieren, den in der Reihenfolge probieren Server & Client eine Verbindung aushandeln. Am Ende sollte es so in der art aussehen (je nachdem was gebraucht wird):
KexAlgorithms sntrup4591761x25519-sha512@tinyssh.org,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes256-ctr
PubkeyAcceptedKeyTypes ssh-ed25519-cert-v01@openssh.com,ssh-ed25519,ssh-rsa-cert-v01@openssh.com
HostbasedAcceptedKeyTypes ssh-ed25519-cert-v01@openssh.com,ssh-ed25519,ssh-rsa-cert-v01@openssh.com
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-ed25519,ssh-rsa-cert-v01@openssh.com
Kann sich lohnen da selbst im Jahr 2020 teilweise noch so kram wie MD5 per Default eingetragen ist!
Generell sollte nichts nicht verwendet werde wo der Name ‚NIST‘ drinnen vorkommt, da es mittlerweile sicher ist das die NSA bei den Vorfahren Hintertüren hat einbauen lassen!
Tip um einen ed25519 Key mit eindeutiger Zuordnung zu erhalten:
ssh-keygen -o -a 100 -t ed25519 -C „$(whoami)@$(uname -n)-$(date -I)“
-o // Das neuere OpenSSH-Format. Besser geschützt gegen Brute-Force.
-a // Anzahl der Durchgänge. Mehr ist sicherer aber auch langsamer.
-t // Der Key Typ.
-C // Einen Kommentar zur eindeutigen Zuordnung anhängen.Falls von der Gegenseite benötigt, den Public Key in das RFC-4716 Format konvertieren:
ssh-keygen -e -f ~/.ssh/id_ed25519.pub | grep -v „Comment:“ > ~/.ssh/id_rsa_ed25519_rfc.pubEindeutigen RSA Key mit neuem Verfahren (-o) erstellen:
ssh-keygen -o -a 100 -t rsa -b 4096 -f ~/.ssh/id_$(whoami)@$(hostname -f)_rsa -C „$(whoami)@$(hostname -f)-$(date -I)“
SSH Configuration Test:
- sshd -t ( Am besten NACH jeder Änderung und VOR einem Reboot)
- ssh -G [irgendein-host]
- ssh -vvv root@[irgendein-host]
- Mit Lynix (Link) testen.
- Mit ssh-audit (Link) alles abklopfen.
Passwort Dateien auf Fehler Prüfen:
- pwck -r /etc/passwd
- pwck -r /etc/shadow
Für jeden Host optimieren
Im Home Verzeichnis in dem versteckten Ordner .shh eine Neue Datei ‚config‘ anlegen, um für jeden Zielrechner automatisch die stärksten Parameter zu verwenden.
nano[Lieblings-Editor] ~/.ssh/config
HOST *
Protocol 2
Compression no
CheckHostIP yesHost [IP oder Name falls in der /etc/hosts hinterlegt]
Hostname [name für ’ssh user@…‘].fritz.box
User root
Port 22
MACs hmac-sha2-512-etm@openssh.com
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
KexAlgorithms curve25519-sha256@libssh.org
IdentityFile ~/.ssh/id_ed25519-[zielrechner]