Introducció a IPTABLES: configura un Firewall en Linux

iptables

Per a la configurar un firewall o tallafocs en Linux, podem fer ús d'iptables, Una potent eina que sembla oblidada per molts usuaris. Encara que existeixen altres mètodes, com ebtables i arptables per filtrar trànsit a nivell d'enllaços, o Squid a nivell d'aplicacions, iptables pot resultar molt útil per a la majoria dels casos, implementant una bona seguretat en el nostre sistema a nivell de trànsit i transport de xarxa.

El nucli Linux implementa iptables, una part que s'ocupa de filtrar paquets i que en aquest article t'ensenyem a configurar d'una forma senzilla. Dit de manera senzilla, iptables identifica quina informació pot entrar i qual no, aïllant al teu equip de possibles amenaces. I encara que hi hagi altres projectes com firehol, Firestarter, etc., molts d'aquests programes per tallafocs fan servir iptables ...

Doncs bé, posem-nos mans a l'obra, amb exemples ho entendreu tot millor (Per a aquests casos cal tenir privilegis, de manera que fa servir sudo davant de la comanda o fes-te root):

La forma general d'usar iptables per crear una política de filtrat és:

IPTABLES -Arguments I / O ACCIÓ

On -va argumentar és l'argument que farem servir, Normalment -P per establir la política per defecte, encara que existeixen altres com -L per veure les polítiques que tenim configurades, -F per eliminar una política creada, -Z per posar a zero els comptadors de bytes i paquets, etc. Una altra opció és -A per afegir una política (no per defecte), -I per inserir una regla en una posició concreta, i -D suprimir una regla donada. També hi haurà altres arguments per assenyalar -p protocols, -Sport port font, -dport per port destí, -i interfície entrant, -o interfície sortint, -s adreça IP origen i -d adreça IP destí.

entrada-sortida iptables

A més I / O representaria si la política s'aplica a l'entrada INPUT, a la sortida OUTPUT o es tracta d'una redirecció de trànsit FORWARD (existeixen altres com PREROUTING, POSTROUTING, però no les farem servir). Finalment, el que jo he anomenat ACCIÓ pot prendre el valor ACCEPT si acceptem, REJECT si rebutgem o DROP si eliminem. La diferència entre DROP i REJECT és que quan es rebutja un paquet amb REJECT, la màquina que el va originar sabrà que ha estat rebutjat, però amb DROP s'actua amb silenci i l'atacant o origen no sabrà que ha passat, i tampoc sabrà si tenim un tallafoc o simplement ha fallat la connexió. També hi ha altres com LOG, que manen un seguiment de l'syslog ...

Per modificar regles, Podem editar el fitxer de iptables amb el nostre editor de text preferit, nano, gedit, ... o crear scripts amb regles (si vols anul·lar-les, pots fer-ho posant un # davant de la línia perquè sigui ignorada com un comentari) mitjançant la consola amb ordres com ho explicarem aquí. A Debian i derivats també es poden fer servir les eines iptables-save i iptables-restore ...

La política més extrema és bloquejar tot, Absolutament tot el trànsit, però això ens deixarà aïllats, amb:

iptables -P INPUT DROP

Per acceptar-ho tot:

iptables -P INPUT ACCEPT

Si volem que tot el tràfic sortint des del nostre equip sigui acceptat:

iptables -P OUTPUT ACEPT

La altra acció radical seria esborrar totes les polítiques d'iptables amb:

iptables -F

Anem a regles més concretes, Imagina que tens un servidor web i per tant el trànsit pel port 80 ha d'estar permès:

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

I si a més de la regla anterior, volem que un equip amb iptables només sigui vist pels equips de la nostra subxarxa i que passi desapercebut per a una xarxa externa:

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

En la línia anterior, el que li estem dient a iptables és que s'afegeixi una regla -A, perquè les entrades INPUT, i el protocol TCP, pel port 80, quedin acceptades. Ara imagina que vols que la navegació web sigui rebutjada per a les màquines locals que passin a través de la màquina que executa iptables:

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

Crec que l'ús és senzill, tenint en compte per a què serveix cada paràmetre d'iptables, podem afegir regles senzilles. Es poden fer totes les combinacions i regles que imaginem ... Per no estendre més, només afegir una cosa més, i és que si la màquina es reinicia, s'esborraran les polítiques creades. Les taules es reinicien i quedaran com abans, per això, un cop tinguis ben definides les regles, si vols fer-permanents, Has de fer que es llancin des /etc/rc.local o si tens un Debian o derivats utilitzar les eines que se'ns donen (iptables-save, iptables-restore i iptables-apply).


4 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Jimmy Olano va dir

    Aquest és el primer article que veig sobre IPTABLES que, encara que dens -Requereix un nivell de coneixement mig-, VA A EL GRA DIRECTAMENT.

    Recomano a totes i tots fer-lo servir com a «manual de referència ràpida» ja que està molt bé condensat i explicat. 8-)

  2.   JESÚS va dir

    M'agradaria que parléssiu en un proper article sobre si el canvi de systemd a la majoria de distribucions de linux, afecta d'alguna manera a la seguretat de linux en general, i si aquest canvi és per a millor o pitjor de el futur i les distribucions de linux . També em gustaria saber que se sap de el futur de devuan (debian sense systemd).
    Moltes Gràcies feu molt bons articles.

  3.   esleví va dir

    Podries fer un article explicant la taula mangle?

  4.   Sebastià va dir

    Bloquejar únicament Facebook?