UFW (Uncomplicated Firewall)¶
Achtergrondinformatie
-
UFW (Uncomplicated Firewall): ontwikkeld door Canonical (het bedrijf achter Ubuntu) als een eenvoudige interface bovenop iptables en tegenwoordig nftables.
Het doel is om firewallbeheer voor systeembeheerders en eindgebruikers eenvoudiger te maken. -
Firewall-functie: een firewall bepaalt welk netwerkverkeer wel of niet toegestaan wordt.
UFW biedt een duidelijke syntax voor veelgebruikte taken zoals poorten openen/sluiten en services toestaan.
Alternatieven
- firewalld (veel gebruikt op RHEL/CentOS/Fedora)
- iptables/nftables (low-level, complexer, meer controle)
1. Controleren of UFW al aanwezig is¶
Handleiding¶
2. Installatie¶
Voorbeeld output
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
ufw
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 165 kB of archives.
After this operation, 1,200 kB of additional disk space will be used.
Selecting previously unselected package ufw.
(Reading database ... 105000 files and directories currently installed.)
Preparing to unpack .../archives/ufw_0.36-7.1_all.deb ...
Unpacking ufw (0.36-7.1) ...
Setting up ufw (0.36-7.1) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for systemd (249.11-0ubuntu3.6) ...
3. UFW beheren¶
Wanneer UFW is geรฏnstalleerd, moet de service geactiveerd en gestart worden zodat firewallregels toegepast worden. Hieronder zie je de belangrijkste commandoโs en hun functie:
-
Commandoโs
- Zorgt ervoor dat UFW automatisch start bij het opstarten van het systeem. - Start UFW direct, zodat je firewallregels meteen actief zijn. - Controleert de huidige status van UFW en toont of deze actief draait. -
Voorbeeld output
systemctl enable ufwsystemctl status ufwโ ufw.service - Uncomplicated firewall Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2023-01-10 12:34:56 UTC; 10s ago Main PID: 2345 (ufw) Tasks: 1 (limit: 1111) Memory: 1.5M CGroup: /system.slice/ufw.service โโ2345 /lib/ufw/ufw-init start quiet
4. UFW gebruiken¶
Met UFW kun je eenvoudig firewallregels beheren om toegang tot services, poorten of IP-adressen te regelen.
Toestaan of blokkeren van applicaties die in UFW zijn geregistreerd (bijv. OpenSSH, Apache, Nginx).
Toestaan of blokkeren van verkeer op specifieke poorten.
Praktisch voorbeeld:
- Poort 80 (HTTP) toestaan
- Poort 25 (SMTP) blokkeren
Beperk toegang per bron-IP-adres.
Voorbeeld:
- Alleen 192.168.1.50 mag verbinden
- Verkeer van 10.0.0.5 wordt geblokkeerd
Stel de standaardregels in voor inkomend en uitgaand verkeer.
Uitleg:
- deny incoming blokkeert standaard al het inkomende verkeer, tenzij expliciet toegestaan.
- allow outgoing laat standaard al het uitgaande verkeer toe.
Controleer de huidige status van UFW:
Voor meer details:
Extra nuttige commandoโs (UFW)¶
Toon alle regels met een nummer, handig voor verwijderen of wijzigen:
Verwijder een regel op basis van het nummer uit de lijst:
Dit verwijdert regel 3 uit het overzicht.
Herstel UFW naar de standaardinstellingen (alle regels worden verwijderd):
Waarschuwing
Dit verwijdert alle bestaande firewallregels. Gebruik dit alleen als je helemaal opnieuw wilt beginnen.
Zet logging van UFW aan voor troubleshooting:
Controleer de logbestanden in:
Logging en Debugging (UFW)¶
Wanneer je problemen hebt met UFW of firewall-regels die niet werken zoals verwacht, kan logging en debugging je helpen.
Standaard staat logging vaak uit. Zet het aan met:
Niveaus zijn off, low, medium, high, en full:
De UFW-logs vind je hier:
Of live meekijken:
Configuratiebestanden (UFW)¶
Het hoofdconfiguratiebestand van UFW.
Hier stel je o.a. in:
- Of UFW bij het opstarten automatisch geactiveerd moet worden (ENABLED=yes/no)
- Basisinstellingen voor logging en firewallstatus
Hier vind je de standaard UFW-instellingen.
Bijvoorbeeld:
- Standaardbeleid voor inkomend verkeer (DEFAULT_INPUT_POLICY)
- Standaardbeleid voor uitgaand verkeer (DEFAULT_OUTPUT_POLICY)
- IPV6-ondersteuning (IPV6=yes/no)
Bevat configuratiebestanden voor toepassingsprofielen.
Deze profielen maken het makkelijker om verkeer toe te staan of te blokkeren per applicatie.
Voorbeelden:
- OpenSSH
- Apache
- Nginx
Gebruikbare commandoโs:
Het logbestand waarin alle firewallacties van UFW worden geregistreerd.
Hier zie je o.a. welke verbindingen zijn toegestaan of geblokkeerd.
UFW volledig verwijderen (Debian/Ubuntu)¶
Ja, het is technisch mogelijk om UFW (Uncomplicated Firewall) volledig te verwijderen,
maar dit wordt alleen aangeraden als je een alternatief firewall-systeem gebruikt (bijv. iptables of nftables)
of helemaal geen firewall nodig hebt (alleen in een testomgeving).
Als je UFW verwijdert zonder alternatief, kan je server onbeveiligd worden.
Verwijder het pakket¶
Verwijder configuratiebestanden¶
Verwijder logbestanden¶
Let op
Het verwijderen van UFW kan leiden tot een onbeveiligde server.
Overweeg dit alleen in een testomgeving of wanneer je zeker weet dat je een alternatief
(zoals iptables of nftables) hebt geconfigureerd.
Hardening Tips¶
Aanbevelingen voor extra veiligheid
-
Standaardbeleid instellen
Zorg dat alleen expliciet toegestane verbindingen worden geaccepteerd:
-
Alleen noodzakelijke poorten openstellen
Sta enkel verkeer toe dat รฉcht nodig is, bijvoorbeeld alleen SSH en HTTP/HTTPS:
-
Beperk toegang per IP-adres
Laat bijvoorbeeld alleen een specifiek IP toe tot SSH:
-
Gebruik applicatieprofielen
Controleer welke applicaties beschikbaar zijn en sta ze gericht toe:
-
Logging inschakelen
Zet logging aan om verdachte pogingen bij te houden:
-
Rate limiting gebruiken
Bescherm tegen brute-force SSH-aanvallen door limieten te activeren:
-
IPv6 configureren
Als je server IPv6 gebruikt, zorg dat/etc/ufw/ufw.confdit ondersteunt:
-
Controleer en test regels regelmatig
Bekijk de status in detail:
โ
Met deze maatregelen is je firewall strakker beveiligd en beperk je risicoโs tot het minimum.
Na elke wijziging altijd even controleren: