VPS

Tutorial Iptables: Proteggere il VPS con il Firewall di Linux

VPS·22 marzo 2026·29 min di lettura

Stai cercando un tutorial completo su iptables? Questo articolo ti mostrera come installare e usare iptables su un sistema Ubuntu per proteggere la tua rete.

iptables e un'utilita firewall da riga di comando di Linux che usa catene di policy per consentire o bloccare il traffico. Quando una connessione tenta di stabilirsi sul tuo sistema, iptables cerca una regola nella sua lista per abbinarla. Se non ne trova una, ricorre all'azione predefinita.

iptables viene preinstallato sulla maggior parte delle distribuzioni Linux. In caso contrario, esegui il seguente comando per installarlo:

Iptables e un programma firewall per Linux. Monitorera il traffico da e verso il tuo server utilizzando tabelle. Queste tabelle contengono insiemi di regole, chiamate catene, che filtreranno i pacchetti di dati in entrata e in uscita.

Come Funziona Iptables?

Quando un pacchetto corrisponde a una regola, gli viene assegnato un obiettivo, che puo essere un'altra catena o uno di questi valori speciali:

Questo tutorial ti aiutera a capire come funziona iptables e come usarlo per proteggere il tuo VPS.Come Funziona IptablesTutto il traffico di rete e composto da pacchetti. iptables identifica questi pacchetti e li verifica rispetto a un insieme di regole, quindi esegue l'azione corrispondente.

iptables filtra i pacchetti in base a:- Tabelle

: Le tabelle sono file che raggruppano azioni simili. Una tabella e composta da diverse catene.- Catene

: Una catena e una serie di regole. Quando un pacchetto viene ricevuto, iptables trova la tabella appropriata e lo filtra attraverso la catena di regole fino a trovare una corrispondenza.

- Regole: Una regola e un'istruzione che dice al sistema cosa fare con un pacchetto. Le regole possono bloccare un tipo di pacchetto o reindirizzarlo a un altro tipo.

- Obiettivi: Un obiettivo e la decisione presa quando un pacchetto corrisponde a una regola. Gli obiettivi sono ACCEPT, DROP, REJECT o QUEUE.

Le tre catene predefinite di iptables sono:- INPUT: Controlla i pacchetti in entrata nel server.- FORWARD: Filtra i pacchetti che vengono inoltrati altrove.

- OUTPUT: Filtra i pacchetti in uscita dal server.

Ora esploriamo alcuni comandi pratici di iptables.Verifica dello Stato Attuale di Iptables

Per verificare lo stato attuale della configurazione di iptables, esegui:

Divideremo questo tutorial su iptables in tre passaggi. Prima imparerai come installare lo strumento su Ubuntu. In secondo luogo, ti mostreremo come definire le regole. Infine, ti guideremo per apportare modifiche persistenti in iptables.

1. Installare Iptables

Iptables viene preinstallato nella maggior parte delle distribuzioni Linux. Tuttavia, se non lo hai nel tuo sistema Ubuntu/Debian per impostazione predefinita, segui i passaggi seguenti:

Il parametro -L elenca tutte le regole, mentre -v fornisce informazioni dettagliate.

Abilitare il Traffico su Localhost

```bash

sudo apt-get update

sudo apt-get install iptables

```

Questo e essenziale affinche le applicazioni che comunicano con il localhost funzionino correttamente.

```bash

sudo iptables -L -v

```

Qui, l'opzione `-L` viene utilizzata per elencare tutte le regole, e `-v` serve per visualizzare le informazioni in modo piu dettagliato.

Otterrai un risultato simile al seguente:

```plaintext

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

```

Ora avrai il firewall iptables di Linux installato. A questo punto, noterai che tutte le catene sono configurate come ACCEPT e non hanno regole. Questo non e sicuro, poiche qualsiasi pacchetto puo passare senza essere filtrato.

Bloccare il Traffico

Per scartare il traffico da un indirizzo IP specifico:

Definire una regola significa aggiungerla alla catena. Per farlo, devi inserire l'opzione `-A` (Append) subito dopo il comando iptables, nel seguente modo:

```bash

sudo iptables -A

```

Questo avvisera iptables che stai aggiungendo nuove regole a una catena. Puoi quindi combinare il comando con altre opzioni, come:

- `-i` (interfaccia): l'interfaccia di rete di cui vuoi filtrare il traffico, come eth0, lo, ppp0, ecc.

- `-p` (protocollo): il protocollo di rete dove si svolge il processo di filtraggio. Puo essere tcp, udp, udplite, icmp, sctp, icmpv6 e altro. In alternativa, puoi scrivere "all" per scegliere tutti i protocolli.

O bloccare un intervallo di porte:

- `--dport` (porta di destinazione): il numero della porta di destinazione di un protocollo, come 22 (SSH), 443 (https), ecc.

- `-j` (obiettivo): il nome dell'obiettivo (ACCEPT, DROP, RETURN). Devi inserirlo ogni volta che crei una nuova regola.

Se desideri utilizzare tutti questi parametri, devi scrivere il comando in quest'ordine:

```bash

sudo iptables -A <cadena> -i <interfaz> -p <protocolo (tcp/udp)> -s <origen> --dport <número de puerto> -j <destino>

```

