Sådan konfigureres UFW Firewall på Ubuntu og Debian


En korrekt fungerende firewall er den mest afgørende del af den komplette Linux-systemsikkerhed. Debian og Ubuntu-distribution leveres som standard med et firewall-konfigurationsværktøj kaldet UFW (Uncomplicated Firewall), det er et mest populært og brugervenligt kommandolinjeværktøj til konfiguration og styring af en firewall på Ubuntu- og Debian-distributioner.

I denne artikel forklarer vi, hvordan du installerer og opsætter en UFW-firewall på Ubuntu- og Debian-distributioner.

Før du begynder med denne artikel, skal du sikre dig, at du er logget ind på din Ubuntu- eller Debian-server med sudo-bruger eller med rodkontoen. Hvis du ikke har en sudo-bruger, kan du oprette en ved hjælp af følgende instruktioner som rootbruger.

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

Installer UFW Firewall på Ubuntu og Debian

UFW (ukompliceret firewall) skal installeres som standard i Ubuntu og Debian, hvis ikke, skal du installere det ved hjælp af APT-pakkehåndteringen ved hjælp af følgende kommando.

$ sudo apt install ufw

Når installationen er afsluttet, kan du kontrollere status for UFW ved at skrive.

$ sudo ufw status verbose

Ved første installation er UFW-firewallen deaktiveret som standard, output svarer til nedenunder.

Status: inactive

Du kan aktivere eller aktivere UFW-firewall ved hjælp af følgende kommando, som skal indlæse firewallen og gør det muligt at starte ved opstart.

$ sudo ufw enable

For at deaktivere UFW-firewall skal du bruge følgende kommando, som aflader firewallen og deaktiverer den fra start ved opstart.

$ sudo ufw disable 

UFW-firewall nægter som standard alle indgående forbindelser og tillader kun alle udgående forbindelser til serveren. Dette betyder, at ingen kan få adgang til din server, medmindre du specifikt åbner porten, mens alle kørende tjenester eller applikationer på din server kan få adgang til det eksterne netværk.

Standardpolicyerne for UFW-firewall er placeret i /etc/default/ufw -filen og kan ændres ved hjælp af følgende kommando.

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

Når du installerer en softwarepakke ved hjælp af APT-pakkehåndtering, inkluderer den en applikationsprofil i mappen /etc/ufw/applications.d , der definerer tjenesten og holder UFW-indstillinger.

Du kan liste alle tilgængelige applikationsprofiler på din server ved hjælp af følgende kommando.

$ sudo ufw app list

Afhængigt af softwarepakkeinstallationer på dit system vil output se ud som det følgende:

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

Hvis du ønsker at få mere information om en bestemt profil og definerede regler, kan du bruge følgende kommando.

$ 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

Hvis din server er konfigureret med IPv6, skal du sørge for, at din UFW er konfigureret med IPv6- og IPv4-understøttelse. For at bekræfte det skal du åbne UFW-konfigurationsfilen ved hjælp af din yndlingseditor.

$ sudo vi /etc/default/ufw

Sørg derefter for, at "IPV6" er indstillet til "ja" i konfigurationsfilen som vist.

IPV6=yes

Gem og afslut. Genstart derefter din firewall med følgende kommandoer:

$ sudo ufw disable
$ sudo ufw enable

Hvis du nu har aktiveret UFW-firewall, vil den blokere alle indgående forbindelser, og hvis du har forbindelse til din server via SSH fra en ekstern placering, kan du ikke længere oprette forbindelse.

Lad os aktivere SSH-forbindelser til vores server for at forhindre det i at ske ved hjælp af følgende kommando:

$ sudo ufw allow ssh

Hvis du bruger brugerdefineret SSH-port (for eksempel port 2222), skal du åbne den port på UFW-firewall ved hjælp af følgende kommando.

$ sudo ufw allow 2222/tcp

For at blokere alle SSH-forbindelser, skriv følgende kommando.

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

Du kan også åbne en bestemt port i firewallen for at tillade forbindelser via den til en bestemt tjeneste. For eksempel, hvis du som standard vil konfigurere en webserver, der lytter til port 80 (HTTP) og 443 (HTTPS).

