Blog

Tutorials, handleidingen en productnieuws.

Beveiliging en back-ups

De eerste 10 beveiligingsstappen op een nieuwe VPS

3 november 2026 6 min. leestijd
Dit bericht delen

Op een nieuwe VPS werk je eerst het systeem bij, maak je een aparte gebruiker aan die met een sleutel inlogt in plaats van root, zet je inloggen met een wachtwoord uit, schakel je de firewall en fail2ban in, zet je automatische beveiligingsupdates aan en controleer je of je back-ups werken. Hieronder staan de 10 stappen in de volgorde waarin je ze doet. De opdrachten zijn voor Ubuntu en Debian.

Elke server op internet is een doelwit voor geautomatiseerde scans en bots die wachtwoorden proberen te raden, en dat zie je in je eigen SSH-log. De volgorde is belangrijk: controleer of stap 2 en 3 werken voordat je stap 4 doet, anders sluit je jezelf buiten. De sudo in de opdrachten werkt ook als je als root bent ingelogd.

Systeem en accounts

1. Werk het systeem bij

sudo apt update && sudo apt upgrade -y

Op Ubuntu verschijnt het bestand /var/run/reboot-required als een update een herstart nodig heeft. Is dat zo, herstart de server dan één keer. Debian maakt dit bestand mogelijk niet aan, dus herstart na een kernelupdate in elk geval.

2. Maak je eigen gebruiker aan

Gebruik root niet voor dagelijks werk. Maak een aparte gebruiker met sudo-rechten aan. Vervang deploy door een naam naar keuze:

sudo adduser deploy

sudo usermod -aG sudo deploy

3. Log in met een SSH-sleutel

Heeft je computer nog geen sleutelpaar, maak er dan een met ssh-keygen -t ed25519. Kopieer daarna de openbare sleutel naar de nieuwe gebruiker en test het inloggen:

ssh-copy-id [email protected]

ssh [email protected]

Kwam je binnen zonder om een wachtwoord te worden gevraagd, dan ben je klaar. Windows heeft geen ssh-copy-id. In PowerShell doet deze opdracht hetzelfde:

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

SSH afschermen

4. Zet inloggen met wachtwoord en als root uit

Controleer eerst of je met je sleutel als de nieuwe gebruiker kunt inloggen. Zoek dan uit in welke bestanden deze instellingen staan. Vindt OpenSSH dezelfde instelling op meerdere plekken, dan gebruikt het de eerste waarde die het leest. Op Debian en Ubuntu neemt het hoofdconfiguratiebestand bovenaan de map /etc/ssh/sshd_config.d/ op. Images van providers kunnen in die map een bestand achterlaten dat inloggen met een wachtwoord aanzet. Ook als je in het hoofdbestand no schrijft, blijft de yes in dat bestand van kracht:

sudo grep -rniE "^\s*(PasswordAuthentication|PermitRootLogin|KbdInteractiveAuthentication)" /etc/ssh/sshd_config /etc/ssh/sshd_config.d/

Zet elke actieve regel in de uitvoer op no in het bestand waarin hij staat: PasswordAuthentication no, PermitRootLogin no, KbdInteractiveAuthentication no. Een instelling die niet in de uitvoer staat, voeg je onderaan toe in /etc/ssh/sshd_config. Test daarna, pas toe en controleer de waarden die echt gelden:

sudo sshd -t && sudo systemctl reload ssh

sudo sshd -T | grep -E "^(passwordauthentication|permitrootlogin|kbdinteractiveauthentication)"

Alle drie de regels moeten op no eindigen. Sluit je geopende sessie niet. Open een nieuwe terminal en controleer of inloggen met de sleutel werkt voordat je weggaat. Sluit je jezelf toch buiten, open dan de VNC-console vanuit het paneel. Inloggen via de console wordt niet door SSH-instellingen beïnvloed.

Deze instellingen kunnen later ongemerkt terugspringen. Acties in het paneel van de provider, zoals een SSH-sleutel toevoegen of het wachtwoord resetten, kunnen ervoor zorgen dat het eerstestartscript van de provider (cloud-init) bij de volgende start opnieuw draait, en dat script kan inloggen met een wachtwoord weer aanzetten. Voer na zo'n actie de bovenstaande sshd -T-opdracht opnieuw uit en controleer de waarden.

