Introduktion till IPTABLES: konfigurera en brandvägg på Linux

iptables

till konfigurera en brandvägg eller brandvägg i Linux kan vi använda iptables, ett kraftfullt verktyg som verkar glömt av många användare. Även om det finns andra metoder, såsom tvivel och arptables för att filtrera trafik på länknivå eller Squid på applikationsnivå, kan iptables vara mycket användbara i de flesta fall, genom att implementera god säkerhet i vårt system på trafiknivå och transport av nät .

Linux-kärnan implementerar iptables, en del som tar hand om filtrering av paket och att vi i den här artikeln lär dig att konfigurera på ett enkelt sätt. Enkelt uttryckt, iptables identifierar vilken information som kan komma in och inte, vilket isolerar ditt team från potentiella hot. Och även om det finns andra projekt som Firehol, Firestarter, etc., använder många av dessa brandväggsprogram iptables ...

Tja, Låt oss börja arbeta, med exempel kommer du att förstå allt bättre (i dessa fall är det nödvändigt att ha behörigheter, så använd sudo framför kommandot eller bli root):

Det allmänna sättet att använda iptables att skapa en filterpolicy är:

IPTABLES-MÅL I / O-ÅTGÄRD

Där -ARGUMENT är argumentet vi kommer att använda, normalt -P för att fastställa standardpolicyn, även om det finns andra som -L för att se de policyer som vi har konfigurerat, -F för att radera en skapad policy, -Z för att återställa byte- och paketräknare etc. Ett annat alternativ är -A för att lägga till en policy (inte som standard), -J för att infoga en regel på en specifik position och -D för att radera en given regel. Det kommer också att finnas andra argument för att peka på -p-protokoll, –sportkällport, –dport för destinationsport, -i inkommande gränssnitt, -o utgående gränssnitt, -s källans IP-adress och -d destinations-IP-adress.

iptables input-output

Dessutom skulle I / O representera om politik den tillämpas på INPUT-ingången, på OUTPUT-utgången eller det är en FÖRVÄNDRING av trafikomdirigering (det finns andra som PREROUTING, POSTROUTING, men vi kommer inte att använda dem). Slutligen, vad jag har kallat ACTION kan ta värdet ACCEPT om vi accepterar, REJECT om vi avvisar eller DROP om vi eliminerar. Skillnaden mellan DROP och REJECT är att när ett paket avvisas med REJECT, kommer maskinen som har sitt ursprung att veta att det har avvisats, men med DROP fungerar det tyst och angriparen eller ursprunget kommer inte att veta vad som har hänt och kommer inte att göra det vet om vi har en brandvägg eller om anslutningen bara misslyckades. Det finns också andra som LOG, som skickar en uppföljning av syslog ...

För att ändra regler, vi kan redigera iptables-filen med vår föredragna textredigerare, nano, gedit, ... eller skapa skript med regler (om du vill åsidosätta dem kan du göra det genom att sätta ett # framför raden så att det är ignoreras som en kommentar) genom konsolen med kommandon eftersom vi kommer att förklara det här. I Debian och derivat kan du också använda verktygen iptables-save och iptables-återställning ...

Den mest extrema politiken är att blockera allt, absolut all trafik, men detta kommer att lämna oss isolerade, med:

iptables -P INPUT DROP

Att acceptera allt:

iptables -P INPUT ACCEPT

Om vi ​​vill ha det all utgående trafik från vårt team accepteras:

iptables -P OUTPUT ACEPT

La en annan radikal handling skulle vara att radera all politik från iptables med:

iptables -F

Låt oss gå till mer konkreta reglerTänk dig att du har en webbserver och därför måste trafiken genom port 80 vara tillåten:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Och om vi förutom den tidigare regeln vill ha ett team med iptables bara ses av datorer i vårt undernät och det går obemärkt av ett externt nätverk:

iptables -A INPUT -p tcp -s 192.168.30.0/24 --dport 80 -j ACCEPT

I den föregående raden är det vi säger till iptables att lägga till en regel -A, så att INPUT-ingångarna och TCP-protokollet via port 80 accepteras. Föreställ dig nu att du vill att jag ska surfning avvisas för lokala maskiner som passerar genom maskinen som kör iptables:

iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 DROP

Jag tror att användningen är enkel, med hänsyn till vad varje parameter för iptables är för kan vi lägga till enkla regler. Du kan göra alla kombinationer och regler som vi föreställer oss ... För att inte förlänga mig mer, lägg bara till en sak till, och det är att om maskinen startas om kommer de skapade policyerna att raderas. Tabellerna startas om och kommer att förbli som tidigare, så när du väl har definierat reglerna, om du vill göra dem permanentamåste du få dem att starta från /etc/rc.local eller om du har en Debian eller derivat använder du de verktyg som vi får (iptables-save, iptables-recovery och iptables-apply).


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Jimmy Olano sade

    Detta är den första artikeln jag ser på IPTABLES att även om det är tätt-kräver en medellång kunskapsnivå- GÅR DIREKT TILL KORNET.

    Jag rekommenderar alla att använda den som en "snabbreferensmanual", eftersom den är mycket väl sammanfattad och förklarad. 8-)

  2.   JESUS sade

    Jag skulle vilja att du pratade i en framtida artikel om huruvida ändringen till systemd i de flesta Linux-distributioner påverkar på något sätt säkerheten för Linux i allmänhet, och om denna förändring är till det bästa eller sämre i framtiden och Linux-distributioner. Jag skulle också vilja veta vad som är känt om framtiden för devuan (debian utan systemd).
    Tack så mycket att du gör mycket bra artiklar.

  3.   Slevin sade

    Kan du skapa en artikel som förklarar mangeltabellen?

  4.   Sebastian sade

    Blockera endast Facebook?