regola iptables per bloccare il traffico non specificato in tutte le altre regole


1

C'è un modo per aggiungere una regola in iptable per bloccare il traffico non specificato / coperto in tutte le altre regole? So che possiamo usare! per bloccare porte e indirizzi IP specifici, ma ci sono troppe regole nel mio iptable per affrontare individualmente ogni regola.

Grazie


Può configurare in "accetta per regole, blocca qualsiasi per impostazione predefinita" o "blocca per regole, accetta qualsiasi per impostazione predefinita". Esempi comuni, la configurazione predefinita dovrebbe avere "blocco per impostazione predefinita" nell'interfaccia esterna e "accetta per impostazione predefinita" sull'interfaccia interna (o interfaccia protetta).

per configurare iptables, devi affrontarli uno per uno. Vai a ubuntu gufw se non vuoi affrontarli. ubuntugeek.com/…

Se stai cercando di bloccare le cose, lo stai facendo all'indietro. Devi impostare un criterio di rilascio predefinito e quindi consentire il traffico che sai essere buono.
Zoredache,

Quante regole hai 1-200.200-2000 o maggiore di 2000?
cybernard,

Risposte:


0

Puoi creare le tue regole con il metodo accetta.

iptables -A INPUT <good traffic> -J ACCEPT
iptables -A INPUT <good traffic> -J ACCEPT
iptables -A INPUT <good traffic> -J ACCEPT
iptables -A INPUT <good traffic> -J ACCEPT
iptables -A INPUT DROP

L'ultima cosa lascia cadere tutto ciò che non hai precedentemente accettato. L'installazione diventa più complicata se hai più di 1 nic.

Per semplificare la configurazione dovresti usare le catene se non lo sei già.

iptables -A INPUT -i eth0 -j input_eth0
iptables -A INPUT-i eth1 -j input_eth1
iptables -A INPUT-i eth2 -j input_eth2

eccetera

Quindi procedi come ti ho suggerito.

iptables -A input_eth0 <good traffic> -J ACCEPT
... 
iptables -A input_eth0 -J DROP

iptables -A input_eth1 <good traffic> -J ACCEPT 
iptables -A input_eth1 -J DROP

Inoltre, queste regole nella parte superiore dell'elenco consentiranno di assicurarsi che il traffico esistente proveniente dall'interno della rete esista e che entri liberamente nella rete.

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

0
$ IPTABLES -A INPUT -j DROP   
$ IPTABLES -A OUTPUT -j DROP
$ IPTABLES -A AVANTI -j DROP 

0

Le regole specificate da davidgo e cybernard sono corrette e cybernard le posiziona correttamente. Lasciami spiegare perché.

Le regole di Iptables vengono applicate in sequenza: dall'alto verso il basso. Non appena ne viene trovato uno applicabile al pacchetto in questione, viene applicata l'azione specificata da questa "prima" regola, e tutte le seguenti regole vengono trascurate.

Pertanto, la struttura tipica di un elenco di regole iptables include una "regola predefinita" che viene lasciata come ultima. È la regola di default, cioè quella che applichiamo quando tutte le altre regole sono inapplicabili, quindi dovremmo lasciarla per ultima. Se la regola predefinita è una DROP, tutte le regole precedenti saranno solo le regole ACCEPT. Quindi qualsiasi pacchetto a cui non si applica alcuna regola ACCEPT deve essere scartato e questo viene gestito mediante la regola predefinita. In altre parole, se la regola predefinita è DROP, allora hai solo bisogno delle regole ACCEPT, e se la regola predefinita è ACCEPT, allora hai bisogno solo delle regole DROP.

Infine, puoi raggiungere lo stesso obiettivo usando le istruzioni

iptables -P INPUT -J DROP

che definisce una "politica predefinita" (-P) per la catena INPUT e che la politica predefinita è DROP. Ha lo stesso effetto delle regole discusse sopra, ma il suo uso è più limitato (vedi la pagina man di Linux per iptables qui )

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.