SSD Nodes Learn
Gidsen Matt ConnorDoor Matt Connor · Bijgewerkt 2026-07-24

UFW firewall instellen op een VPS

Leer hoe u UFW gebruikt om een VPS te beveiligen. Voorkom dat u wordt uitgesloten van SSH door de juiste poorten toe te staan voordat u de firewall activeert.

Wat UFW is en waarom u het wilt gebruiken

UFW staat voor Uncomplicated Firewall, en de naam is accuraat. Het is een gebruiksvriendelijke interface voor de firewall die al in de Linux kernel aanwezig is. In plaats van handmatig complexe regels te schrijven, gebruikt u korte commando's zoals ufw allow 22/tcp. Op een nieuwe VPS is elke luisterende service standaard bereikbaar via het internet. Een firewall draait dit om: u weigert alles en staat alleen de poorten toe die u daadwerkelijk gebruikt. Deze wijziging vermindert uw blootstelling aanzienlijk in ongeveer vier commando's.

Controleer eerst welke services luisteren, omdat de firewall bepaalt wat er met deze services gebeurt. Lezen wat er luistert met ss -tlnp is de juiste eerste stap.

De enige regel om uitgesloten te worden te voorkomen

Dit is de fout die mensen afschrikt bij het gebruik van firewalls. U activeert UFW met een default-deny policy, maar u heeft SSH nooit toegestaan. Zodra de firewall actief wordt, wordt uw eigen verbinding verbroken en kunt u niet meer inloggen. Voorkom dit door altijd SSH toe te staan voordat u UFW activeert. Dat is de enige vereiste, en de onderstaande stappen volgen de veilige volgorde.

Mocht dit toch gebeuren, dan bent u niet geblokkeerd: de webconsole van uw provider via VNC of serial gebruikt geen SSH. U kunt daar inloggen en ufw disable uitvoeren of de ontbrekende regel toevoegen.

Stap 1: Stel de standaard policies in

Begin met het instrueren van UFW om alle inkomende verbindingen te weigeren en alle uitgaande verbindingen toe te staan:

sudo ufw default deny incoming
sudo ufw default allow outgoing

deny incoming is het cruciale onderdeel. Dit betekent dat elke poort zonder expliciete allow-regel gesloten is voor de buitenwereld, zelfs als een service op die poort luistert. allow outgoing zorgt ervoor dat uw server normaal gesproken verbinding kan maken met het internet voor updates en vergelijkbare taken. Deze twee commando's wijzigen alleen de policy; er wordt niets afgedwongen totdat u UFW inschakelt in stap 3.

Stap 2: Sta alleen de noodzakelijke poorten toe

Open SSH voordat u de firewall inschakelt om de verbinding te behouden:

sudo ufw allow 22/tcp

UFW kan SSH ook voor u limiteren: sudo ufw limit 22/tcp staat de poort toe, maar blokkeert elk adres dat zes of meer verbindingen maakt binnen dertig seconden. Dit stopt brute-force scripts zonder extra software.

Als u een webserver gebruikt, sta dan ook HTTP en HTTPS toe:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Sta alleen toe wat u publiekelijk aanbiedt. Een database zoals Postgres op poort 5432 mag bijna nooit een allow-regel krijgen. Koppel deze in plaats daarvan aan 127.0.0.1 zodat deze alleen lokaal bereikbaar is. Elke geopende poort is een ingang die u moet verdedigen; houd de lijst daarom kort.

U kunt hier de volledige reeks ufw commando's voor uw server samenstellen en deze vervolgens in de juiste volgorde uitvoeren:

ToolUFW rule generator

Stap 3: Inschakelen en controleren of het actief is

sudo ufw enable

Er verschijnt een waarschuwing dat het commando bestaande SSH-verbindingen kan onderbreken. Omdat u 22/tcp in stap 2 heeft toegestaan, blijft uw sessie actief. Controleer het resultaat:

