Je VPS beveiligen: de eerste vijf minuten
Een nieuwe server op internet wordt binnen minuten gescand door bots die wachtwoorden proberen. Met deze stappen ben je die ruim voor. Voer ze uit als root of met sudo. Werk daarna liever met een eigen gebruiker met sudo en zet inloggen als root uit, zie Een eigen gebruiker met sudo in de VPS-handleiding.
1. Alles bijwerken en automatisch bijwerken aanzetten
- Ubuntu en Debian:
apt update && apt upgrade -y, daarnaapt install -y unattended-upgradesendpkg-reconfigure -plow unattended-upgrades. - AlmaLinux en Rocky Linux:
dnf upgrade -y, daarnadnf install -y dnf-automaticensystemctl enable --now dnf-automatic-install.timer.
Controleer of het ook echt werkt. Op Ubuntu en Debian doe je een proefdraai met unattended-upgrade --dry-run --debug en zie je in /var/log/unattended-upgrades/ wat er is bijgewerkt. Een nieuwe kernel werkt pas na een herstart: bestaat het bestand /var/run/reboot-required, herstart je VPS dan op een rustig moment. Zie Updates en automatische updates.
2. Inloggen met een sleutel, wachtwoorden uit
Zet eerst je SSH-sleutel op de server (zie Inloggen op je VPS met SSH) en test of inloggen met de sleutel werkt. Maak daarna een eigen instellingenbestand /etc/ssh/sshd_config.d/00-eigen.conf met deze regels:
PasswordAuthentication no KbdInteractiveAuthentication no
Zet het niet in /etc/ssh/sshd_config zelf: de bestanden in sshd_config.d gaan voor, en op Ubuntu zet 50-cloud-init.conf daar wachtwoorden weer aan. Jouw 00-eigen.conf staat ervoor en wint. Controleer met sshd -t (zegt niets als het klopt) en sshd -T | grep -i passwordauthentication (moet no tonen). Herstart SSH daarna met systemctl restart ssh (AlmaLinux en Rocky: systemctl restart sshd). Houd je huidige sessie open tot je in een tweede venster hebt gecontroleerd dat je nog binnenkomt.
3. Een firewall
- Ubuntu en Debian:
apt install -y ufw, danufw allow OpenSSH, eventueelufw allow 80,443/tcpvoor een website, enufw enable. - AlmaLinux en Rocky Linux: firewalld staat er al. Bijvoorbeeld
firewall-cmd --permanent --add-service=http --add-service=httpsenfirewall-cmd --reload.
Laat altijd SSH (poort 22) open, anders sluit je jezelf buiten. Controleer daarna met ufw status verbose dat je regels er ook voor IPv6 staan (regels met (v6)).
ports: - "5432:5432") gaan langs ufw en firewalld heen en zijn dus van buitenaf bereikbaar, ook als je firewall ze niet toelaat. Publiceer alleen wat echt publiek moet, en de rest op 127.0.0.1. Controleer het altijd van buitenaf. Zie Docker en de firewall: poorten veilig publiceren en Welke diensten luisteren er op je VPS, en wat is van buitenaf bereikbaar?.4. Fail2ban tegen raadpogingen
apt install -y fail2ban of dnf install -y epel-release && dnf install -y fail2ban, dan systemctl enable --now fail2ban. Standaard blokkeert hij IP-adressen die te vaak een fout wachtwoord proberen. Op Debian 12 zet je in /etc/fail2ban/jail.local onder [sshd] ook backend = systemd en installeer je python3-systemd, anders start de bewaking van SSH niet. Debian 13 en Ubuntu doen dat al vanzelf.
5. Een snapshot als vangnet

Maak een snapshot in je VPS-scherm voordat je grote wijzigingen doet. Gaat er iets mis, dan zet je hem in één klik terug. Zie Snapshots en backups van je VPS.
Laat de qemu-guest-agent staan
Het programma qemu-guest-agent is standaard geïnstalleerd. Daarmee kun je in het VPS-scherm een nieuw root-wachtwoord zetten en zie je het schijfgebruik. Verwijder hem niet.
Uitgebreide uitleg met schermafbeeldingen: Inloggen met een wachtwoord en als root uitzetten en fail2ban tegen raadpogingen in de VPS-handleiding.
Meer leren? Volg de gratis cursus VPS en Linux-serverbeheer, les 2.2 De SSH-server veilig instellen of les 10.4 Eindcheck: je server langs de lat.
