Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 245

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Firewalling and Proxy Server HOWTO: Impostazione del filtraggio IP (IPCHAINS)</TITLE>
 <LINK HREF="Firewall-HOWTO-9.html" REL=next>
 <LINK HREF="Firewall-HOWTO-7.html" REL=previous>
 <LINK HREF="Firewall-HOWTO.html#toc8" REL=contents>
</HEAD>
<BODY>
<A HREF="Firewall-HOWTO-9.html">Avanti</A>
<A HREF="Firewall-HOWTO-7.html">Indietro</A>
<A HREF="Firewall-HOWTO.html#toc8">Indice</A>
<HR>
<H2><A NAME="s8">8. Impostazione del filtraggio IP (IPCHAINS)</A></H2>

<P>Linux ipchains &egrave; la riscrittura del codice IPv4 di filtraggio di Linux e di ipfwadm, il quale a sua volta &egrave; 
una riscrittura di ipfw della BSD, credo.
&Egrave; richiesto per l'amministrazione dei filtri dei pacchetti IP nei kernel Linux versione 2.1.102 e successivi.
<P>Il vecchio codice non gestisce i frammenti, ha contatori 32-bit (almeno su Intel), non consente la specificazione di 
protocolli che non siano TCP, UDP o ICMP, non pu&ograve; effettuare grossi cambiamenti atomicamente, 
non &egrave; possibile specificare regole inverse, ha alcune bizzarrie, e pu&ograve; essere difficile da utilizzare 
(incline a far commettere errori all'utente). Cos&igrave; almeno secondo l'autore.
<P>Non mi accingo ad approfondire come gestire un firewall con IPChains in quanto esiste un'ECCELLENTE!! HOWTO all'indirizzo 
<A HREF="http://www.rustcorp.com/linux/ipchains/HOWTO.html">http://www.rustcorp.com/linux/ipchains/HOWTO.html</A>.
<P>Si lavora con le catene per nome. Si parte con tre catene predefinite input, output e forward che non possono essere rimosse.
Si possono anche creare proprie catene. Le regole, da questo sistema, possono essere aggiunte e cancellate. 
<P>Le operazioni per operare su intere catene sono:
<OL>
<LI>Crea una nuova catena (-N). </LI>
<LI>Cancella una catena vuota (-X). </LI>
<LI>Cambia la tattica di una delle catene predefinite (-P). </LI>
<LI>Elenca le regole di una delle catene (-L). </LI>
<LI>Svuota una catena delle sue regole (-F). </LI>
<LI>Azzera i contatori dei pacchetti e dei byte di tutte le regole di una catena (-Z). </LI>
</OL>
<P>Esistono inoltre diversi modi per manipolare le regole di una catena:
<P>
<OL>
<LI>Appendi una nuova regola ad una catena (-A). </LI>
<LI>Inserisci una nuova regola in una determinata posizione della catena (-I). </LI>
<LI>Sostituisci una regola presente in una determinata posizione di una catena (-R). </LI>
<LI>Cancella una regola presente in una determinata posizione della catena (-D). </LI>
<LI>Cancella la prima regola di una catena (-D). </LI>
</OL>
<P>Ci sono anche alcune operazioni riguardanti il masquerading, incluse in ipchains in quanto &egrave; una buona collocazione:
<P>
<OL>
<LI>Elenca le connessioni correntemente mascherate (-M -L).</LI>
<LI>Imposta i timeout del masquerading (-M -S).</LI>
</OL>
<P>Esistono alcuni problemi di tempo riguardanti la modifica delle regole del firewall.
<P>Se non si presta particolare attenzione, si potrebbero far passare dei pacchetti mentre si &egrave; nel bel mezzo delle modifiche.
<P>
<PRE>
     # ipchains -I input 1 -j DENY
     # ipchains -I output 1 -j DENY
     # ipchains -I forward 1 -j DENY
</PRE>
<P>... effettua le modifiche ...
<P>
<PRE>
     # ipchains -D input 1
     # ipchains -D output 1
     # ipchains -D forward 1
     # 
</PRE>
<P>Questa soluzione scarta tutti i pacchetti per tutta la durata delle modifiche.
<P>Segue un duplicato, adattato per IPChains, delle regole precedenti. 
<P>
<PRE>
#!/bin/sh
#
# rc.firewall
#
## Svuota tutto, cominciamo da zero
  /sbin/ipchains -F input
  /sbin/ipchains -F output
  /sbin/ipchains -F forward

## Redirezione, necessaria per il proxy HTTP trasparente
  #$IPCHAINS  -A input -p tcp -s 192.1.2.0/24 -d 0.0.0.0/0 80 -j REDIRECT 8080

## Creazione della propria catena
  /sbin/ipchains -N my-chain
  # Consentiamo alle email di giungere al server
  /sbin/ipchains -A my-chain -s 0.0.0.0/0 smtp -d 192.1.2.10 1024:-j ACCEPT
  # Consentiamo connessioni email verso server email esterni
  /sbin/ipchains -A my-chain -s 192.1.2.10 -d 0.0.0.0/0 smtp -j ACCEPT
  # Consentiamo connessioni Web dirette al proprio server Web
  /sbin/ipchains -A my-chain -s 0.0.0.0/0 www -d 192.1.2.11 1024: -j ACCEPT
  # Consentiamo connessioni Web dirette verso server Web esterni
  /sbin/ipchains -A my-chain -s 192.1.2.0/24 1024: -d 0.0.0.0/0 www -j ACCEPT
  # Consentiamo traffico DNS
  /sbin/ipchains -A my-chain -p UDP -s 0.0.0.0/0 dns -d 192.1.2.0/24 -j ACCEPT

## Se si utilizza il masquerading
  # Non mascherare il traffico interno-interno 
  /sbin/ipchains -A forward -s 192.1.2.0/24 -d 192.1.2.0/24 -j ACCEPT
  # Non mascherare direttamente l'interfaccia esterna 
  /sbin/ipchains -A forward -s 24.94.1.0/24 -d 0.0.0.0/0 -j ACCEPT
  # Maschera tutti gli IP interni diretti all'esterno 
  /sbin/ipchains -A forward -s 192.1.2.0/24 -d 0.0.0.0/0 -j MASQ

## Scarta qualsiasi altra cosa
  /sbin/ipchains -P my-chain input DENY
</PRE>
<P>Non ci si fermi qui. Questo non &egrave; un gran firewall e sono sicuro che si vorranno fornire altri servizi. 
Ancora, si legga l'IPCHAINS-HOWTO.
<P>
<P>
<HR>
<A HREF="Firewall-HOWTO-9.html">Avanti</A>
<A HREF="Firewall-HOWTO-7.html">Indietro</A>
<A HREF="Firewall-HOWTO.html#toc8">Indice</A>
</BODY>
</HTML>