Introduzione
Iptables; Come fare
Le Basi
Iptables è un firewall, installato di default su tutte le distribuzioni ufficiali di Ubuntu (Ubuntu, Kubuntu, Xubuntu). Quando si installa Ubuntu, anche iptables viene installato con le impostazioni di default che autorizzano tutto il traffico. Dalla distibuzione Ubuntu 8.04 anche [http://wiki.ubuntu-it.org/Sicurezza/Ufw ufw] (un pacchetto che consente una facile gestiore di iptables) viene installato di default.
Comandi di base
In un terminale scrivere:
iptables -L
che permetterà di visualizzare un report in cui vengono mostrate le regole attualmente in vigore per iptables. Se non sono state apportate modifiche non si avranno regole e si dovrebbe visualizzare:
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
Opzioni di iptables di base
Qui verranno riportate alcune delle opzioni di iptables che verranno spiegate in questo tutorial. Non ci si deve preoccupare di capire tutto qui ed ora, ma ricordarsi di tornare indietro e dare un'occhiata a questo elenco se si verificano successivamente.
A - Append Appende (allega) questa regola alla lista delle regole. Le liste di regole valide per ciò che stiamo facendo sono INPUT, FORWARD and OUTPUT, ma in questo tutorial si tratterà l'INPUT che regolerà solo il traffico in entrata.
-L - List elencherà in una lista le attuali regole di filtraggio.
- -m conntrack - Permette di filtrare le regole per abbinarle in base allo stato di connessione. Consente l'uso dell'opzione - ctstate.
- --ctstate - Definisce l'elenco degli stati per la regola da soddisfare. Gli stati validi sono:
- NEW - La connessione non è stata ancora visualizzata.
- RELATED - La connessione è nuova, Ma è in relazione con un'altra attualmente permessa.
- ESTABLISHED - La connessione è tuttora stabilita.
- INVALID - Il traffico non può essere identificato per qualche ragione.
- -m limit - Richiede quale regola deve essere soddisfatta solo un numero limitato di volte. Permette l'uso dell'opzione --limit. Utile per limitare le regole di registrazione.
- --limit - Il tasso massimo di corrispondenza, dato come un numero seguito da "/second", "/minute", "/hour", or "/day" in base a quanto si desidera che la regola sia soddisfatta. Se questa opzione non viene utilizzata mentre si usa "-m limit", il valore di default è "3/hour".
- -p - Il protocollo utilizzato per la connessione.
- --dport - La porta di destinazione richiesta per questa regola. Può essere indicata una porta singola oppure un intervallo di porte come "portastart:portaend", che prenderà in considerazione tutte le porte da 'portastart' a 'portaend' comprese.
- j - Salta al target specificato. Per default, iptables permette quattro target:
- ACCEPT - Accetta il pacchetto e blocca le regole in questa lista.
- REJECT - Rigetta il pacchetto e notifica a chi sta inviando i dati che si è proceduto al blocco, nonchè blocca le regole in vigore in questa lista.
- DROP - Ignora silenziosamente il pacchetto e blocca le regole in vigore in questa lista.
- LOG - Logga il pacchetto, e continua a processare più regole nella lista. Permette l'uso delle opzioni --log-prefix e --log-level.
- --log-prefix - Durante il log, inserire questo testo prima del messaggio di log. Usare il 'double quotes' sul testo da usare.
- --log-level - Loggarsi usando il livello 'syslog' specificato. 7 è una buona scelta finchè non si avrà specificatamente bisogno di qualcos'altro.
- -i - Soddisfatta solo se un pacchetto sta entrando verso la periferica specificata.
- -I - Inserisce una regola. Desidera solo due opzioni, la lista dove inserirla e il numero che la regola avrà nella lista.
- -I INPUT 5 dovrebbe inserire la regola all'interno della lista di regole INPUT nella quinta posizione.
- -v - Visualizza più informazioni nel rapporto. Utile per visualizzare se si hanno regole che appaiono molto simili senza l'uso dell'opzione in questione.
- -s --source - indirizzo[/mask] 'specifica sorgente'
- -d --destination - indirizzo[/mask] 'specifica destinazione'
- -o --out-interface - output name[+] interfaccia di rete name ([+] per carattere jolly)
Consentire sessioni già stabilite
si possono autorizzare connessioni già stabilite a ricevere traffico:
# iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
- La regola qui sopra non ha spazi su entrambi i lati della virgola tra ESTABLISHED,RELATED
Se la linea qui sopra non funziona, si potrebbe essere su un VPS che usa OpenVZ oppure non si hanno installate alcune estensioni del kernel. In quel caso, provare questo comando:
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Autorizzare il traffico in entrata su specifiche porte
= Titolo oesto...
- Passo 1otifica
- Passo 2
- Passo 3
Titolo 2
Titolo 1
Testo...
- Passo 1
- Passo 2
- Passo 3
Titolo 2
Testo...
Ulteriori risorse
- Risorsa 1
- Risorsa 2