Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "IpTablesHowTo"
Differenze tra le versioni 1 e 4 (in 3 versioni)
Versione 1 del 28/05/2005 21.28.25
Dimensione: 5281
Autore: adsl-213-190-44-43
Commento: imported from the old wiki
Versione 4 del 16/11/2006 16.19.10
Dimensione: 5528
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
= ItalianIpTablesHowTo =

= How-To di base su Iptables per Ubuntu =
= Configurare Iptables =
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents]]||
Linea 9: Linea 9:
Linea 10: Linea 11:
Linea 11: Linea 13:
Linea 12: Linea 15:
Linea 13: Linea 17:
Linea 14: Linea 19:
Linea 15: Linea 21:
Linea 16: Linea 23:
Linea 19: Linea 27:
Linea 22: Linea 31:
Linea 23: Linea 33:
Linea 25: Linea 36:
== Consentire il traffico per sessioni iniziate ==
Linea 26: Linea 38:
== Consentire il traffico per sessioni iniziate ==
Linea 28: Linea 39:
Linea 29: Linea 41:
Linea 30: Linea 43:
Linea 33: Linea 47:
Linea 36: Linea 51:
Linea 37: Linea 53:
Linea 38: Linea 55:
Linea 39: Linea 57:
Linea 42: Linea 61:
Linea 43: Linea 63:
Linea 44: Linea 65:
Linea 45: Linea 67:
Linea 46: Linea 69:
Linea 47: Linea 71:
Linea 48: Linea 73:
Linea 51: Linea 77:
Linea 52: Linea 79:
Linea 53: Linea 81:
Linea 56: Linea 85:
Linea 57: Linea 87:
Linea 58: Linea 89:
Linea 59: Linea 91:
Linea 60: Linea 93:
Linea 61: Linea 95:
Linea 62: Linea 97:
Linea 63: Linea 99:
Linea 68: Linea 105:
Linea 71: Linea 109:
Linea 72: Linea 111:
Linea 73: Linea 113:
Linea 74: Linea 115:
Linea 75: Linea 117:
Linea 76: Linea 119:
Linea 77: Linea 121:
Linea 78: Linea 123:
Linea 79: Linea 125:
Linea 88: Linea 135:
Linea 89: Linea 137:
Linea 90: Linea 139:
Linea 91: Linea 141:
Linea 92: Linea 143:
Linea 93: Linea 145:
Linea 94: Linea 147:
Linea 95: Linea 149:
Linea 96: Linea 151:
Linea 97: Linea 153:
Linea 100: Linea 157:
Linea 101: Linea 159:
Linea 102: Linea 161:
Linea 104: Linea 164:
== Ulteriori informazioni ==
Linea 105: Linea 166:
== Ulteriori informazioni ==
Linea 112: Linea 172:
Traduzione di Beniamino Caputo Traduzione di BeniaminoCaputo

Configurare Iptables

BR

Iptables è un firewall, installato di default su Ubuntu

Ci sono molte informazioni disponibili per iptables, ma la maggior parte di esse abbastanza complicate; questo howto è indirizzato a chi ha la necessità di configurare un firewall semplice.

Comandi di base

Il comando

# iptables -L

mostra la configurazione attuale di. Dopo l'installazione, non ci sono regole impostate e l'output dovrebbe essere

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination

Consentire il traffico per sessioni iniziate

Possiamo consentire che sessioni iniziate possano ricevere dati:

# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Consentire l'ingresso su porte specifiche

Potete iniziare bloccando il traffico, ma se state lavorando con SSH, avete bisogno di permettere il traffico su SSH prima di bloccare tutto.

Per consentire il traffico in ingresso sulla porta 22 (porta standard per il protocollo SSH), potete dire a iptables di consentire tutto il traffico TCP sulla porta 22 per la vostra scheda di rete.

# iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT

Specificatamente, questo comando aggiunge (-A) alla catena di INPUT la regola che tutto il traffico TCP (-p) sulla interfaccia (-i) eth0 per la porta di destinazione ssh venga consentito (-j ACCEPT).

Ricontrolliamo le impostazioni: (solo le prime linee, l'output mostra altre linee)

# iptables -L

Chain INPUT (policy ACCEPT)

target     prot opt source               destination        

ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED  

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh 

Ora, consentiamo tutto il traffico web

# iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT

Ricontrollando le regole, avremo

# iptables -L

Chain INPUT (policy ACCEPT)

target     prot opt source               destination        

ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED  

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh 

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www 

Abbiamo consentito il traffico TCP sulle porte ssh e web, ma siccome non abbiamo bloccato niente, tutto il traffico può ancora entrare.

Bloccare il traffico

Iptables, quando trova una regola che soddisfa un pacchetto, non controlla altre regole. Siccome le nostre regole per consentire il traffico ssh e web sono le prime, delle regole per bloccare tutto il traffico, possiamo continuare a ricevere il traffico che vogliamo. Quello che ci serve è impostare una regola che blocchi tutto il traffico alla fine. Il comando -A dice ad iptables di aggiungere la regola alla fine, quindi usiamo lo stesso comando.

# iptables -A INPUT -j DROP

# iptables -L

Chain INPUT (policy ACCEPT)

target     prot opt source               destination        

ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED  

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh 

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www 

DROP       all  --  anywhere             anywhere 

Siccome non abbiamo specificato una interfaccia o un protocollo, tutto il traffico per qualsiasi interfaccia verrà bloccato, eccetto quello per le porte ssh e web.

Editare le regole di Iptables

L'unico problema con le impostazioni effettuate è che anche la porta loopback è bloccata. Potevamo impostare la regola DROP solo per l'interfaccia eth0 specificando -i eth0, ma possiamo anche aggiungere una regola per l'interfaccia loopback. Aggiungendo ora la regola in append, sarebbe inutile in quanto la regola precedente ha già bloccato tutto il traffico. Abbiamo la necessità di inserire la nuova regola nella quarta linea.

# iptables -I INPUT 4 -i lo -j ACCEPT

# iptables -L

Chain INPUT (policy ACCEPT)

target     prot opt source               destination        

ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED  

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh 

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www

ACCEPT     all  --  anywhere             anywhere            

DROP       all  --  anywhere             anywhere

Le ultime due linee sembrano simili, quindi chiediamo a iptables di elencare maggiori dettagli.

# iptables -L -v

Ulteriori informazioni

[http://iptables-tutorial.frozentux.net/iptables-tutorial.html Guida a Iptables]

[http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO.html How-To per Iptables]

[http://www.netfilter.org/documentation/ Documentazione in varie lingua per Netfilter e Iptables]

Traduzione di BeniaminoCaputo

[http://www.ubuntulinux.org/wiki/IptablesHowTo Versione originale]