La Guida per principianti a iptables, il firewall Linux

Aug 27, 2025
Privacy e sicurezza

Iptables è un'utilità firewall estremamente flessibile creata per i sistemi operativi Linux. Che tu sia un principiante di Linux o un amministratore di sistema, probabilmente c'è un modo in cui iptables può esserti di grande utilità. Continua a leggere mentre ti mostriamo come configurare il firewall Linux più versatile.

A proposito di iptables

iptables è un'utilità firewall della riga di comando che utilizza catene di politiche per consentire o bloccare il traffico. Quando una connessione cerca di stabilirsi sul tuo sistema, iptables cerca una regola nel suo elenco a cui abbinarla. Se non ne trova uno, ricorre all'azione predefinita.

iptables viene quasi sempre preinstallato su qualsiasi distribuzione Linux. Per aggiornarlo / installarlo, recupera il pacchetto iptables:

sudo apt-get install iptables

Ci sono alternative GUI a iptables come Avviatore di fuoco , ma iptables non è poi così difficile una volta che hai alcuni comandi inattivo. Devi essere estremamente attento quando configuri le regole di iptables, in particolare se sei in SSH su un server, perché un comando sbagliato può bloccarti permanentemente fino a quando non viene riparato manualmente sulla macchina fisica.

Tipi di catene

iptables utilizza tre diverse catene: input, forward e output.

Ingresso - Questa catena viene utilizzata per controllare il comportamento delle connessioni in entrata. Ad esempio, se un utente tenta di accedere a SSH nel tuo PC / server, iptables tenterà di abbinare l'indirizzo IP e la porta a una regola nella catena di input.

Inoltrare - Questa catena viene utilizzata per le connessioni in entrata che non vengono effettivamente fornite localmente. Pensa a un router: i dati vengono sempre inviati ad esso, ma raramente sono effettivamente destinati al router stesso; i dati vengono semplicemente inoltrati alla destinazione. A meno che tu non stia eseguendo un qualche tipo di routing, NAT o qualcos'altro sul tuo sistema che richiede l'inoltro, non utilizzerai nemmeno questa catena.

C'è un modo infallibile per verificare se il tuo sistema utilizza / necessita la catena di inoltro.

iptables -L -v

Lo screenshot qui sopra mostra un server in esecuzione da alcune settimane e non ha restrizioni sulle connessioni in entrata o in uscita. Come puoi vedere, la catena di input ha elaborato 11 GB di pacchetti e la catena di output ha elaborato 17 GB. La catena forward, d'altra parte, non ha avuto bisogno di elaborare un singolo pacchetto. Questo perché il server non esegue alcun tipo di inoltro né viene utilizzato come dispositivo pass-through.

Produzione - Questa catena viene utilizzata per le connessioni in uscita. Ad esempio, se provi a eseguire il ping su howtogeek.com, iptables controllerà la sua catena di output per vedere quali sono le regole relative a ping e howtogeek.com prima di decidere se consentire o negare il tentativo di connessione.

L'avvertenza

Anche se il ping di un host esterno sembra qualcosa che dovrebbe solo attraversare la catena di output, tieni presente che per restituire i dati, verrà utilizzata anche la catena di input. Quando usi iptables per bloccare il tuo sistema, ricorda che molti protocolli richiedono una comunicazione a due vie, quindi sia la catena di input che quella di output dovranno essere configurate correttamente. SSH è un protocollo comune che le persone dimenticano di consentire su entrambe le catene.

Comportamento predefinito della catena di criteri

Prima di entrare e configurare regole specifiche, ti consigliamo di decidere quale sia il comportamento predefinito delle tre catene. In altre parole, cosa vuoi che faccia iptables se la connessione non corrisponde ad alcuna regola esistente?

Per vedere cosa sono attualmente configurate le tue catene di criteri con il traffico senza corrispondenza, esegui il iptables -L comando.

Come puoi vedere, abbiamo anche usato il comando grep per darci un output più pulito. In quello screenshot, le nostre catene sono attualmente immaginate per accettare il traffico.

Il più delle volte, vorrai che il tuo sistema accetti le connessioni per impostazione predefinita. A meno che tu non abbia modificato in precedenza le regole della catena di criteri, questa impostazione dovrebbe essere già configurata. Ad ogni modo, ecco il comando per accettare le connessioni per impostazione predefinita:

iptables --policy INPUT ACCEPT
iptables --policy OUTPUT ACCEPT
iptables --policy ACCETTA INOLTRO

