Sconto del 50%. tutti i piani, tempo limitato. A partire da $2.48/mo
Mancano 14 minuti
Sicurezza e reti

Elencare ed eliminare le regole di Iptables di Linux: un foglietto illustrativo per principianti

Giglio Carnell By Giglio Carnell 14 minuti di lettura Aggiornato il 18 settembre 2023
Linee guida per l'elenco e l'eliminazione delle regole di Iptables

L'accesso non autorizzato e l'hacking dei server rappresentano minacce gravi, motivo per cui dovresti implementare un firewall come parte della tua tecnica di sicurezza di rete. Sapere come lavorare con le regole di Iptables è una delle risorse principali per ridurre questi rischi sui tuoi sistemi Linux. Questo tutorial ti guiderà a familiarizzare con i concetti di base del firewall come iptables mostra le regole e rimuove le regole di iptables in Ubuntu, aiutandoti a eseguire semplici comandi per raggiungere questo obiettivo. Prima di discutere su come elencare le regole di iptables o eliminarle, parliamo di cosa sono le regole di iptables e perché le usiamo?

Cos'è Iptables?

iptables è un'utilità firewall da riga di comando che consente o blocca il traffico tramite catene politiche. Quando si tenta di effettuare connessioni sul tuo sistema, iptables cerca una regola nell'elenco che le corrisponda, fornendoti un assistente adeguato nella sicurezza della rete. Se non ne trova uno per una connessione, ricorre all'azione predefinita.

iptables viene quasi sempre preinstallato su qualsiasi Distribuzione Linux. È possibile utilizzare il seguente comando per aggiornarlo o installarlo:

sudo apt-get install iptables

Perché usiamo Iptables?

In quanto firewall a riga di comando di Linux, iptables consente agli amministratori di sistema di gestire il traffico in entrata e in uscita tramite regole di tabella configurabili. Iptables utilizza un insieme di tabelle con catene contenenti un insieme di regole integrate o definite dall'utente.

Come accennato nella sezione precedente, iptables svolge un ruolo essenziale nella sicurezza di rete per la maggior parte dei sistemi Linux. Il resto di questo articolo si concentra principalmente sulla descrizione di tutte le regole dell'elenco iptables, inclusi concetti come come mostrare iptables e rimuovere le regole di iptables.

Più specificamente, questo articolo discuterà alcune delle attività essenziali di iptables per mostrarti come elencare le regole, eliminare i contatori di pacchetti e byte, rimuovere la regola Iptables, svuotare le catene ed eliminare tutte le catene e accettare tutto il traffico.

Una guida completa a Iptables in Ubuntu

Prima di esaminare le regole di iptables show, tieni presente che devi utilizzare un server Linux con il comando iptables installato. Oltre a questi requisiti, è essenziale disporre dei privilegi sudo. Quando lavori con i firewall, fai attenzione a non chiuderti fuori dal tuo server bloccando il traffico SSH (porta:22, per impostazione predefinita). Se perdi l'accesso a causa delle impostazioni del firewall, potrebbe essere necessario connetterti tramite una console fuori banda per risolvere il problema.

Leggi anche: Come cambiare la porta SSH in Linux | Una guida rapida passo passo alla tua porta SSH

Regole di quotazione per specifica

Puoi visualizzare le regole iptables attive in un tavolo o come un elenco di specifiche delle regole. Quasi entrambi i metodi forniscono le stesse informazioni in formati diversi. Per elencare tutte le regole degli iptables attivi in ​​base alle specifiche, è necessario eseguire il comando iptables con il file -Opzione S:

sudo iptables -S

Dopo aver eseguito questo comando iptables show rule, vedrai un output come questo:

output delle regole dell'elenco spettacoli in esecuzione
output delle regole dell'elenco spettacoli in esecuzione

Elenco di una catena specifica

Se vuoi limitare l'output di show iptables a una catena specifica come INPUT, OUTPUT o TCP, puoi specificare il nome della catena direttamente dopo l'opzione -S. Ad esempio, il seguente comando iptables show rule aiuta a specificare nella catena TCP:

