U vraagt, wij geven antwoord!

Hoe de Ubuntu firewall te gebruiken

Hoe de Ubuntu firewall te gebruiken hoofdillustratie

Wat is UFW

De meeste systeembeheerders houden er niet van om netwerkbeveiligingstoepassingen, zoals firewalls, op afstand te configureren. Deze applicaties blokkeren standaard de toegang van buitenaf voor alle applicaties, behalve voor die welke duidelijk zijn aangegeven als toegestaan.

Als er een fout optreedt, kunt u de controle over het netwerk op afstand verliezen. We hebben deze handleiding specifiek gemaakt zodat u de correcte procedure voor het instellen van een standaard UFW-firewall op het Ubuntu Linux-besturingssysteem opnieuw kunt zien.

Als je dieper graaft, is UFW eigenlijk geen firewall. Het is gewoon een handige utility waarmee je de netfilter kunt configureren die is ingebouwd in de Linux-kernel sinds 2.4. Er is geen manier om netfilter direct te configureren, dus voor dit doel is de iptables utility geschreven.

Nou, UFW maakte het mogelijk om dit proces verder te vereenvoudigen, waardoor het mogelijk was om snel regels te beheren zonder de noodzaak om configuratiebestanden te schrijven of de iptables handleiding zorgvuldig te lezen. Dit is wat eigenlijk gecodeerd is in het acroniem UFW: Uncomplicated Firewall.

Waarom UFW standaard uitgeschakeld is

Zodra het Ubuntu-besturingssysteem op een server is geïnstalleerd, heeft het standaard geen enkele open poort die door een firewall moet worden beschermd. Daarom blijft UFW, zelfs als het is geïnstalleerd, in een inactieve toestand totdat de gebruiker bescherming moet configureren. Het belangrijkste om te onthouden is dat voordat je de firewall inschakelt, je moet zorgen dat je jezelf niet van de weg naar de serverconfiguratie berooft door dit te doen.

Bijvoorbeeld, als u de server beheert met een SSH-verbinding, dan moet u voordat u de firewall activeert, duidelijk aangeven dat OpenSSH-daemon poort 22 mag gebruiken (of een andere, indien geconfigureerd) en verbindingen van buitenaf moet accepteren, en ze niet moet weggooien, zoals is geïmplementeerd voor alle externe verbindingen standaard. Hiervoor moet je ofwel een kant-en-klaar OpenSSH-toepassingsprofiel gebruiken of je eigen regel creëren.

UFW status

Laten we eerst zorgen dat UFW in het besturingssysteem zit. Doe dit door de opdracht uit te voeren:

sudo ufw status verbose

Als u het volgende antwoord ontvangt, betekent dit dat UFW op het besturingssysteem is geïnstalleerd, maar zoals hierboven vermeld, is het inactief:

Status: inactive

Anders, werk de package cache bij en installeer UFW met behulp van de standaard packer manager:

sudo apt update && sudo apt -y install ufw

Firewall activeren

Let op! Controleer voordat u de volgende opdracht uitvoert of u de mogelijkheid heeft om de server te bedienen door een applicatieprofiel (OpenSSH bijvoorbeeld) te activeren of een aangepaste regel te activeren.

sudo ufw enable

Laten we de staat van UFW controleren door het volgende commando opnieuw aan te roepen:

sudo ufw status verbose

Firewall uitschakelen

De firewall kan worden uitgeschakeld met de "disable" opdracht. Let op, deze actie heeft geen invloed op eerder gemaakte regels. Ze blijven allemaal werken zodra de firewall weer aan staat:

sudo ufw disable

Loggen inschakelen

De tweede belangrijkste firewall-functie is loggen. Hiermee kunt u zowel controleren of de UFW correct werkt als tekenen van cyberaanvallen identificeren. Om de logfunctie in te schakelen, voer je de volgende opdracht uit:

sudo ufw logging on
Logging ingeschakeld
tail -f /var/log/ufw.log
…
Jul 10 05:54:24 ubuntu22044 kernel: [56235.006445] [UFW BLOCK] IN=enp134s0f1 OUT= M
AC=ac:1f:6b:f5:60:43:02:01:01:01:01:02:08:00 SRC=152.32.129.154 DST=37.230.134.118
LEN=60 TOS=0x00 PREC=0x00 TTL=41 ID=5377 DF PROTO=TCP
SPT=47633 DPT=6606 WINDOW=29200 RES=0x00 SYN URGP=0
…

