Hoe UFW Firewall in te stellen op Ubuntu en Debian

A correctly functioning firewall is the most crucial part of the complete Linux system security. By default, Debian and Ubuntu distribution comes with a firewall configuration tool called UFW (Uncomplicated Firewall), is a most popular and easy-to-use command line tool for configuring and managing a firewall on Ubuntu and Debian distributions.

In dit artikel zullen we uitleggen hoe je een UFW firewall installeert en configureert op Ubuntu en Debian distributies.

Vereisten

Voordat je begint met dit artikel, zorg ervoor dat je bent ingelogd op je Ubuntu- of Debian-server met een sudo-gebruiker of met het rootaccount. Als je geen sudo-gebruiker hebt, kun je er een aanmaken met de volgende instructies als rootgebruiker.

# adduser username
# usermod -aG sudo username 
# su - username
$ sudo whoami

Installeer UFW Firewall op Ubuntu en Debian

De UFW (Uncomplicated Firewall) moet standaard geïnstalleerd zijn in Ubuntu en Debian. Zo niet, installeer het dan met behulp van de APT-pakketbeheerder met de volgende opdracht.

$ sudo apt install ufw

Controleer UFW Firewall

Zodra de installatie is voltooid, kun je de status van UFW controleren door het volgende te typen.

$ sudo ufw status verbose

Bij eerste installatie is de UFW-firewall standaard uitgeschakeld. De uitvoer zal vergelijkbaar zijn met hieronder.

Status: inactive

Activeer UFW Firewall

Je kunt de UFW-firewall activeren of inschakelen met de volgende opdracht, waarmee de firewall wordt geladen en deze wordt ingeschakeld om bij het opstarten te starten.

$ sudo ufw enable

Om de UFW-firewall uit te schakelen, gebruik je de volgende opdracht, waarmee de firewall wordt gelost en wordt voorkomen dat deze bij het opstarten wordt gestart.

$ sudo ufw disable 

UFW Standaardbeleid

Standaard blokkeert de UFW firewall alle inkomende verbindingen en staat alleen alle uitgaande verbindingen naar de server toe. Dit betekent dat niemand toegang heeft tot je server, tenzij je specifiek de poort opent, terwijl alle draaiende services of applicaties op je server wel toegang hebben tot het externe netwerk.

De standaard UFW firewall beleidsregels worden geplaatst in het bestand /etc/default/ufw en kunnen worden gewijzigd met behulp van de volgende opdracht.

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

UFW-toepassingsprofielen

Bij het installeren van een softwarepakket met behulp van het APT pakketbeheer, zal het een toepassingsprofiel bevatten in de map /etc/ufw/applications.d die de service definieert en UFW-instellingen bevat.

Je kunt alle beschikbare toepassingsprofielen op je server vermelden met behulp van de volgende opdracht.

$ sudo ufw app list

Afhankelijk van de geïnstalleerde softwarepakketten op je systeem zal de uitvoer er ongeveer als volgt uitzien:

Available applications:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

Als je meer informatie wilt over een specifiek profiel en de gedefinieerde regels, kun je de volgende opdracht gebruiken.

$ sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

Schakel IPv6 in met UFW

Als je server geconfigureerd is met IPv6, zorg er dan voor dat je UFW is geconfigureerd met IPv6– en IPv4-ondersteuning. Controleer dit door het UFW-configuratiebestand te openen met je favoriete editor.

$ sudo vi /etc/default/ufw

Zorg er vervolgens voor dat “IPV6” is ingesteld op "yes" in het configuratiebestand zoals weergegeven.

IPV6=yes

Sla op en verlaat. Start vervolgens je firewall opnieuw op met de volgende opdrachten:

$ sudo ufw disable
$ sudo ufw enable

SSH-verbindingen toestaan op UFW

Als je de UFW-firewall hebt ingeschakeld, zou het alle inkomende verbindingen blokkeren en als je verbonden bent met je server via SSH vanaf een externe locatie, zul je niet langer in staat zijn om opnieuw verbinding te maken.

Laten we SSH-verbindingen naar onze server inschakelen om te voorkomen dat dit gebeurt met behulp van het volgende commando:

$ sudo ufw allow ssh

Als je een aangepaste SSH-poort gebruikt (bijvoorbeeld poort 2222), dan moet je die poort openen in de UFW-firewall met behulp van het volgende commando.

$ sudo ufw allow 2222/tcp

Om alle SSH-verbindingen te blokkeren, typ je het volgende commando.

$ sudo ufw deny ssh/tcp
$ sudo ufw deny 2222/tcp  [If using custom SSH port]

Specifieke Poorten inschakelen op UFW

Je kunt ook een specifieke poort in de firewall openen om verbindingen via die poort naar een bepaalde service toe te staan. Bijvoorbeeld, als je een webserver wilt opzetten die standaard luistert op poort 80 (HTTP) en 443 (HTTPS).

Hier zijn enkele voorbeelden van hoe je inkomende verbindingen naar Apache-services kunt toestaan.

