GNU/Linux >> Linux Esercitazione >  >> Linux

Esercitazione sul firewall di Linux:tabelle IPTables, catene, nozioni di base sulle regole

iptables firewall viene utilizzato per gestire il filtraggio dei pacchetti e le regole NAT. IPtables viene fornito con tutte le distribuzioni Linux. Capire come impostare e configurare iptables ti aiuterà a gestire il tuo firewall Linux in modo efficace.

Lo strumento iptables viene utilizzato per gestire le regole del firewall di Linux. A prima vista, iptables potrebbe sembrare complesso (o addirittura confuso). Ma, una volta comprese le basi di come funziona iptables e come è strutturato, leggere e scrivere le regole del firewall di iptables sarà facile.

Questo articolo fa parte di una serie di tutorial in corso su iptables. Questo è il primo articolo di quella serie.

Questo articolo spiega come è strutturato iptables e spiega i fondamenti su tabelle, catene e regole di iptables.

Su un alto livello iptables potrebbe contenere più tabelle. Le tabelle possono contenere più catene. Le catene possono essere integrate o definite dall'utente. Le catene possono contenere più regole. Le regole sono definite per i pacchetti.

Quindi, la struttura è:iptables -> Tabelle -> Catene -> Regole. Questo è definito nel diagramma seguente.


Fig :Struttura di tabelle, catene e regole IPTables

Giusto per ribadire, le tabelle sono un mucchio di catene e le catene sono un mucchio di regole del firewall.

Io. TABELLE e CATENE IPTABLES

IPTables ha le seguenti 4 tabelle integrate.

1. Filtra tabella

Il filtro è la tabella predefinita per iptables. Quindi, se non definisci la tua tabella, utilizzerai la tabella dei filtri. La tabella dei filtri di Iptables ha le seguenti catene integrate.

  • Catena INPUT – In arrivo al firewall. Per i pacchetti in arrivo al server locale.
  • Catena OUTPUT – In uscita dal firewall. Per i pacchetti generati localmente e in uscita dal server locale.
  • Catena FORWARD – Pacchetto per un'altra NIC sul server locale. Per i pacchetti instradati attraverso il server locale.

2. Tabella NAT

La tabella NAT di Iptable ha le seguenti catene integrate.

  • Catena PREROUTING:altera i pacchetti prima dell'instradamento. cioè la traduzione del pacchetto avviene immediatamente dopo che il pacchetto arriva al sistema (e prima dell'instradamento). Questo aiuta a tradurre l'indirizzo IP di destinazione dei pacchetti in qualcosa che corrisponda al routing sul server locale. Viene utilizzato per DNAT (NAT di destinazione).
  • catena POSTROUTING:altera i pacchetti dopo l'instradamento. cioè la traduzione dei pacchetti avviene quando i pacchetti lasciano il sistema. Questo aiuta a tradurre l'indirizzo IP di origine dei pacchetti in qualcosa che potrebbe corrispondere all'instradamento sul server di desinzione. Viene utilizzato per SNAT (NAT di origine).
  • Catena di OUTPUT – NAT per i pacchetti generati localmente sul firewall.

3. Tavolo Mangle

La tabella Mangle di Iptables è per l'alterazione di pacchetti specializzata. Questo altera i bit QOS nell'intestazione TCP. Il tavolo Mangle ha le seguenti catene integrate.

  • catena PREROUTING
  • Catena di OUTPUT
  • Catena AVANTI
  • Catena di INPUT
  • Catena POSTROUTING

4. Tavola grezza

La tabella Raw di Iptable è per le eccezioni di configurazione. La tabella Raw ha le seguenti catene integrate.

  • catena PREROUTING
  • Catena di OUTPUT

Il diagramma seguente mostra le tre tabelle importanti in iptables.

Fig :tabelle integrate di IPtables

II. REGOLE IPTABLES

Di seguito sono riportati i punti chiave da ricordare per le regole di iptables.

  • Le regole contengono un criterio e un obiettivo.
  • Se il criterio è soddisfatto, passa alle regole specificate nel target (o) esegue i valori speciali menzionati nel target.
  • Se i criteri non corrispondono, si passa alla regola successiva.

Valori target

Di seguito sono riportati i possibili valori speciali che puoi specificare nella destinazione.

  • ACCETTO – Il firewall accetterà il pacchetto.
  • DROP – Il firewall eliminerà il pacchetto.
  • CODA – Il firewall passerà il pacchetto allo spazio utente.
  • RETURN – Il firewall interromperà l'esecuzione del prossimo set di regole nella catena corrente per questo pacchetto. Il controllo verrà restituito alla catena di chiamate.

Se esegui iptables –list (o) servizio iptables status, vedrai tutte le regole firewall disponibili sul tuo sistema. Il seguente esempio di iptable mostra che non ci sono regole firewall definite su questo sistema. Come puoi vedere, mostra la tabella di input predefinita, con la catena di input predefinita, la catena diretta e la catena di output.

# iptables -t filter --list
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

Per visualizzare la tabella del mangano, procedi come segue.

# iptables -t mangle --list

Procedi come segue per visualizzare la tabella nat.

# iptables -t nat --list

Procedi come segue per visualizzare la tabella grezza.

# iptables -t raw --list

Nota:se non specifichi l'opzione -t, verrà visualizzata la tabella dei filtri predefinita. Quindi, entrambi i seguenti comandi sono gli stessi.

# iptables -t filter --list
(or)
# iptables --list

Il seguente esempio di iptable mostra che ci sono alcune regole definite nella catena di input, forward e output della tabella dei filtri.

# iptables --list
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
3    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0
5    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
6    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
8    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
10   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Le regole nell'output del comando iptables –list contengono i seguenti campi:

  • num – Numero di regola all'interno della catena particolare
  • target – Variabile target speciale di cui abbiamo discusso sopra
  • prot – Protocolli. tcp, udp, icmp, ecc.,
  • opt:opzioni speciali per quella regola specifica.
  • sorgente – Indirizzo IP di origine del pacchetto
  • destinazione:indirizzo IP di destinazione per il pacchetto

Linux
  1. Script Docker Firewall per la catena iptables di DOCKER-USER

  2. Linux IPTables:come aggiungere regole firewall (con esempio Consenti SSH)

  3. IPTables Flush:elimina / rimuovi tutte le regole su RedHat e CentOS Linux

  4. 25 Esempi di regole IPtables Linux più utilizzate

  5. Servizio del sistema operativo Linux "iptables"

Come configurare iptables Firewall in Linux

50 regole utili e semplici di IPtables per l'amministratore Linux

Tutorial Iptables per principianti – Concetti chiave

Come proteggere un firewall Linux con le regole IPtables

I 5 migliori firewall Linux

Come configurare un firewall sul tuo server Linux