Ook kunt u syslog en kern.log controleren:

grep -i ufw /var/log/syslog
grep -i ufw /var/log/kern.log

In beide gevallen zal het resultaat hetzelfde zijn. Om de hoeveelheid informatie die in het logboek wordt opgenomen te vergroten, wijzigt u het niveau. Beschikbare niveaus: laag (standaard) / medium / hoog / volledig:

sudo ufw logging full

Loggen uitschakelen

Om het loggen uit te schakelen, is het uitniveau voorzien:

sudo ufw logging off

Regels beheren

Toegang van specifieke IP's

Bij het maken van regels zijn twee scenario's het meest voorkomend. In de eerste heeft de systeembeheerder nodig dat alleen die gebruikers die een specifiek IP-adres of een IP-adres uit een bepaald bereik kunnen verbinden met de server. Verbindingspogingen van alle andere adressen moeten worden geblokkeerd. Dit is het meest van toepassing op niet-openbare of zakelijke services:

sudo ufw allow from [ip_adres]
sudo ufw allow from [ip_adres/subnet_masker]

Weigeren van specifieke IP's

Het tweede scenario zal relevant zijn voor openbare services waarvan de servers gedwongen zijn om alle inkomende verbindingen te accepteren en te verwerken. Dit maakt ze kwetsbaar voor brute force-aanvallen en denial of service (DoS)-aanvallen. In dit geval zullen regels die verbinden van een specifiek IP-adres of een IP-adres uit een bepaald bereik verbieden, helpen:

sudo ufw deny from [ip_adres]
sudo ufw deny from [ip_adres/subnet_masker]

Als uw server niet wordt gebruikt voor het verzenden van e-mails, zou het logisch zijn om al het uitgaande SMTP-verkeer te blokkeren om potentiële spam te voorkomen. Dit kan met het volgende commando:

sudo ufw deny out 25

Bestaande regels verwijderen

De meest handige manier om regels te verwijderen is op hun serienummer. Om erachter te komen welk nummer welke firewall-regel matcht, voert u dit commando uit:

sudo ufw status numbered
Status: active                                                                                                                                                                                                                            
  Naar                          Actie      Afkomstig van                                                                                                                                                                                  
  --                          ------      ----                                                                                                                                                                                          
[ 1] OpenSSH                  TOELATEN   Overal                                                                                                                                                                                      
[ 2] OpenSSH (v6)               TOELATEN  Overal (v6)

Nu kunt u een regel verwijderen door het nummer in het commando te vervangen:

sudo ufw delete [regel_nummer]

Toepassingsprofielen

Toepassingsprofielen zijn kant-en-klare sets van regels die het leven van een systeembeheerder vereenvoudigen. Ze houden meteen rekening met standaard verbindingspoorten en maken het mogelijk om met één commando meerdere regels toe te passen.

Beschikbare profielen weergeven

Om te controleren welke profielen beschikbaar zijn voor activering, voert u de opdracht uit:

sudo ufw app list
Beschikbare applicaties:                                                                                                                                                                                                                   
  OpenSSH

Toepassingsprofiel inschakelen

Standaard heeft Ubuntu altijd een OpenSSH-profiel beschikbaar, waardoor SSH-verkeer door standaardpoort 22 kan gaan. Om te zorgen dat je na het inschakelen van UFW geen controle via SSH verliest, voer je de volgende opdracht uit:

sudo ufw allow OpenSSH

Nu kunt u UFW inschakelen en controleren of de ingeschakelde regel voor OpenSSH werkt:

sudo ufw status verbose
Status: actief                                                                                                                                                                                                                            
Loggen: aan (laag)                                                                                                                                                                                                                         
Standaard: weigeren (inkomend), toelaten (uitgaand), uitgeschakeld (gerouteerd)                                                                                                                                                                             
Nieuwe profielen: overslaan                                                                                                                                                                                                                        
Naar                        Actie      Afkomstig van                                                                                                                                                                                               
--                          ------      ----                                                                                                                                                                                               
22/tcp (OpenSSH)           TOELATEN   Overal                                                                                                                                                                                           
22/tcp (OpenSSH (v6))      TOELATEN  Overal (v6)

