SSH veilig maken

Bla-bla, niet port 22 gebruiken maar een custom port zoals 1337 of 9001 (echo 'Port 42069' >> /etc/ssh/sshd_config), delete root ssh access (echo 'PermitRootLogin no' >> /etc/ssh/sshd_config)! Bekend en saai. Hier zijn wat echte tips:

Keys

GEBRUIK KEYS!!! Het wachtwoord van een account op een ssh-server die geen key-verificatie gebruikt zal op den duur gebrute-forced worden. Genereer op de computer(s) waarmee je de server wilt bereiken een keypair: ssh-keygen -t rsa -b 4096 Plaats de zojuist gemaakte publieke key (keygen zegt waar je hem kunt vinden) in de server:

[gebruiker@computer]$ ssh-copy-id <remote host>

Of ouderwetserwijze, als je fysieke toegang hebt, kun je je key gewoon handmatig kopiëren naar <remote host>/~/.ssh/authorized_keys. Vervolgens op de server:

echo 'PasswordAuthentication no' >> /etc/ssh/sshd_config
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
systemctl restart sshd # of iets dergelijks

Zorg dat je de key wel met een passphrase aanmaakt. Mocht je private key gelekt of gestolen worden, dan is hij niet te gebruiken zonder de passphrase te weten.

Randomart

Laat een visuele tekening van de server key (randomart) zien per aangaan van een connectie. Hiermee kun je snel detecteren of een key van een server afwijkt van normaal, wat alarmbellen zou moeten laten rinkelen. echo 'VisualHostKey=yes' >> ~/.ssh/config Ook eenmalig te doen i.p.v. d.m.v. config door -o VisualHostKey=yes toe te voegen aan je ssh command.

Hash knownhosts

Sla knownhosts niet op als plaintext. Hierdoor kunnen aanvallers lastiger hosts verwijderen of toevoegen. echo 'HashKnownHosts=yes' >> ~/.ssh/config Je kunt nu in het vervolg een host zoeken met ssh-keygen -H -F <hostname>

NIST curves NSA backdoor???

ECDSA, opvolger van DSA, is een encryptiemethode door de NIST samen met de NSA ontwikkeld. Logisch als je bedenkt dat zowel de NSA als de NIST nationale agentschappen/instituten zijn van de VS. Dit is een beetje ufo-terrein, maar sommige mensen denken dat de NSA een backdoor in deze encrypties heeft die tot op heden nog niet is gevonden. Als je je hier zorgen over maakt is het het misschien waard om expliciet rsa (wel 4096 bits) te gebruiken in plaats van ecsda.

2020-05-02 in blog #SSH #cybersecurity #encryptie #sysadmin