Android

Hur man installerar en brandvägg med ufw på ubuntu 18.04

Ubuntu Server 18.04.1. Настройка файрвола UFW

Ubuntu Server 18.04.1. Настройка файрвола UFW

Innehållsförteckning:

Anonim

En korrekt konfigurerad brandvägg är en av de viktigaste aspekterna av övergripande systemsäkerhet. Som standard kommer Ubuntu med ett brandväggskonfigurationsverktyg som heter UFW (Uncomplicated Firewall). UFW är en användarvänlig front-end för att hantera iptables brandväggsregler och dess huvudmål är att underlätta hantering av iptables eller som namnet säger okomplicerat.

förutsättningar

Innan du börjar med den här tutorialen, se till att du är inloggad på din server med ett användarkonto med sudo-privilegier eller med root-användaren. Den bästa praxis är att köra administrativa kommandon som sudo-användare istället för root. Om du inte har en sudo-användare på ditt Ubuntu-system kan du skapa en genom att följa dessa instruktioner.

Installera UFW

Okomplicerad brandvägg ska installeras som standard i Ubuntu 18.04, men om den inte är installerad på ditt system kan du installera paketet genom att skriva:

sudo apt install ufw

Kontrollera UFW-status

När installationen är klar kan du kontrollera UFW: s status med följande kommando:

sudo ufw status verbose

UFW är som standard inaktiverat. Om du aldrig aktiverat UFW förut kommer ser ut så ut:

Status: inactive

Om UFW är aktiverat ser utdata ut på följande sätt:

UFW-standardpolicyer

Som standard kommer UFW att blockera alla inkommande anslutningar och tillåta alla utgående anslutningar. Detta innebär att alla som försöker få åtkomst till din server inte kommer att kunna ansluta om du inte öppnar porten specifikt, medan alla applikationer och tjänster som körs på din server kan komma åt omvärlden.

Standardpolicyerna definieras i /etc/default/ufw och kan ändras med sudo ufw default kommando.

Brandväggspolicys är grunden för att bygga mer detaljerade och användardefinierade regler. I de flesta fall är de ursprungliga UFW-standardpolicyn en bra utgångspunkt.

Applikationsprofiler

När du installerar ett paket med kommandot apt lägger den till en applikationsprofil i /etc/ufw/applications.d . Profilen beskriver tjänsten och innehåller UFW-inställningar.

Du kan lista alla tillgängliga applikationsprofiler på din server genom att skriva:

sudo ufw app list

Beroende på paketen som är installerade på ditt system ser utdata ut på följande sätt:

Available applications: Dovecot IMAP Dovecot POP3 Dovecot Secure IMAP Dovecot Secure POP3 Nginx Full Nginx HTTP Nginx HTTPS OpenSSH Postfix Postfix SMTPS Postfix Submission

För att hitta mer information om en specifik profil och medföljande regler använder du följande kommando:

sudo ufw app info 'Nginx Full'

Profile: Nginx Full Title: Web Server (Nginx, HTTP + HTTPS) Description: Small, but very powerful and efficient web server Ports: 80, 443/tcp

Som du kan se från utgången ovan öppnar 'Nginx Full'-profilen port 80 och 443 .

Tillåt SSH-anslutningar

Innan du aktiverar UFW-brandväggen måste vi lägga till en regel som tillåter inkommande SSH-anslutningar. Om du ansluter till din server från en fjärrplats, vilket nästan alltid är fallet och du aktiverar UFW-brandväggen innan du uttryckligen tillåter inkommande SSH-anslutningar kommer du inte längre att kunna ansluta till din Ubuntu-server.

Om du vill konfigurera din UFW-brandvägg för att tillåta inkommande SSH-anslutningar skriver du följande kommando:

sudo ufw allow ssh

Rules updated Rules updated (v6)

Om du ändrade SSH-porten till en anpassad port i stället för porten 22, måste du öppna den porten.

Om din ssh-demon exempelvis lyssnar på port 4422 , kan du använda följande kommando för att tillåta anslutningar på den porten:

sudo ufw allow 4422/tcp

Aktivera UFW

Nu när din UFW-brandvägg är konfigurerad för att tillåta inkommande SSH-anslutningar, kan vi aktivera den genom att skriva:

sudo ufw enable

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup

Du blir varnad om att aktivera brandväggen kan störa befintliga ssh-anslutningar, skriv bara y och tryck på Enter .

Tillåt anslutningar på andra portar

Beroende på applikationer som körs på din server och dina specifika behov måste du också tillåta inkommande åtkomst till vissa andra portar.

Nedan visar vi några exempel på hur du tillåter inkommande anslutningar till några av de vanligaste tjänsterna:

Öppna port 80 - HTTP

