Server beveiliging basis: essentials voor je VPS
Een onbeveiligde server is een open uitnodiging voor hackers. Bij Theory7 zien we dagelijks pogingen om servers te compromitteren via brute force aanvallen, exploits en andere methodes. Met de juiste beveiligingsmaatregelen kun je het overgrote deel van deze aanvallen blokkeren. In deze handleiding behandelen we de essentials van serverbeveiliging.
Waarom serverbeveiliging cruciaal is
Een gehackte server kan leiden tot:
- Dataverlies - Belangrijke bestanden gewist of versleuteld
- Spam verzending - Je server verstuurt spam, je IP komt op blacklists
- Malware hosting - Je server host schadelijke content
- DDoS aanvallen - Je server wordt gebruikt om anderen aan te vallen
- Reputatieschade - Je domein en IP raken besmet
Voorkomen is vele malen beter dan genezen. Het is essentieel om je server te beschermen tegen deze bedreigingen, niet alleen om je eigen gegevens te beschermen, maar ook om de integriteit van je klanten en gebruikers te waarborgen.
SSH beveiligen
SSH is de belangrijkste toegangspoort tot je server. Beveilig deze grondig.
SSH poort wijzigen
De standaard poort 22 wordt constant gescand. Wijzig naar een andere poort:
sudo nano /etc/ssh/sshd_config
Zoek de regel Port 22 en wijzig naar bijvoorbeeld:
Port 2222
Herstart SSH na de wijziging:
sudo systemctl restart sshd
Vergeet niet de firewall aan te passen voor de nieuwe poort. Dit kan je doen door de firewall regels bij te werken, zodat de nieuwe poort toegankelijk is.
Root login uitschakelen
Schakel directe root login uit. Werk met een normale gebruiker en gebruik sudo voor administratieve taken:
sudo nano /etc/ssh/sshd_config
Wijzig:
PermitRootLogin no
Dit voorkomt dat hackers eenvoudig toegang krijgen tot de root account, wat een veelvoorkomend doelwit is.
SSH keys verplichten
Schakel wachtwoord authenticatie uit en gebruik alleen SSH keys:
PasswordAuthentication no
PubkeyAuthentication yes
Genereer eerst een SSH key op je lokale computer en kopieer de public key naar de server voordat je wachtwoord authenticatie uitschakelt. Dit verhoogt de beveiliging aanzienlijk, omdat het moeilijker is voor aanvallers om toegang te krijgen zonder de juiste sleutel.
Firewall configureren met UFW
UFW (Uncomplicated Firewall) maakt firewallbeheer eenvoudig en toegankelijk voor iedereen.
UFW installeren en basis regels
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
Deze basisinstellingen zorgen ervoor dat alle inkomende verbindingen worden geblokkeerd, tenzij specifiek toegestaan.
Poorten openzetten
Open alleen de poorten die je nodig hebt:
# SSH (aangepaste poort)
sudo ufw allow 2222/tcp
# Webverkeer
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# DirectAdmin
sudo ufw allow 2222/tcp
Firewall activeren
sudo ufw enable
Controleer de status:
sudo ufw status verbose
Dit geeft je een overzicht van welke poorten open zijn en welke regels actief zijn.
Fail2ban tegen brute force
Fail2ban monitort logbestanden en blokkeert IPs die herhaaldelijk falen bij inlogpogingen. Dit is een effectieve manier om brute force aanvallen te voorkomen.
Installatie
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
SSH jail configureren
Maak een lokale configuratie:
sudo nano /etc/fail2ban/jail.local
Voeg toe:
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
Dit blokkeert een IP voor 1 uur na 3 mislukte loginpogingen binnen 10 minuten. Dit kan helpen om aanvallers af te schrikken en je server veiliger te maken.
sudo systemctl restart fail2ban
Systeem updates
Verouderde software bevat vaak bekende kwetsbaarheden die door aanvallers kunnen worden misbruikt.
Handmatige updates
sudo apt update && sudo apt upgrade -y
Het is belangrijk om regelmatig je systeem bij te werken om de laatste beveiligingspatches te ontvangen.
Automatische security updates
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
Door automatische updates in te schakelen, zorg je ervoor dat je altijd de nieuwste beveiligingspatches hebt zonder dat je er zelf aan hoeft te denken.
Extra beveiligingstips
Ongebruikte services uitschakelen
Elk draaiend proces is een potentieel aanvalsvector. Schakel ongebruikte services uit:
sudo systemctl list-unit-files --type=service --state=enabled
sudo systemctl disable servicenaam
Sterke wachtwoorden afdwingen
Configureer password policies met PAM of gebruik alleen SSH keys. Dit helpt om zwakke wachtwoorden te voorkomen die gemakkelijk te raden zijn.
Log monitoring
Check regelmatig je logs op verdachte activiteit:
sudo tail -f /var/log/auth.log
sudo tail -f /var/log/syslog
Door regelmatig je logs te controleren, kun je verdachte activiteiten tijdig opmerken en actie ondernemen.
Two-factor authentication
Overweeg 2FA voor SSH met Google Authenticator of vergelijkbaar. Dit voegt een extra laag beveiliging toe, waardoor zelfs als een aanvaller je wachtwoord heeft, ze nog steeds niet kunnen inloggen zonder de tweede factor.
Beveiligingschecklist
Gebruik deze checklist bij elke nieuwe server:
- SSH poort gewijzigd
- Root login uitgeschakeld
- SSH keys geconfigureerd
- Wachtwoord auth uitgeschakeld
- UFW firewall actief
- Fail2ban geïnstalleerd
- Automatische updates actief
- Onnodige services uitgeschakeld
Gerelateerde artikelen
- LiteSpeed webserver configuratie
- Server resources monitoren
- VPS eerste stappen na aankoop
- Firewall configuratie (UFW)
Meer informatie over VPS servers bij Theory7
Hulp nodig?
We staan voor je klaar! Loop je ergens tegenaan of heb je vragen? Ons supportteam helpt je graag persoonlijk verder. Stuur ons een berichtje via het ticketsysteem - we reageren meestal binnen een paar uur en denken graag met je mee.
0 van 0 vonden dit nuttig