Miklix

Hvordan sette opp en brannmur på Ubuntu Server

Publisert: 15. februar 2025 kl. 21:34:06 UTC

Denne artikkelen forklarer og gir noen eksempler på hvordan du setter opp en brannmur på GNU/Linux ved hjelp av ufw, som er forkortelse for Uncomplicated FireWall - og navnet passer, det er virkelig en veldig enkel måte å sørge for at du ikke har flere porter åpne enn du trenger.


Denne siden er maskinoversatt fra engelsk for å gjøre den tilgjengelig for så mange som mulig. Dessverre er maskinoversettelse ennå ikke en fullkommen teknologi, så det kan forekomme feil. Hvis du foretrekker det, kan du se den engelske originalversjonen her:

How to Set Up a Firewall on Ubuntu Server

Informasjonen i dette innlegget er basert på Ubuntu Server 14.04 x64. Det kan være eller ikke være gyldig for andre versjoner. (Oppdatering: Jeg kan bekrefte at informasjonen i dette innlegget i utgangspunktet fortsatt er gyldig og funksjonell fra og med Ubuntu Server 24.04, men i løpet av de mellomliggende 10 årene har ufw blitt noe "smartere" ved å ha profiler for vanlige serverapplikasjoner (du kan for eksempel aktivere "Nginx full" i stedet for porter 80 og 443 å deaktivere hele brannmuren separat og ikke lenger aktivere nye regler) nødvendig)

Da jeg først startet med GNU/Linux (Ubuntu)-servere, innebar det å sette opp en brannmur manuelt å opprette og vedlikeholde en potensielt kompleks konfigurasjonsfil for iptables. Jeg har imidlertid nylig oppdaget ufw , som er forkortelse for Uncomplicated Firewall – og det er det virkelig :-)

Installasjonen min av Ubuntu Server 14.04 hadde allerede ufw installert, men hvis du ikke gjør det, installer den bare fra depotene:

sudo apt-get install ufw

UFW er faktisk bare et verktøy som forenkler iptables-konfigurasjonen – bak kulissene er det fortsatt iptables og Linux-kjernebrannmuren som gjør filtreringen, så ufw er verken mindre eller sikrere enn disse. Men fordi ufw gjør det mye enklere å konfigurere en brannmur riktig, kan det redusere risikoen for menneskelige feil og er derfor muligens sikrere for uerfarne administratorer.

Hvis serveren din er konfigurert med IPv6 så vel som IPv4, sørg for at dette er aktivert for UFW også. Rediger filen /etc/default/ufw og se etter en linje som sier IPV6=yes . På min installasjon var det allerede der, men hvis det ikke er det eller hvis det sier nei, bør du redigere det

Deretter bruker du bare ledeteksten for å aktivere portene du vil åpne. Hvis du er koblet til serveren din via ssh, sørg for å tillate det også, ellers kan det forstyrre tilkoblingen din og muligens låse deg ute fra serveren din når du aktiverer den – avhengig av om du har fysisk tilgang til serveren eller ikke, kan dette være litt upraktisk ;-)

For eksempel, hvis du bruker ssh på standardport 22 og du konfigurerer en webserver som støtter både ukrypterte (HTTP på port 80) og krypterte (HTTPS på port 443) tilkoblinger, vil du utstede følgende kommandoer for å konfigurere ufw:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Hvis du trenger flere regler, legg dem til som ovenfor.

Hvis du har en statisk IP-adresse og bare trenger å kunne koble til via ssh fra det ene stedet, kan du også begrense ssh-tilkoblinger til en enkelt opprinnelsesadresse som dette:

sudo ufw allow from 192.168.0.1 to any port 22

Skriv selvfølgelig inn din egen IP-adresse i stedet.

Når du er ferdig, aktiver ufw ved å skrive inn:

sudo ufw enable

Og du er ferdig! Brannmuren kjører og starter automatisk når du starter serveren på nytt :-)

Hvis du gjør endringer i ufw-konfigurasjonen, må du kanskje deaktivere og aktivere den igjen for å sette dem i kraft, slik:

sudo ufw disable
sudo ufw enable

For å se på gjeldende konfigurasjon, skriv inn:

sudo ufw status

Hvis ufw ikke er aktivert, vil dette ganske enkelt vise en "inaktiv" melding, ellers vil den liste de gjeldende definerte reglene.

Del på BlueskyDel på FacebookDel på LinkedInDel på TumblrDel på XDel på LinkedInFest på Pinterest

Mikkel Bang Christensen

Om forfatteren

Mikkel Bang Christensen
Mikkel er skaperen og eieren av miklix.com. Han har over 20 års erfaring som profesjonell dataprogrammerer/programvareutvikler og er for tiden ansatt på fulltid i et stort europeisk IT-selskap. Når han ikke blogger, bruker han fritiden sin på en lang rekke interesser, hobbyer og aktiviteter, noe som til en viss grad kan gjenspeiles i de mange ulike temaene som dekkes på dette nettstedet.