Miklix

Hoe u een firewall op Ubuntu Server instelt

Gepubliceerd: 15 februari 2025 om 21:34:08 UTC

In dit artikel worden enkele voorbeelden gegeven van hoe u een firewall op GNU/Linux kunt instellen met behulp van ufw, wat staat voor Uncomplicated FireWall. De naam is toepasselijk, want het is een heel eenvoudige manier om ervoor te zorgen dat u niet meer poorten open hebt staan dan nodig is.


Deze pagina is machinaal uit het Engels vertaald om hem voor zoveel mogelijk mensen toegankelijk te maken. Helaas is machinevertaling nog geen geperfectioneerde technologie, dus er kunnen fouten optreden. Als je dat liever hebt, kun je hier de originele Engelse versie bekijken:

How to Set Up a Firewall on Ubuntu Server

De informatie in dit bericht is gebaseerd op Ubuntu Server 14.04 x64. Het kan wel of niet geldig zijn voor andere versies. (Update: Ik kan bevestigen dat de informatie in dit bericht in principe nog steeds geldig en functioneel is vanaf Ubuntu Server 24.04, maar in de tussenliggende 10 jaar is ufw enigszins "slimmer" geworden door profielen te hebben voor algemene servertoepassingen (u kunt bijvoorbeeld "Nginx full" inschakelen in plaats van poorten 80 en 443 afzonderlijk) en het is niet langer nodig om de hele firewall uit/in te schakelen om nieuwe regels toe te passen)

Toen ik net begon met GNU/Linux (Ubuntu) servers, betekende het instellen van een firewall dat ik handmatig een potentieel complex configuratiebestand voor iptables moest maken en onderhouden. Ik heb echter onlangs ufw ontdekt, wat staat voor Uncomplicated Firewall – en dat is het echt :-)

Op mijn installatie van Ubuntu Server 14.04 was ufw al geïnstalleerd, maar als dat bij jou niet het geval is, kun je het gewoon installeren vanuit de repositories:

sudo apt-get install ufw

UFW is eigenlijk gewoon een tool die de iptables-configuratie vereenvoudigt – achter de schermen zijn het nog steeds iptables en de Linux-kernelfirewall die de filtering doen, dus ufw is niet minder of veiliger dan deze. Omdat ufw het echter een stuk eenvoudiger maakt om een firewall correct te configureren, kan het de kans op menselijke fouten verkleinen en is het daarom mogelijk veiliger voor onervaren beheerders.

Als uw server is geconfigureerd met zowel IPv6 als IPv4, zorg er dan voor dat dit ook is ingeschakeld voor UFW. Bewerk het bestand /etc/default/ufw en zoek naar een regel met IPV6=yes . Op mijn installatie stond het er al, maar als het dat niet is of als er no staat, moet u het bewerken

Gebruik dan gewoon de opdrachtprompt om de poorten die u wilt openen in te schakelen. Als u via ssh met uw server bent verbonden, zorg er dan voor dat u dat ook toestaat, anders kan het uw verbinding verstoren en u mogelijk buitensluiten van uw server wanneer u deze activeert - afhankelijk van of u fysieke toegang tot de server hebt of niet, kan dit nogal onhandig zijn ;-)

Als u bijvoorbeeld ssh gebruikt op de standaardpoort 22 en u configureert een webserver die zowel ongecodeerde (HTTP op poort 80) als gecodeerde (HTTPS op poort 443) verbindingen ondersteunt, geeft u de volgende opdrachten om ufw te configureren:

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

Als u meer regels nodig hebt, voegt u ze eenvoudig toe zoals hierboven.

Als u een statisch IP-adres hebt en alleen vanaf één locatie verbinding via ssh hoeft te maken, kunt u ssh-verbindingen ook beperken tot één herkomstadres, zoals dit:

sudo ufw allow from 192.168.0.1 to any port 22

U kunt uiteraard ook uw eigen IP-adres invoeren.

Wanneer u klaar bent, schakelt u ufw in door het volgende in te voeren:

sudo ufw enable

En je bent klaar! De firewall draait en start automatisch op wanneer je je server opnieuw opstart :-)

Als u wijzigingen aanbrengt in de ufw-configuratie, moet u deze mogelijk uitschakelen en weer inschakelen om de wijzigingen door te voeren, zoals hier:

sudo ufw disable
sudo ufw enable

Om de huidige configuratie te bekijken, voert u eenvoudigweg het volgende in:

sudo ufw status

Als ufw niet is ingeschakeld, wordt er simpelweg een 'inactief' bericht weergegeven. Anders worden de momenteel gedefinieerde regels weergegeven.

Delen op BlueskyDelen op FacebookDelen op LinkedInDelen op TumblrDelen op XDelen op LinkedInPin op Pinterest

Mikkel Bang Christensen

Over de auteur

Mikkel Bang Christensen
Mikkel is de bedenker en eigenaar van miklix.com. Hij heeft meer dan 20 jaar ervaring als professioneel computerprogrammeur/softwareontwikkelaar en werkt momenteel fulltime voor een groot Europees IT-bedrijf. Als hij niet blogt, besteedt hij zijn vrije tijd aan een breed scala aan interesses, hobby's en activiteiten, die tot op zekere hoogte weerspiegeld kunnen worden in de verscheidenheid aan onderwerpen op deze website.