Hvordan sette opp UFW-brannmur på Ubuntu og Debian


En korrekt fungerende brannmur er den mest avgjørende delen av den komplette Linux-systemsikkerheten. Som standard leveres Debian- og Ubuntu-distribusjon med et brannmurkonfigurasjonsverktøy kalt UFW (Ukomplisert brannmur), er et mest populært og brukervennlig kommandolinjeverktøy for konfigurering og administrere en brannmur på Ubuntu- og Debian-distribusjoner.

I denne artikkelen vil vi forklare hvordan du installerer og konfigurerer en UFW-brannmur på Ubuntu- og Debian-distribusjoner.

Forutsetninger

Før du begynner med denne artikkelen, sørg for at du har logget på Ubuntu- eller Debian-serveren med sudo-bruker eller med root-kontoen. Hvis du ikke har en sudo-bruker, kan du opprette en ved å bruke følgende instruksjoner som root-bruker.

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

Installer UFW-brannmur på Ubuntu og Debian

UFW (Ukomplisert brannmur) bør installeres som standard i Ubuntu og Debian, hvis ikke, installer den ved å bruke APT-pakkebehandlingen ved å bruke følgende kommando.

sudo apt install ufw

Sjekk UFW-brannmuren

Når installasjonen er fullført kan du sjekke statusen til UFW ved å skrive.

sudo ufw status verbose

Ved første installasjon er UFW-brannmuren deaktivert som standard, utdataene vil være lik nedenfor.

Status: inactive

Aktiver UFW-brannmur

Du kan aktivere eller aktivere UFW-brannmur ved å bruke følgende kommando, som skal laste brannmuren og aktivere den ved oppstart.

sudo ufw enable

For å deaktivere UFW-brannmur, bruk følgende kommando, som laster ut brannmuren og deaktiverer den fra å starte ved oppstart.

sudo ufw disable 

UFW-standardpolicyer

Som standard nekter UFW-brannmuren alle innkommende tilkoblinger og tillater bare alle utgående tilkoblinger til serveren. Dette betyr at ingen kan få tilgang til serveren din, med mindre du spesifikt åpner porten, mens alle kjørende tjenester eller applikasjoner på serveren din kan få tilgang til det eksterne nettverket.

Standard UFW-brannmurpolitikk er plassert i /etc/default/ufw-filen og kan endres ved hjelp av følgende kommando.

sudo ufw default deny incoming
sudo ufw default allow outgoing

UFW-applikasjonsprofiler

Når du installerer en programvarepakke med APT-pakkebehandling, vil den inkludere en applikasjonsprofil i katalogen /etc/ufw/applications.d som definerer tjenesten og inneholder UFW-innstillinger.

Du kan liste opp alle tilgjengelige applikasjonsprofiler på serveren din ved å bruke følgende kommando.

sudo ufw app list

Avhengig av programvarepakkeinstallasjoner på systemet ditt vil utdataene se ut som følgende:

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

Hvis du ønsker å få mer informasjon om en bestemt profil og definerte regler, kan du bruke 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

Aktiver IPv6 med UFW

Hvis serveren din er konfigurert med IPv6, sørg for at UFW er konfigurert med IPv6 og IPv4-støtte. For å bekrefte det, åpne UFW-konfigurasjonsfilen ved å bruke din favorittredigerer.

sudo vi /etc/default/ufw

Sørg deretter for at “IPV6” er satt til "yes" i konfigurasjonsfilen som vist.

IPV6=yes

Lagre og avslutt. Start deretter brannmuren på nytt med følgende kommandoer:

sudo ufw disable
sudo ufw enable

Tillat SSH-tilkoblinger på UFW

Hvis du har aktivert UFW-brannmur nå, vil den blokkere alle innkommende tilkoblinger, og hvis du er koblet til serveren din over SSH fra en ekstern plassering, vil du ikke lenger kunne koble den til igjen.

La oss aktivere SSH-tilkoblinger til serveren vår for å stoppe det fra å skje ved å bruke følgende kommando:

sudo ufw allow ssh

Hvis du bruker tilpasset SSH-port (for eksempel port 2222), må du åpne den porten på UFW-brannmuren ved å bruke følgende kommando.

sudo ufw allow 2222/tcp

For å blokkere alle SSH-tilkoblinger, skriv inn følgende kommando.

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

Aktiver spesifikke porter på UFW

Du kan også åpne en spesifikk port i brannmuren for å tillate tilkoblinger via den til en bestemt tjeneste. For eksempel, hvis du vil sette opp en nettserver som lytter på port 80 (HTTP) og 443 (HTTPS >) som standard.

Nedenfor er noen få eksempler på hvordan du tillater innkommende tilkoblinger til Apache-tjenester.

