4755
Comment: first translated version
|
5139
sync with english master
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[iptables|English]] - Italiano-~ | ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[iptables|English]] - Italiano - [[es/iptables|Español]] -~ |
Line 4: | Line 4: |
Line 10: | Line 9: |
La configurazione manuale di iptables può essere impegnativa per i non esperti. Fortunatamente ci sono a disposizioni molti strumenti di configurazione (configurazione guidata) che assistono l'utente: ad esempio, DebPkg:fwbuilder, DebPkg:bastille, DebPkg:ferm ([[it/ferm|pagina wiki]]). | La configurazione manuale di iptables può essere impegnativa per i non esperti. Fortunatamente ci sono a disposizioni molti strumenti di configurazione (configurazione guidata) che assistono l'utente: ad esempio, DebPkg:fwbuilder, DebPkg:bastille, DebPkg:ferm ([[it/ferm|pagina wiki]]), DebPkg:ufw (Uncomplicated Firewall, da Ubuntu). |
Line 37: | Line 36: |
Nota: c'è un pacchetto apposito che aiuta in questa operazione: DebianPkg:iptables-persistent |
|
Line 40: | Line 41: |
nano /etc/iptables.test.rules | editor /etc/iptables.test.rules |
Line 63: | Line 64: |
# Permette le connessioni SSH per chi usa script # IL NUMERO DI -dport DEVE ESSERE LO STESSO IMPOSTATO NEL FILE SSHD_CONFIG -A INPUT -p tcp -m state --state NEW --dport 30000 -j ACCEPT |
# Permette le connessioni SSH # Il numero --dport e' lo stesso di quello in /etc/ssh/sshd_config -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT |
Line 72: | Line 73: |
# notare che bloccare altri tipi di pacchetti icmp è considerata da alcuni una cattiva idea # rimuovere -m icmp --icmp-type 8 da questa riga per permettere tutti i tipi di icmp: # https://security.stackexchange.com/questions/22711 |
|
Line 109: | Line 113: |
nano /etc/network/if-pre-up.d/iptables | editor /etc/network/if-pre-up.d/iptables |
Line 115: | Line 119: |
#!/bin/bash | #!/bin/sh |
Line 133: | Line 137: |
* Nozioni base su iptables: ~-<<BR>>. http://www.justlinux.com/nhf/Security/IPtables_Basics.html -~ | * Nozioni base su iptables: ~-<<BR>>. http://forums.justlinux.com/showthread.php?70876-iptables-basics -~ |
Translation(s): English - Italiano - Español
Iptables fornisce le funzionalità di filtraggio dei pacchetti, traduzione degli indirizzi di rete (NAT) e altre funzioni di rimaneggiamento dei pacchetti.
Due degli usi più tipici di iptables sono la funzione di firewall e NAT.
La configurazione manuale di iptables può essere impegnativa per i non esperti. Fortunatamente ci sono a disposizioni molti strumenti di configurazione (configurazione guidata) che assistono l'utente: ad esempio, fwbuilder, bastille, ferm (pagina wiki), ufw (Uncomplicated Firewall, da Ubuntu).
Visualizzare la configurazione attuale
Per vedere quali regole siano già configurate, usare questo comando:
iptables -L
L'output sarà simile al seguente:
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
Quanto sopra permette a tutti di accedere a tutto.
Archiviare le regole di iptables in un file
Nota: c'è un pacchetto apposito che aiuta in questa operazione: iptables-persistent
Si possono rendere le impostazioni un poco più restrittive creando un file di prova per iptables:
editor /etc/iptables.test.rules
In questo file inserire alcune regole base:
*filter # Permette tutto il traffico su loopback (lo0) traffic e elimina tutto il traffico che non usa lo0 verso 127/8 -A INPUT -i lo -j ACCEPT -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT # Accetta in entrata su tutte le connessioni stabilite -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Permette tutto il traffico in uscita # Potrebbe essere modificato per permettero solo un certo tipo di traffico -A OUTPUT -j ACCEPT # Permette connessioni HTTP e HTTPS da qualsiasi parte provengano (le normali porte per i siti web) -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 443 -j ACCEPT # Permette le connessioni SSH # Il numero --dport e' lo stesso di quello in /etc/ssh/sshd_config -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT # Ora ci si dovrebbe informare sulle regole di iptables e considerare se l'accesso ssh # per tutti sia realmente quello che si vuole. Molto probabilmente si preferisce # permettere l'accesso solo per alcuni IP. # Permettere ping # notare che bloccare altri tipi di pacchetti icmp è considerata da alcuni una cattiva idea # rimuovere -m icmp --icmp-type 8 da questa riga per permettere tutti i tipi di icmp: # https://security.stackexchange.com/questions/22711 -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT # registrare le chiamate negate di iptables (accesso via il comando 'dmesg') -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 # Respingere tutto il resto del traffico in entrata: politica del negare in modo predefinito quando non esplicitamente permesso -A INPUT -j REJECT -A FORWARD -j REJECT COMMIT
Tutto questo potrebbe sembrare complicato, ma provare a guardare una sezione alla volta. Ci si accorgerà che ciò che viene fatto è semplicemente chiudere tutte le porte tranne quelle che sono state permesse: che in questo caso sono le porte 80 e 443 (le porte standard dei browser web) e la porta SSH definita in precedenza.
Attivare queste nuove regole:
iptables-restore < /etc/iptables.test.rules
e vedere la differenza:
iptables -L
Ora l'output mostra che solo le porte definite prima sono aperte. Tutte le altre sono chiuse.
Una volta che si è soddisfatti, salvare le regole nel file di configurazione principale di iptables:
iptables-save > /etc/iptables.up.rules
Per assicurarsi che le regole di iptables vengano usate al prossimo riavvio, creare un nuovo file:
editor /etc/network/if-pre-up.d/iptables
e aggiungervi queste righe:
#!/bin/sh /sbin/iptables-restore < /etc/iptables.up.rules
Il file deve essere eseguibile, perciò cambiare i suoi permessi:
chmod +x /etc/network/if-pre-up.d/iptables
Notare: Questo HOWTO è frutto del contributo dell'utente Geejay a wiki.openvz.org e fa parte di un howto sull'installazione.
Vedere anche
Documentazione su netfilter/iptables:
. http://www.netfilter.org/documentation/- Introduzioni facili/Panoramiche
Firewall e routing avanzato in Linux:
. http://ornellas.apanela.com/dokuwiki/pub:firewall_and_adv_routingNozioni base su iptables:
. http://forums.justlinux.com/showthread.php?70876-iptables-basics
Securing Debian HOWTO: sezione sull'aggiunta di funzionalità firewall:
. http://www.debian.org/doc/manuals/securing-debian-howto/ch-sec-services.en.html#s-firewall-setup