Open Poort 80 HTTP op UFW
$ sudo ufw allow http     [By service name]
$ sudo ufw allow 80/tcp   [By port number]
$ sudo ufw allow 'Apache' [By application profile]
Open Poort 443 HTTPS op UFW
$ sudo ufw allow https
$ sudo ufw allow 443/tcp
$ sudo ufw allow 'Apache Secure'

Poortreeksen toestaan op UFW

Als je enkele toepassingen hebt die je wilt uitvoeren op een reeks poorten (5000-5003), dan kun je al deze poorten toevoegen met behulp van de volgende commando’s.

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

Specifieke IP-adressen toestaan

Als je verbindingen op alle poorten van een specifiek IP-adres 192.168.56.1 wilt toestaan, dan moet je ‘from’ vóór het IP-adres specificeren.

$ sudo ufw allow from 192.168.56.1

Specifieke IP-adressen toestaan op een specifieke poort

Om verbinding op een specifieke poort toe te staan (bijvoorbeeld poort 22) vanaf je thuiscomputer met IP-adres 192.168.56.1, moet je elke poort en het poortnummer na het IP-adres toevoegen zoals getoond.

$ sudo ufw allow from 192.168.56.1 to any port 22

Netwerkschakels toestaan naar Specifieke Poort

Om verbindingen toe te staan voor specifieke IP-adressen variërend van 192.168.1.1 tot 192.168.1.254 naar poort 22 (SSH), voer het volgende commando uit.

$ sudo ufw allow from 192.168.1.0/24 to any port 22

Specifiek Netwerkinterface Toestaan

Om verbindingen toe te staan naar specifieke netwerkinterface eth2 voor een specifieke poort 22 (SSH), voer het volgende commando uit.

$ sudo ufw allow in on eth2 to any port 22

Verbindingen Weigeren op UFW

Standaard zijn alle inkomende verbindingen geblokkeerd, tenzij je specifiek de verbinding hebt geopend op UFW. Bijvoorbeeld, je hebt de poorten 80 en 443 geopend en je webserver wordt aangevallen vanuit het onbekende netwerk 11.12.13.0/24.

Om alle verbindingen van dit specifieke 11.12.13.0/24 netwerkbereik te blokkeren, kun je het volgende commando gebruiken.

$ sudo ufw deny from 11.12.13.0/24

Als je alleen verbindingen op poorten 80 en 443 wilt blokkeren, kun je de volgende commando’s gebruiken.

$ sudo ufw deny from 11.12.13.0/24 to any port 80
$ sudo ufw deny from 11.12.13.0/24 to any port 443

UFW-regels Verwijderen

Er zijn 2 manieren om UFW-regels te verwijderen, op basis van regelnummer en op basis van daadwerkelijke regel.

Om een UFW-regel te verwijderen door gebruik te maken van regelnummer, moet je eerst de regels met nummers weergeven met behulp van het volgende commando.

$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere

Om regelnummer 1 te verwijderen, gebruik het volgende commando.

$ sudo ufw delete 1

De tweede methode is om een regel te verwijderen door gebruik te maken van de daadwerkelijke regel, bijvoorbeeld om een regel te verwijderen, specificeer het poortnummer met protocol zoals getoond.

$ sudo ufw delete allow 22/tcp

UFW-regels testen

Je kunt alle ufw-commando’s uitvoeren zonder daadwerkelijk wijzigingen aan te brengen in de systeemfirewall met behulp van de --dry-run vlag, dit laat eenvoudigweg de wijzigingen zien die zouden moeten plaatsvinden.

$ sudo ufw --dry-run enable

UFW-firewall resetten

Om welke reden dan ook, als je alle firewallregels wilt verwijderen/resetten, typ de volgende commando’s, dit zal al je wijzigingen terugdraaien en opnieuw beginnen.

$ sudo ufw reset
$ sudo ufw status

Geavanceerde functionaliteit van UFW

De UFW firewall kan alles beheren wat iptables doet. Dit kan worden gedaan met verschillende sets regelbestanden, die niets anders zijn dan eenvoudige iptables-restore tekstbestanden.

Het afstemmen van de UFW-firewall of het toevoegen van extra iptables-commando’s is niet toegestaan via het ufw-commando, het is slechts een kwestie van het aanpassen van de volgende tekstbestanden

  • /etc/default/ufw: Het hoofdconfiguratiebestand met vooraf gedefinieerde regels.
  • /etc/ufw/before[6].rules: In dit bestand worden regels berekend voordat ze worden toegevoegd via het ufw-commando.
  • /etc/ufw/after[6].rules: In dit bestand worden regels berekend nadat ze zijn toegevoegd via het ufw-commando.
  • /etc/ufw/sysctl.conf: Dit bestand wordt gebruikt om de kernelnetwerk af te stemmen.
  • /etc/ufw/ufw.conf: Dit bestand activeert de ufw bij het opstarten.

Dat is het! UFW is een uitstekende front-end voor iptables met een gebruikersvriendelijke interface om complexe regels te definiëren met één ufw-opdracht.

Als je vragen hebt of gedachten wilt delen over dit ufw-artikel, gebruik dan het reactieformulier hieronder om ons te bereiken.

Source:
https://www.tecmint.com/setup-ufw-firewall-on-ubuntu-and-debian/