Uso di Iptables su Linux
Questa guida tenterà di spiegare come usare iptables su linux in un linguaggio facile da capire.
Contenuto[nascondere]
|
Panoramica
Iptables è un firewall basato su regole, che elaborerà ogni regola in ordine finché non ne trova una che corrisponda.
Todo: includi esempio qui
uso
L'utilità iptables è in genere preinstallata sulla distribuzione linux, ma in realtà non sta eseguendo alcuna regola. Troverete l'utilità qui sulla maggior parte delle distribuzioni:
/ Sbin / iptables
Blocco di un singolo indirizzo IP
È possibile bloccare un IP utilizzando il parametro -s, sostituendo 10.10.10.10 con l'indirizzo che si sta tentando di bloccare. In questo esempio noterai che abbiamo usato il parametro -I (o anche -insert funziona) anziché l'append, perché vogliamo assicurarci che questa regola venga visualizzata prima, prima di qualsiasi regola di autorizzazione.
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Consentire tutto il traffico da un indirizzo IP
Puoi alternativamente consentire tutto il traffico da un indirizzo IP usando lo stesso comando come sopra, ma sostituendo DROP con ACCEPT. Devi assicurarti che questa regola appaia prima, prima di qualsiasi regola DROP.
/ sbin / iptables -A INPUT -s 10.10.10.10 -j ACCEPT
Blocco di una porta da tutti gli indirizzi
È possibile bloccare completamente una porta dall'accesso sulla rete utilizzando l'opzione -dport e aggiungendo la porta del servizio che si desidera bloccare. In questo esempio, bloccheremo la porta mysql:
/ sbin / iptables -A INPUT -p tcp --dport 3306 -j DROP
Consentire una singola porta da un singolo IP
È possibile aggiungere il comando -s insieme al comando -dport per limitare ulteriormente la regola a una porta specifica:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 --dport 3306 -j ACCEPT
Visualizzazione delle regole correnti
È possibile visualizzare le regole correnti utilizzando il seguente comando:
/ sbin / iptables -L
Questo dovrebbe darti un risultato simile al seguente:
Chain INPUT (policy ACCEPT) target prot opt destinazione source ACCEPT all - 192.168.1.1/24 ovunque ACCEPT all - 10.10.10.0/24 ovunque DROP tcp - ovunque ovunque tcp dpt: ssh DROP tcp - ovunque ovunque tcp dpt: mysql
L'uscita effettiva sarà un po 'più lunga, ovviamente.
Cancellare le regole attuali
Puoi cancellare tutte le regole attuali usando il parametro flush. Questo è molto utile se devi mettere le regole nell'ordine corretto, o quando stai provando.
/ sbin / iptables --flush
Distribuzione-Specific
Mentre la maggior parte delle distribuzioni Linux include una forma di iptables, alcune includono anche wrapper che rendono la gestione un po 'più semplice. Molto spesso questi "addon" prendono la forma di script di init che si occupano di inizializzare iptables all'avvio, anche se alcune distribuzioni includono anche applicazioni wrapper in piena regola che tentano di semplificare il caso comune.
Gentoo
Il iptables lo script di init su Gentoo è in grado di gestire molti scenari comuni. Per cominciare, ti permette di configurare iptables da caricare all'avvio (di solito quello che vuoi):
rc-update aggiungi iptables default
Utilizzando lo script di init, è possibile caricare e cancellare il firewall con un comando facile da ricordare:
/etc/init.d/iptables avvia /etc/init.d/iptables stop
Lo script init gestisce i dettagli della permanenza della configurazione attuale del firewall all'avvio / arresto. Pertanto, il tuo firewall è sempre nello stato in cui lo hai lasciato. Se è necessario salvare manualmente una nuova regola, lo script di init può gestire anche questo:
/etc/init.d/iptables save
Inoltre, puoi ripristinare il firewall allo stato salvato precedente (nel caso in cui stavi sperimentando le regole e ora desideri ripristinare la precedente configurazione di lavoro):
/etc/init.d/iptables ricarica
Infine, lo script init può mettere iptables in una modalità "panic", in cui tutto il traffico in entrata e in uscita è bloccato. Non sono sicuro del motivo per cui questa modalità è utile, ma tutti i firewall Linux sembrano averlo.
/etc/init.d/iptables panic
Avvertimento: Non avviare la modalità panico se si è connessi al server tramite SSH; tu volontà essere disconnessi! L'unica volta che dovresti mettere iptables in modalità panico è mentre sei fisicamente di fronte al computer.