Come configurare il firewall in Linux con IPtables

iptable linux

Anche se a volte tocco ancora Windows da solo e in molti altri mi costringono (marditoh rodoreh) quando devo fare delle cose lontano dai miei computer, per me parlare di Windows è come qualcosa che si lascia molto indietro nel tempo. Quando l'ho usato come sistema principale (non ne avevo altri), ho provato a proteggerlo con software come l'antivirus di Kaspersky e il firewall occasionale, tra molti altri strumenti di sicurezza. In Linux non siamo mai stati così esposti come in Windows, ma esistono anche software che ci aiutano a stare più tranquilli, come ad esempio IPtables, un firewall o firewall.

Il firewall è un sistema di sicurezza responsabile del controllo del traffico di rete che entra ed esce da un sistema operativo. Uno dei più diffusi in Linux è il già citato IPtables, al punto che, probabilmente e a tua insaputa, è già stato installato nel tuo sistema operativo da quando lo hai rilasciato. Quello che cercheremo di fare in questo articolo è spiegare come configurare il firewall in linux con IPtables.

IPtables su Linux, cosa devi sapere

Configurazione di un firewall può essere complicato, e altro ancora in un sistema operativo come Linux in cui il meglio si ottiene con il semplice tocco di un terminale. Prima di iniziare, è consigliabile conoscere un po' i problemi di rete e sicurezza, o almeno capire che, quando siamo connessi, stiamo comunicando con altre apparecchiature e questi dispositivi o i loro proprietari possono avere buone o cattive intenzioni. Per questo motivo, a seconda dell'uso che facciamo del nostro PC, vale la pena controllare tutto ciò che esce e tutto ciò che vi entra.

Inoltre, e per ciò che potrebbe accadere, se abbiamo un altro firewall sul nostro sistema Linux e inizieremo a modificare le cose in IPtables, vale la pena fare una copia di backup della nostra attuale configurazione del firewall. Con tutto questo chiaro, iniziamo a parlare a fondo della configurazione di IPtables.

  1. La prima cosa che dobbiamo fare è installare il pacchetto. La maggior parte delle distribuzioni Linux lo hanno installato per impostazione predefinita, ma non è sempre così. Per sapere se abbiamo IPtables installato nel nostro sistema operativo, apriamo un terminale e scriviamo iptables -v. Nel mio caso e al momento della stesura di questo articolo, il mio terminale mi restituisce iptable v1.8.8. Nel caso non sia installato, può essere installato con:

Ubuntu/Debian o derivati:

sudo apt installa iptables

Fedora/Redhat o derivati:

sudo yum installa iptables

Arch Linux e derivati

sudo pacman -Siptables

Dopo l'installazione, sarà abilitato con:

sudo systemctl abilita iptables sudo systemctl avvia iptables

E puoi vedere il suo stato con:

sudo systemctl stato iptables
  1. Con il firewall già installato, devi configurarne le regole. Le regole di IPtables sono suddivise in tabelle (di cui parleremo più dettagliatamente più avanti in questo articolo): filter, nat e mangle, alle quali dobbiamo aggiungere raw e security. La tabella dei filtri viene utilizzata per controllare il traffico in entrata e in uscita, la tabella nat viene utilizzata per eseguire NAT (Network Address Translation) e la tabella mangle viene utilizzata per modificare il pacchetto IP. Per configurare le regole della tabella dei filtri, vengono utilizzati i seguenti comandi:
  • iptables -A INPUT -j ACCEPT (consenti tutto il traffico in entrata).
  • iptables -A OUTPUT -j ACCEPT (consenti tutto il traffico in uscita).
  • iptables -A FORWARD -j ACCEPT (consenti tutto il traffico di instradamento). Tuttavia, questa configurazione consente tutto il traffico e non è consigliata per un sistema di produzione. È importante specificare le regole del firewall in base alle esigenze specifiche del sistema. Ad esempio, se si desidera bloccare il traffico in entrata sulla porta 22 (SSH), è possibile utilizzare il comando:
iptables -A INPUT -p tcp --dport 22 -j DROP
  1. Un'altra cosa importante è salvare le impostazioni, in modo da non perderle al riavvio del sistema. Su Ubuntu e Debian il comando "iptables-save" viene utilizzato per salvare le configurazioni correnti in un file. Su Red Hat e Fedora, il comando "service iptables save" viene utilizzato per salvare le configurazioni. Se sei in dubbio su quale usare, i comandi Ubuntu/Debian tendono a funzionare su più distribuzioni.

Carica le configurazioni dopo un riavvio

a caricare le impostazioni salvate, vengono utilizzati gli stessi comandi usati per salvarli, ma con l'azione "restore" invece di "save". Su Ubuntu e Debian, il comando "iptables-restore" viene utilizzato per caricare le configurazioni salvate da un file. Su Red Hat e Fedora, il comando "service iptables restore" viene utilizzato per caricare le configurazioni salvate. Ancora una volta, se sei in dubbio su quale comando usare, i comandi Ubuntu/Debian di solito funzionano meglio.

È importante notare che se vengono apportate modifiche alle impostazioni del firewall, è necessario salvarle e ricaricarle affinché le modifiche abbiano effetto. È un modo per sovrascrivere il file di configurazione con i nuovi dati e, se non viene fatto in questo modo, le modifiche non verranno salvate.

Tabelle in IPtables

Esistono 5 tipi di file disegnare in IPTables e ognuno ha regole diverse applicate:

  • filtro : Questa è la tabella principale e predefinita quando si utilizza IPTables. Ciò significa che se non viene menzionata alcuna tabella specifica durante l'applicazione delle regole, le regole verranno applicate alla tabella dei filtri. Come suggerisce il nome, il ruolo della tabella dei filtri è decidere se consentire ai pacchetti di raggiungere la loro destinazione o rifiutare la loro richiesta.
  • nat (Network Address Translation): come suggerisce il nome, questa tabella consente agli utenti di determinare la traduzione degli indirizzi di rete. Il ruolo di questa tabella è determinare se e come modificare l'indirizzo del pacchetto di origine e di destinazione.
  • mancante: Questa tabella ci permette di modificare gli header IP dei pacchetti. Ad esempio, il TTL può essere regolato per allungare o accorciare gli hop di rete che il pacchetto può supportare. In modo simile, anche altre intestazioni IP possono essere modificate in base alle proprie preferenze.
  • crudo: L'uso principale di questa tabella è tracciare le connessioni in quanto fornisce un meccanismo per contrassegnare i pacchetti per visualizzare i pacchetti come parte di una sessione in corso.
  • problemi di: Usando la tabella di sicurezza, gli utenti possono applicare i flag interni del contesto di sicurezza di SELinux ai pacchetti di rete.

Le ultime due tabelle sono poco utilizzate, al punto che la maggior parte della documentazione parla solo di filter, nat e mangle.

Nel file di aiuto possiamo trovare esempi su come gestire IPtables. Per vederlo, apriremo un terminale e digiteremo iptables -h.

Sebbene iptables sia una delle migliori opzioni disponibili per Linux, se preferisci qualcosa di più semplice con un'interfaccia grafica puoi dare un'occhiata a Firewalld.


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.