Toepassingsprofiel uitschakelen

Je kunt een geactiveerde regel verwijderen met behulp van het "delete" commando. Wees uiterst voorzichtig met dit commando en schakel het OpenSSH-profiel niet uit, want als de firewall is ingeschakeld en er is geen regel die OpenSSH toestaat, verliest u de externe toegang tot de server:

sudo ufw delete allow [app_profiel_naam]

IP-bloklijst

Het is geen geheim dat het internet vol staat met apparaten die zijn geprogrammeerd om automatisch te scannen en te proberen ongeoorloofde toegang te krijgen. Het zou verstandig zijn om alle adressen te blokkeren die te zien zijn bij dergelijke activiteiten. Het IPsum-project onderhoudt een register van kwaadaardige IP-adressen op basis van gegevens van 30 openbaar beschikbare diensten die regelmatig lijsten van dergelijke adressen publiceren. Dit register zal een uitstekende bron van gegevens zijn voor UFW.

Begin met het installeren van het ipset-pakket:

sudo apt -y install ipset

Nu moet u een back-up maken van het bestaande after.init configuratiebestand:

sudo cp /etc/ufw/after.init /etc/ufw/after.init.orig

Kloon de repository met vooraf voorbereide configuratiebestanden:

git clone https://github.com/poddmo/ufw-blocklist.git

Verander de werkmap:

cd ufw-blocklist

Kopieer en vervang het configuratiebestand:

sudo cp after.init /etc/ufw/after.init

Kopieer het cron job-bestand:

sudo cp ufw-blocklist-ipsum /etc/cron.daily/ufw-blocklist-ipsum

Verander de eigenaar van deze twee bestanden naar de superuser root:

sudo chown root:root /etc/ufw/after.init /etc/cron.daily/ufw-blocklist-ipsum

Geef ook permissies 750 (rwxr-x—) aan beide bestanden:

sudo chmod 750 /etc/ufw/after.init /etc/cron.daily/ufw-blocklist-ipsum

Download een basis-blokkeerlijst:

curl -sS -f --compressed -o ipsum.4.txt 'https://raw.githubusercontent.com/stamparm/ipsum/master/levels/4.txt'

Geef permissies 640 (rw-r-----) aan de basis-blokkeerlijst. Het wordt rechtstreeks in de /etc map opgeslagen, dus het wijzigen van de permissies is een redelijke voorzorgsmaatregel tegen knoeien met deze lijst:

sudo chmod 640 ipsum.4.txt

Het is tijd om de lijst in de /etc map te plaatsen:

sudo cp ipsum.4.txt /etc/ipsum.4.txt

Laten we het initiële script starten:

sudo /etc/ufw/after.init start

Het volgende commando helpt bij het weergeven van het huidige aantal vermeldingen in de bloklijst:

sudo ipset list ufw-blocklist-ipsum -terse | grep 'Number of entries'

Zorg er tot slot voor dat de lijst wordt geaccepteerd en dat de UFW correct werkt:

sudo /etc/ufw/after.init status
Naam: ufw-blocklist-ipsum                                                                                       
Type: hash:net                                                                                                  
Herziening: 7                                                                                                     
Koptekst: family inet hashsize 2048 maxelem 65536 bucketsize 12 initval 0x5822a4bb                                
Grootte in geheugen: 186912                                                                                          
Referenties: 3                                                                                                   
Aantal vermeldingen: 6744                                                                                         
      0        0 ufw-blocklist-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-
set ufw-blocklist-ipsum src                                                                                       
      0        0 ufw-blocklist-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-
set ufw-blocklist-ipsum dst                                                                                     
      0        0 ufw-blocklist-output  all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-
set ufw-blocklist-ipsum dst

Zie ook:



Bijgewerkt: 28.03.2025

Gepubliceerd: 12.07.2024


Hebt u nog vragen? Schrijf ons!

By clicking «I Accept» you confirm that you have read and accepted the website Terms and Conditions, Privacy Policy, and Moneyback Policy.