Kennisbank › Server Hardening › Server Hardening op Ubuntu: Aanvalsoppervlak verkleinen
server hardening starter 27 August 2026

Server Hardening op Ubuntu: Aanvalsoppervlak verkleinen

Server Hardening op Ubuntu: Aanvalsoppervlak verkleinenDit artikel legt uit hoe je een Ubuntu-server hardent door onnodige services uit te schakelen, rechten

Server Hardening op Ubuntu: Aanvalsoppervlak verkleinen

Dit artikel legt uit hoe je een Ubuntu-server hardent door onnodige services uit te schakelen, rechten te minimaliseren en de firewall te configureren. Het is geschreven voor systeembeheerders die een productieserver veilig willen opzetten.

Vereisten

- Ubuntu Server 22.04 LTS of 24.04 LTS (verse installatie) - Root-toegang of een gebruiker met sudo-rechten - Basiskennis van de Linux commandoregel - Optioneel: Ubuntu Pro-abonnement voor extra beveiligingsfeatures

Stappen

1. Systeem updaten naar de laatste beveiligingsversies

Een verse Ubuntu-installatie bevat mogelijk verouderde pakketten. Werk alles bij voordat je andere wijzigingen doorvoert.

sudo apt update && sudo apt upgrade -y

2. Ongebruikte services en poorten inventariseren

Voordat je iets uitschakelt, moet je weten wat er draait. Controleer welke services actief zijn en welke poorten openstaan.

systemctl list-units --type=service --state=running
ss -tulpn

Maak een lijst van services die je niet nodig hebt voor de functie van de server. Denk aan services zoals `cups`, `avahi-daemon` of `bluetooth` op een dedicated server.

3. Overbodige services uitschakelen en verwijderen

Schakel elke overbodige service uit en voorkom dat deze bij het opstarten wordt geladen. Vervang `dienstnaam` door de daadwerkelijke servicenaam uit stap 2.

sudo systemctl stop dienstnaam
sudo systemctl disable dienstnaam

Wil je de service volledig verwijderen, gebruik dan `apt purge`. Dit verwijdert ook de configuratiebestanden.

sudo apt purge dienstnaam -y

4. Minimale rechten toepassen met sudo en gebruikersaccounts

Maak een aparte gebruiker voor dagelijkse taken in plaats van root. Deze gebruiker krijgt alleen de rechten die nodig zijn.

sudo adduser beheerder
sudo usermod -aG sudo beheerder

Test de nieuwe gebruiker door in te loggen en een commando met sudo uit te voeren. Gebruik root alleen nog voor noodgevallen.

5. Bestandspermissies controleren en aanscherpen

Controleer de permissies van kritieke systeembestanden. De volgende commando's geven inzicht in wie wat kan lezen, wijzigen of uitvoeren.

ls -la /etc/passwd /etc/shadow /etc/ssh/sshd_config
sudo chmod 644 /etc/passwd
sudo chmod 640 /etc/shadow

Stel een veilige standaard-umask in voor nieuwe bestanden. Voeg dit toe aan `/etc/profile`:

echo "umask 027" | sudo tee -a /etc/profile

6. Firewall configureren met ufw

Schakel de Uncomplicated Firewall in en sta alleen de poorten toe die de server echt nodig heeft. Vervang `22` door de poort van jouw SSH-dienst als je deze hebt aangepast.

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw enable

Controleer de status van de firewall om te bevestigen dat de regels actief zijn.

sudo ufw status verbose

7. SSH-hardening toepassen

Pas de SSH-configuratie aan om zwakke toegangsmethoden uit te schakelen. Bewerk `/etc/ssh/sshd_config` en wijzig of voeg de volgende regels toe:

sudo nano /etc/ssh/sshd_config

Zet in dit bestand:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

Herstart de SSH-service om de wijzigingen door te voeren.

sudo systemctl restart sshd

Let op: zet `PasswordAuthentication` pas op `no` nadat je SSH-sleutels hebt geconfigureerd en getest. Anders sluit je jezelf buiten.

8. Ubuntu Pro activeren voor geautomatiseerde patching

Ubuntu Pro biedt extra beveiligingsfuncties zoals livepatch en uitgebreide beveiligingsupdates. Activeer de service met je abonnementsgegevens.

sudo pro attach jouw-contract-token

Controleer daarna welke beveiligingsdiensten actief zijn.

sudo pro status

Verificatie

Voer deze controles uit om te bevestigen dat de hardening correct is toegepast:

sudo ufw status verbose
systemctl list-units --type=service --state=running
ss -tulpn | grep LISTEN
sudo pro status

De firewall moet actief zijn met alleen de toegestane poorten. De lijst met draaiende services mag alleen nog de noodzakelijke services bevatten. Ubuntu Pro moet de beveiligingsdiensten als actief tonen.

Veelgestelde problemen

Ik heb mezelf buitengesloten na het wijzigen van SSH-instellingen

Start de server opnieuw op via de console van je hostingprovider. Log in via de console en zet `PasswordAuthentication` terug op `yes`. Controleer daarna of je SSH-sleutel correct is geconfigureerd voordat je de instelling opnieuw wijzigt.

ufw blokkeert mijn SSH-verbinding

Voeg eerst de SSH-regel toe voordat je de firewall inschakelt. Als je verbinding al verbroken is, gebruik dan de console van je hostingprovider om de firewall uit te schakelen met `sudo ufw disable`. Voeg daarna de juiste regel toe en schakel de firewall opnieuw in.

Een service die ik nodig heb start niet meer na het uitschakelen

Controleer of je de juiste service hebt uitgeschakeld met `systemctl status dienstnaam`. Start de service opnieuw met `sudo systemctl start dienstnaam` en controleer de logs met `journalctl -u dienstnaam` om de oorzaak te vinden.

Hardening is geen eenmalige handeling; nieuwe kwetsbaarheden verschijnen zodra je systeem draait, en elke wijziging aan de configuratie kan nieuwe zwakke plekken introduceren. Plan daarom periodieke controles in en herhaal deze stappen na elke grote systeemwijziging.

← Terug naar kennisbank
← Terug naar kennisbank