sudo iptables -S TCP

output dell'elenco di una catena TCP specifica
output dell'elenco di una catena TCP specifica

Come accennato in precedenza, esiste un altro modo per ottenere il completamento delle regole di visualizzazione di iptables: visualizzare le regole di iptables come una tabella di regole. Esaminiamo questa tecnica.

Elencare le regole come tabelle

L'uso di un comando per mostrare le regole di iptables nelle tabelle può aiutare a confrontare varie regole. È necessario eseguire il seguente comando show iptables con il file -Opzione L per visualizzare tutte queste regole attive in una tabella:

sudo iptables -L

Questo comando mostrerà tutte le regole attuali ordinate per catene. Esiste un modo per limitare l'output a una catena specifica come INPUT, OUTPUT, TCP, ecc.; è necessario specificare il nome della catena direttamente dopo l'opzione -L. Ecco un esempio di limitazione delle regole di visualizzazione di iptables alla catena INPUT:

sudo iptables -L INPUT

l'output di iptables mostra regole limitate alla catena INPUT
l'output di iptables mostra regole limitate alla catena INPUT

La prima riga dell'output precedente mostra il nome della catena (INPUT, in questo caso) e la sua politica predefinita (DROP). La riga seguente contiene le intestazioni di ciascuna colonna nella tabella e le regole della catena. Li esamineremo per aiutarti a impararli tutti:

  • Destinazione: se un pacchetto corrisponde alla regola, la destinazione determina cosa si dovrebbe fare con esso. Puoi fare in modo che un pacchetto venga accettato, scartato, registrato o inviato a un'altra catena per essere confrontato con più regole.
  • prot: il protocollo (come TCP, udp, ICMP o tutti)
  • opt: indica le opzioni IP (usato raramente)
  • sorgente: mostra l'indirizzo IP/sottorete di origine del traffico 
  • destinazione: presenta l'indirizzo IP/sottorete di destinazione del traffico

La colonna senza etichetta suggerisce le opzioni di una regola e rappresenta qualsiasi parte della regola che non è stata indicata nelle colonne precedenti. Queste informazioni possono essere qualsiasi cosa, dalle porte di origine e di destinazione allo stato di connessione del pacchetto.

Leggi anche: Installa OpenVPN su VPS – Configurazione client OpenVPN 🔑

Come mostrare il numero di pacchetti e la dimensione aggregata?

Quando si elencano le regole di iptables, possiamo mostrare il numero di pacchetti e la dimensione aggregata dei pacchetti in byte che corrispondono a ciascuna particolare regola di iptables; questo è spesso utile per capire quali regole corrispondono ai pacchetti. Devi usare il -L E -v opzioni insieme per realizzare Questo.

Ecco un esempio in cui utilizzeremo nuovamente la catena INPUT, con l'opzione -v:

sudo iptables -L INPUT -v

Visualizzazione dei conteggi dei pacchetti e delle dimensioni aggregate
output della visualizzazione dei conteggi dei pacchetti e delle dimensioni aggregate

Nota che il nostro elenco ora ha altre due colonne denominate pkt E byte. Abbiamo imparato vari modi per fare in modo che iptables mostri tutti i comandi delle regole eseguiti ed è ora il momento di sapere come reimpostare il conteggio dei pacchetti e la dimensione aggregata.

Come reimpostare il conteggio dei pacchetti e la dimensione aggregata?

È necessario utilizzare l'opzione Z se si desidera cancellare o zero contatori di pacchetti e byte per le proprie regole. Si ripristinano anche se si verifica un riavvio, il che è utile se vuoi vedere se il server sta ricevendo nuovo traffico corrispondente alle regole esistenti.

Puoi cancellare i contatori per tutte le catene e regole usando Opzione -Z da solo:

sudo iptables -Z

