Oltre 25 comandi iptables più comuni con esempi
Se utilizzi Linux, hai molte opzioni per proteggere il tuo dispositivo. Viene fornito con iptables, un’utilità firewall a riga di comando che offre flessibilità e protezione eccellente.
Tuttavia, poiché si tratta di un’utilità della riga di comando, richiede una leggera curva di apprendimento.
Quindi, se sei un amministratore di sistema o uno studente di Linux, sei nel posto giusto mentre esaminiamo i comuni comandi iptables con esempi.
Sommario:
Cos’è iptables?
iptables è un firewall integrato Linux basato su software. Consente agli utenti Linux di creare o definire criteri che hanno un impatto diretto e indiretto sul traffico Internet.
Ciò significa che puoi utilizzare iptables per creare regole che bloccano o consentono il traffico tramite la porta, l’indirizzo IP di origine, le interfacce di rete e altro ancora.
Una volta definite le regole, tutto il traffico deve attraversarle. Quindi, ad esempio, per ogni nuova connessione, iptables verificherà eventuali regole predefinite che corrispondono alla connessione. In tal caso, applicherà la regola alla connessione. Tuttavia, se non ci sono regole applicabili associate, implementerà la regola predefinita.
Per utilizzare iptables, è necessario utilizzare il seguente comando.
$ iptables -L -n -v
Qui, i parametri sono i seguenti:
- -L serve per elencare tutte le regole.
- -n fa in modo che l’output numerico offra prestazioni più veloci.
- -v per mostrare l’output in formato dettagliato.
Una volta eseguito il comando iptables senza alcun parametro, restituirà il seguente output:
iptables v1.8.7 (nf_tables): no command specified Try `iptables -h' or 'iptables --help' for more information.
È necessario installarlo se si verifica un errore, ad esempio il comando “iptables” non trovato.
Per installare iptables nella tua distribuzione Linux, esegui il seguente comando.
$ sudo apt-get install iptables
Restituirà quanto segue poiché è già preinstallato sulla mia distribuzione Linux.
#output Reading package lists... Done Building dependency tree... Done Reading state information... Done iptables is already the newest version (1.8.7-1ubuntu5). iptables set to manually installed. 0 upgraded, 0 newly installed, 0 to remove, and 35 not upgraded.
Che cos’è Firewall?
I firewall sono la forma più elementare di protezione di sistemi, reti e personal computer. Può essere basato su hardware o software, basandosi su regole per funzionare correttamente.
La maggior parte dei firewall è altamente personalizzabile, consentendo di creare o modificare regole. Ad esempio, poiché i pacchetti provenienti da Internet utilizzano le porte per entrare in un sistema, la scansione basata sulle porte può aiutarti a filtrarli. Oltre a ciò, puoi anche consentire o bloccare i servizi in base all’indirizzo IP di origine o all’interfaccia di rete.
Se stai usando Linux, hai accesso a iptables integrato. Tuttavia, puoi anche utilizzare un firewall Linux autonomo per aiutarti nel processo di protezione del tuo sistema.
Perché hai bisogno di iptables per configurare il firewall?
Ma perché dovresti usare iptables? Dopotutto, ci sono buone utilità firewall alternative da riga di comando come ufw e firewalld. Inoltre, puoi utilizzare firewall Linux autonomi che sono semplici da usare e offrono più funzionalità.
Quindi, cosa rende iptables così attraente quando si configura un firewall? I motivi per usarlo includono:
- Offre un’eccellente flessibilità fuori dagli schemi. È possibile impostare regole a livello di pacchetto.
- È relativamente facile da usare una volta che sai come funziona.
- Blocca il traffico indesiderato in modo semplice.
- Reindirizza i pacchetti a un indirizzo IP alternativo.
- Proteggi i tuoi sistemi dagli attacchi Denial of Service (DoS).
E altro ancora!
Comprensione dell’architettura di iptables e della sua relazione con Netfilter
Per comprendere correttamente iptables, dobbiamo conoscere la loro architettura. Innanzitutto, ci darà una chiara comprensione dei diversi componenti di iptables. Quindi, una volta che conosciamo ciascuno di essi, possiamo usarli per scrivere regole del firewall.
E, quando parliamo di iptables, entra in scena anche Netfilter. Puoi pensare a “Netfilter” come a un fratello maggiore di iptables. Si basa su iptables e offre un set di funzionalità migliore per gestire il tuo firewall. Tuttavia, utilizza iptables come uno dei mezzi per ottenere eccellenti capacità di firewall.
Iptables è un’interfaccia a riga di comando per gli hook a livello di kernel di Netfilter. Questi hook possono interagire con lo stack di rete Linux, che influisce sui pacchetti al livello più profondo.
Quindi, che aspetto ha l’architettura di iptables:
Tabelle
L’architettura di iptables inizia con le tabelle. Queste tabelle si occupano dell’organizzazione delle regole. E ogni tavolo è classificato in base al tipo di decisione che stanno prendendo. In termini più semplici, una tabella semplifica l’elaborazione complessiva dei pacchetti allegando un modo specifico per elaborare i pacchetti.
Le diverse tabelle offerte da iptables includono:
- Tabella dei filtri: specifica il tipo di decisione per il filtraggio dei pacchetti. In termini semplici, determina se un pacco deve raggiungere o meno la sua destinazione.
- Tabella NAT: specifica il tipo di decisione per la traduzione degli indirizzi. Qui, l’instradamento dei pacchetti viene determinato in base alle reti NAT. Ad esempio, se un pacchetto non può accedere a NAT, salterà e proverà a cercare una rete non NAT.
- Tabella Mangle: gestisce le esigenze di elaborazione speciali del pacchetto. Ad esempio, puoi configurarlo per modificare le informazioni di intestazione del pacchetto, come i valori TTL.
- Tabella grezza: la tabella grezza ti consente di lavorare diligentemente con l’aspetto stateful del firewall iptables. Usando la tabella, puoi instradare i pacchetti in base al loro “stato” prima che il kernel di Linux inizi a tracciarne lo stato. Viene utilizzato principalmente per contrassegnare i pacchetti, indipendentemente dal fatto che il sistema di tracciamento della connessione li gestisca o meno. Se un pacchetto non viene tracciato, viene impostato su NOTRACK target.
Catene
E, poi, abbiamo “catene” all’interno di “tabelle”.
Queste catene gestiscono l’ispezione approfondita dei pacchetti in diverse fasi del loro viaggio. Ad esempio, puoi ispezionarli quando raggiunge una porta o un’interfaccia di rete. In questo modo, è possibile prendere una decisione prima che il pacchetto venga rilasciato al processo di un sistema.
Proprio come i tavoli, ottieni anche catene diverse. Questi includono:
- Catena PREROUTING: qui le regole gestiscono i pacchetti appena arrivati all’interfaccia di rete.
- Catena INPUT: le regole menzionate nella catena INPUT gestiscono il comportamento della connessione in entrata. Una volta fatto, vengono dati al processo locale.
- Catena OUTPUT: la catena OUTPUT si occupa dei pacchetti prodotti dai processi.
- Catena FORWARD: la catena FORWARD gestisce i pacchetti non destinati ai sistemi locali. È un vettore per altri sistemi destinati, come un router.
- Catena POSTROUTING: Infine, abbiamo la catena POSTROUTING, che si occupa dei pacchetti in partenza attraverso l’interfaccia di rete.
Non tutte le catene sono disponibili in ogni tabella. Ad esempio, la catena FORWARD è disponibile solo nelle tabelle mangle, filter e security. Allo stesso modo, la catena POSTROUTING è disponibile su mangle e nat (SNAT). In tutte le tabelle è disponibile solo la catena OUTPUT.
Bersaglio
Ora abbiamo un “bersaglio”. Una volta che un pacco arriva, si sposta attraverso le catene per vedere quale descrizione della regola si adatta meglio. Se corrisponde alla descrizione di una regola, esegue l’azione associata basata su di essa e quindi la sposta sulla destinazione, segnando il destino del pacchetto.
In molti casi, un pacchetto non corrisponde a nessuna descrizione o set di regole. Ed è qui che entra in gioco la politica predefinita, un obiettivo.
Gli obiettivi possono essere ACCEPT, DROP e REJECT. Questi sono obiettivi di terminazione che decidono il destino del pacchetto.
- ACCETTA: Accetta i pacchetti.
- DROP: rilascia il pacchetto, impedendo al mittente di sapere se il sistema è presente o meno.
- REJECT: rifiuta il pacchetto.
Esistono anche obiettivi non terminanti che vengono utilizzati principalmente per memorizzare informazioni sul pacchetto.
Comandi iptables più comuni con esempi
Prima di saltare e iniziare a eseguire il comando iptables, assicurati che:
- Hai accesso amministrativo per eseguire i comandi. Se il comando non riesce a causa dei privilegi di amministratore, eseguire nuovamente il comando con il comando sudo davanti.
- L’articolo non è un tutorial su come configurare iptables su Ubuntu.
- Useremo il comando iptables che funziona con IPv4. Se intendi lavorare con IPv6, dovrai invece utilizzare ip6tables.
Controllo dello stato di iptables
Per verificare lo stato corrente di iptables, è necessario eseguire il seguente comando.
$ iptables -L -n -v
#output Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
L’output sopra contiene molte informazioni. Tuttavia, suggerisce anche un firewall inattivo. Questo perché, attualmente, tutte le catene sono impostate su ACCETTA e non hanno regole.
Dovrai iniziare ad aggiungere regole per attivare il firewall.
Aggiunta di regole alla catena
Quando aggiungi una regola, questa viene sempre accodata alla catena. Pertanto, è necessario utilizzare l’opzione -A (Aggiungi). La sintassi per esso è la seguente:
$ sudo iptables - A
Tuttavia, quando lo esegui, restituirà quanto segue:
iptables v1.8.7 (nf_tables): option "-A" requires an argument Try `iptables -h' or 'iptables --help' for more information.
Gli argomenti che puoi utilizzare per aggiungere regole sono:
- – i: Sta per l’interfaccia. Qui puoi menzionare l’interfaccia per la quale stai aggiungendo le regole. Può essere ppp0, eth0 e così via.
- – p: Sta per protocollo. Qui menzioni la regola per utilizzare un protocollo di rete per filtrare i packer. Ad esempio, puoi dire ICMP, TCP, UDP, ecc. Se vuoi che la regola funzioni su tutti i protocolli, menziona “all” come valore dell’argomento.
- – s: segue l’argomento source, che menziona l’origine del traffico (come l’indirizzo IP o il nome host)
- – dport: il dport sta per la porta di destinazione, dove si menziona il numero di porta a cui è destinato il pacchetto.
- – j: Infine, abbiamo un argomento TARGET in cui puoi menzionare il nome TARGET, ACCEPT, DROP o RETURN
È inoltre essenziale scrivere il comando nel seguente ordine:
$ sudo iptables -A <chain-name> -i <interface-name> - p <protocool-name> - s <source> --dport <port no.> -j <target>
Salvataggio delle modifiche a iptables
Dopo aver aggiunto una regola, puoi salvarla con il comando iptables -save.
$ sudo iptables -save
L’output è il seguente:
[email protected]:~$ sudo iptables-save # Generated by iptables-save v1.8.7 on Sun May 14 13:37:34 2023 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -p tcp -m tcp --dport 392 -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -o lo -j ACCEPT COMMIT # Completed on Sun May 14 13:37:34 2023
Regole persistenti manualmente
Per impostazione predefinita, iptables non salva le regole. Quindi, se riavvii il computer, rimuoverà tutte le regole. Dovrai utilizzare i seguenti comandi per assicurarti di non dover riconfigurare iptables.
Per le regole IPv4, scrivi il comando:
$ sudo iptables-save > /etc/iptables/rules.v4
E per le regole IPv6, scrivi il comando:
$ sudo iptables-save > /etc/iptables/rules.v6
Regole persistenti automaticamente
Per rendere le regole persistenti anche dopo un riavvio, e anche questo automaticamente, dovrai installare il pacchetto iptables-presistent.
Per fare ciò, eseguire il seguente comando.
$ sudo apt-get install iptables-persistent
Si aprirà la seguente finestra. Premere Invio su .
Poiché stiamo lavorando con la tabella IPv4, mostrerà solo le regole IPv4. Se stai lavorando su IPv6, mostrerà la finestra pertinente.
Nota: il pacchetto carica solo le regole di iptables salvate. Quindi, ogni volta che cambi iptables, dovrai salvarlo con il comando iptables -save.
Regole di ricarica dopo il riavvio
Una volta salvate le regole, è necessario ripristinarle con il seguente comando.
$ sudo iptables-restore < /etc/iptables/rules.v4
E
$ sudo iptables-restore < /etc/iptables/rules.v6
Abilitazione del traffico su Localhost / Abilitazione del loopback
Per abilitare il traffico su Localhost, utilizzare il seguente comando:
$ sudo iptables -A INPUT -i lo -j ACCEPT
Qui, lo sta per l’interfaccia di loopback per tutte le comunicazioni localhost.
Allo stesso modo, possiamo consentire ai pacchetti di partire attraverso l’interfaccia di loopback.
$ sudo iptables -A OUTPUT -o lo -j ACCEPT
Per verificare come ha cambiato le regole, esegui iptables -L -n -V
#output Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Abilitazione del traffico su porte particolari
È possibile abilitare il traffico da ACCETTARE o RIFIUTARE su determinate porte.
Ad esempio, le porte SSL, HTTP e SSH sono importanti per il normale funzionamento delle tue app. È possibile aggiungere regole al pacchetto ACCEPT tramite i numeri di porta per assicurarsi che funzionino come previsto.
Per SSL, eseguire il seguente comando.
$ sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Per HTTPS, eseguire il seguente comando.
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Per consentire tutto il traffico HTTPS sull’interfaccia eth0.
$ iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT $ iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
Per SSH, eseguire il seguente comando.
$ sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
E per accettare TUTTO il traffico SSH in entrata sull’interfaccia eth0, esegui quanto segue:
$ iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT $ iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
Un altro esempio potrebbe essere l’abilitazione del traffico portuale su una porta specifica per la tua app personalizzata. Diciamo la porta 233.
Per aprire le connessioni su quella porta, esegui.
$ sudo iptables -A INPUT -p tcp --dport 233 -j ACCEPT
Allo stesso modo, puoi anche disabilitare le connessioni su una particolare porta utilizzando l’opzione di destinazione REJECT.
Blocchiamo tutte le connessioni alla porta 392.
$ sudo iptables -A INPUT -p tcp --dport 392 -j REJECT
Per verificare, eseguire il comando iptables -L -n -v.
#output Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:233 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:392 reject-with icmp-port-unreachable Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
Elimina regole esistenti
Per eliminare le regole esistenti, dovrai eseguire il seguente comando.
$ iptables -F
O
$ iptables --flush
Nota: se non hai salvato le regole, sono perse per sempre e non possono essere ripristinate utilizzando iptables -restore
Elimina regole con numeri di riga
Per eliminare una regola specifica, dovrai ottenere l’elenco delle regole con i numeri.
$ sudo iptables -L --line-numbers
#output Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- anywhere anywhere tcp dpt:ssh 2 ACCEPT tcp -- anywhere anywhere tcp dpt:http 3 ACCEPT tcp -- anywhere anywhere tcp dpt:https 4 ACCEPT tcp -- anywhere anywhere tcp dpt:233 5 REJECT tcp -- anywhere anywhere tcp dpt:392 reject-with icmp-port-unreachable
Eseguire il seguente comando se si desidera rimuovere la regola numero 4 per la catena INPUT.
$ sudo iptables -D INPUT 4
E, se esegui nuovamente il comando iptables -n -v -L.
#output Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:392 reject-with icmp-port-unreachable
Visualizza solo le regole della catena INPUT o OUTPUT
Per visualizzare solo le regole della catena INPUT, eseguire il seguente comando.
$ sudo iptables -L INPUT -n -v --line-numbers
#ouput Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 2 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 3 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 4 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:392 reject-with icmp-port-unreachable
Allo stesso modo, se vuoi vedere solo le regole della catena OUTPUT, esegui:
$ sudo iptables -L OUTPUT -n -v --line-numbers
#output Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
Avvia/arresta/riavvia il firewall
Se utilizzi RHEL/Fedora Linux o CentOS, puoi avviare/arrestare o riavviare il firewall eseguendo i comandi.
$ service iptables stop $ service iptables start $ service iptables restart
Puoi anche usare il comando systemctl.
Tuttavia, non funzionerà su Ubuntu.
Inserisci le regole in un luogo specifico
Se si desidera inserire regole in una posizione specifica, è necessario utilizzare i seguenti comandi.
Innanzitutto, controlla le regole.
$ sudo iptables -L INPUT -n --line-numbers
#output Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 4 REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:392 reject-with icmp-port-unreachable
Eseguire il seguente comando se si desidera inserire regole tra 2 e 3.
$ sudo iptables -I INPUT 3 -s 252.32.1.2 -j DROP
Ora controlla le regole aggiornate.
#output Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 3 DROP all -- 252.32.1.2 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 5 REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:392 reject-with icmp-port-unreachable
Blocca il traffico in entrata ma consenti il traffico in uscita
Dovrai inserire il seguente comando per bloccare tutto il traffico in entrata.
$ iptables -P INPUT DROP $ iptables -P FORWARD DROP $ iptables -P OUTPUT ACCEPT $ iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT $ iptables -L -v -n
In questo modo, puoi eseguire il ping o scaricare pacchetti ma bloccare qualsiasi traffico in entrata sconosciuto.
Blocca un particolare indirizzo IP
Per bloccare un indirizzo IP specifico, eseguire il seguente comando.
$ iptables -A INPUT -s 14.23.59.9 -J DROP
È inoltre possibile definire una variabile per memorizzare l’indirizzo IP bloccato e quindi eseguire il comando.
BLOCK_THE_IP = “a.b.c.d”
E poi esegui:
$ iptables -A INPUT -s “BLOCK_THE_IP” -j DROP
Nota: cambia “abcd” con il tuo indirizzo IP preferito.
Consentire il ping del sistema dall’esterno
Puoi convincere gli utenti esterni a eseguire il ping del tuo server per rendere la tua rete rilevabile.
$ sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT $ sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Consentire alla rete interna di comunicare con la rete esterna
Esegui il seguente comando per consentire la rete interna (diciamo eth0) alla rete esterna (diciamo eth1).
$ sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
Consenti DNS in uscita
Per consentire le connessioni DNS al tuo server, esegui il seguente comando.
$ iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT $ iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT
Consenti Rsycn da una rete specifica
Se usi il comando Rsync e desideri abilitarlo su una rete specifica, esegui il comando seguente.
iptables -A INPUT -i eth0 -p tcp -s 192.168.101.0/24 --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 873 -m state --state ESTABLISHED -j ACCEPT
Blocco Porta
Eseguire il seguente comando per bloccare una porta specifica e qualsiasi richiesta in arrivo.
iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
Blocca il traffico in uscita verso un particolare indirizzo IP
Puoi bloccare il traffico verso qualsiasi indirizzo IP eseguendo il seguente comando.
$ host -t a winadmin.it.com
#produzione
winadmin.it.com ha un indirizzo di 172.66.40.93
Per bloccare il traffico in uscita verso quel particolare indirizzo IP, eseguire il seguente comando.
iptables -A OUTPUT -d 72.66.40.93 -j DROP
Allo stesso modo, puoi anche bloccare piattaforme di social media come Instagram, Twitter e Facebook.
Trova l’indirizzo IP del social media eseguendo il seguente comando:
$ host -t a social-media-web-adrress.com
Ad esempio, per Instagram, sarebbe:
$ host -t a www.instagram.com
Ora dovrai trovare CIDR per l’indirizzo IP di quella particolare piattaforma di social media.
$ whois 185.89.219.11 | grep CIDR
Nota: potrebbe essere necessario installare il pacchetto whois eseguendo sudo apt-get install whois
Ora, inserisci il valore CIDR nel modo seguente:
$ iptables - A OUTPUT -p tcp -d CIDR-value -j DROP
Nota: assicurati di modificare il valore CIDR di conseguenza.
Consenti o blocca richiesta ping ICMP
Per consentire o bloccare le richieste ping ICMP, eseguire i seguenti comandi.
$ iptables -A INPUT -p icmp --icmp-type echo-request -j DROP $ iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP
Apri una particolare gamma di porte
Per aprire un intervallo di porte, eseguire il seguente comando.
$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8933: 8500 -j ACCEPT
Elenca le regole NAT
Per elencare le regole NAT, eseguire il seguente comando:
$ sudo iptables -t nat -L -n -v
O
$ sudo iptables -t nat -v -L -n --line-number
Azzera i contatori dei pacchi
Per controllare il contatore iptables corrente:
$ sudo iptables -L -n -v
Per reimpostare o cancellare i contatori, eseguire quanto segue:
$ sudo iptables -Z $ sudo iptables -L -n -v
Per azzerare solo il contacatena INPUT, eseguire:
$ iptables -Z INPUT
Per reimpostare un particolare contatore di regole, eseguire quanto segue:
$ iptables -z INPUT RULE-NUMBER
Assicurati di cambiare RULE-NUMBER in quella particolare regola.
Parole finali
iptables è una potente utility della riga di comando del firewall. Puoi configurare quasi tutto ciò che riguarda risorse di rete, pacchetti, interfacce e scenari particolari.
Inoltre, iptables offre molte opzioni. Controlla la sua pagina principale usando il comando man per ottenere il quadro completo.
$ man iptables $ man ip6tables
Successivamente, controlla un firewall di rete e come aiuta a fermare gli attacchi.