Toegang van buitenaf beperken

5. Zet de firewall aan

Sta in ufw eerst SSH toe en schakel daarna pas de firewall in. Doe je het andersom, dan valt je verbinding weg. Draait SSH op een andere poort dan 22, gebruik dan die poort in plaats van 22:

sudo ufw allow 22/tcp

sudo ufw enable

sudo ufw status verbose

Ga je een webserver draaien, sta dan ook poort 80 en 443 toe. Standaard weigert ufw inkomende verbindingen. Het paneel heeft ook een firewallhulpmiddel. Gebruik je Docker, wees dan voorzichtig: volgens de documentatie van Docker omzeilen poorten die je publiceert de ufw-regels. Publiceer voor services die alleen de server zelf hoeft te bereiken de poort alleen op het loopback-adres, bijvoorbeeld 127.0.0.1:5432:5432 in een Docker Compose-bestand.

6. Installeer fail2ban

fail2ban blokkeert een tijdje IP-adressen die steeds niet kunnen inloggen:

sudo apt install -y fail2ban python3-systemd

printf '[sshd]\nenabled = true\nbackend = systemd\nmaxretry = 5\nbantime = 1h\n' | sudo tee /etc/fail2ban/jail.local

sudo systemctl enable fail2ban && sudo systemctl restart fail2ban

sudo fail2ban-client status sshd

Op de servers met een app met één klik van Seturack staat ufw aan en draait fail2ban. Heb je een schoon besturingssysteem geïnstalleerd, controleer dan de status met sudo ufw status en systemctl is-active fail2ban.

7. Controleer open poorten

sudo ss -tulpn

De opdracht toont elke service en poort die luistert. Services die geen toegang van buitenaf nodig hebben, zoals databases en caches, horen alleen op 127.0.0.1 te luisteren. Zet uit wat je niet nodig hebt: sudo systemctl disable --now service-name

Zo blijft het

8. Automatiseer beveiligingsupdates

Volgens de documentatie van Ubuntu is het pakket unattended-upgrades normaal vooraf geïnstalleerd en staan beveiligingsupdates aan. Ontbreekt het, installeer en activeer het dan:

sudo apt install -y unattended-upgrades

sudo dpkg-reconfigure -plow unattended-upgrades

Automatisch herstarten staat standaard uit, dus herstart de server zelf na kernelupdates. Volgens de gebruiksvoorwaarden ben je zelf verantwoordelijk voor het up-to-date houden van het systeem na de installatie.

9. Maak back-ups en test een herstelactie

Bij Seturack wordt je server elke nacht geback-upt en worden de laatste 7 dagen bewaard. Dit zit in de prijs inbegrepen. Op het tabblad Beheer open je Back-ups om ze te bekijken, een enkel bestand terug te halen of de hele server te herstellen. Test een herstelactie door een enkel bestand terug te halen: de hele server herstellen vervangt de volledige huidige schijf. Een snapshot maken vóór een grote wijziging is een goede gewoonte, maar een snapshot is geen back-up. Bewaar ook buiten de server een kopie van je belangrijke gegevens. Zie voor details het artikel over dagelijkse back-ups.

10. Maak je wachtwoorden sterker

Je paneelaccount is de sleutel tot de server. Gebruik daar een lang wachtwoord dat je nergens anders gebruikt en bewaar het in een wachtwoordmanager. Wijzig het eerste root-wachtwoord dat je uit het paneel hebt gekopieerd met sudo passwd root. Zet een wachtwoordzin op je persoonlijke SSH-sleutel. Plak nooit wachtwoorden of sleutels in supportberichten of chats.

Reacties0

Nog geen reacties

Deel als eerste uw gedachten.

Doe mee aan het gesprek

Meld u aan of registreer u om een reactie te plaatsen.

Mis geen enkel bericht

Ontvang onze nieuwste tutorials, handleidingen en productnieuws in uw inbox.

U bent ingeschreven voor onze nieuwsbrief.