Per rimuovere i contatori per tutte le regole in una catena specifica, è necessario utilizzare l'opzione -Z e specificare la catena. Ad esempio, il seguente comando viene utilizzato per cancellare i contatori della catena INPUT:

sudo iptables -Z INPUT

Se desideri rimuovere i contatori per una regola specifica, devi menzionare con precisione il nome della catena e il numero della regola. Ad esempio, puoi eseguire il seguente comando per azzerare i contatori per la prima regola nella catena INPUT:

sudo iptables -Z INPUT 1

Oltre a sapere che iptables mostra tutti i comandi delle regole e i modi per reimpostare i contatori di pacchetti e byte iptables, è bene sapere come rimuovere la regola iptables.

Leggi anche: Come installare il server VPN PPTP sul tuo VPS

Come rimuovere le regole di iptables?

Puoi utilizzare più comandi per rimuovere le regole Iptables o addirittura eliminare tutte le regole in una catena. Qui discuteremo questi metodi,

Rimuovi regole in base alle specifiche

Uno dei modi per rimuovere le regole di iptables è farlo tramite la specifica della regola. Ti consente di eseguire il comando iptables con il file Opzione MrGreen e la specificazione della regola. Se desideri rimuovere le regole utilizzando questa tecnica, puoi utilizzare l'output dell'elenco delle regole, iptables -S, per assistenza.

Ad esempio, per eliminare la regola che elimina i pacchetti in entrata non validi (-A INPUT -m conntrack –ctstate INVALID -j DROP), è possibile eseguire la seguente riga di comando:

sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP

Fai attenzione che l'opzione -A serve per indicare la posizione della regola al momento della creazione e dovrebbe essere esclusa qui.

Rimuovi le regole per catena e numero

L'altro metodo che puoi utilizzare per rimuovere le regole di iptables è tramite la sua catena e il numero di riga. Digita il seguente comando per scegliere il numero di riga di una regola, elencare le regole nel formato tabella e aggiungere il file –opzione numeri di riga:

sudo iptables -L --line-numbers

Rimuovi le regole per catena e numero
output di Rimozione di regole per catena e numero

Dopo aver eseguito questa operazione, tutte le regole di iptables avranno il loro numero di riga, mostrato dall'intestazione num.

Quando sai quale regola desideri eliminare, tieni in mente la catena e il numero di riga. È necessario utilizzare il comando iptables -D con la catena e il numero di regola. Ad esempio, se desideri eliminare la regola di input che elimina i pacchetti non validi, puoi vedere che è la regola 3 della catena INPUT. Quindi esegui questo comando:

sudo iptables -D INPUT 3

Come lavare le catene?

Esiste un modo per rimuovere tutte le regole Iptables in una catena, che chiamiamo lavare una catena. Qui tratteremo i vari metodi per farlo. Prima di procedere oltre, fai attenzione a non rimanere bloccato fuori dal server tramite SSH quando scarichi una catena con una politica predefinita di drop o negazione. Perché se lo fai, potresti dover connetterti ad esso tramite la console per correggere il tuo accesso.

Lavare una singola catena

Per svuotare una catena specifica o, in altre parole, eliminare tutte le regole nella catena, puoi utilizzare il file -F o l'equivalente –opzione di scarico e il nome della catena selezionata. Supponiamo che tu voglia rimuovere tutte le regole nella catena INPUT; cosa fare? Bene, è facile, esegui il seguente comando:

sudo iptables -F INPUT

Svuota tutte le catene

Per rimuovere tutte le catene o eliminarle, puoi utilizzare l'opzione -F o l'equivalente –flush da sola:

sudo iptables -F

Come svuotare tutte le regole, eliminare tutte le catene e accettare tutto?

A questo punto descriveremo come eliminare tutte le regole, le tabelle e le catene del firewall e consentire tutto il traffico di rete. Si prega di prestare attenzione che questo processo disabiliterà effettivamente il firewall. Pertanto, dovresti seguire questa sezione solo se desideri ricominciare da capo con la configurazione del firewall.

