Introduzione a IPTABLES: configurare un firewall su Linux

iptables

a configurare un firewall o un firewall in Linux, possiamo fare uso di iptables, un potente strumento che sembra dimenticato da molti utenti. Sebbene ci siano altri metodi, come ebtables e arptables per filtrare il traffico a livello di collegamento, o Squid a livello di applicazione, iptables può essere molto utile nella maggior parte dei casi, implementando una buona sicurezza nel nostro sistema a livello di traffico e trasporto della rete.

Il kernel Linux implementa iptables, una parte che si occupa di filtrare i pacchetti e che in questo articolo ti insegniamo a configurare in modo semplice. In poche parole, iptables identifica quali informazioni possono e non possono entrare, isolando il tuo team da potenziali minacce. E sebbene ci siano altri progetti come Firehol, Firestarter, ecc., Molti di questi programmi firewall usano iptables ...

Bene, Mettiamoci al lavoro, con gli esempi capirai tutto meglio (per questi casi è necessario disporre dei privilegi, quindi usa sudo davanti al comando o diventa root):

Il modo generale di usare iptables per creare un criterio di filtro è:

IPTABLES -ARGUMENTI AZIONE I / O

Dove si trova -ARGUMENT l'argomento che useremo, normalmente -P per stabilire la politica predefinita, sebbene ce ne siano altre come -L per vedere le politiche che abbiamo configurato, -F per eliminare una politica creata, -Z per reimpostare i contatori di byte e pacchetti, ecc. Un'altra opzione è -A per aggiungere una politica (non di default), -I per inserire una regola in una posizione specifica e -D per eliminare una data regola. Ci saranno anche altri argomenti per puntare ai protocolli -p, –sport source port, –dport per la porta di destinazione, -i interfaccia in entrata, -o interfaccia in uscita, -s indirizzo IP di origine e -d indirizzo IP di destinazione.

input-output di iptables

Inoltre l'I / O rappresenterebbe if politica si applica all'ingresso INPUT, all'uscita OUTPUT oppure è un reindirizzamento del traffico FORWARD (ce ne sono altri come PREROUTING, POSTROUTING, ma non li useremo). Infine, ciò che ho chiamato ACTION può assumere il valore ACCEPT se accettiamo, REJECT se rifiutiamo o DROP se eliminiamo. La differenza tra DROP e REJECT è che quando un pacchetto viene rifiutato con REJECT, la macchina che lo ha originato saprà che è stato rifiutato, ma con DROP agisce silenziosamente e l'attaccante o l'origine non sapranno cosa è successo, e non lo sapranno sapere se abbiamo un firewall o la connessione è appena fallita. Ce ne sono anche altri come LOG, che inviano un follow-up del syslog ...

Per modificare le regole, possiamo modificare il file iptables con il nostro editor di testo preferito, nano, gedit, ... o creare script con regole (se vuoi sovrascriverli, puoi farlo mettendo un # davanti alla riga in modo che sia ignorato come commento) tramite la console con i comandi come lo spiegheremo qui. In Debian e derivati ​​puoi anche usare gli strumenti iptables-save e iptables-restore ...

La politica più estrema è bloccare tutto, assolutamente tutto il traffico, ma questo ci lascerà isolati, con:

iptables -P INPUT DROP

Per accettare tutto:

iptables -P INPUT ACCEPT

Se lo vogliamo viene accettato tutto il traffico in uscita dal nostro team:

iptables -P OUTPUT ACEPT

La un'altra azione radicale sarebbe quella di cancellare tutte le politiche da iptables con:

iptables -F

Andiamo a regole più concreteImmagina di avere un server web e quindi il traffico attraverso la porta 80 deve essere consentito:

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

E se oltre alla regola precedente, vogliamo una squadra con iptables essere visto solo dai computer sulla nostra sottorete e questo passa inosservato da una rete esterna:

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

Nella riga precedente, quello che stiamo dicendo a iptables è di aggiungere una regola -A, in modo che siano accettati gli input INPUT e il protocollo TCP, tramite la porta 80. Ora immagina di volerlo la navigazione web è rifiutata per le macchine locali che passano attraverso la macchina che esegue iptables:

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

Penso che l'uso sia semplice, tenendo conto dello scopo di ogni parametro di iptables, possiamo aggiungere semplici regole. Puoi fare tutte le combinazioni e le regole che immaginiamo ... Per non estendermi di più, aggiungi solo un'altra cosa, e cioè che se la macchina viene riavviata, le politiche create verranno eliminate. Le tabelle vengono azzerate e rimarranno come prima, quindi, una volta ben definite le regole se vuoi renderli permanenti, devi farli lanciare da /etc/rc.local o se hai una Debian o dei derivati ​​usa gli strumenti che ci vengono dati (iptables-save, iptables-restore e iptables-apply).


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Jimmy Olano suddetto

    Questo è il primo articolo che vedo su IPTABLES che, sebbene denso -richiesta un livello medio di conoscenza-, VA DIRETTAMENTE AL GRANO.

    Consiglio a tutti di usarlo come "manuale di consultazione rapida" in quanto è molto ben condensato e spiegato. 8-)

  2.   GESÙ suddetto

    Vorrei che parlassi in un prossimo articolo se la modifica a systemd nella maggior parte delle distribuzioni Linux influisce in qualche modo sulla sicurezza di Linux in generale e se questa modifica è in meglio o in peggio per il futuro e le distribuzioni Linux. Vorrei anche sapere cosa si sa sul futuro di devuan (debian senza systemd).
    Grazie mille per gli articoli molto buoni.

  3.   Slevin suddetto

    Potresti scrivere un articolo che spieghi il tavolo mangle?

  4.   Sebastian suddetto

    Bloccare solo Facebook?