sudo ufw status verbose
Status: active
Default: deny (incoming), allow (outgoing)

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)
80/tcp                     ALLOW IN    Anywhere

Let op twee zaken in deze output. Status: active betekent dat de firewall actief is. Elke regel verschijnt twee keer: één keer zonder en één keer met (v6). Dit geeft aan dat UFW zowel IPv6 als IPv4 beheert. Als de (v6) regels ontbreken, is uw IPv6-verbinding niet beveiligd. Dit is een bekend probleem dat wordt uitgelegd in de IPv6 firewall post.

Regels later beheren

Gebruik de volgende opdracht om regels met nummers te tonen, zodat u er een kunt verwijderen:

sudo ufw status numbered
sudo ufw delete 3

Om een poort alleen toe te laten vanaf één specifiek adres (bijvoorbeeld om een admin-service alleen via uw eigen IP te ontsluiten):

sudo ufw allow from 10.0.0.24 to any port 5432 proto tcp

Een firewall is slechts één beveiligingslaag. Deze regelt wat een poort kan bereiken, maar voorkomt geen brute-force aanvallen op een openstaande poort, zoals SSH. Gebruik Fail2ban voor SSH om herhaaldelijke pogingen te blokkeren. Defence in depth houdt in dat elke laag de tekortkomingen van de andere lagen opvangt.

Een firewall is pas effectief als u begrijpt wat poorten zijn en hoe services luisteren. Het configureren ervan is een onderdeel van de eerste 10 minuten op een nieuwe VPS.

FAQ

Veroorzaakt het inschakelen van UFW een verbreking van mijn SSH-sessie?

Nee, mits u SSH eerst toestaat. Voer sudo ufw allow 22/tcp uit vóór sudo ufw enable. De verbinding blijft dan bestaan omdat de firewall poort 22 toestaat. Het risico ontstaat wanneer u een firewall met een standaard 'deny'-beleid inschakelt zonder een SSH 'allow'-regel. U wordt dan afgesloten. Als dit gebeurt, log dan in via de VNC- of seriële console van uw provider en voer ufw disable uit.

Welke poorten moet ik openen op een VPS?

Alleen de poorten die u publiek toegankelijk maakt. SSH (22/tcp) voor beheer van de server, en HTTP en HTTPS (80/tcp, 443/tcp) als u een website host. Laat alle andere poorten geblokkeerd. Interne diensten zoals databases moeten binden aan 127.0.0.1 en mogen geen firewall-regel krijgen. Hierdoor zijn ze nooit bereikbaar via het netwerk.

Ondersteunt UFW IPv6?

Op moderne Ubuntu-systemen wel: IPV6=yes staat ingesteld in /etc/default/ufw. Hierdoor geldt elke regel voor beide protocollen en toont ufw status de IPv6-regels met een (v6) suffix. Mogelijke fouten worden beschreven in de IPv6 firewall trap.

Hoe verwijder ik een UFW-regel?

Voer sudo ufw status numbered uit om de regels met indexnummers te tonen. Gebruik daarna sudo ufw delete N waarbij N het nummer is van de regel die u wilt verwijderen. U kunt ook verwijderen op basis van specificaties, bijvoorbeeld met sudo ufw delete allow 80/tcp.

Hoe sta ik een poort toe voor slechts één IP-adres?

Gebruik een from regel in plaats van een standaard allow regel. Om alleen uw kantooradres toegang te geven tot PostgreSQL, voert u sudo ufw allow from 10.0.0.10 to any port 5432 proto tcp uit. Bij een standaard 'deny'-beleid is de poort voor iedereen gesloten totdat een regel deze opent. Deze from regel is de enige manier: het hele internet blijft geblokkeerd en alleen het opgegeven adres krijgt toegang. Voeg geen gewone allow 5432/tcp regel toe, want dan wordt de poort voor iedereen geopend. Dit is de veiligste methode om een database of een admin-paneel te ontsluiten. Controleer dit met sudo ufw status verbose, waarmee het bronadres naast de poort wordt getoond.