Hoe de UFW Firewall op Linux In te Stellen

Zonder een firewall zijn er geen regels of beperkingen voor uw netwerkverkeer en dat leidt tot een aantal negatieve gevolgen. Het Linux-systeem wordt geleverd met een standaard firewallconfiguratietool, genaamd Uncomplicated Firewall (UFW). Maar hoe stelt u een UFW-firewall in? Leun achterover en ontspan, deze tutorial heeft u gedekt!

In deze tutorial leert u hoe u UFW configureert en een firewall op uw Linux-systeem instelt om uw netwerk te beveiligen en kwaadwillige handelingen af te weren.

Klaar? Lees verder om aan de slag te gaan!

Vereisten

Deze tutorial is een praktische demonstratie. Als u wilt meedoen, zorg er dan voor dat u het volgende heeft:

  • Een Ubuntu-machine – Deze tutorial maakt gebruik van Ubuntu 20.04 LTS, maar andere Linux-distributies zullen ook werken.
  • Rootrechten op uw machine.

UFW installeren en IPv6-verbinding inschakelen

Hoewel UFW standaard wordt meegeleverd met uw Ubuntu-systeem, is UFW niet standaard geïnstalleerd. Installeer UFW eerst met de apt-pakketbeheerder en configureer het om verbindingen via IPv6 toe te staan.

1. Open uw terminal en voer de volgende opdracht uit om uw lokale pakketindex bij te werken: apt update. Accepteer alle prompts (-y) tijdens de update voor minder gebruikersinterventie.

sudo apt update -y
Updating the System Package

2. Voer vervolgens de onderstaande opdracht uit om UFW te installeren (install uwf) op uw systeem en accepteer alle prompts (-y) tijdens de installatie.

sudo apt install ufw -y
Installing UFW on Ubuntu

3. Open het configuratiebestand van UFW (/etc/default/ufw) met uw favoriete teksteditor. UFW ondersteunt IPv6, maar zorg ervoor dat de firewall is geconfigureerd om verbindingen via IPv6 toe te staan.

Als u alleen IPv4 ingeschakeld heeft, stelt u zich nog steeds bloot aan IPv6-aanvallen.

4. Ga naar de variabele IPV6 en stel de waarde in op yes, zoals hieronder weergegeven. Sla vervolgens de wijzigingen op en sluit de editor af.

Enabling IPV6 in the UFW Configuration File

5. Voer tot slot de onderstaande opdracht uit om UFW uit te schakelen en opnieuw in te schakelen. De opdracht herstart de UFW-service zodat de wijzigingen van kracht kunnen worden.

Nadat de opdracht is voltooid, kan uw firewall nu zowel IPv4- als IPv6-firewallregels schrijven.

sudo ufw disable && sudo ufw enable

Configuratie van Standaardbeleid voor Firewallregels

Als u net begint met UFW, wordt aangeraden een standaardbeleid in te stellen voor uw regels. De standaardbeleidsregels worden toegepast op een keten waarin nog geen specifieke regels zijn gedefinieerd.

Stel UFW in om alle inkomende verbindingen te weigeren en alle uitgaande verbindingen toe te staan. Hierdoor wordt iedereen die probeert verbinding te maken met uw machine vanuit de buitenwereld geweigerd, terwijl u nog steeds vrijelijk verbinding kunt maken met elke website of server.

Voer de ufw-opdracht hieronder uit om standaard alle inkomende verbindingen te weigeren.

sudo ufw default deny incoming
Denying Incoming Network Traffics

Voer nu de volgende opdracht uit om standaard alle uitgaande verbindingen toe te staan.

sudo ufw default allow outgoing
Allowing Outgoing Network Traffics

Het toestaan van SSH-verbindingen op de UFW-firewall

Je hebt zojuist standaardbeleidsregels ingesteld op je UFW-firewall om al het inkomende verkeer te weigeren, en de “alles toestaan-alles weigeren” regel is een goede instelling voor een gewone gebruiker. Maar wat als je een server draait? Dan moet je specifiek verkeer toestaan in en uit. Het toestaan van SSH-verbinding op je UFW-firewall zal de truc doen om specifiek verkeer toe te staan in en uit.

Je zult een SSH-server opzetten die inkomende SSH-verbindingen op poort 22 toestaat. Maar waarom poort 22 en niet een andere poort? Op Unix-achtige systemen luistert de SSH-daemon standaard op poort 22, dus het is een goede gewoonte om de standaard SSH-poort te gebruiken om je leven wat gemakkelijker te maken.