Devi prima impostare le politiche predefinite per ciascuna delle catene integrate su ACCEPT. La ragione principale per cui lo facciamo è assicurarci che non sarai bloccato dal server con SSH:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

Quindi è necessario lavare i tavoli nat e mangle, lavare tutte le catene (-F)ed eliminare tutte le catene non predefinite (-X) in questo modo:

sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X

Dopo aver eseguito i comandi precedenti, il firewall consentirà tutto il traffico di rete. Se vuoi elencare le tue regole adesso, vedrai che non ce ne sono; rimangono solo le tre catene predefinite come le catene INPUT, FORWARD e OUTPUT.

Come impostare iptables in Ubuntu?

Come con qualsiasi comportamento di base del firewall, le regole di iptables possono essere lette nell'ordine elencato su ciascuna catena, il che significa che dovrai impostare le regole nell'ordine corretto. Una volta aggiunte nuove regole, le aggiungerai alla fine dell'elenco delle regole. Puoi aggiungere nuove regole a una particolare posizione dell'elenco inserendole utilizzando iptables -I <indice> -command. IL <indice> è per il numero d'ordine in cui desideri inserire la regola in questo comando. Puoi utilizzare il seguente comando per capire quale numero di indice inserire:

sudo iptables -L --line-numbers

Il numero all'inizio di ogni riga della regola mostra la posizione nella catena. Per aggiungere una nuova regola sopra una regola esistente specifica, è necessario utilizzare il numero di indice di quella regola esistente. Ad esempio, se desideri aggiungere una nuova regola all'inizio della catena, devi utilizzare il seguente comando con il numero di indice 1:

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

In cosa differisce iptables da firewalld?

Sia iptables che firewalld sono strumenti pratici per la gestione dei firewall su vari sistemi Linux progettati esplicitamente per il filtraggio dei pacchetti (filtraggio statico). Il filtraggio dei pacchetti è una strategia firewall che consente agli utenti di controllare l'accesso a una rete specifica gestendo i pacchetti di informazioni in entrata e in uscita. Consentono loro di passare o negano il loro passaggio in base a regole firewall preimpostate sui protocolli, sulle porte e sugli indirizzi IP di origine e destinazione. Queste regole forniscono meccanismi di sicurezza molto efficienti, rendendo il filtraggio dei pacchetti di informazioni un'ottima difesa contro i dispositivi instradati all'esterno della LAN (Local Area Network) del sistema.

Tieni presente che firewalld è stato inizialmente introdotto come software per gestire iptables per facilitare la navigazione all'utente. Avendo questa introduzione di firewalld e iptables, confrontiamoli in modo più dettagliato.

iptables vs firewalld: configurazione del sistema

Firewalld e iptables utilizzano diverse configurazioni e impostazioni di archiviazione predefinite. Con iptables, ogni modifica significa eliminare tutte le vecchie regole e leggere quelle nuove, quindi il sistema deve riavviarsi. Tuttavia, utilizzando firewalld, le regole non vengono ricreate; invece, le differenze e le modifiche apportate vengono applicate per alterare le regole esistenti in modo che tu possa vederle avere effetto in fase di esecuzione.

iptables vs firewalld: interfaccia utente

Firewalld utilizza un'interfaccia utente grafica (GUI). Tuttavia, iptables utilizza un'interfaccia a riga di comando (CLI), che potrebbe essere difficile per alcune persone accedere alle regole del firewall del kernel Linux utilizzando iptables, rendendo firewalld un'opzione più semplice. Sarebbe meglio considerare che iptables ha un tempo di risposta più breve poiché si utilizzano solo comandi brevi. A parte tutto questo, entrambi hanno i loro casi d'uso, quindi scegli quello con cui ti senti più a tuo agio a lavorare.

Considerazioni finali: iptables mostra le regole