HTTP-anslutningar kan tillåtas med följande kommando:

sudo ufw allow

istället för http kan du använda portnumret, 80:

sudo ufw allow 80/tcp

eller så kan du använda applikationsprofilen, i det här fallet 'Nginx

sudo ufw allow 'Nginx

Öppen port 443 - HTTPS

HTTP-anslutningar kan tillåtas med följande kommando:

sudo ufw allow

För att uppnå samma istället för https profil kan du använda portnumret, 443 :

sudo ufw allow 443/tcp

eller så kan du använda applikationsprofilen 'Nginx

sudo ufw allow 'Nginx

Öppen port 8080

sudo ufw allow 8080/tcp

Tillåt hamnområdet

Istället för att tillåta åtkomst till enskilda portar tillåter UFW oss att tillåta åtkomst till portintervall. När du tillåter portintervall med UFW måste du ange protokollet, antingen tcp eller udp . Om du till exempel vill tillåta portar från 7100 till 7200 på både tcp och udp kör sedan följande kommando:

sudo ufw allow 7100:7200/tcp sudo ufw allow 7100:7200/udp

Tillåt specifika IP-adresser

För att tillåta åtkomst på alla portar från din hemmamaskin med IP-adress 64.63.62.61, ange from följt av den IP-adress du vill vitlista:

sudo ufw allow from 64.63.62.61

Tillåt specifika IP-adresser på specifik port

För att tillåta åtkomst på en specifik port, låt oss säga port 22 från din arbetsmaskin med IP-adressen 64.63.62.61, använd to any port följt av portnumret:

sudo ufw allow from 64.63.62.61 to any port 22

Tillåt subnät

Kommandot för att tillåta anslutning till ett subnät med IP-adresser är detsamma som när du använder en enda IP-adress, den enda skillnaden är att du behöver ange nätmask. Om du till exempel vill tillåta åtkomst för IP-adresser som sträcker sig från 192.168.1.1 till 192.168.1.254 till port 3360 (MySQL) kan du använda det här kommandot:

sudo ufw allow from 192.168.1.0/24 to any port 3306

Tillåt anslutningar till ett specifikt nätverksgränssnitt

För att tillåta åtkomst på en specifik port, låt oss säga port 3360 endast till specifikt nätverksgränssnitt eth2 , då måste du ange allow in on och namnet på nätverksgränssnittet:

sudo ufw allow in on eth2 to any port 3306

Neka anslutningar

Standardpolicyn för alla inkommande anslutningar är inställd på att deny och om du inte har ändrat den kommer UFW att blockera alla inkommande anslutningar om du inte öppnar anslutningen specifikt.

Låt oss säga att du öppnade portarna 80 och 443 och din server attackeras från nätverket 23.24.25.0/24 . För att neka alla anslutningar från 23.24.25.0/24 du använda följande kommando:

sudo ufw deny from 23.24.25.0/24

sudo ufw deny from 23.24.25.0/24 to any port 80 sudo ufw deny from 23.24.25.0/24 to any port 443

Att skriva förnekningsregler är detsamma som att skriva tillåtna regler, du behöver bara byta ut allow med deny .

Radera UFW-regler

Det finns två olika sätt att radera UFW-regler, efter regelnummer och genom att ange den faktiska regeln.

Att ta bort UFW-regler efter regelnummer är lättare, särskilt om du är ny med UFW. För att radera en regel med ett regelnummer först måste du hitta numret på den regel du vill ta bort, du kan göra det med följande kommando:

sudo ufw status numbered

Status: active To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere 8080/tcp ALLOW IN Anywhere

För att radera regelnummer 3, regeln som tillåter anslutningar till port 8080, använd följande kommando:

sudo ufw delete 3

Den andra metoden är att ta bort en regel genom att ange den faktiska regeln, till exempel om du lagt till en regel för att öppna port 8069 du ta bort den med:

sudo ufw delete allow 8069

Inaktivera UFW

Om du av någon anledning vill stoppa UFW och inaktivera alla regler du kan använda:

sudo ufw disable

Senare om du vill aktivera UTF och aktivera alla regler skriver du bara:

sudo ufw enable

Återställ UFW

Om du återställer UFW avaktiveras UFW och raderar alla aktiva regler. Detta är användbart om du vill återställa alla dina ändringar och börja ny.

För att återställa UFW skriver du bara följande kommando:

sudo ufw reset

Slutsats

Du har lärt dig hur du installerar och konfigurerar UFW-brandvägg på din Ubuntu 18.04-server. Var noga med att tillåta alla inkommande anslutningar som är nödvändiga för att ditt system ska fungera korrekt, samtidigt som du begränsar alla onödiga anslutningar.

ufw firewall iptables ubuntu-säkerhet