Ubuntu

Installera och konfigurera UFW i Ubuntu 20.04 LTS

Installera och konfigurera UFW i Ubuntu 20.04 LTS
UFW, eller Uncomplicated Firewall, är en användarvänlig frontend till Linux iptables. UFW är skrivet i Python (stöder Python 3.5 och senare) och är det nuvarande de facto brandväggshanteringsverktyget i Ubuntu-system. Detta verktyg är mycket användarvänligt och fungerar som en bra värdbaserad brandvägg.

Den här artikeln visar hur du installerar och använder UFW på din Ubuntu 20.04 LTS-system.

Installation

UFW levereras förinstallerat på de flesta Ubuntu-system. Om programmet inte redan har det här programmet installerat kan du installera det med antingen snap eller apt-pakethanteraren.$ sudo snap install ufw

$ sudo apt installera ufw

Jag föredrar personligen att använda apt-pakethanteraren för att göra detta eftersom snap är mindre populärt och jag vill inte ha denna extra komplexitet. När detta skrivs är versionen publicerad för UFW 0.36 för de 20.04 släpp.

Inkommande vs. Utgående trafik

Om du är nybörjare i nätverksvärlden är det första du behöver klargöra skillnaden mellan inkommande och utgående trafik.

När du installerar uppdateringar med apt-get, surfar på internet eller kontrollerar din e-post, vad du gör är att skicka "utgående" förfrågningar till servrar, som Ubuntu, Google, etc. För att komma åt dessa tjänster behöver du inte ens en offentlig IP. Vanligtvis tilldelas en enda offentlig IP-adress för exempelvis en bredbandsanslutning hemma, och varje enhet får sin egen privata IP. Routern hanterar sedan trafiken med något som kallas NAT eller Network Address Translation.

Detaljerna för NAT och privata IP-adresser ligger utanför denna artikel, men videon som länkas ovan är en utmärkt utgångspunkt. Kommer tillbaka till UFW, tillåter UFW som standard all vanlig utgående webbtrafik. Dina webbläsare, pakethanterare och andra program väljer ett slumpmässigt portnummer - vanligtvis ett nummer över 3000 - och det är så varje applikation kan hålla reda på sin anslutning (ar).

När du kör servrar i molnet kommer de vanligtvis med en offentlig IP-adress och ovanstående regler för att tillåta utgående trafik kvarstår. Eftersom du fortfarande kommer att använda verktyg, som pakethanterare, som pratar med resten av världen som en "klient" tillåter UFW detta som standard.

Det roliga börjar med inkommande trafik. Program, som OpenSSH-servern som du använder för att logga in på din virtuella dator, lyssnar på specifika portar (som 22) för inkommande begäranden, liksom andra applikationer. Webbservrar behöver åtkomst till port 80 och 443.

Det är en del av jobbet med en brandvägg att låta specifika applikationer lyssna på viss inkommande trafik samtidigt som alla onödiga blockeras. Du kan ha en databasserver installerad på din virtuella dator, men den behöver vanligtvis inte lyssna på inkommande förfrågningar i gränssnittet med en offentlig IP. Vanligtvis lyssnar det bara på loopback-gränssnittet för förfrågningar.

Det finns många bots ute på webben, som ständigt bombarderar servrar med falska förfrågningar om att tvinga sig in eller göra en enkel Denial of Service-attack. En välkonfigurerad brandvägg ska kunna blockera de flesta av dessa shenanigans med hjälp av tredjeparts plugins som Fail2ban.

Men för tillfället kommer vi att fokusera på en mycket grundläggande installation.

Grundläggande användning

Nu när du har UFW installerat på ditt system kommer vi att titta på några grundläggande användningsområden för detta program. Eftersom brandväggsregler tillämpas hela systemet körs kommandona nedan som rotanvändare. Om du föredrar kan du använda sudo med rätt behörighet för denna procedur.

# ufw-status
Status: inaktiv

Som standard är UFW i inaktivt tillstånd, vilket är bra. Du vill inte blockera all inkommande trafik på port 22, som är standard SSH-port. Om du är inloggad på en fjärrserver via SSH och blockerar port 22 kommer du att vara utesluten från servern.

UFW gör det enkelt för oss att skjuta ett hål bara för OpenSSH. Kör kommandot nedan:

[e-postskyddad]: ~ # ufw applista
Tillgängliga applikationer:
OpenSSH

Observera att jag fortfarande inte har aktiverat brandväggen. Vi lägger nu till OpenSSH i vår lista över tillåtna appar och aktiverar sedan brandväggen. För att göra det, ange följande kommandon:

# ufw tillåter OpenSSH
Regler uppdaterade
Regler uppdaterade (v6)
# ufw aktivera

Kommandot kan störa befintliga SSH-anslutningar. Fortsätt med operation (y | n)? y.

Brandväggen är nu aktiv och aktiverad vid systemstart.

Grattis, UFW är nu aktivt och igång. UFW tillåter nu endast OpenSSH att lyssna på inkommande förfrågningar i port 22. För att kontrollera status för din brandvägg när som helst, kör följande kod:

# ufw-status
Status: aktiv
Till handling från
-- ------ ----
OpenSSH ALLOW Överallt
OpenSSH (v6) ALLOW Anywhere (v6)

Som du kan se kan OpenSSH nu ta emot förfrågningar var som helst på Internet, förutsatt att den når den i port 22. V6-raden indikerar också att reglerna tillämpas för IPv6.

Du kan naturligtvis förbjuda vissa IP-intervall eller tillåta endast ett visst IP-intervall, beroende på de säkerhetsbegränsningar du arbetar inom.

Lägga till applikationer

För de mest populära applikationerna uppdaterar ufw-applistan automatiskt sin lista över policyer efter installationen. Till exempel, vid installationen av Nginx-webbservern ser du följande nya alternativ visas:

# apt install nginx
# ufw applista
Tillgängliga applikationer:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH

Fortsätt och försök experimentera med dessa regler. Observera att du helt enkelt kan tillåta portnummer snarare än att vänta på att en applikations profil ska visas. För att till exempel tillåta port 443 för HTTPS-trafik, använd bara följande kommando:

# ufw tillåter 443
# ufw-status
Status: aktiv
Till handling från
-- ------ ----
OpenSSH ALLOW Överallt
443 TILLÅT Överallt
OpenSSH (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)

Slutsats

Nu när du har sorterat grunderna i UFW kan du utforska andra kraftfulla brandväggsfunktioner, från att tillåta och blockera IP-intervall. Att ha tydliga och säkra brandväggspolicyer håller dina system säkra och skyddade.

Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...
Bästa kommandoradsspel för Linux
Kommandoraden är inte bara din största allierade när du använder Linux, det kan också vara källan till underhållning eftersom du kan använda den för a...