Åpne Port 80 HTTP på UFW
sudo ufw allow http     [By service name]
sudo ufw allow 80/tcp   [By port number]
sudo ufw allow 'Apache' [By application profile]
Åpne Port 443 HTTPS på UFW
sudo ufw allow https
sudo ufw allow 443/tcp
sudo ufw allow 'Apache Secure'

Tillat portområder på UFW

Forutsatt at du har noen applikasjoner du vil kjøre på en rekke porter (5000-5003), kan du legge til alle disse portene ved å bruke følgende kommandoer.

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

Tillat spesifikke IP-adresser

Hvis du vil tillate tilkoblinger på alle porter fra spesifikk IP-adresse 192.168.56.1, må du spesifisere fra før IP-adressen.

sudo ufw allow from 192.168.56.1

Tillat spesifikke IP-adresser på spesifikk port

For å tillate tilkobling på en bestemt port (for eksempel port 22) fra hjemmemaskinen din med IP-adressen 192.168.56.1, må du legge til en hvilken som helst port< og portnummeret etter IP-adressen som vist.

sudo ufw allow from 192.168.56.1 to any port 22

Tillat nettverksundernett til spesifikk port

For å tillate tilkoblinger for bestemte IP-adresser fra 192.168.1.1 til 192.168.1.254 til port 22 (SSH) , kjør følgende kommando.

sudo ufw allow from 192.168.1.0/24 to any port 22

Tillat spesifikt nettverksgrensesnitt

For å tillate tilkoblinger til spesifikt nettverksgrensesnitt eth2 for en bestemt port 22 (SSH), kjør følgende kommando.

sudo ufw allow in on eth2 to any port 22

Nekt tilkoblinger på UFW

Som standard er alle innkommende tilkoblinger blokkert, med mindre du spesifikt har åpnet tilkoblingen på UFW. Du har for eksempel åpnet portene 80 og 443 og nettserveren er under angrep fra det ukjente nettverket 11.12.13.0/24.

For å blokkere alle tilkoblinger fra dette bestemte 11.12.13.0/24 nettverksområdet, kan du bruke følgende kommando.

sudo ufw deny from 11.12.13.0/24

Hvis du bare vil blokkere tilkoblinger på portene 80 og 443, kan du bruke 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

Slett UFW-regler

Det er 2 måter å slette UFW-regler på, etter regelnummer og etter faktisk regel.

For å slette en UFW-regler ved å bruke regelnummer, må du først liste regler etter tall ved å bruke følgende kommando.

sudo ufw status numbered
Eksempelutgang
Status: active

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

For å slette regelnummer 1, bruk følgende kommando.

sudo ufw delete 1

Den andre metoden er å slette en regel ved å bruke den faktiske regelen, for eksempel for å slette en regel, spesifiser portnummeret med protokollen som vist.

sudo ufw delete allow 22/tcp

UFW-regler for tørrkjøring

Du kan kjøre alle ufw-kommandoer uten å gjøre noen endringer i systemets brannmur ved å bruke --dry-run-flagget, dette viser ganske enkelt endringene som skal skje.

sudo ufw --dry-run enable

Tilbakestill UFW-brannmur

Av en eller annen grunn, hvis du ønsker å slette/tilbakestille alle brannmurregler, skriv inn følgende kommandoer, det vil tilbakestille alle endringene og starte på nytt.

sudo ufw reset
sudo ufw status

UFW avansert funksjonalitet

UFW-brannmuren kan klare å gjøre alt som iptables gjør. Dette kan gjøres med forskjellige sett med regelfiler, som ikke er noe, men enkle iptables-restore tekstfiler.

Tuning av UFW-brannmur eller legge til flere iptables-kommandoer er ikke tillatt via ufw-kommando, er bare et spørsmål om å endre følgende tekstfiler

  • /etc/default/ufw: Hovedkonfigurasjonsfilen med forhåndsdefinerte regler.
  • /etc/ufw/before[6].rules: I denne filen beregnes reglene før de legges til via ufw-kommandoen.
  • /etc/ufw/after[6].rules: I denne filen beregnes regler etter å ha lagt til via ufw-kommandoen.
  • /etc/ufw/sysctl.conf: Denne filen brukes til å justere kjernenettverket.
  • /etc/ufw/ufw.conf: Denne filen aktiverer ufw ved oppstart.

Det er det! UFW er et utmerket grensesnitt for iptables med et brukervennlig grensesnitt for å definere komplekse regler med en enkelt ufw-kommando.

Hvis du har spørsmål eller tanker å dele om denne ufw-artikkelen, bruk kommentarskjemaet nedenfor for å nå oss.