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.
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:
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 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:
U kunt uiteraard ook uw eigen IP-adres invoeren.
Wanneer u klaar bent, schakelt u ufw in door het volgende in te voeren:
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 enable
Om de huidige configuratie te bekijken, voert u eenvoudigweg het volgende in:
Als ufw niet is ingeschakeld, wordt er simpelweg een 'inactief' bericht weergegeven. Anders worden de momenteel gedefinieerde regels weergegeven.