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.
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:
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 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:
Skriv selvfølgelig inn din egen IP-adresse i stedet.
Når du er ferdig, aktiver ufw ved å skrive inn:
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 enable
For å se på gjeldende konfigurasjon, skriv inn:
Hvis ufw ikke er aktivert, vil dette ganske enkelt vise en "inaktiv" melding, ellers vil den liste de gjeldende definerte reglene.