Door de Ubuntu-firewall met UFW (Uncomplicated Firewall) te configureren, help je je VPS te beschermen: je staat noodzakelijke verbindingen toe en blokkeert onnodig inkomend verkeer. Voor de installatie zijn maar een paar opdrachten nodig, maar de volgorde is belangrijk: sta SSH toe voordat je de firewall inschakelt, anders kun je de externe toegang verliezen.
In deze handleiding leer je hoe je UFW installeert, veilige standaardinstellingen configureert, poorten voor je website opent, de firewall activeert en daarna regels beheert.
Belangrijkste punten
- Met UFW beheer je de Ubuntu-firewall eenvoudig via de opdrachtregel.
- Sta de poort toe die je daadwerkelijk voor SSH gebruikt voordat je UFW op een externe VPS inschakelt.
- Blokkeer ongevraagd inkomend verkeer standaard en open vervolgens alleen de poorten die je diensten nodig hebben.
- Controleer de toegang via een tweede verbinding en bekijk je regels opnieuw wanneer je applicaties toevoegt of verwijdert.
Wat is UFW op Ubuntu?
UFW is een hulpmiddel voor het configureren van firewallregels voor het pakketfiltersysteem van de Linux-kernel. In plaats van regels op laag niveau te schrijven, kun je verbindingen toestaan of blokkeren met opdrachten zoals ufw allow en ufw delete.
Op een doorsnee VPS voor webhosting sta je SSH toe voor beheer en de poorten 80 en 443 voor bezoekers. Databasepoorten en poorten voor interne applicaties moeten doorgaans niet toegankelijk zijn vanaf het openbare internet.
Voordat je de Ubuntu-firewall configureert
Je hebt een Ubuntu-VPS nodig met sudo-toegang en een werkende SSH-verbinding. Als beheer op afstand nieuw voor je is, bekijk dan ZYNOO’s SSH-opdrachten voor beginners.
Houd je huidige SSH-sessie open. Controleer of de web- of herstelconsole van je VPS-provider werkt. Netwerkfirewalls op providerniveau staan los van UFW en hebben mogelijk ook passende regels nodig.
Deze instructies gaan uit van een nieuwe of inactieve UFW-configuratie. Als UFW al actief is, controleer dan de regels en de vereisten van je diensten voordat je het standaardbeleid wijzigt.

