Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions

  




 

 

Linuxtopia - Red Hat Enterprise Linux Reference Guide (Italiano) - iptables

Capitolo 18. iptables

Installato con Red Hat Enterprise Linux vi sono dei tool avanzati per il filtraggio dei pacchetti della rete —, ovvero il processo di controllo dei pacchetti di rete, all'interno del kernel, che cercano di accedere, transitare e uscire dallo stack della rete. Le versioni del kernel precedenti alla 2.4 si affidavano al comando ipchains per il filtraggio e utilizzavano gli elenchi di regole applicabili ai pacchetti in ogni fase del processo stesso. Con il Kernel 2.4 � stato introdotto il comando iptables, (chiamato anche netfilter), il quale � simile a ipchains, ma permette di ampliare notevolmente le possibilit� di controllo in fase di filtraggio dei pacchetti.

Questo capitolo si concentra sugli aspetti di base del filtraggio dei pacchetti, evidenzia le differenze tra ipchains e iptables, spiega le varie opzioni disponibili con i comandi iptables, e spiega come preservare le regole di filtraggio tra un riavvio del sistema e l'altro.

Se avete bisogno di istruzioni su come creare regole iptables o configurare un firewall basato su tali regole, consultate la Sezione 18.7.

AttenzioneAvvertenza
 

Il meccanismo di default del firewall per il kernel 2.4 � iptables, ma iptables non pu� essere utilizzato se ipchains sono gi� in esecuzione. Se ipchains � presente al momento dell'avvio, il kernel emette un messaggio di errore e non sar� in grado di avviare iptables.

Questo genere di errori non hanno ripercussioni sul funzionamento di ipchains.

18.1. Filtraggio dei pacchetti

Il kernel di Linux possiede la capacit� integrata di filtrare i pacchetti, concedendo o negando loro l'accesso al sistema. Il netfilter del kernelpresenta tre tabelle integrate dette anche elenchi delle regole. Eccole riportate:

  • filter — La tabella di default per la gestione dei pacchetti di rete.

  • nat — Questa tabella altera i pacchetti che creano un collegamento e viene usata per il Network Address Translation (NAT).

  • mangle — Questa tabella viene usata per l'alterazione di pacchetti specifici.

SuggerimentoSuggerimento
 

In aggiunta a queste tabelle integrate, � possibile creare delle tabelle specializzate e conservate nella directory /lib/modules/<versione-kernel>/kernel/net/ipv4/netfilter/ (dove <versione-kernel> corrisponde al numero della versione del kernel).

Ogni tabella ha un gruppo di catene integrate, che corrispondono alle azioni effettuate da netfilter sul pacchetto.

Le catene integrate per la tabella filter sono le seguenti:

  • INPUT — Si applica ai pacchetti ricevuti mediante un'interfaccia di rete.

  • OUTPUT — Si applica ai pacchetti inviati mediante la stessa interfaccia di rete che ha ricevuto i pacchetti in entrata.

  • FORWARD — Si applica ai pacchetti ricevuti su una data interfaccia di rete e inviati mediante un'altra.

Le catene integrate per la tabella nat sono le seguenti:

  • PREROUTING — Questa catena altera i pacchetti ricevuti attraverso un'interfaccia di rete al loro arrivo.

  • OUTPUT — Altera i pacchetti di rete generati localmente, prima che gli stessi vengono inviati all'esterno.

  • POSTROUTING — Questa catena altera i pacchetti prima che vengano inviati attraverso un'interfaccia di rete.

Le catene integrate per la tabella mangle sono le seguenti:

  • INPUT — Altera i pacchetti di rete designati per l'host.

  • OUTPUT — Altera i pacchetti di rete generati localmente, prima che gli stessi vengono inviati all'esterno.

  • FORWARD — Altera i pacchetti di rete diretti attraverso l'host.

  • PREROUTING — Questa catena altera i pacchetti ricevuti attraverso un'interfaccia di rete prima che vengano instradati.

  • POSTROUTING — Questa catena altera i pacchetti prima che vengano inviati attraverso un'interfaccia di rete.

Ogni pacchetto di rete ricevuto o inviato da un sistema Linux � soggetto ad almeno una tabella. Tuttavia, un pacchetto pu� essere soggetto a numerose regole all'interno di ogni tabella prima di raggiungere la fine della catena. La struttura e lo scopo di queste regole possono variare, ma di norma si occupano di identificare un pacchetto proveniente da o diretto verso un determinato indirizzo IP o gruppo di indirizzi tramite un protocollo e un servizio di rete particolari.

NotaNota Bene
 

Non utilizzare i nomi del dominio qualificati all'interno delle regole del firewall salvate nei file /etc/sysconfig/iptables o /etc/sysconfig/ip6tables. Nel seguente esempio: iptables -A FORWARD -s example.com -i eth0 -j DROP example.com risulta essere invalido poich� il servizio iptables, inizia, al momento dell'avvio, prima di qualsiasi servizio relativo a DNS, tale procedura d� luogo alla presenza di un errore. Solo gli indirizzi IP risultano essere validi per la creazione delle regole del firewall.

Indipendentemente dalla sua destinazione, quando un pacchetto soddisfa una particolare regola contenuta in una delle tabelle, gli viene attribuito un determinato target o azione. Se la regola decide di assegnargli il target ACCEPT, il pacchetto pu� saltare i controlli legati alle restanti regole ed � autorizzato a procedere verso la sua destinazione. Se invece la regola opta per il target DROP, il pacchetto viene abbandonato, ossia gli viene negato l'accesso al sistema, e all'host mittente non viene rispedito indietro nulla. Se vi � una regola che specifica un target QUEUE, il pacchetto deve essere passato ad uno spazio-utente. Nel caso in cui la regola decida di applicare al pacchetto il target REJECT, il pacchetto viene comunque abbandonato, ma al nodo mittente viene recapitato un pacchetto di errore.

Ogni catena ha una policy di default per accettare ACCEPT, abbandonare DROP, rifiutare REJECT, o per accodarlo QUEUE verso lo spazio utente. Quando nessuna delle regole della catena risulta applicabile al pacchetto, � la policy di default a decidere come gestirlo.

Il comando iptables vi consente sia di configurare questi elenchi di regole, sia di impostare nuove catene e nuove tabelle.

 
 
  Published under the terms of the GNU General Public License Design by Interspire