1. Voer de onderstaande opdrachten uit om de OpenSSH-server (install openssh-server) op je systeem te installeren en een OpenSSH-server te starten (start ssh).

sudo apt install openssh-server -y
sudo systemctl start ssh

2. Voer nu de opdracht hieronder uit om inkomende SSH-verbindingen toe te staan. Zonder poort 22 te specificeren is voldoende, aangezien UFW weet welke poort voor SSH is.

sudo ufw allow ssh
Allowing SSH connection

Het /etc/services-bestand bevat een lijst met alle beschikbare services op uw systeem. Open het bestand in uw teksteditor, scroll naar beneden naar ssh en bekijk het poortnummer (22) dat deel uitmaakt van de servicebeschrijving, zoals hieronder weergegeven.

Previewing the /etc/services file

Maar misschien geeft u er de voorkeur aan om het poortnummer (22) op te geven om SSH mogelijk te maken. Voer in dat geval het volgende commando uit.

sudo ufw allow 22

3. Voer nu het onderstaande commando uit om UFW in te schakelen.

sudo ufw enable

Type Y in de bevestigingsprompt, zoals hieronder weergegeven, en druk op Enter om het commando uit te voeren. UFW begint nu pakketten te filteren op uw systeem.

Enabling UFW

4. Voer tot slot een van de onderstaande commando’s uit om de status van uw UFW-firewall te controleren.

## Geeft gedetailleerdere informatie weer, zoals de interface en 
## de huidige voortgang van het pakket
sudo ufw status verbose
## Toont elke regel met een nummer en de bijbehorende toestaan ​​of weigeren-status
## De genummerde modus is handig wanneer u een regelset hier en daar probeert te verwijderen
sudo ufw status numbered

Als u het commando met de verbose-optie uitvoert, ziet u een output vergelijkbaar met de onderstaande:

  • Status: actief – Geeft aan dat de firewall momenteel actief is.
  • Logging: aan (laag) – Geeft aan dat UFW alle pakketten logt die door de firewall worden verwerkt.
  • Standaard: weigeren (inkomend), toestaan (uitgaand), uitgeschakeld (gerouteerd) – Geeft aan dat het standaardbeleid is om alle inkomende verbindingen te weigeren en alle uitgaande verbindingen toe te staan.
  • Nieuwe profielen: overslaan – Geeft aan dat de firewall momenteel de standaard set regels gebruikt.
Checking verbose UFW firewall status

Als je het commando uitvoert met de genummerd optie, zie je de onderstaande uitvoer. Je ziet een lijst met genummerde regels en hun overeenkomstige TOESTAAN of WEIGEREN status.

Viewing the UW Firewall status in a numbered list

HTTP- en HTTPS-verbindingen toestaan

Op dit punt heb je alleen SSH-verbindingen toegestaan op je UFW-firewall, maar dat beperkt de mogelijkheden van je server. Sta andere soorten verbindingen toe, zoals HTTP of HTTPS, en voeg meer regels toe aan de UFW-firewall.

Voer een van de volgende commando’s uit om inkomende HTTP-verbindingen toe te staan.

## HTTP-verbinding gebruikt poort 80 (niet beveiligd)
sudo ufw allow 80
sudo ufw allow http
Allowing HTTP connections

Voer nu een van de onderstaande commando’s uit om inkomende HTTPS-verbindingen toe te staan.

sudo ufw allow https
## HTTPS-verbinding gebruikt poort 443 (beveiligd)
sudo ufw allow 443
Allowing incoming HTTPS connections.

Verbindingen van specifieke poortreeks en IP-adres toestaan

Sommige toepassingen gebruiken meerdere poorten om hun diensten aan te bieden. En misschien heb je een reeks poorten om te openen of moet je verbinding toestaan vanaf een specifiek IP-adres. Voeg in dat geval meer UFW-firewallregels toe.

Voer de onderstaande commando’s uit om inkomende verbindingen op poorten 5001 tot 5009 toe te staan. Je moet altijd het protocol specificeren (tcp of udp) na het poortbereik waarop de regels van toepassing zijn omdat niet alle poorten door beide protocollen worden gebruikt.

Bijvoorbeeld, veelgebruikte TCP-poorten zijn 80 (HTTP) en 443 (HTTPS). Maar veel voorkomende UDP-poorten zijn 53 (DNS) en 67/68 (DHCP).

