VPS beveiligen na installatie: Complete checklist
Je VPS beveiligen is de allereerste prioriteit na het opzetten van een nieuwe server. Een onbeveiligde VPS is als een huis met de voordeur open: het is slechts een kwestie van tijd voordat iemand binnenkomt. In deze uitgebreide checklist doorlopen we alle essentieel stappen om je VPS beveiligen na installatie grondig aan te pakken. Van SSH-hardening tot firewall-configuratie, van automatische updates tot intrusion detection, alles komt aan bod.
Waarom je VPS beveiligen direct na installatie moet
Zodra je VPS online komt, wordt het IP-adres gescand door geautomatiseerde bots die zoeken naar kwetsbaarheden. Uit onderzoek blijkt dat een nieuwe server gemiddeld binnen 15 minuten na activatie wordt aangevallen. Het is daarom cruciaal om je VPS beveiligen als allereerste taak uit te voeren, nog voordat je applicaties installeert of websites configureert.
De risicos van een onbeveiligde VPS
- Brute-force aanvallen - duizenden inlogpogingen per dag op SSH
- Malware installatie - je server wordt misbruikt voor cryptocurrency mining of spam
- Datadiefstal - gevoelige gegevens worden gestolen en mogelijk gepubliceerd
- DDoS-aanvallen lanceren - je server wordt onderdeel van een botnet
- Ransomware - je bestanden worden versleuteld en losgeld geeist
Stap 1: SSH beveiligen - de belangrijkste stap om je VPS beveiligen
SSH is de primaire manier om je VPS te beheren en daarmee het belangrijkste aanvalsoppervlak. Het vps beveiligen begint daarom bij het hardenen van SSH-toegang.
SSH-key authenticatie instellen
Vervang wachtwoord-authenticatie door SSH-keys. SSH-keys zijn cryptografische sleutelparen die vrijwel onmogelijk te kraken zijn via brute-force. Genereer een SSH-sleutelpaar op je lokale computer en kopieer de publieke sleutel naar je VPS. Test de verbinding met de key voordat je wachtwoord-authenticatie uitschakelt.
Wachtwoord-authenticatie uitschakelen
Nadat je hebt geverifieerd dat SSH-key login werkt, schakel je wachtwoord-authenticatie uit in de SSH-configuratie. Wijzig de volgende instellingen in /etc/ssh/sshd_config:
- PasswordAuthentication no - schakelt wachtwoord-login uit
- PubkeyAuthentication yes - activeert key-based authenticatie
- PermitRootLogin no - voorkomt directe root-login
- MaxAuthTries 3 - beperkt het aantal inlogpogingen
SSH-poort wijzigen
De standaard SSH-poort 22 is het eerste doelwit van geautomatiseerde scans. Door de SSH-poort te wijzigen naar een willekeurig hoog nummer (bijv. 2222 of 49152) verminder je het aantal brute-force pogingen drastisch. Dit is geen beveiligingsmaatregel op zich (security through obscurity), maar het vermindert wel de ruis in je logs aanzienlijk.
Stap 2: Firewall configureren
Een firewall is een fundamenteel onderdeel van je VPS beveiligen strategie. De firewall bepaalt welk verkeer je server mag bereiken en blokkeert al het overige.
UFW (Uncomplicated Firewall) instellen
UFW is de meest gebruiksvriendelijke firewall voor Ubuntu/Debian servers. Het biedt een eenvoudige interface bovenop iptables. Standaard blokkeer je alle inkomende verbindingen en sta je alleen specifieke poorten toe die je nodig hebt.
Essentieel firewall-regels
| Poort | Service | Actie | Toelichting |
|---|---|---|---|
| 22 (of custom) | SSH | Allow | Alleen van vertrouwde IPs indien mogelijk |
| 80 | HTTP | Allow | Webverkeer (redirect naar HTTPS) |
| 443 | HTTPS | Allow | Versleuteld webverkeer |
| Alle andere | - | Deny | Standaard alles blokkeren |
Voeg alleen poorten toe die je daadwerkelijk nodig hebt. Elke open poort is een potentieel aanvalsoppervlak. Gebruik SSL-certificaten voor versleutelde verbindingen op poort 443.
Stap 3: Fail2ban installeren
Fail2ban is een onmisbaar hulpmiddel bij het vps beveiligen. Het monitort logbestanden op verdachte activiteit en blokkeert automatisch IP-adressen die herhaaldelijk mislukte inlogpogingen doen.
Hoe Fail2ban werkt
Fail2ban leest de logbestanden van services als SSH, Apache en Nginx. Wanneer het een patroon detecteert dat wijst op een aanval (bijvoorbeeld 5 mislukte SSH-logins binnen 10 minuten), voegt het automatisch een firewall-regel toe die het aanvallende IP-adres blokkeert voor een ingestelde periode.
Aanbevolen Fail2ban configuratie
- SSH jail - blokkeer na 3 mislukte pogingen voor 1 uur
- Apache/Nginx jail - blokkeer bij herhaaldelijke 404-requests of verdachte URL-patronen
- Recidive jail - blokkeer herhaaldelijke overtreders voor langere periodes (tot 1 week)
- E-mail notificaties - ontvang een bericht bij elke blokkering
Stap 4: Automatische beveiligingsupdates
Het vps beveiligen is een doorlopend proces. Beveiligingsupdates moeten zo snel mogelijk worden toegepast om bekende kwetsbaarheden te dichten. Configureer automatische updates voor beveiligingspatches zodat je server altijd beschermd is, ook als je niet actief beheert.
Unattended-upgrades instellen
Op Ubuntu/Debian gebruik je het unattended-upgrades pakket. Dit installeert automatisch beveiligingsupdates zonder handmatige interventie. Configureer het zo dat alleen beveiligingsupdates automatisch worden geinstalleerd, niet alle updates, om stabiliteit te waarborgen.
Automatische reboot configureren
Sommige updates vereisen een herstart van de server. Je kunt configureren dat automatische reboots plaatsvinden op een rustig moment, bijvoorbeeld om 04:00 uur 's nachts. Zorg wel dat je applicaties automatisch starten na een reboot.
Stap 5: Gebruikersbeheer en rechten
Correct gebruikersbeheer is essentieel bij het vps beveiligen. Werk nooit standaard als root-gebruiker en geef gebruikers alleen de rechten die ze nodig hebben.
Sudo-gebruiker aanmaken
Maak een aparte gebruiker aan met sudo-rechten voor dagelijks serverbeheer. Deze gebruiker kan tijdelijk root-rechten verkrijgen via het sudo-commando, maar werkt standaard met beperkte rechten. Dit beperkt de schade als het account gecompromitteerd wordt.
Root-account beveiligen
- Schakel directe root-login via SSH uit
- Stel een zeer sterk wachtwoord in voor het root-account
- Overweeg het root-account volledig uit te schakelen als je het niet nodig hebt
- Log alle sudo-acties voor audit-doeleinden
Stap 6: Bestandspermissies en integriteit
Correcte bestandspermissies voorkomen dat ongeautoriseerde gebruikers of processen gevoelige bestanden kunnen lezen of wijzigen. Dit is een vaak over het hoofd gezien aspect bij het vps beveiligen.
Belangrijke bestandspermissies
| Bestand/Map | Permissie | Eigenaar | Reden |
|---|---|---|---|
| /etc/ssh/sshd_config | 600 | root | SSH-configuratie beschermen |
| /etc/shadow | 600 | root | Wachtwoord-hashes beschermen |
| Home directories | 700 | gebruiker | Privacy per gebruiker |
| Web root | 755 | www-data | Webserver kan lezen maar niet schrijven |
| Configuratiebestanden | 644 | root | Leesbaar maar niet schrijfbaar |
File integrity monitoring
Installeer een tool als AIDE (Advanced Intrusion Detection Environment) die een database aanmaakt van alle systeembestanden en je waarschuwt wanneer bestanden onverwacht worden gewijzigd. Dit is een krachtige manier om inbraken vroegtijdig te detecteren.
Stap 7: Netwerk hardening
Naast de firewall zijn er aanvullende netwerkconfiguraties die helpen bij het vps beveiligen.
Kernel parameters aanpassen
- SYN flood bescherming - activeer SYN cookies tegen SYN flood aanvallen
- IP spoofing bescherming - schakel reverse path filtering in
- ICMP redirects uitschakelen - voorkom route-manipulatie
- Source routing uitschakelen - blokkeer brongerouteerde pakketten
- IPv6 uitschakelen - als je het niet gebruikt, schakel het dan uit
Onnodige services uitschakelen
Elke draaiende service is een potentieel aanvalsoppervlak. Inventariseer welke services actief zijn en schakel alles uit dat je niet nodig hebt. Veelvoorkomende services die vaak onnodig draaien zijn Avahi (mDNS), CUPS (printing), NFS en RPC-gerelateerde services.
Stap 8: Monitoring en logging
Het vps beveiligen is niet compleet zonder goede monitoring en logging. Je moet weten wat er op je server gebeurt om snel te kunnen reageren op bedreigingen.
Logging configureren
- Centraliseer logs met rsyslog of journald
- Configureer log rotation om diskruimte te beheren
- Overweeg externe log-opslag zodat logs behouden blijven bij een hack
- Monitor auth.log voor verdachte inlogpogingen
Monitoring tools
Installeer monitoring software om de gezondheid en beveiliging van je server te bewaken. Populaire opties zijn Netdata (gratis, real-time monitoring), Zabbix (uitgebreid, voor meerdere servers) en Prometheus met Grafana (voor geavanceerde metrics en dashboards). Bekijk ook onze gids over website monitoring voor meer informatie.
Stap 9: Backup strategie
Een goede backup is je laatste verdedigingslinie bij het vps beveiligen. Als alle andere maatregelen falen, kun je met een backup alles herstellen.
Backup best practices voor VPS
- Maak dagelijks automatische backups
- Sla backups off-site op (niet op dezelfde VPS)
- Test het herstelproces regelmatig
- Bewaar meerdere generaties backups
- Versleutel backups met een sterk wachtwoord
Lees onze gids over website backup maken voor uitgebreide instructies over het opzetten van een robuuste backup-strategie.
VPS beveiligen checklist: compleet overzicht
Hier is de volledige checklist om je VPS beveiligen na installatie:
- SSH-key authenticatie instellen en wachtwoord-login uitschakelen
- SSH-poort wijzigen en root-login uitschakelen
- Firewall (UFW) configureren met minimale open poorten
- Fail2ban installeren en configureren
- Automatische beveiligingsupdates activeren
- Sudo-gebruiker aanmaken, root-login uitschakelen
- Bestandspermissies controleren en aanscherpen
- File integrity monitoring installeren (AIDE)
- Kernel parameters hardenen
- Onnodige services uitschakelen
- Logging en monitoring configureren
- Backup strategie implementeren en testen
- SSL-certificaten installeren voor alle webservices
- Regelmatige beveiligingsaudits inplannen
Het vps beveiligen is geen eenmalige taak maar een doorlopend proces. Plan maandelijks een beveiligingsreview in waarbij je alle bovenstaande punten controleert en je configuratie bijwerkt op basis van nieuwe dreigingen. Met deze uitgebreide checklist heb je een solide basis voor een veilige VPS waarop je met vertrouwen je websites en applicaties kunt hosten. Bekijk ook onze vergelijking van managed vs unmanaged VPS hosting als je overweegt het beveiligingsbeheer uit te besteden.
VPS Beveiligen: Geavanceerde Firewall-configuratie
Een firewall is de eerste verdedigingslinie bij het beveiligen van je VPS. Standaard staan op een nieuwe VPS alle poorten open, wat je server kwetsbaar maakt voor aanvallen. Een strikte firewall-configuratie is daarom de allereerste stap na installatie.
UFW versus iptables
UFW (Uncomplicated Firewall) is de meest toegankelijke firewall voor Linux-beginners, terwijl iptables meer controle biedt voor gevorderde gebruikers. Voor de meeste VPS-beheerders is UFW de beste keuze vanwege de eenvoudige syntaxis.
| Kenmerk | UFW | iptables | nftables |
|---|---|---|---|
| Gebruiksgemak | Zeer eenvoudig | Complex | Gemiddeld |
| Flexibiliteit | Basis | Volledig | Volledig |
| IPv6-ondersteuning | Automatisch | Apart configureren | Ingebouwd |
| Logging | Eenvoudig | Gedetailleerd | Gedetailleerd |
| Aanbevolen voor | Beginners/gemiddeld | Gevorderden | Nieuw/gevorderden |
Begin met het blokkeren van al het inkomende verkeer en sta vervolgens alleen de noodzakelijke poorten toe. De minimale set poorten voor een webserver is: SSH (22 of een aangepast poortnummer), HTTP (80) en HTTPS (443). Sta geen toegang toe tot database-poorten (3306 voor MySQL, 5432 voor PostgreSQL) vanuit het publieke internet.
Inbraakdetectie en Preventie op je VPS
Naast een firewall heb je actieve bewaking nodig om inbraakpogingen te detecteren en automatisch te blokkeren. Dit is een cruciaal onderdeel van het beveiligen van je VPS tegen zowel geautomatiseerde als gerichte aanvallen.
Fail2Ban is de meestgebruikte inbraakpreventietool voor Linux-servers. Het analyseert logbestanden op mislukte inlogpogingen en blokkeert automatisch IP-adressen die verdacht gedrag vertonen. Configureer Fail2Ban voor:
- SSH — Blokkeer IP-adressen na 3-5 mislukte inlogpogingen voor minimaal 30 minuten
- Webserver — Detecteer en blokkeer scanners die kwetsbaarheden zoeken
- FTP — Als je FTP gebruikt (beter: gebruik SFTP via SSH)
- CMS-inlogpaginas — Bescherm WordPress wp-login.php of andere admin-paginas
Overweeg daarnaast het installeren van een host-based intrusion detection system (HIDS) zoals OSSEC of Wazuh. Deze tools monitoren bestandswijzigingen, detecteren rootkits en waarschuwen bij verdachte systeemactiviteit. Combineer dit met server monitoring tools voor een compleet overzicht van de gezondheid en veiligheid van je VPS.
VPS Beveiligen: Gebruikersbeheer en Toegangscontrole
Correct gebruikersbeheer is fundamenteel voor een veilige VPS. Veel beveiligingsincidenten ontstaan door te ruime rechten of gedeelde accounts. Volg deze richtlijnen voor degelijk toegangsbeheer:
- Schakel root-login via SSH uit — Gebruik een gewone gebruiker met sudo-rechten en schakel directe root-login uit in sshd_config.
- Maak individuele accounts aan — Geef elke beheerder een eigen account in plaats van een gedeeld beheerders-account. Dit maakt audittrails mogelijk.
- Gebruik SSH-sleutels — Schakel wachtwoord-authenticatie uit en gebruik uitsluitend SSH-sleutels voor veilige toegang.
- Beperk sudo-rechten — Geef gebruikers alleen de specifieke sudo-commando s die ze nodig hebben via het sudoers-bestand.
- Implementeer 2FA voor SSH — Voeg two-factor authenticatie toe aan SSH voor een extra beveiligingslaag via Google Authenticator PAM-module.
Automatische Updates en Patchbeheer voor je VPS
Verouderde software is een van de grootste risicos voor je VPS. Automatisch patchbeheer zorgt ervoor dat beveiligingsupdates snel worden toegepast, zelfs als je niet actief bezig bent met serverbeheer. Dit is een essentieel onderdeel van het beveiligen van je VPS.
Op Ubuntu en Debian kun je unattended-upgrades instellen voor automatische beveiligingsupdates. Dit installeert patches voor het besturingssysteem zonder handmatige tussenkomst. Voor applicatie-updates (zoals Docker-images of CMS-versies) is een gecontroleerder proces nodig.
- OS-patches — Automatisch via unattended-upgrades of yum-cron
- Webserver-updates — Test eerst op een staging-omgeving voordat je Nginx of Apache update
- Database-updates — Maak altijd een backup voordat je database-software update
- Applicatie-updates — Plan maandelijkse update-cycli voor je CMS, frameworks en plugins
Monitor beschikbare updates met Linux commando s voor VPS-beheer. Het commando apt list --upgradable toont beschikbare updates op Debian-gebaseerde systemen. Houd een changelog bij van alle updates die je uitvoert, zodat je bij problemen snel kunt terugdraaien. Combineer dit alles met een website firewall voor optimale bescherming van je server en de websites die erop draaien.
VPS Beveiligen: Kernel Hardening en Systeembeveiliging
Naast netwerk- en toegangsbeveiliging is het hardenen van de Linux-kernel een belangrijk onderdeel van het beveiligen van je VPS. De kernel is de kern van het besturingssysteem en kwetsbaarheden hierin hebben de meest verstrekkende gevolgen.
Met sysctl-instellingen kun je diverse kernelparameters aanpassen voor betere beveiliging. Bescherm tegen IP-spoofing door reverse path filtering in te schakelen. Voorkom ICMP-redirect aanvallen door het accepteren van redirects uit te schakelen. Schakel SYN-cookie bescherming in tegen SYN-flood aanvallen, een veelvoorkomende vorm van denial-of-service. Beperk de informatie die de kernel prijsgeeft door kernel.dmesg_restrict in te schakelen, zodat alleen root-gebruikers kernel-logberichten kunnen lezen.
AppArmor en SELinux bieden mandatory access control (MAC), een aanvulling op de standaard Linux-bestandsrechten. Deze systemen beperken wat programma's mogen doen, zelfs als ze als root draaien. AppArmor is standaard beschikbaar op Ubuntu en eenvoudiger te configureren, terwijl SELinux (standaard op CentOS en RHEL) meer granulaire controle biedt maar een steilere leercurve heeft.
VPS Beveiligen: Logging en Audit Trail
Een goed ingericht logsysteem is onmisbaar voor het detecteren en onderzoeken van beveiligingsincidenten op je VPS. Zonder adequat logging kun je niet achterhalen wat er is gebeurd bij een inbraak en welke data mogelijk is gecompromitteerd.
Configureer auditd voor uitgebreide systeemaudit. Dit registreert alle relevante systeemgebeurtenissen: bestandstoegang, gebruikersacties, netwerkverbindingen en procesaanroepen. Centraliseer je logs met rsyslog of journald naar een externe logserver of cloud-dienst. Dit voorkomt dat een aanvaller lokale logs kan wissen om zijn sporen te verbergen. Stel logrotatie in om te voorkomen dat logbestanden je schijf vullen, maar bewaar logs minimaal 90 dagen voor forensisch onderzoek. Monitor je logs actief met tools als Logwatch die dagelijks een samenvatting sturen, of met geavanceerde SIEM-systemen die realtime patronen herkennen en waarschuwen bij verdachte activiteit. Een goede logging-strategie in combinatie met de eerder genoemde maatregelen maakt je VPS bestand tegen de meeste aanvallen en stelt je in staat snel te reageren wanneer er toch iets misgaat.
VPS Beveiligen: Backupstrategie en Disaster Recovery
Een beveiligde VPS is pas compleet met een doordachte backupstrategie. Zelfs met de beste beveiliging kunnen hardware-fouten, menselijke fouten of geavanceerde aanvallen tot dataverlies leiden. Je backup is je laatste verdedigingslinie bij het beveiligen van je VPS.
Implementeer de 3-2-1 backupregel: bewaar drie kopieen van je data op twee verschillende mediatypen, waarvan een kopie op een externe locatie. Automatiseer dagelijkse backups van je databases en wekelijkse backups van alle bestanden. Sla backups versleuteld op met AES-256 encryptie en bewaar de encryptiesleutel apart van de backups zelf.
Test je backups maandelijks door een volledig herstel uit te voeren op een testomgeving. Een backup die niet te herstellen is, is waardeloos. Documenteer de herstelprocedure stap voor stap zodat ook een collega die niet dagelijks betrokken is bij het serverbeheer een herstel kan uitvoeren in noodgevallen. Definieer je Recovery Time Objective (hoe snel moet het systeem weer draaien) en Recovery Point Objective (hoeveel data mag je maximaal verliezen) en stem je backupfrequentie hierop af. Voor bedrijfskritische websites is een RPO van maximaal een uur en een RTO van maximaal vier uur een gangbare richtlijn.
VPS Beveiligen: Samenvatting en Prioriteitenlijst
Het beveiligen van je VPS kan overweldigend lijken met alle beschikbare maatregelen. Gebruik deze prioriteitenlijst om de belangrijkste stappen in de juiste volgorde uit te voeren. Begin direct na de installatie met het wijzigen van het standaard SSH-wachtwoord en het aanmaken van een niet-root gebruiker met sudo-rechten. Configureer vervolgens SSH-sleutelauthenticatie en schakel wachtwoord-login uit. Installeer en configureer een firewall die al het inkomende verkeer blokkeert behalve de poorten die je nodig hebt. Zet Fail2Ban op voor automatische blokkering van brute-force aanvallen. Schakel automatische beveiligingsupdates in voor het besturingssysteem. Configureer dagelijkse automatische backups naar een externe locatie. Installeer monitoring die je waarschuwt bij afwijkend gedrag. Documenteer je volledige serverconfiguratie zodat je deze kunt reproduceren in geval van nood. Met deze stappen in de juiste volgorde heb je een solide beveiligingsbasis die je vervolgens verder kunt uitbouwen met geavanceerdere maatregelen als kernel hardening en intrusion detection.