UFW (Uncomplicated Firewall) är ett användarvänligt gränssnitt för att hantera brandväggsregler på Ubuntu-servrar. Att konfigurera ufw ubuntu är ett av de viktigaste stegen för att säkra ubuntu server mot obehörig åtkomst. En korrekt konfigurerad brandvägg ubuntu blockerar oönskad trafik samtidigt som den tillåter legitima tjänster som SSH och webbservrar. I denna guide går vi igenom hur du installerar UFW, sätter upp grundläggande säkerhetsregler och öppnar nödvändiga portar för din firewall vps – allt för att skydda din server från potentiella hot.
Installera och konfigurera UFW
-
Steg 1: Förstå vad UFW är och varför du behöver det
UFW är en förenklad brandvägg som fungerar som ett lager ovanpå iptables, Linuxs inbyggda brandväggssystem. Utan en aktiv brandvägg är alla portar på din VPS potentiellt öppna för angrepp. UFW låter dig enkelt definiera vilka tjänster som ska vara tillgängliga från internet och vilka som ska blockeras. Detta är särskilt viktigt för VPS-servrar som exponeras direkt mot internet.
En väl konfigurerad brandvägg minskar attackytan genom att endast tillåta trafik till de portar du explicit öppnar, vilket skyddar mot automatiserade skanningar och brute-force-attacker.
-
Steg 2: Installera UFW på Ubuntu
UFW är förinstallerat på de flesta moderna Ubuntu-versioner, men om det saknas kan du enkelt installera det. Logga först in på din server via SSH och uppdatera paketlistan:
sudo apt updateInstallera sedan UFW med följande kommando:
sudo apt install ufw -yVerifiera att installationen lyckades genom att kontrollera versionen:
sudo ufw versionDu bör se versionsinformation som bekräftar att UFW är installerat och redo att konfigureras.
-
Steg 3: Konfigurera standardregler
Innan du aktiverar UFW måste du sätta upp grundläggande standardregler. Den rekommenderade säkerhetspolicyn är att neka all inkommande trafik och tillåta all utgående trafik. Detta innebär att din server kan initiera anslutningar utåt (för uppdateringar, API-anrop etc.) men att ingen kan ansluta till din server om du inte explicit tillåter det.
Sätt standardpolicyn för inkommande trafik till deny:
sudo ufw default deny incomingSätt standardpolicyn för utgående trafik till allow:
sudo ufw default allow outgoingDessa kommandon skapar en säker grund där allt är stängt tills du öppnar specifika portar.
-
Steg 4: Tillåt SSH innan du aktiverar UFW
Varning: Detta är det viktigaste steget! Om du aktiverar UFW utan att först tillåta SSH kommer du att låsa ut dig själv från servern. Du måste alltid öppna SSH-porten (vanligtvis port 22) innan du aktiverar brandväggen.
Tillåt SSH-anslutningar med följande kommando:
sudo ufw allow sshAlternativt kan du specificera portnumret direkt om du använder en annan SSH-port:
sudo ufw allow 22/tcpOm du har ändrat SSH-porten till exempelvis 2222, använd det numret istället. Verifiera att regeln har lagts till genom att köra:
sudo ufw show added -
Steg 5: Aktivera UFW och verifiera status
Nu när SSH är tillåtet kan du säkert aktivera UFW. Kör följande kommando:
sudo ufw enableDu kommer att få en varning om att aktivering kan störa befintliga SSH-anslutningar. Eftersom du redan har tillåtit SSH kan du svara "y" för att fortsätta. UFW kommer nu att starta och laddas automatiskt vid systemstart.
Kontrollera att brandväggen är aktiv och se vilka regler som gäller:
sudo ufw status verboseOutputen visar status (aktiv), standardpolicyer och alla aktiva regler. Du bör se att SSH är tillåten och att standardpolicyerna är korrekt konfigurerade.
-
Steg 6: Öppna portar för webbserver
Om du kör en webbserver på din VPS behöver du öppna portarna för HTTP (80) och HTTPS (443). UFW har fördefinierade profiler för vanliga tjänster som gör detta enkelt.
För att tillåta både HTTP och HTTPS, använd Apache Full-profilen:
sudo ufw allow 'Apache Full'Om du använder Nginx istället:
sudo ufw allow 'Nginx Full'Alternativt kan du öppna portarna manuellt:
sudo ufw allow 80/tcp sudo ufw allow 443/tcpVerifiera att reglerna har lagts till:
sudo ufw statusDu bör nu se att portarna 22, 80 och 443 är öppna. Om du konfigurerar Apache Virtual Hosts kan du läsa mer i vår guide om hur man konfigurerar Apache Virtual Hosts på Ubuntu 20.04.
-
Steg 7: Hantera regler – lista, ta bort och ändra
När du arbetar med UFW behöver du ofta granska, modifiera eller ta bort regler. Här är de vanligaste kommandona för regelhantering.
Lista alla regler med numrering (underlättar borttagning):
sudo ufw status numberedFör att ta bort en regel, använd dess nummer från listan ovan:
sudo ufw delete 3Du kan också ta bort en regel genom att upprepa allow-kommandot med "delete" framför:
sudo ufw delete allow 80/tcpFör att tillfälligt inaktivera UFW utan att ta bort regler:
sudo ufw disableOch för att aktivera igen:
sudo ufw enableOm du behöver återställa alla regler till standardinställningar:
sudo ufw resetObs: Reset-kommandot tar bort alla regler och inaktiverar UFW, så du måste konfigurera allt från början efteråt.
-
Steg 8: Avancerade regler – begränsa till specifika IP-adresser
För ökad säkerhet kan du begränsa åtkomst till vissa tjänster till endast specifika IP-adresser. Detta är särskilt användbart för administrativa tjänster som SSH eller databasportar.
För att tillåta SSH endast från en specifik IP-adress (exempelvis ditt kontor):
sudo ufw allow from 203.0.113.10 to any port 22Du kan också begränsa till ett helt IP-intervall (subnet):
sudo ufw allow from 203.0.113.0/24 to any port 22För att tillåta en specifik IP att komma åt MySQL (port 3306):
sudo ufw allow from 203.0.113.10 to any port 3306UFW stödjer även rate limiting för att skydda mot brute-force-attacker. För att begränsa antalet anslutningsförsök till SSH:
sudo ufw limit sshDetta tillåter maximalt 6 anslutningar från samma IP-adress inom 30 sekunder, vilket effektivt blockerar automatiserade attackförsök.
För att se detaljerad information om alla aktiva regler inklusive paketstatistik:
sudo ufw status verbose
Vanliga problem och felsökning
- Utelåst från servern efter aktivering av UFW: Om du glömt att tillåta SSH innan du aktiverade brandväggen måste du få fysisk åtkomst till servern via din VPS-leverantörs kontrollpanel. Hos Internetport kan du starta om VPS från Launchpad-instrumentpanelen och använda konsolen för att inaktivera UFW med
sudo ufw disable. - Regler verkar inte fungera: Kontrollera att UFW faktiskt är aktivt med
sudo ufw status. Om status visar "inactive" måste du aktivera det medsudo ufw enable. Verifiera också att du har angett rätt protokoll (tcp/udp) och portnummer. - Kan inte nå webbserver trots öppnade portar: Kontrollera att din webbserver (Apache/Nginx) faktiskt körs med
sudo systemctl status apache2ellersudo systemctl status nginx. Verifiera också att webbservern lyssnar på rätt portar medsudo netstat -tlnp | grep :80. - UFW blockerar utgående anslutningar: Om du har ändrat standardpolicyn för utgående trafik till deny kan detta orsaka problem med uppdateringar och externa API-anrop. Återställ med
sudo ufw default allow outgoing. - Konflikt med Docker: Docker manipulerar iptables-regler direkt, vilket kan kringgå UFW. För att säkra Docker-containrar behöver du konfigurera Docker att respektera UFW-regler genom att redigera
/etc/docker/daemon.jsonoch lägga till"iptables": false. - Loggar visar blockerad trafik: UFW loggar blockerade anslutningar till
/var/log/ufw.log. Granska denna fil för att identifiera om legitim trafik blockeras:sudo tail -f /var/log/ufw.log. Du kan justera loggningsnivån medsudo ufw logging medium(low/medium/high/full). - Behöver återställa root-lösenord för att komma åt servern: Om du har problem med inloggning kan du återställa rootlösenordet från VPS-hanteringspanelen.
Sammanfattning
Att konfigurera ufw ubuntu är en grundläggande säkerhetsåtgärd för alla som driver en VPS. Genom att följa stegen ovan har du nu en säker brandvägg ubuntu som skyddar din server mot obehörig åtkomst samtidigt som den tillåter nödvändiga tjänster. Kom ihåg att regelbundet granska dina brandväggsregler och endast öppna de portar som verkligen behövs. För ytterligare säkerhet, kombinera UFW med andra åtgärder som fail2ban för intrångsdetektering och håll alltid ditt system uppdaterat med de senaste säkerhetsuppdateringarna.