Chapitre 3 · 3.2
Inloggen met een wachtwoord en als root uitzetten
Cet article n'est pas encore traduit. Vous lisez la version néerlandaise.
Elke server op internet krijgt binnen korte tijd bezoek van programma's die wachtwoorden raden. Als je alleen met een sleutel kunt inloggen, hebben die geen kans. Dat zet je nu aan.
Let op: Werkt inloggen met je sleutel als anna (zie Een eigen gebruiker met sudo)? Maak dan eerst een snapshot (zie Snapshots : un filet de sécurité pour chaque modification importante) en houd tijdens deze stappen een sessie open. Ga je toch de mist in, dan kom je binnen via de console (zie La console : votre VPS dans votre navigateur).
Een eigen instellingenbestand
Op Debian en Ubuntu leest de SSH-server eerst de bestanden in /etc/ssh/sshd_config.d/, op alfabetische volgorde. Voor elke instelling telt de eerste waarde die hij tegenkomt. Je eigen bestand krijgt daarom een naam die vooraan staat:
anna@web1:~$ sudo nano /etc/ssh/sshd_config.d/00-eigen.conf
Zet erin:
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
PasswordAuthentication no: geen wachtwoorden meer via SSH.KbdInteractiveAuthentication no: ook geen wachtwoordvraag via een omweg.PermitRootLogin no: root mag niet meer via SSH inloggen, ook niet met een sleutel. Je werkt als anna met sudo. Wil je root nog met een sleutel toelaten, gebruik danprohibit-password.
Controleren en toepassen
anna@web1:~$ sudo sshd -t
anna@web1:~$ sudo sshd -T | grep -Ei '^(passwordauthentication|kbdinteractiveauthentication|permitrootlogin)'
passwordauthentication no
kbdinteractiveauthentication no
permitrootlogin no
anna@web1:~$ sudo systemctl restart ssh
sshd -t zegt niets als het bestand klopt. sshd -T laat zien welke waarden echt gelden. Staat er nog passwordauthentication yes? Dan zet een ander bestand in sshd_config.d het weer aan, vaak 50-cloud-init.conf. Jouw 00-eigen.conf staat ervoor en wint; controleer of de naam goed is.
Op AlmaLinux en Rocky Linux heet de dienst sshd: sudo systemctl restart sshd.
Testen voordat je je sessie sluit
Open een nieuw venster en probeer:
ssh anna@203.0.113.10
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no anna@203.0.113.10
anna@203.0.113.10: Permission denied (publickey).
ssh root@203.0.113.10
root@203.0.113.10: Permission denied (publickey).
De eerste moet werken. De andere twee moeten worden geweigerd. Klopt alles? Verwijder dan de snapshot.
Tip: Een ander poortnummer dan 22 houdt je logboek rustiger, maar maakt je server niet veiliger. De sleutel doet het werk. Verander je de poort toch, zet hem dan eerst open in je firewall (zie Een firewall met ufw (of nftables)).