Impostando per impostazione predefinita la regola di accettazione, è quindi possibile utilizzare iptables per negare indirizzi IP o numeri di porta specifici, pur continuando ad accettare tutte le altre connessioni. Arriveremo a quei comandi tra un minuto.

Se preferisci negare tutte le connessioni e specificare manualmente quelle a cui vuoi consentire la connessione, dovresti modificare la politica predefinita delle tue catene per eliminare. Fare questo sarebbe probabilmente utile solo per i server che contengono informazioni sensibili e hanno solo gli stessi indirizzi IP collegati a loro.

iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

Risposte specifiche della connessione

Con i criteri di catena predefiniti configurati, puoi iniziare ad aggiungere regole a iptables in modo che sappia cosa fare quando incontra una connessione da o verso un particolare indirizzo IP o porta. In questa guida, esamineremo le tre "risposte" più basilari e comunemente utilizzate.

Accettare - Consenti la connessione.

Far cadere - Interrompi la connessione, comportati come se non fosse mai successo. Questa è la cosa migliore se non vuoi che la fonte realizzi che il tuo sistema esiste.

Rifiutare - Non consentire la connessione, ma restituisci un errore. Questa è la soluzione migliore se non vuoi che una particolare fonte si connetta al tuo sistema, ma vuoi che sappiano che il tuo firewall l'ha bloccata.

Il modo migliore per mostrare la differenza tra queste tre regole è mostrare come appare quando un PC tenta di eseguire il ping di una macchina Linux con iptables configurato per ciascuna di queste impostazioni.

Consentire la connessione:

Interruzione della connessione:

Rifiutare la connessione:

Consentire o bloccare connessioni specifiche

Dopo aver configurato le catene di criteri, è ora possibile configurare iptables per consentire o bloccare indirizzi, intervalli di indirizzi e porte specifici. In questi esempi, imposteremo le connessioni su FAR CADERE , ma puoi passare a ACCETTARE o RIFIUTARE , a seconda delle tue esigenze e di come hai configurato le catene di policy.

Nota: in questi esempi, utilizzeremo iptables -A per aggiungere regole alla catena esistente. iptables inizia all'inizio della sua lista e segue ogni regola fino a quando non ne trova una che corrisponde. Se devi inserire una regola sopra un'altra, puoi usare iptables -I [chain] [number] per specificare il numero che dovrebbe essere nella lista.

Connessioni da un unico indirizzo IP

Questo esempio mostra come bloccare tutte le connessioni dall'indirizzo IP 10.10.10.10.

iptables -A INPUT -s 10.10.10.10 -j DROP

Connessioni da un intervallo di indirizzi IP

Questo esempio mostra come bloccare tutti gli indirizzi IP nell'intervallo di rete 10.10.10.0/24. È possibile utilizzare una maschera di rete o una notazione barra standard per specificare l'intervallo di indirizzi IP.

iptables -A INPUT -s 10.10.10.0/24 -j DROP

o

iptables -A INPUT -s 10.10.10.0/255.255.255.0 -j DROP

Connessioni a una porta specifica

Questo esempio mostra come bloccare le connessioni SSH dal 10.10.10.10.

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP

È possibile sostituire "ssh" con qualsiasi protocollo o numero di porta. Il -p tcp parte del codice dice a iptables che tipo di connessione usa il protocollo. Se stavi bloccando un protocollo che utilizza UDP anziché TCP, allora -p udp sarebbe invece necessario.

Questo esempio mostra come bloccare le connessioni SSH da qualsiasi indirizzo IP.

iptables -A INPUT -p tcp --dport ssh -j DROP

Stati di connessione

Come accennato in precedenza, molti protocolli richiederanno una comunicazione a due vie. Ad esempio, se si desidera consentire le connessioni SSH al sistema, le catene di input e output avranno bisogno di una regola aggiunta a esse. Ma cosa succede se si desidera che sia consentito l'ingresso SSH nel proprio sistema? L'aggiunta di una regola alla catena di output non consentirà anche i tentativi SSH in uscita?

È qui che entrano in gioco gli stati di connessione, che ti danno la capacità di cui hai bisogno per consentire la comunicazione a due vie, ma consentono di stabilire solo connessioni unidirezionali. Dai un'occhiata a questo esempio, dove le connessioni SSH DA 10.10.10.10 sono consentite, ma le connessioni SSH a 10.10.10.10 non lo sono. Tuttavia, il sistema è autorizzato a restituire informazioni su SSH finché la sessione è già stata stabilita, il che rende possibile la comunicazione SSH tra questi due host.

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state NEW, ISTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -d 10.10.10.10 -m state --state ESTABLISHED -j ACCEPT

