GNU/Linux >> Linux Esercitazione >  >> Linux

Procedura:Configurazione di base del file IPTables

Introduzione

Questo articolo discuterà della configurazione di iptables tramite il file /etc/sysconfig/iptables, che può essere utile se hai un insieme intricato di regole di cui tenere traccia o se preferisci non avere a che fare con tutti i flag e le opzioni coinvolte con la configurazione di iptables tramite la riga di comando.

Prerequisiti

Un server che esegue CentOS 6.5 o versioni precedenti (o qualsiasi distribuzione simile)

IPtables deve essere installato

Configurazione di base del file IPTables

Uno dei principali vantaggi della configurazione manuale del file iptables sono i commenti. Sebbene tu possa utilizzare i commenti tramite il modulo di corrispondenza ("-m comment –comment"), puoi fare un uso più ampio dei commenti nel file iptables stesso usando "# ' carattere all'inizio della riga:

# This is a comment and will be ignored when iptables is loaded

Quindi abbiamo un punto di confronto, diamo un'occhiata a come potrebbe apparire un file iptables se salviamo tramite il servizio sudo iptables save comando.

sudo service iptables save

Esempio:il servizio iptables salva

Potrebbe andar bene quando abbiamo questo piccolo numero di regole, ma immagina se avessimo centinaia di regole di cui tenere traccia. Potrebbe essere difficile per noi analizzare quelle regole senza un piccolo commento per aiutarci a ricordare quale fosse l'intento di creare quelle regole in primo luogo. Quindi, aggiungiamo un piccolo commento. Usa il tuo editor di testo preferito per aprire una copia modificabile del file iptables (i seguenti screenshot sono stati presi da vim, ma includeremo nano nella voce di comando per rendere le cose più facili ai nuovi studenti):

sudo nano /etc/sysconfig/iptables

File Iptables con commenti

Questo è (con un'eccezione) lo stesso file di quello senza commenti sopra. Se non sei il tipo abituato a leggere un mucchio di regole di iptables, questo file può essere molto meno intimidatorio (e se i tuoi commenti sono abbastanza chiari, possono persino ricordarti come dovrebbe funzionare una regola particolarmente complessa!) .

Gli occhi acuti potrebbero aver notato che le regole ssh in questo file iptables sono un po' fragili, in quanto la seconda riga (consentendo tutto il traffico ssh in ingresso) invalida essenzialmente il punto della prima riga specificando che un particolare IP è autorizzato a ssh in. Queste regole sono configurate per dimostrare alcuni formati di regole di base. In produzione, probabilmente avresti una serie di regole più restrittive in atto.

C'è una modifica alle regole di cui prendere nota tra i due set di regole di iptables. Per dimostrare un altro uso del carattere del commento, abbiamo aggiunto "# ” prima di INPUT regola che specifica che rifiutiamo il traffico che non corrisponde a nessuna delle regole precedenti e ha aggiunto una nuova regola che dice che dobbiamo registrare tutto il traffico prima di eseguire l'azione predefinita per questa catena (DROP ). (Ulteriori informazioni sulla registrazione dell'attività di iptables sono disponibili in questo articolo sulla risoluzione dei problemi di base di iptables). Dal momento che abbiamo solo commentato il RIFIUTO regola, se volessimo, potremmo rimuovere quello “# ” per ripristinare quella regola, invece di doverla digitare di nuovo. Questo può essere utile durante il test di varie regole o per includere una regola che potresti voler attivare in futuro o per un periodo di tempo limitato.

Nota che ogni regola nel file /etc/sysconfig/iptables inizia con '-A ' comando. Se hai familiarità con l'aggiunta usando iptables sulla riga di comando, potresti riconoscere che queste regole sono molto simili a quelle che seguono sudo iptables parte del comando quando si apportano modifiche a iptables tramite la CLI. Il '-A Il comando ' indica che la regola deve essere aggiunta alla fine della catena indicata. Tieni presente che non è richiesto alcun numero di riga (come potrebbe essere per "-I ' o -R ') da '-A ', per definizione, aggiungerà la regola alla fine dell'elenco delle regole in quella catena. Questo è il motivo per cui l'ordine delle regole è importante poiché iptables filtra il traffico analizzando queste regole nell'ordine in cui si trovano nella catena.

Dopo aver completato tutte le modifiche che desideri apportare a questo file e averlo salvato, dovrai caricare le nuove regole. Il modo più semplice per assicurarsi che tutte le modifiche vengano caricate è riavviare il servizio iptables. Questa azione cancellerà tutte le regole iptables correnti in esecuzione e quindi ricaricherà le regole come sono attualmente presenti nel file /etc/sysconfig/iptables.

sudo service iptables restart

Il servizio iptables riavvia l'output

Ora aggiungiamo una nuova regola e includeremo un errore in modo da poter vedere cosa succede quando riavviamo il servizio iptables:

Esempio di riavvio non riuscito

Sì, "tco" è sicuramente un protocollo sconosciuto. Questo output è così gentile da fornire il numero di riga nel file in cui si verifica l'errore e una breve descrizione dell'errore, quindi questo è un vantaggio. Ma poi questo output indica anche uno svantaggio di apportare modifiche alle regole del firewall tramite il file /etc/sysconfig/iptables e riavviare l'intero servizio. Nota che la prima riga dell'output indica che tutte le catene sono impostate su ACCETTO . Le righe seguenti svuotano tutte le regole e scaricano tutti i moduli, tutti completati con successo, come indicato dagli "OK" tra parentesi. Quando il servizio iptables rileva l'errore durante il ricaricamento, non riesce a caricare l'intero file iptables. Ciò significa che il tuo server viene lasciato senza alcun filtro in atto e tutte le catene impostate per impostazione predefinita su ACCETTO .

Stato delle tabelle IP

Se hai anche NAT o MANGLE regole impostate nel tuo file iptables, quindi perderesti anche le traduzioni degli indirizzi lì, quindi questo può essere un grosso svantaggio per apportare modifiche al file e riavviare il servizio all'ingrosso.

Idealmente, poiché il set di regole di iptables diventa più complicato, la soluzione migliore è apportare modifiche (con commenti esplicativi) nel file /etc/sysconfig/iptables e quindi aggiungere manualmente le nuove regole tramite la riga di comando, in particolare se queste modifiche vengono eseguite su un server di produzione. Il tuo chilometraggio può variare in base alle tue esigenze.


Linux
  1. Linux:come rigenerare 70-persistent-net.rules senza riavviare?

  2. Come visualizzare ed eliminare le regole di Iptables:elenco e svuotamento

  3. Come escludere un file/una directory dalle regole di auditd

  4. CentOS / RHEL 6:come salvare le regole di iptables

  5. CentOS / RHEL:come aggiungere regole iptable

Come configurare iptables Firewall in Linux

Come configurare un file server di base utilizzando simpleHTTPserver

Come configurare Iptables Firewall su CentOS

Procedura:Linux Generale – IPTable di base tramite riga di comando

Procedura:Risoluzione dei problemi di base di IPtables

Come proteggere un firewall Linux con le regole IPtables