Iptables (Italiano)
Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end
iptable è un potente firewall integrato nel kernel Linux ed è una parte del progetto netfilter. Può essere configurato direttamente, oppure usando uno dei vari frontends oppure una delle GUI. Template:Codeline è utilizzato per gli ipv4 mentre Template:Codeline è usato per gli ipv6.
Contents
Installazione
Per prima cosa, installare il pacchetto Template:Package Official:
# pacman -S iptables
Successivamente, aggiungere Template:Codeline all'array DAEMONS nel file Template:Filename per far caricare le impostazioni personalizzate durante il boot:
Concetti di base
tabelle
iptables contiene quattro tabelle: Template:Codeline e Template:Codeline.
catene
Le catene sono utilizzate per idicare una serie di regole. Un pacchetto viene comparato dall'inizio della catena fino a che non soddisfa una regola. Ci sono tre catene principali: Template:Codeline e Template:Codeline. Tutti i pacchetti generati dal sistema ed in uscita, passano attraverso la catena Template:Codeline, tutti i pacchetti in entrata e destinati al sistema stesso passano attraverso la catena Template:Codeline, mentre i pacchetti che transitano per il sistema ma sono destinati ad altri sistemi passano dalla catena Template:Codeline. Queste catene hanno destinazioni di default nel caso nessuna regola venga soddisfatta. Catene personalizzate dagli utenti possono essere aggiunte per aumentare l'efficenza delle regole.
destinazione
Una destinazione è il risultato che si ottiene quando un pacchetto soddisfa una regola. Le destinazioni sono specificate mediante l'uso di Template:Codeline (Template:Codeline). Le destinazioni più comuni sono Template:Codeline oppure Template:Codeline.
moduli
Esistono diversi moduli che possono essere usati per rafforzare Template:Codeline, come Template:Codeline e Template:Codeline. Questi moduli forniscono funzionalità aggiuntive per permettere l'uso di regole di filtraggio più complesse.
Configurazione
Da linea di comando
Sarà possibile controllare le regole in uso ed il numero di pacchetti che hanno soddisfatto le regole usando il comando:
Se l'output ottenuto è simile a quello nell'esemprio, allora non sono state configurate regole.
Le regole possono essere resettate alle impostazioni di default usando questi comandi:
# iptables -P INPUT ACCEPT # iptables -P FORWARD ACCEPT # iptables -P OUTPUT ACCEPT # iptables -F # iptables -X
File di configurazione
Nel file di configurazione Template:Filename vengono definite le locazioni dei file di configuraizone delle regole. Le regole vengono caricate quando il demone viene avviato.
Per salvare le regole dopo una modifica usare il comando:
# rc.d save iptables
Per caricare le nuove regole, usare il seguente comando:
# rc.d restart iptables
Salvare i contatori
Sarà possibile, opzionalmente, salvare i contatori di pacchetti e dei byte. Per poterlo fare, modificare il file Template:Filename
Nella sezione save) cambiare la linea:
/usr/sbin/iptables-save > $IPTABLES_CONF
in
/usr/sbin/iptables-save -c > $IPTABLES_CONF
Nella sezione stop), aggiugnere le seguenti linee per salvare prima dello stop del demone:
stop) $0 save sleep 2
Nella sezione start), cambiare la linea:
/usr/sbin/iptables-restore < $IPTABLES_CONF
in
/usr/sbin/iptables-restore -c < $IPTABLES_CONF
e salvare il file.
Guide
Log
La destinazione Template:Codeline può essere utilizzata per registrare i pacchetti che soddisfano una regola. Diversamente dalle altre destinazioni come Template:Codeline o Template:Codeline, il pacchetto continua a muoversi sulla catena dopo essere passato dalla destinazione Template:Codeline. Questo significa che per registrare tutti i pacchetti bloccati, sarà necessario aggiungere una regola duplicata con destinazione Template:Codeline prima di ogni regola con destinazione Template:Codeline. Dato che questo riduce l'efficienza e rende le cose meno semplici, una catena Template:Codeline potrà essere creata al suo posto.
Limitare le dimensioni del log
Il modulo Template:Codeline viene usato per impedire che il log di Template:Codeline cresca troppo o causi inutili scritture sul disco. Senza usare limiti, un attaccante potrebbe riempire il disco (oppure la sola partizione Template:Filename) facendo scrivere log ad Template:Codeline.
Template:Codeline viene usato per attivare il modulo Template:Codeline. Si può utilizzare l'opzione Template:Codeline per impostare un lasso di tempo medio, l'opzione Template:Codeline serve per impostare il limite di pacchetti per i log. Ad esempio:
-A LOGDROP -m limit --limit 5/m --limit-burst 10 -j LOG
Questo aggiunge una regola alla catena Template:Codeline che registrerà nel log tutti i pacchetti che passano da essa. I primi 10 pacchetti verranno registrati, e dopo di essi solo 5 pacchetti per minuto verranno registrati. Il Template:Codeline viene ripristinato ogni volta che il non viene superato il tempo di Template:Codeline.
syslog-ng
Assuming you are using syslog-ng which is the default in Archlinux, you can control where iptables' log output goes this way:
filter f_everything { level(debug..emerg) and not facility(auth, authpriv); };
to
filter f_everything { level(debug..emerg) and not facility(auth, authpriv) and not filter(f_iptables); };
This will stop logging iptables output to Template:Filename.
If you also want iptables to log to a different file than Template:Filename, you can simply change the file value of destination d_iptables here (still in Template:Filename)
destination d_iptables { file("/var/log/iptables.log"); };
ulogd
ulogd is a specialized userspace packet logging daemon for netfilter that can replace the default LOG target. An AUR package can be found here.