Una volta compresa la sintassi di base, puoi iniziare a configurare il firewall per dare maggiore sicurezza al tuo server. Per questo tutorial su iptables, useremo la catena "INPUT" come esempio.

Abilitare il Traffico sulocalhost

Per consentire il traffico sulocalhost, digita il seguente comando:

```bash

sudo iptables -A INPUT -i lo -j ACCEPT

```

Per questo tutorial su iptables, usiamo "lo" o l'interfaccia di loopback. Viene utilizzata per tutte le comunicazioni sulocalhostLe regole attuali verranno salvate automaticamente. Per salvare modifiche future, esegui:

Abilitare Connessioni sulle Porte HTTP, SSH e SSL

Successivamente, vogliamo che le connessioni http (porta 80), https (porta 443) e ssh (porta 22) funzionino normalmente. Per farlo, dobbiamo specificare il protocollo (-p) e la porta corrispondente (--dport). Puoi eseguire questi comandi uno alla volta:

```bash

sudo iptables -A INPUT -p tcp --dport 22 -j

ACCEPT

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

```

E ora di verificare se le regole sono state aggiunte in iptables:

```bash

sudo iptables -L -v

```

Dovrebbe restituire i risultati seguenti, il che significa che tutte le connessioni del protocollo TCP dalle porte specificate saranno accettate:

```plaintext

La aceptación del puerto de destino en iptables que consiste en http, https y ssh

```

Filtrare i Pacchetti in Base alla Fonte

Iptables ti permette di filtrare i pacchetti in base a un indirizzo IP o a un intervallo di indirizzi IP. Devi specificarlo dopo l'opzione `-s`. Ad esempio, per accettare pacchetti da 192.168.1.3, il comando sarebbe:

```bash

sudo iptables -A INPUT -s 192.168.1.3 -j ACCEPT

```

Puoi anche rifiutare pacchetti da un indirizzo IP specifico sostituendo l'obiettivo ACCEPT con DROP.

```bash

sudo iptables -A INPUT -s 192.168.1.3 -j DROP

```

Se desideri rifiutare pacchetti da un intervallo di indirizzi IP, devi usare l'opzione `-m` e il modulo iprange. Quindi, specifica l'intervallo di indirizzi IP con --src-range. Ricorda, un trattino deve separare l'intervallo di indirizzi IP senza spazi, cosi:

```bash

sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j DROP

```

Filtrare i pacchetti in base alle loro fonti e fondamentale se stai utilizzando un sistema di rilevamento e prevenzione delle intrusioni (IDS/IPS) come Suricata. Questo strumento monitora la rete del tuo VPS e ti avvisa del traffico malevolo.

L'IDS/IPS mostra le origini dei pacchetti malevoli, che puoi aggiungere alla lista di blocco di iptables. Consulta il nostro articolo per saperne di piu su come configurare Suricata su Ubuntu.

Bloccare Tutto il Resto del Traffico

E fondamentale utilizzare l'obiettivo DROP per tutto il resto del traffico dopo aver definito le regole --dport. Questo impedira a una connessione non autorizzata di accedere al server tramite altre porte aperte. Per farlo, digita semplicemente:

```bash

sudo iptables -A INPUT -j DROP

```

Ora la connessione al di fuori delle porte specificate sara bloccata.

Eliminare le Regole

Se desideri eliminare tutte le regole e ricominciare da zero, puoi usare l'opzione -F (flush):

```bash

sudo iptables -F

```

Questo comando cancella tutte le regole attuali. Tuttavia, per eliminare una regola specifica, devi usare l'opzione -D. Prima, devi visualizzare tutte le regole disponibili digitando il seguente comando:

```bash

sudo iptables -L --line-numbers

```

Otterrai un elenco di regole con numeri:

```plaintext

Cadena INPUT (política ACCEPT)

num target prot opt source destination

1 ACCEPT all -- 192.168.0.4 anywhere

2 ACCEPT tcp -- anywhere anywhere tcp dpt:https

3 ACCEPT tcp -- anywhere anywhere tcp dpt:http

4 ACCEPT tcp -- anywhere anywhere tcp dpt:ssh

```

Per eliminare una regola, inserisci la catena corrispondente e il numero dalla lista. Diciamo che, per questo tutorial su iptables, vogliamo eliminare la regola numero tre della catena "INPUT". Il comando sarebbe:

```bash

sudo iptables -D INPUT 3

```

In alternativa, se devi filtrare solo il traffico in entrata, puoi usare il Firewall VPS di Holy. Seleziona il tuo VPS e naviga alla sezione Firewall:

Conclusione

Iptables e un potente programma firewall che puoi usare per proteggere il tuo server Linux o VPS. La cosa migliore e che puoi definire varie regole in base alle tue preferenze.

In questo tutorial su iptables, hai imparato come installare e utilizzare lo strumento. Ora, speriamo che tu possa gestire i tuoi insiemi di regole per filtrare i pacchetti in entrata e in uscita.

E ora di provarlo da solo e buona fortuna!

Hai ancora domande?

Vieni a parlare con noi e ti risponderemo il prima possibile!

Contatta il supporto