Hur man ställer in en brandvägg på Ubuntu Server
Publicerad: 15 februari 2025 kl. 21:34:33 UTC
Senast uppdaterad: 12 januari 2026 kl. 08:37:29 UTC
Den här artikeln förklarar och ger några exempel på hur man konfigurerar en brandvägg på GNU/Linux med hjälp av ufw, vilket är en förkortning för Uncomplicated FireWall – och namnet är passande, det är verkligen ett väldigt enkelt sätt att se till att du inte har fler portar öppna än du behöver.
How to Set Up a Firewall on Ubuntu Server
Informationen i det här inlägget är baserad på Ubuntu Server 14.04 x64. Den kan vara giltig för andra versioner, men kanske inte. (Uppdatering: Jag kan bekräfta att informationen i det här inlägget i princip fortfarande är giltig och funktionell från och med Ubuntu Server 24.04. Under de senaste 10 åren har ufw dock blivit något "smartare" genom att ha profiler för vanliga serverapplikationer (till exempel kan du aktivera "Nginx full" istället för portarna 80 och 443 separat) och det är inte längre nödvändigt att inaktivera/aktivera hela brandväggen för att få nya regler tillämpade.)
När jag först började med GNU/Linux (Ubuntu)-servrar innebar det att installera en brandvägg att manuellt skapa och underhålla en potentiellt komplex konfigurationsfil för iptables. Men jag har nyligen upptäckt ufw, vilket är en förkortning för Uncomplicated Firewall – och det är den verkligen :-)
Min installation av Ubuntu Server 14.04 hade redan ufw installerat, men om din inte har det, installera det helt enkelt från arkiven:
UFW är egentligen bara ett verktyg som förenklar konfigurationen av iptables – bakom kulisserna är det fortfarande iptables och Linuxkärnans brandvägg som gör filtreringen, så ufw är varken mindre eller säkrare än dessa. Men eftersom ufw gör det mycket enklare att konfigurera en brandvägg korrekt kan det minska risken för mänskliga fel och är därför möjligen säkrare för oerfarna administratörer.
Om din server är konfigurerad med både IPv6 och IPv4, se till att detta är aktiverat även för UFW. Redigera filen /etc/default/ufw och leta efter en rad som säger IPV6=yes. I min installation fanns den redan där, men om den inte är det eller om den säger nej, bör du redigera den.
Använd sedan helt enkelt kommandotolken för att aktivera de portar du vill öppna. Om du är ansluten till din server via ssh, se till att tillåta det också, annars kan det störa din anslutning och eventuellt låsa dig ute från din server när du aktiverar den – beroende på om du har fysisk åtkomst till servern eller inte kan detta vara lite obekvämt ;-)
Om du till exempel använder ssh på standardport 22 och konfigurerar en webbserver som stöder både okrypterade (HTTP på port 80) och krypterade (HTTPS på port 443) anslutningar, skulle du köra följande kommandon för att konfigurera ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Om du behöver fler regler, lägg bara till dem enligt ovan.
Om du har en statisk IP-adress och bara behöver kunna ansluta via ssh från en enda plats kan du också begränsa ssh-anslutningar till en enda ursprungsadress så här:
Ange förstås din egen IP-adress istället.
När du är klar, aktivera ufw genom att ange:
Och du är klar! Brandväggen är igång och startar automatiskt när du startar om servern :-)
Om du gör ändringar i ufw-konfigurationen kan du behöva inaktivera och aktivera den igen för att de ska träda i kraft, så här:
sudo ufw enable
För att se den aktuella konfigurationen, ange helt enkelt:
Om ufw inte är aktiverat visas bara ett "inaktivt" meddelande, annars listas de för närvarande definierade reglerna.