Iptables è un'utilità firewall altamente flessibile creata appositamente per i sistemi operativi Linux. Non importa se sei un fanatico di Linux alle prime armi o un amministratore di sistema professionista; c'è un modo in cui le regole di iptables possono esserti utili. Questo articolo rappresentava principalmente i comandi di base per questa utility firewall, inclusi iptables mostra regole e rimuovi regole iptables, con l'obiettivo di rivedere brevemente le funzionalità di Linux. Inoltre, puoi utilizzare il nostro Soluzioni di hosting VPS Linux per sfruttare il vero potenziale di questo fantastico sistema operativo. Noi di cloudzy offriamo vari piani VPS Linux basati su KVM adatti a molteplici casi d'uso, come hosting web, distribuzione di un'app web o persino configurazione di un ambiente per sviluppare, testare e automatizzare il codice.

Domande frequenti

Come elencare tutte le regole iptables di Linux in base alle specifiche?

Se vuoi elencare tutte le regole iptables attualmente attive in base alle loro specifiche o funzionalità, puoi farlo con il comando iptables seguito dal comando -S bandiera. Prestare attenzione all'utilizzo di sudo parola chiave in questo caso:

sudo iptables -S

Come rimuovere le regole di iptables?

Per rimuovere una catena specifica, eliminando così tutte le regole nella catena, è necessario utilizzare l'opzione -F o –flush e il nome della catena. Supponiamo di voler eliminare tutte le regole nella catena OUTPUT, cosa fare? Bene, devi eseguire questo comando:

 sudo iptables -F USCITA

Come funzionano iptables in Ubuntu?

Il firewall iptables confronta il traffico di rete con un insieme di regole. Le regole di iptables specificano le caratteristiche di un pacchetto per soddisfare la regola e quale azione dovrebbe essere intrapresa se i pacchetti corrispondono. Naturalmente, ci sono molte opzioni per impostare quali pacchetti corrispondono a una regola specifica.

Le regole di iptables hanno effetto immediato? Perché?

Sì, le regole di iptables hanno effetto immediato; perché il tuo script viene aggiunto alle catene INPUT e OUTPUT e le tue regole vengono aggiunte alla fine di tali catene.

Condividere

Altro dal blog

Continua a leggere.

Un'immagine del titolo Cloudzy per una guida VPN L2TP MikroTik, che mostra un laptop che si connette a un server rack tramite un tunnel digitale blu e oro luminoso con icone di scudi.
Sicurezza e reti

Configurazione VPN L2TP MikroTik (con IPsec): Guida RouterOS (2026)

In questa configurazione VPN L2TP MikroTik, L2TP gestisce il tunneling mentre IPsec gestisce la crittografia e l'integrità; abbinarli ti dà la compatibilità del client nativo senza età di terze parti

Rexa CiroRexa Ciro 9 minuti di lettura
Finestra del terminale che mostra un messaggio di avviso SSH relativo alla modifica dell'identificazione dell'host remoto, con il titolo della Guida alla correzione e il marchio Cloudzy su sfondo verde acqua scuro.
Sicurezza e reti

Avviso: l'identificazione dell'host remoto è cambiata e come risolverlo

SSH è un protocollo di rete sicuro che crea un tunnel crittografato tra i sistemi. Rimane popolare tra gli sviluppatori che necessitano di accesso remoto ai computer senza richiedere una scheda grafica

Rexa CiroRexa Ciro 10 minuti di lettura
Illustrazione della guida alla risoluzione dei problemi del server DNS con simboli di avviso e server blu su sfondo scuro per errori di risoluzione dei nomi Linux
Sicurezza e reti

Errore temporaneo nella risoluzione dei nomi: cosa significa e come risolverlo?

Durante l'utilizzo di Linux, potresti riscontrare un errore temporaneo nell'errore di risoluzione dei nomi quando tenti di accedere a siti Web, aggiornare pacchetti o eseguire attività che richiedono una connessione Internet.

Rexa CiroRexa Ciro 12 minuti di lettura

Pronti per la distribuzione? A partire da $ 2,48 al mese.

Cloud indipendente, dal 2008. AMD EPYC, NVMe, 40 Gbps. Rimborso entro 14 giorni.