Configura il firewall su Linux con iptables
Scopri come proteggere un server con iptables
Obiettivo
Il tuo VPS è dotato di un firewall. I firewall creano una barriera tra una rete di fiducia e una rete non affidabile. I firewall funzionano definendo regole che disciplinano il traffico autorizzato e quello bloccato. Il firewall utilitario sviluppato per i sistemi Linux è iptables.
Questa guida ti mostra come proteggere un server grazie agli iptables.
Informazioni sull’amministrazione dei servizi OVHcloud e su come trovare l’assistenza appropriata
Durante l’utilizzo delle guide OVHcloud, tieni presente le seguenti condizioni:
- Le istruzioni mirano a fornire il maggior numero possibile di dettagli, ma non possono coprire tutti i casi d’uso individuali. Potrebbe essere necessario adattare le azioni descritte alle tue esigenze.
- L’ecosistema OVHcloud è progettato per garantire flessibilità e libertà di scelta. I clienti sono quindi responsabili della configurazione corretta e sicura dei propri servizi. Per evitare la perdita di dati, ti consigliamo vivamente di applicare strategie di backup a tutti i tuoi dati importanti.
- Le nostre guide e i nostri tutorial possono fare riferimento a software o servizi di terze parti in combinazione con le soluzioni OVHcloud. Il supporto tecnico fornito da OVHcloud non include la configurazione di sistemi o prodotti al di fuori della nostra responsabilità . Questo include, a titolo esemplificativo:
- Sistemi operativi e interfacce utente (Windows, Debian, Plesk, ecc.).
- Qualsiasi altro software di terze parti (client FTP, software di posta elettronica, ecc.).
- Servizi offerti da altri provider (DNS, API, interfacce utente, ecc.).
Per ricevere l’assistenza appropriata in caso di problemi, segui queste indicazioni:
- Cerchi una consulenza personalizzata o vuoi discutere di un argomento non trattato in dettaglio nella nostra documentazione?
Unisciti alla Community OVHcloud per cercare il tuo argomento e confrontarti con altri utenti. - Devi segnalare un incidente relativo al tuo servizio OVHcloud o riscontri difficoltà nello Spazio Cliente OVHcloud?
Crea una richiesta di supporto nel nostro centro assistenza. - Hai bisogno di assistenza professionale per il tuo progetto o di aiuto per attività al di fuori del nostro perimetro di supporto?
Visita il nostro portale dei partner per trovare esperti che conoscono le soluzioni OVHcloud. - Cerchi informazioni più dettagliate sui nostri livelli di supporto e sui Professional Services?
Visita le nostre pagine web sui livelli di supporto OVHcloud e sugli OVHcloud Professional Services.
Puoi partecipare al miglioramento della nostra documentazione:
- Vuoi condividere un feedback per migliorare una guida o segnalare informazioni insufficienti su una pagina specifica?
Utilizza i pulsanti "Questa pagina ti è stata utile?" in fondo alla pagina per farcelo sapere. - Vuoi proporre un aggiornamento concreto della documentazione?
Utilizza la funzione "Modifica questa pagina", disponibile in fondo alla pagina e nella barra laterale.
Prerequisiti
- Disporre di un VPS nel proprio account OVHcloud
- Avere accesso amministratore (root/sudo) al server via SSH
Procedura
Questa guida ti mostra i comandi per una distribuzione Ubuntu Server.
Questa è una guida per uso generale. Alcuni comandi dovranno essere adattati in base alla distribuzione o al sistema operativo che utilizzi. In qualche caso ti suggeriremo l’utilizzo di strumenti esterni. Se hai dubbi riguardo al loro utilizzo, consulta le relative guide ufficiali.
La maggior parte delle regole descritte in questa guida presuppone che iptables sia configurato per impostazione predefinita in modo da GETTARE (DROP) il traffico in entrata e che si consenta selettivamente il traffico in entrata. Se si intende impostare un altro tipo di configurazione, si consiglia di consultare la documentazione aggiuntiva.
Step 1: aggiorna il tuo sistema
Gli sviluppatori dei sistemi operativi e delle distribuzioni propongono aggiornamenti frequenti dei pacchetti, molto spesso per motivi di sicurezza. Mantenere aggiornati la distribuzione ed il sistema operativo è un aspetto fondamentale per la sicurezza del server.
Per maggiori informazioni, consulta la nostra guida sulla sicurezza di un VPS.
Step 2: installare il firewall iptables su Ubuntu
Esistono due versioni differenti di iptables, per IPv4 e IPv6. Le regole di questa guida Linux iptables sono IPv4. Per configurare iptables per IPv6, utilizza il programma iptables6. Questi due diversi protocolli non funzionano insieme e devono essere configurati in modo indipendente.
iptables è installato di default sulla maggior parte dei sistemi Linux. Per confermare l'installazione di iptables, utilizza il comando:
L'esempio di uscita in Ubuntu conferma che l'ultima versione di iptables è già presente:
In genere, esegui il comando iptables come segue:
Ecco una lista di alcune opzioni iptables comuni:
- -A --append: Aggiungi una regola a una catena (alla fine).
- -C --check: Ricerca una regola che corrisponde alle esigenze della catena.
- -D --delete: Elimina le regole specificate di una catena.
- -F --flush: Elimina tutte le regole.
- -I --insert: Aggiungi una regola a una catena in una determinata posizione.
- -L --list: Mostra tutte le regole di un canale.
- -N --new-chain: Crea un nuovo canale.
- -v --verbose: Indica maggiori informazioni durante l'utilizzo di un'opzione di lista.
- -X --delete-chain: Elimina la catena fornita.
Step 3: verificare lo stato attuale degli iptables
Per visualizzare tutte le regole attuali sul tuo server, inserisci questo comando nella finestra del terminale:
Il sistema mostra lo stato delle tue catene.
L'uscita elenca tre canali:
Step 4: autorizza il traffico su localhost
Per autorizzare il traffico del tuo sistema (il localhost), aggiungi la catena di entrata inserendo quanto segue:
Questo comando configura il firewall per accettare il traffico per l'interfaccia localhost (lo) (-i). Tutto quello che viene dal vostro sistema passerà attraverso il vostro firewall. Devi definire questa regola per permettere alle applicazioni di comunicare con l'interfaccia localhost.
Step 5: autorizzare il traffico su porti specifici
Queste regole autorizzano il traffico sui diversi porti che si specifica utilizzando i comandi elencati qui di seguito. Una porta è un punto terminale di comunicazione specificato per un tipo specifico di dati.
Per autorizzare il traffico Web HTTP, inserisci questo comando:
Per autorizzare solo il traffico SSH (Secure Shell) in entrata, inserisci (notare che si utilizza la porta 22, che è il numero di porta SSH predefinito. Se il vostro numero di porta è diverso, assicuratevi di adattare di conseguenza i comandi seguenti):
Per autorizzare il traffico Internet HTTPS, inserisci questo comando:
Le opzioni funzionano in questo modo:
- -p: Verifica il protocollo specificato (tcp).
- --dport: Specifica il porto di destinazione.
- -j jump: Effettua l'azione
In caso di perdita dell'accesso al tuo server, puoi sempre utilizzare il tool KVM/IPMI per accedervi nuovamente e modificare la tua configurazione o eliminare le tue regole.
Per maggiori informazioni sull'accesso a questo tool, consulta questa guida.Step 6: controlla il traffico per indirizzo IP
Per accettare il traffico da un indirizzo IP specifico, utilizza questo comando:
Sostituisci l'indirizzo IP nel comando con l'indirizzo IP che vuoi autorizzare.
Puoi anche bloccare il traffico a partire da un indirizzo IP
Sostituisci l'indirizzo IP nel comando con l'indirizzo IP che vuoi bloccare.
Puoi rifiutare il traffico a partire da una gamma di indirizzi IP, con il seguente comando:
Le opzioni iptables che abbiamo utilizzato negli esempi funzionano in questo modo:
- -m: Corrisponde all'opzione specificata.
- -iprange: Indica al sistema di attendere una gamma di indirizzi IP invece di una sola.
- --src-range: Identifica la gamma di indirizzi IP.
Step 7: eliminare il traffico indesiderato
Se definisci regole di firewall iptables, è necessario impedire gli accessi non autorizzati eliminando ogni traffico proveniente da altre porte:
L'opzione -A aggiunge una nuova regola al canale. Se una connessione passa attraverso porti diversi da quelli da voi definiti, sarà abbandonata.
Attenzione: se digiti questo ordine prima di effettuare lo Step 5, bloccherai tutti gli accessi, incluso quello in corso, l'accesso SSH. Questo è particolarmente problematico per una macchina su cui puoi accedere a distanza.
Step 8: elimina una regola
Un metodo più preciso consiste nell'eliminare il numero di linea da una regola.
Per prima cosa, individua tutte le regole inserendo:
Cerca la riga della regola del firewall che vuoi eliminare ed esegui questo comando:
Sostituisci Number con il numero di riga che vuoi eliminare.
Step 9: salva le tue modifiche
Durante il riavvio del sistema, iptables non mantiene le regole che hai creato. Ogni volta che configuri iptables su Linux, le modifiche apportate si applicano solo fino al prossimo riavvio.
Sui sistemi basati su Ubuntu, il pacchetto iptables-persistent si occupa di ripristinare le tue regole all'avvio. Installalo con il comando seguente:
Durante l'installazione ti viene chiesto se salvare le regole IPv4 e IPv6 attuali. Rispondi Yes per conservare le regole che hai appena creato.
In seguito puoi salvare le tue regole in qualsiasi momento con il comando seguente:
Le tue regole IPv4 vengono scritte nel file /etc/iptables/rules.v4 (e le tue regole IPv6 nel file /etc/iptables/rules.v6).
Al prossimo avvio del sistema, gli iptables ricariceranno automaticamente le regole del firewall.
Da questo momento puoi configurare regole di firewall iptables base per il tuo server Linux. Non esitare a sperimentare perché puoi sempre eliminare le regole di cui non hai bisogno, o svuotare tutte le regole e ricominciare.
Per saperne di più
Contatta la nostra Community di utenti.