Debian e iptables

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca


Debian-swirl.png Versioni Compatibili

ERRORE: valore non valido ( Debian Lenny 5.0
Debian Squeeze 6.0
Debian Sid )! Vedi qui.



Introduzione a IPTables/Netfilter

Questo semplice HOW-TO è rivolto a tutti coloro che usano iptables (molti, credo) con Debian GNU/Linux.

Il tool iptables è (a partire dalla serie 2.4.x) il comando in user-space - a livello utente - che permette all'amministratore di interagire con netfilter ovvero il programma a livello kernel che si occupa del filtraggio dei pacchetti.

Per quanto riguarda Debian, Netfilter è presente in tutti i kernel installabili durante il setup di Debian. È pertanto sufficiente per iniziare ad utilizzare il proprio firewall installare il programma IPTables:

# apt-get install iptables

Attenzione che se avete un kernel ricompilato per conto vostro dovrete assicuratevi di avere abilitato tutte le opzioni ed i moduli necessari.

Risorse in rete

Per chi avesse la necessità di approfondire gli argomenti quivi trattati evidenzio da subito i seguenti link contenenti preziosa documentazione:

Iniziamo

Ovviamente, trattandosi di GNU/Linux, vi sono più modi differenti per ottenere i risultati desiderati. Lasciando ad ognuno il suo, ecco un excursus per vedere da dove iniziare.

Come interagire con Netfilter

Se Netfilter è il cuore del kernel che fa per noi il lavoro sporco di spulciarci/forwardare i pacchetti, IPTables è il potente tool User-space con il quale eseguire la configurazione. Oltre all'uso di IPTables sono nati anche varie GUI nel tentativo di fornire un approccio più user-friendly.

IPTables

GUI - Grafical User Interfaces

Queste alternative non hanno avuto un enorme successo, forse perché si fa prima a capire come funzione Netfilter piuttosto che un programma che configura Netfilter. In ogni caso ecco una breve lista di possibili alternative, a discrezione dell'utente (l'ordine è puramente casuale):

  • shorewall;
  • fwbuilder;
  • Turtle Firewall Project;
  • Integrated Secure Communications System;
  • Tanti, tanti altri.

Salvare la configurazione del firewall

Questa parte presenta una particolarità rispetto a quanto solitamente abituati nell'impostare le configurazioni. Infatti, lavorando a livello di kernel (netfilter) non è possibile salvare in modo permanente la configurazione del proprio firewall ma è necessario richiamarla volta per volta. Anche qui, a seconda dei gusti, propongo due differenti soluzioni che consiglio magari da utilizzare entrambi.

Tools di IPTables

Dopo aver creato la directory di configurazione (suggerisco /etc/iptables/) è possibile, dopo che si hanno inserito tutte le opzione tramite shell, salvare il lavoro svolto nel seguente modo:

# iptables-save > /etc/iptables/firewall.config

In questo modo, al riavvio successivo, sarà sufficiente richiamare il file di configurazione appena creato:

# iptables-restore /etc/iptables/firewall.config

Sarà ovviamente possibile creare uno script che in automatico attivi la configurazione del firewall all'accensione.

I vantaggi di questo metodo sono la rapidità di esecuzione del comando iptables-restore ma obbligano, qualora si volesse effettuare delle modifiche alle regole, ad intervenire per forza tramite shell.

Script di Bash

Questo metodo consente, secondo personale parere, un maggiore ordine delle regole. Infatti l'idea è di creare uno script di Bash che, eseguendolo, imposti tutte le regole del firewall.

Versione 0.1 - obsoleta

Per prima cosa assicuriamoci che iptables venga attivato all'avvio del sistema:

# dpkg-reconfigure -plow iptables

Fatto questo possiamo usare iptables per creare le nostre regole di filtraggio. Quando siamo soddisfatti del rule-set creato, possiamo salvarlo e fare in modo che venga attivato automaticamente. Per memorizzare le impostazioni è sufficiente usare il comando:

# /etc/init.d/iptables-save

Per chi è abituato a configurare il firewall attraverso file di configurazione (e per i curiosi), queste impostazioni vengono memorizzate in /var/lib/iptables.

happy filtering!


Autore: Keltik

Autore adottivo: Risca