Een onbeveiligde server is een open uitnodiging voor aanvallers. Binnen minuten na het online komen wordt je server al gescand op kwetsbaarheden. Met deze checklist beveilig je je Linux server tegen de meest voorkomende aanvallen.
1. SSH beveiligen
SSH is de meest aangevallen dienst op elke server. Beveilig het als eerste:
- Verander de SSH-poort: wijzig de standaard poort 22 naar een hoog poortnummer (bijv. 2222 of 49152). Dit stopt geautomatiseerde scans.
- Gebruik SSH-keys: schakel wachtwoord-authenticatie uit en gebruik SSH-sleutels. Genereer een sleutel met
ssh-keygen -t ed25519. - Root-login uitschakelen: stel
PermitRootLogin noin en gebruik een gewone gebruiker met sudo-rechten. - Fail2Ban installeren: bant IP-adressen die te vaak fout inloggen.
Pas deze instellingen aan in /etc/ssh/sshd_config en herstart SSH: systemctl restart sshd.
2. Firewall instellen
Sta alleen het verkeer toe dat nodig is. Gebruik UFW (Uncomplicated Firewall):
ufw default deny incoming ufw default allow outgoing ufw allow 2222/tcp # SSH (jouw poort) ufw allow 80/tcp # HTTP ufw allow 443/tcp # HTTPS ufw enable
Open alleen de poorten die je daadwerkelijk gebruikt. Voor een gameserver, voeg de game-poorten toe.
3. Automatische updates
Beveiligingsupdates moeten automatisch geinstalleerd worden:
apt install unattended-upgrades dpkg-reconfigure -plow unattended-upgrades
Dit installeert beveiligingspatches automatisch zodra ze beschikbaar zijn.
4. Gebruikersbeheer
- Maak een aparte gebruiker aan voor dagelijks beheer:
adduser beheerder. - Geef sudo-rechten:
usermod -aG sudo beheerder. - Verwijder ongebruikte accounts.
- Gebruik sterke, unieke wachtwoorden (of beter: alleen SSH-keys).
5. Diensten minimaliseren
Draai alleen software die je nodig hebt. Controleer wat er draait:
ss -tulpn systemctl list-units --type=service --state=running
Schakel onnodige diensten uit: systemctl disable [dienst] && systemctl stop [dienst].
6. Back-ups
Geen back-up = geen server. Stel automatische back-ups in:
- Dagelijkse back-ups van databases en configuratie.
- Wekelijkse volledige back-ups.
- Bewaar back-ups op een andere locatie (niet op dezelfde server).
- Test regelmatig of je back-ups kunt herstellen.
7. Monitoring
- Logwatch: dagelijks overzicht van logbestanden per e-mail.
- Netdata: real-time monitoring van CPU, RAM, schijf en netwerk.
- Lynis: beveiligingsaudit-tool die je server scant en aanbevelingen doet.
Checklist samenvatting
| Stap | Prioriteit | Status |
|---|---|---|
| SSH-poort wijzigen | Hoog | [ ] |
| SSH-keys instellen | Hoog | [ ] |
| Root-login uitschakelen | Hoog | [ ] |
| Fail2Ban installeren | Hoog | [ ] |
| Firewall (UFW) configureren | Hoog | [ ] |
| Automatische updates | Hoog | [ ] |
| Aparte gebruiker aanmaken | Middel | [ ] |
| Onnodige diensten uitschakelen | Middel | [ ] |
| Back-ups configureren | Hoog | [ ] |
| Monitoring installeren | Middel | [ ] |
Is een VPS veilig genoeg zonder deze stappen?
Nee. Een standaard VPS-installatie is minimaal beveiligd. Zonder firewall en SSH-hardening wordt je server binnen uren gevonden door geautomatiseerde scanners die brute-force aanvallen uitvoeren.
Hoe weet ik of mijn server gehackt is?
Let op: onverklaarbaar hoog CPU-gebruik (cryptomining), onbekende processen, gewijzigde bestanden, nieuwe gebruikersaccounts, of uitgaand verkeer naar onbekende adressen. Controleer met last, who, ps aux en netstat -tulpn.
Moet ik een managed VPS nemen als ik geen Linux-ervaring heb?
Als je geen tijd of kennis hebt om je server te beveiligen, is managed hosting een verstandige keuze. Je betaalt meer, maar iemand anders zorgt voor updates, beveiliging en monitoring.
Bekijk onze VPS hosting bij HostValues met DDoS-bescherming en NVMe-opslag.