Kennisbank

Linux-server beveiligen: checklist in 12 stappen

Een nieuwe server is pas klaar als hij goed is dichtgezet. Deze 12 stappen vormen de basis.

Een Linux-server die direct aan internet hangt, wordt binnen enkele minuten gescand door geautomatiseerde aanvallers. Die zoeken naar zwakke wachtwoorden, verouderde software en open poorten. De goede kant: met een vaste set maatregelen houdt u het overgrote deel van die aanvallen buiten. Hieronder de 12 stappen die wij als basis gebruiken bij het inrichten van een server.

De voorbeelden gaan uit van Debian of Ubuntu. Op Rocky Linux, AlmaLinux of Red Hat Enterprise Linux werkt het vergelijkbaar, met dnf in plaats van apt en firewalld in plaats van ufw.

1. Werk het systeem bij en automatiseer beveiligingsupdates

Begin met een volledig bijgewerkt systeem en zorg dat beveiligingsupdates daarna automatisch worden geïnstalleerd.

sudo apt update && sudo apt full-upgrade
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

Op systemen uit de Red Hat-familie gebruikt u hiervoor dnf-automatic.

2. Werk niet als root

Maak een eigen gebruiker aan en geef die via sudo beheerrechten. Zo is elke beheeractie te herleiden en draait niet alles standaard met de hoogste rechten.

3. Log in met SSH-sleutels, niet met wachtwoorden

Wachtwoorden zijn te raden, een SSH-sleutel niet. Zet na het plaatsen van uw sleutel inloggen met een wachtwoord en direct inloggen als root uit in /etc/ssh/sshd_config:

PasswordAuthentication no
PermitRootLogin no

Test in een tweede sessie of u nog kunt inloggen voordat u de huidige sessie sluit.

4. Zet een firewall aan

Open alleen de poorten die echt nodig zijn, bijvoorbeeld SSH, HTTP en HTTPS. Al het andere gaat dicht.

sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enable

Kan het, beperk SSH dan tot vaste IP-adressen van uw kantoor of beheerder.

5. Blokkeer brute-force-pogingen

Met fail2ban worden IP-adressen die herhaaldelijk verkeerd inloggen tijdelijk geblokkeerd. Dat houdt de logbestanden schoon en maakt raden nog lastiger.

6. Draai zo weinig mogelijk diensten

Elke dienst die luistert op het netwerk is een mogelijke ingang. Controleer welke poorten open staan en schakel uit wat u niet gebruikt:

sudo ss -tulpn

7. Geef applicaties alleen de rechten die ze nodig hebben

Laat elke applicatie onder een eigen gebruiker draaien, met alleen toegang tot de eigen bestanden. Wordt een applicatie gehackt, dan blijft de schade beperkt tot dat deel van de server.

8. Versleutel verkeer met TLS

Gebruik HTTPS voor alle websites en applicaties. Met Let's Encrypt zijn certificaten gratis en worden ze automatisch verlengd. Controleer of die verlenging ook echt werkt.

9. Maak back-ups en test het terugzetten

Een back-up op dezelfde server is geen back-up. Houd de 3-2-1-regel aan: 3 kopieën van uw gegevens, op 2 verschillende soorten opslag, waarvan 1 op een andere locatie. Test regelmatig of u een back-up ook echt kunt terugzetten.

10. Monitor de server en de logbestanden

Een server die vol loopt, een dienst die stopt of een verdacht aantal inlogpogingen wilt u weten voordat uw klanten het merken. Stel monitoring in met meldingen, bijvoorbeeld met Zabbix, Grafana of UptimePort, en verzamel logbestanden op een plek waar een aanvaller ze niet zomaar kan wissen.

11. Voer periodiek een audit uit

Een tool als Lynis controleert een server op honderden punten en geeft concrete verbeterpunten. Handig bij de oplevering en daarna als periodieke controle.

12. Leg vast wat u heeft gedaan en herhaal

Beveiliging is geen eenmalige klus. Leg de configuratie vast, zodat een collega of opvolger weet hoe de server is ingericht, en plan een vaste controle in. Software verandert, nieuwe lekken worden gevonden en wat vandaag veilig is, is dat over een jaar misschien niet meer.

Liever uitbesteden?

Wij richten servers volgens deze aanpak in en houden ze daarna veilig met Linux systeembeheer en managed services. Ook een eenmalige beveiligingsaudit van een bestaande server is mogelijk. Neem contact op voor de mogelijkheden.