Nedenfor er de få eksempler på, hvordan du tillader indgående forbindelser til Apache-tjenester.

$ sudo ufw allow http     [By service name]
$ sudo ufw allow 80/tcp   [By port number]
$ sudo ufw allow 'Apache' [By application profile]
$ sudo ufw allow https
$ sudo ufw allow 443/tcp
$ sudo ufw allow 'Apache Secure'

Forudsat at du har nogle applikationer, som du vil køre på en række porte (5000-5003), kan du tilføje alle disse porte ved hjælp af følgende kommandoer.

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

Hvis du vil tillade forbindelser på alle porte fra specifik IP-adresse 192.168.56.1, skal du angive fra før IP-adressen.

$ sudo ufw allow from 192.168.56.1

For at tillade forbindelse til en bestemt port (for eksempel port 22) fra din hjemmemaskine med IP-adresse 192.168.56.1, skal du tilføje enhver port og portnummer efter IP-adressen som vist.

$ sudo ufw allow from 192.168.56.1 to any port 22

For at tillade forbindelser til bestemte IP-adresser, der spænder fra 192.168.1.1 til 192.168.1.254 til port 22 (SSH), skal du køre følgende kommando.

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

For at tillade forbindelser til specifikt netværksinterface eth2 for en bestemt port 22 (SSH) skal du køre følgende kommando.

$ sudo ufw allow in on eth2 to any port 22

Som standard er alle indgående forbindelser blokeret, medmindre du specifikt har åbnet forbindelsen på UFW. For eksempel har du åbnet portene 80 og 443, og din webserver er under angreb fra det ukendte netværk 11.12.13.0/24.

For at blokere alle forbindelser fra dette netværksområde 11.12.13.0/24 kan du bruge følgende kommando.

$ sudo ufw deny from 11.12.13.0/24

Hvis du kun vil blokere forbindelser på port 80 og 443, kan du bruge følgende kommandoer.

$ 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

Der er 2 måder at slette UFW-regler på, efter regelnummer og efter faktisk regel.

For at slette en UFW-regler ved hjælp af regelnummer skal du først liste regler efter numre ved hjælp af følgende kommando.

$ sudo ufw status numbered
Status: active

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

For at slette regel nummer 1 skal du bruge følgende kommando.

$ sudo ufw delete 1

Den anden metode er at slette en regel ved hjælp af den faktiske regel, for eksempel at slette en regel, angive portnummeret med protokollen som vist.

$ sudo ufw delete allow 22/tcp

Du kan køre alle ufw-kommandoer uden faktisk at foretage ændringer i systemets firewall ved hjælp af --dry-run -flagget, dette viser simpelthen de ændringer, der antages at ske.

$ sudo ufw --dry-run enable

Af den ene eller den anden grund, hvis du ønsker at slette/nulstille alle firewallregler, skal du skrive følgende kommandoer, det vil gendanne alle dine ændringer og starte frisk.

$ sudo ufw reset
$ sudo ufw status

UFW-firewallen kan klare alt, hvad iptables gør. Dette kan gøres med forskellige sæt regler filer, som ikke er noget, men enkle iptables-gendanne tekstfiler.

Tuning af UFW-firewall eller tilføjelse af yderligere iptables-kommandoer er ikke tilladt via ufw-kommando, det er bare at ændre følgende tekstfiler

  • /etc/default/ufw: Hovedkonfigurationsfilen med foruddefinerede regler.
  • /etc/ufw/beffore [6 ].rules: I denne fil beregnes regler, før de tilføjes via ufw-kommando.
  • /etc/ufw/affter [6 ].rules: I denne fil beregnes regler efter tilføjelse via ufw-kommando.
  • /etc/ufw/sysctl.conf: Denne fil bruges til at indstille kernenetværket.
  • /etc/ufw/ufw.conf: Denne fil aktiverer ufw ved opstart.

Det er det! UFW er en fremragende front-end til iptables med en brugervenlig grænseflade til at definere komplekse regler med en enkelt ufw-kommando.

Hvis du har spørgsmål eller tanker om at dele om denne ufw-artikel, skal du bruge kommentarformularen nedenfor for at nå os.