Salvataggio delle modifiche

Le modifiche apportate alle regole di iptables verranno eliminate la prossima volta che il servizio iptables verrà riavviato a meno che non si esegua un comando per salvare le modifiche. Questo comando può variare a seconda della distribuzione:

Ubuntu:

sudo / sbin / iptables-save

Red Hat / CentOS:

/ sbin / service iptables salva

O

/etc/init.d/iptables save

Altri comandi

Elenca le regole di iptables attualmente configurate:

iptables -L

Aggiungendo il file -a opzione ti darà informazioni su pacchetti e byte e aggiungendo -n elencherà tutto numericamente. In altre parole, i nomi host, i protocolli e le reti sono elencati come numeri.

Per cancellare tutte le regole attualmente configurate, puoi emettere il comando flush.

iptables -F

Iptables Walkthrough (Linux Firewall)

Introduction To Linux IPTables

Introduction To Linux Firewall

Using `iptables` On Linux

Iptables Firewall Examples (ITS335, L23, Y14)

07 Iptables Firewall Rules

Firewalling In Linux Using IPtables Sp8scorp

Introduction To Linux: #15 - Iptables

Introduction To Iptables

Introduction To IPTables

Linux Firewall Configurations - Intro To Firewalld (RHCE Topic)

Linux Iptables - Configuring And Implementing Linux Iptables - Learn About Ip Values And Ranges #41

Advanced Linux Firewall Config. With Firewalld Rich Rules And IPset - Rich Rules + Ipset

Ubuntu Server 18.04 Administration Guide Part 11 - Configuring Firewall Rules With UFW

Intro To IPTables With Jason

Understand The Security At OS & Network Level | Configure Linux Firewall | DevOps Tutorial | Edureka


Privacy e sicurezza - Articoli più popolari

Come eseguire lo streaming di UFC 238 Cejudo vs Moraes Online

Privacy e sicurezza Jun 10, 2025

CONTENUTO UNCACHED ESPN + UFC torna a Chicago stasera, 8 giugno, per uno dei combattimenti più attesi dell'anno, mentre Henry Cejudo e Marlon Moraes si con..


Qual è il miglior antivirus per iPhone? Nessuna!

Privacy e sicurezza Oct 23, 2025

Non hai bisogno di un antivirus per il tuo iPhone o iPad. In effetti, qualsiasi app "antivirus" che vedi pubblicizzata per iPhone non è nemmeno un software antivirus. Sono solo pro..


Cos'è OAuth? Come funzionano i pulsanti di accesso a Facebook, Twitter e Google

Privacy e sicurezza Aug 9, 2025

Se hai mai utilizzato un pulsante "Accedi con Facebook" o hai concesso a un'app di terze parti l'accesso al tuo account Twitter, hai utilizzato OAuth. Viene utilizzato anche da Goog..


Come sbloccare il Chromebook con un PIN

Privacy e sicurezza Aug 26, 2025

CONTENUTO UNCACHED Se non usi Smart Lock per sbloccare automaticamente il Chromebook quando il tuo telefono è nelle vicinanze, può diventare piuttosto fastidioso ..


Perché non riesco a collegarmi ai giochi LAN sulla mia rete domestica?

Privacy e sicurezza Sep 29, 2025

I giochi LAN sono una tradizione consolidata nel tempo in cui puoi connetterti alle persone direttamente sulla tua rete locale e goderti tempi di ping bassi e divertimento multiplay..


Come evitare lo snooping sul Wi-Fi dell'hotel e su altre reti pubbliche

Privacy e sicurezza Dec 4, 2024

CONTENUTO UNCACHED Le reti Wi-Fi degli hotel sono spesso completamente aperte e richiedono solo un numero di camera, un codice o un clic per accedere a Internet. Questa mancanza d..


Spiegazione di XProtect: come funziona il software anti-malware integrato del tuo Mac

Privacy e sicurezza May 18, 2025

Il tuo Mac ha funzionalità anti-malware (o antivirus) integrate. Funziona moltissimo come un software antivirus su Windows, esaminando le applicazioni che esegui e assicurando che ..


Anteprima anticipata della funzione Account supervisionati ora disponibile in Chrome Canary Channel

Privacy e sicurezza Aug 19, 2025

CONTENUTO UNCACHED Sei un grande fan di Google Chrome, ma stai cercando un modo per bloccare le cose o supervisionare ciò che i tuoi figli accedono quando navigano in Internet co..


Categorie