sudo ufw allow 5001:5010/tcp
sudo ufw allow 5001:5010/udp
Allowing traffic on 5001:5010 port range

Voer in plaats daarvan het onderstaande commando uit als je SSH-verbindingen vanaf een specifiek IP-adres wilt toestaan. Het commando staat alleen SSH-verbindingen (poort 22) toe vanaf het IP-adres 192.168.1.2.

sudo ufw allow from 192.168.1.2 to any port 22
Allowing SSH Connections from Specific IP Address

Verkeer toestaan vanaf een specifiek netwerkinterface

UFW staat ook toe om verkeer alleen op een specifieke netwerkinterface toe te staan, zoals eth0 de eerste Ethernet-interface is en wlan0 de eerste Wi-Fi-interface is.

Voer een van de onderstaande commando’s uit om alleen HTTP-verbindingen toe te staan op de eth0 en wlan0 interfaces.

## Sta alleen HTTP-verbindingen toe op de eth0-interface
sudo ufw allow in on eth0 to any port 80
## Sta alleen HTTP-verbindingen toe op de wlan0-interface
sudo ufw allow in on wlan0 to any port 80
Allowing traffic on a specific interface

Verwijderen van UFW Firewall-regels

Misschien dienen sommige UFW-firewallregels niet langer een doel. In dat geval wilt u mogelijk enkele regels uit UFW verwijderen. Maar eerst moet u weten of het nummer of de naam van de te verwijderen regel.

1. Voer de onderstaande opdracht uit om een genummerde lijst van de toegevoegde regels aan UFW te krijgen.

sudo ufw status numbered

Noteer het regelnummer of de naam in de uitvoer, zoals hieronder wordt weergegeven.

Previewing all the rules

2. Voer vervolgens de opdracht hieronder uit om regelnummer 4 te verwijderen, dat is het poortbereik 5001:5010/tcp.

sudo ufw delete 4
Deleting a Rule by Rule Number

3. Voer de onderstaande opdracht uit om een regel te verwijderen op basis van de werkelijke naam met de status toestaan. In dit voorbeeld zou u de http-regel verwijderen door de volgende opdracht uit te voeren.

sudo ufw delete allow http
Deleting a Rule by Rule Name (http)

4. Voer nu de volgende opdracht uit om een regel te verwijderen door een poortnummer op te geven (443) met de status toestaan.

sudo ufw delete allow 443
Deleting a Rule by Port Number (443)

5. Voer tot slot de volgende opdracht opnieuw uit zoals u deed in stap één om alle regels te tonen.

sudo ufw status numbered

Zoals hieronder te zien is, zijn de regels voor het poortbereik 5001:5010/tcp, de http en de poort 443 nu verdwenen.

Checking the firewall rules

Het resetten van de UFW Firewall

Soms moet u mogelijk UFW resetten naar de standaardinstellingen, bijvoorbeeld na het configureren van een groot aantal regels. Een update kan uw configuratie wijzigen, waardoor u UFW opnieuw moet configureren en mogelijk opnieuw moet beginnen.

Voer de onderstaande opdracht ufw reset uit om al uw firewallregels terug te zetten naar de standaardinstellingen. Deze opdracht schakelt UFW uit en verwijdert al uw huidige firewallregels.

sudo ufw reset

Typ ‘Y’ en druk op Enter om uw UFW-firewall opnieuw in te stellen.

Resetting UFW

Na de reset is voltooid, heeft u een nieuwe installatie van UFW volledig uitgeschakeld, en zelfs uw standaardbeleid is verdwenen.

Voer nu het onderstaande commando uit om UFW opnieuw in te schakelen en uw firewallregels vanaf het begin te configureren.

sudo ufw enable

Als u besluit UFW niet meer te willen gebruiken, dan hoeft u het niet opnieuw in te schakelen. Of voer het onderstaande commando uit om ervoor te zorgen dat UFW is uitgeschakeld.

sudo ufw disable
Disabling UFW firewall

Conclusie

Door deze tutorial heen heeft u gemerkt dat het opzetten van een firewall niet al te ontmoedigend is wanneer u UFW gebruikt. U zou nu een goed begrip moeten hebben van hoe u uw eigen regels kunt instellen en implementeren met UFW op Ubuntu.

Waarom bouwt u niet voort op deze nieuw verworven kennis door meer te leren over UFW en Docker Security op een Linux-machine?

Source:
https://adamtheautomator.com/ufw-firewall/