Stap 1: UFW controleren en installeren
Controleer of UFW beschikbaar is:
sudo ufw status
Status: inactive betekent dat UFW is geïnstalleerd, maar nog geen regels afdwingt. Als de opdracht niet wordt gevonden, installeer UFW dan:
sudo apt update
sudo apt install ufw
Schakel de firewall nog niet in.
Stap 2: SSH toestaan voordat je UFW inschakelt
Zoek uit op welke TCP-poort SSH luistert:
sudo ss -ltnp
Vergelijk de uitvoer met de poort die je SSH-client gebruikt. Poort 22 is gebruikelijk, maar VPS-configuraties kunnen een andere poort gebruiken.
Als SSH poort 22 gebruikt, voer dan het volgende uit:
sudo ufw allow 22/tcp
Als SSH een aangepaste poort zoals 2222 gebruikt, sta dan in plaats daarvan die poort toe:
sudo ufw allow 2222/tcp
Poort 2222 is een voorbeeld, geen extra poort die iedereen moet openen. Bekijk de regels die je gaat toepassen:
sudo ufw show added
Stap 3: Standaardregels instellen en IPv6 controleren
Stel in dat inkomende verbindingen standaard worden geblokkeerd, terwijl de VPS wel uitgaande verbindingen kan maken:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Als je VPS een openbare IPv6-verbinding heeft, controleer dan of UFW daarmee omgaat:
grep '^IPV6=' /etc/default/ufw
De verwachte instelling is IPV6=yes. Als IPv6 in gebruik is maar deze instelling op no staat, bewerk dan /etc/default/ufw om IPv6-ondersteuning in te schakelen voordat je de firewall activeert.
Stap 4: De poorten openen die je website nodig heeft
Als de VPS een openbare website host, sta dan HTTP en HTTPS toe voordat je UFW activeert:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Veelgebruikte poorten voor een Ubuntu-VPS zijn:
| Dienst | Poort | Protocol |
|---|---|---|
| SSH | 22 (of je aangepaste poort) | TCP |
| HTTP | 80 | TCP |
| HTTPS | 443 | TCP |
Voor een openbare applicatie op een andere TCP-poort gebruik je deze UFW-syntaxis om de poort toe te staan:
sudo ufw allow 8080/tcp
Voer dat voorbeeld alleen uit als je dienst externe toegang via poort 8080 nodig heeft. Geef voor een UDP-dienst in plaats daarvan /udp op, bijvoorbeeld sudo ufw allow 51820/udp voor een WireGuard-eindpunt dat op die poort is geconfigureerd.
Je kunt ook de beschikbare applicatieprofielen bekijken:
sudo ufw app list
Als Nginx Full in de lijst staat, controleer dan de bijbehorende poorten met sudo ufw app info 'Nginx Full'. De opdracht sudo ufw allow 'Nginx Full' kan de twee bovenstaande regels voor websitepoorten vervangen; je hoeft niet beide methoden te gebruiken. Bij applicaties achter een lokale Nginx-reverseproxy moet de backendpoort doorgaans niet openbaar toegankelijk zijn.
Stap 5: UFW inschakelen en de firewall controleren
Schakel UFW in zodra SSH en alle benodigde poorten voor diensten zijn toegestaan:
sudo ufw enable
Mogelijk krijg je een waarschuwing dat deze handeling gevolgen kan hebben voor SSH. Ga pas verder nadat je je SSH-regel en hersteltoegang hebt gecontroleerd. Bekijk de actieve regels:
sudo ufw status verbose
Je zou Status: active, het standaardbeleid en de toegestane poorten moeten zien. UFW schakelt zichzelf ook in bij het opstarten.
Maak vanuit een tweede terminal opnieuw verbinding voordat je je oorspronkelijke SSH-sessie sluit. Gebruik op je eigen computer ssh -p 22 username@server-ip en vervang de gebruikersnaam, het adres en de poort waar nodig. Test je website vanaf een extern netwerk als je de poorten 80 en 443 hebt geopend. Een ALLOW-regel alleen bewijst niet dat de dienst bereikbaar is.
Stap 6: UFW-regels beheren, beperken en verwijderen
Zo geef je firewallregels met regelnummers weer:
sudo ufw status numbered
Zo verwijder je een verouderde toestemmingsregel, bijvoorbeeld voor TCP-poort 8080:
sudo ufw delete allow 8080/tcp
Je kunt een regel ook op nummer verwijderen (sudo ufw delete 3), maar controleer eerst de actuele lijst: de nummering kan veranderen en als je op nummer verwijdert, verwijder je mogelijk slechts één regel van een bij elkaar horend IPv4/IPv6-paar.
Optioneel: SSH beperken tot je IP-adres
Als het IP-adres waarmee je de server beheert niet verandert, kun je SSH tot dat adres beperken. Bijvoorbeeld:
sudo ufw allow from 203.0.113.10 to any port 22 proto tcp
Vervang het IP-adres in het voorbeeld door je echte openbare IP-adres. Test of je vanaf dat adres opnieuw kunt inloggen en verwijder daarna de oude, onbeperkte regel met sudo ufw delete allow 22/tcp. Als je die onbeperkte regel laat staan, blijft iedereen toegang houden. Houd gedurende het hele proces je oorspronkelijke sessie en de herstelconsole beschikbaar.
Optioneel: Het aantal SSH-verbindingspogingen beperken
Als SSH bereikbaar moet zijn vanaf wisselende IP-adressen, kun je in plaats daarvan de brede toestemmingsregel vervangen door een limiet op het aantal verbindingspogingen:
sudo ufw limit 22/tcp
sudo ufw delete allow 22/tcp
sudo ufw status numbered
Doe dit pas nadat je hebt bevestigd dat je SSH-verbinding werkt en je hersteltoegang hebt. Gebruik je werkelijke SSH-poort in plaats van 22 als die afwijkt. Test daarna opnieuw of je kunt inloggen. Dit is een alternatief voor toegang vanaf alleen je IP-adres, niet iets om ermee te combineren. Het beperken van verbindingspogingen vervangt SSH-sleutelauthenticatie niet.
Stap 7: Logboeken controleren en toegangsproblemen oplossen
Schakel basisregistratie in als je geblokkeerd verkeer moet onderzoeken:
sudo ufw logging on
sudo ufw status verbose
Afhankelijk van je logconfiguratie zijn UFW-logboeken mogelijk beschikbaar in het systeemjournaal of in /var/log/ufw.log.
Als SSH onbereikbaar wordt, gebruik dan de herstelconsole van je provider om de actieve regels te controleren. Als tijdelijke noodmaatregel stopt sudo ufw disable de handhaving van de regels. Corrigeer daarna de SSH-regel en schakel UFW opnieuw in.
Als je website niet laadt, controleer dan met sudo ss -ltnp welke diensten op verbindingen wachten, en controleer de UFW-regels en eventuele firewall van je provider. Het openen van een poort start niet automatisch de dienst die erachter zit.
Veelgestelde vragen
Ja. Zodra je sudo ufw enable uitvoert, wordt UFW ook bij volgende opstartbeurten ingeschakeld. Controleer de configuratie met sudo ufw status verbose.
Nee. Regels die je via UFW toevoegt of verwijdert, worden van kracht zonder de VPS te herstarten. Je kunt de huidige configuratie direct controleren.
Niet noodzakelijk. Poorten die via Docker zijn gepubliceerd, kunnen de gewone inkomende UFW-regels omzeilen, omdat Docker eigen netwerkregels configureert. Raadpleeg de firewalldocumentatie van Docker voordat je op UFW vertrouwt om de toegang tot containers te beperken.
Conclusie
Een veilige configuratie van de Ubuntu-firewall met UFW begint met het toestaan van SSH, het standaard blokkeren van inkomende verbindingen en het openen van alleen de poorten die je applicaties nodig hebben. Controleer na het inschakelen van UFW de toegang via een afzonderlijke verbinding en verwijder verouderde regels wanneer je VPS verandert.
UFW regelt de netwerktoegang, maar beschermt niet tegen misbruik op applicatieniveau. Voor openbare Nginx-websites is het beperken van het aantal verzoeken een nuttige extra beveiligingsmaatregel.