GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Tutorial Iptables – Protezione di Ubuntu VPS con Linux Firewall

Stai cercando un tutorial completo su iptables? Restare fermo. In questo articolo, ti mostreremo come installare e utilizzare iptables sul sistema Ubuntu. Conoscendo questo strumento firewall Linux, puoi proteggere il tuo VPS Linux utilizzando l'interfaccia della riga di comando.

Cos'è Iptables e come funziona?

In poche parole, iptables è un programma firewall per Linux. Monitorerà il traffico da e verso il tuo server utilizzando tabelle . Queste tabelle contengono serie di regole , chiamate catene , che filtrerà i pacchetti di dati in entrata e in uscita.

[optin-monster-shortcode id=”fv4lqeko3gylvecpszws”]

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

  • ACCETTO – consentirà il passaggio del pacchetto.
  • DROP – non lascerà passare il pacchetto.
  • RITORNO – impedisce al pacchetto di attraversare una catena e gli dice di tornare alla catena precedente.

In questo tutorial di iptables, lavoreremo con una delle tabelle predefinite, chiamata filtro . Si compone di tre catene:

  • INGRESSO – controlla i pacchetti in arrivo al server.
  • AVANTI – filtra i pacchetti in arrivo che verranno inoltrati da qualche altra parte.
  • USCITA – filtra i pacchetti in uscita dal tuo server.

Prima di iniziare questa guida, assicurati di avere SSH root o sudo accedere alla tua macchina che gira su Ubuntu 16.04 o versioni successive. È possibile stabilire la connessione tramite PuTTY (Windows) o la shell del terminale (Linux, macOS). Se possiedi Hostinger VPS, puoi ottenere i dettagli di accesso SSH nella scheda Server di hPanel.

Importante! Le regole di iptables si applicano solo a ipv4 . Se desideri configurare un firewall per ipv6 protocollo, dovrai utilizzare ip6tables invece.

Come installare e utilizzare Iptables Linux Firewall

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

Passaggio 1:installazione di Iptables

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

  1. Connettiti al tuo server tramite SSH. Se non lo sai, puoi leggere il nostro tutorial SSH.
  2. Esegui il seguente comando uno per uno:
    sudo apt-get update
    sudo apt-get install iptables
  3. Verifica lo stato della tua attuale configurazione di iptables eseguendo:
    sudo iptables -L -v

    Qui, il -L l'opzione viene utilizzata per elencare tutte le regole e -v serve per mostrare le informazioni in un formato più dettagliato. Di seguito è riportato l'output di esempio:

    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 installato il firewall Linux. A questo punto, puoi notare che tutte le catene sono impostate su ACCETTO e non hanno regole. Questo non è sicuro poiché qualsiasi pacchetto può passare senza filtri.

Non preoccuparti. Ti diremo come definire le regole nel passaggio successivo del nostro tutorial su iptables.

Fase 2:definizione delle regole della catena

Definire una regola significa aggiungerla alla catena. Per fare ciò, devi inserire il -A opzione (Aggiungi ) subito dopo il comando iptables, in questo modo:

sudo iptables -A

Avvisa iptables che stai aggiungendo nuove regole a una catena. Quindi, puoi combinare il comando con altre opzioni, come:

  • -i (interfaccia ) — l'interfaccia di rete di cui si desidera filtrare il traffico, ad esempio eth0, lo, ppp0, ecc.
  • -p (protocollo ) — il protocollo di rete in cui avviene il processo di filtraggio. Può essere tcp , udp , udplite , icmp , sctp , icmpv6 , e così via. In alternativa, puoi digitare tutto per scegliere ogni protocollo.
  • -s (fonte ) — l'indirizzo da cui proviene il traffico. Puoi aggiungere un nome host o un indirizzo IP.
  • –porta (porta di destinazione ) — il numero di porta di destinazione di un protocollo, ad esempio 22 (SSH ), 443 (https ), ecc.
  • -j (obiettivo ) — il nome di destinazione (ACCETTO , DROP , RESO ). Devi inserirlo ogni volta che crei una nuova regola.

Se vuoi usarli tutti, devi scrivere il comando in questo ordine:

sudo iptables -A <chain> -i <interface> -p <protocol (tcp/udp) > -s <source> --dport <port no.>  -j <target>

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 INPUT catena come esempio.

Abilitazione del traffico su Localhost

Per consentire il traffico su localhost, digita questo comando:

sudo iptables -A INPUT -i lo -j ACCEPT

Per questo tutorial di iptables, utilizziamolo o loopback interfaccia. Viene utilizzato per tutte le comunicazioni sul localhost. Il comando precedente assicurerà che le connessioni tra un database e un'applicazione Web sulla stessa macchina funzionino correttamente.

Abilitazione delle connessioni su HTTP, SSH e porta SSL

Successivamente, vogliamo http (porta 80 ), https (porta 443 ), e ssh (porta 22 ) connessioni per funzionare normalmente. Per fare ciò, dobbiamo specificare il protocollo (-p ) e la porta corrispondente (–dport ). Puoi eseguire questi comandi uno per uno:

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

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

sudo iptables -L -v

Dovrebbe tornare con i risultati di seguito, il che significa che tutte le connessioni del protocollo TCP dalle porte specificate saranno accettate:

Filtraggio dei pacchetti in base all'origine

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

sudo iptables -A INPUT -s 192.168.1.3 -j ACCEPT

Puoi anche rifiutare i pacchetti da un indirizzo IP specifico sostituendo ACCEPT target con DROP .

sudo iptables -A INPUT -s 192.168.1.3 -j DROP

Se desideri eliminare pacchetti da un intervallo di indirizzi IP, devi utilizzare -m opzione e iprange modulo. Quindi, specifica l'intervallo di indirizzi IP con –src-range . Ricorda, un trattino dovrebbe separare l'intervallo di indirizzi IP senza spazio, in questo modo:

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

Eliminazione di tutto l'altro traffico

È fondamentale utilizzare il DROP target per tutto il resto del traffico dopo aver definito –dport regole. Ciò impedirà a una connessione non autorizzata di accedere al server tramite altre porte aperte. Per ottenere ciò, digita semplicemente:

sudo iptables -A INPUT -j DROP

Ora, la connessione al di fuori della porta specificata verrà interrotta.

Regole di eliminazione

Se vuoi rimuovere tutte le regole e iniziare con una tabula rasa, puoi usare il -F opzione (lavaggio ):

sudo iptables -F

Questo comando cancella tutte le regole correnti. Tuttavia, per eliminare una regola specifica, è necessario utilizzare l'opzione -D. Innanzitutto, devi vedere tutte le regole disponibili inserendo il seguente comando:

sudo iptables -L --line-numbers

Otterrai un elenco di regole con i numeri:

Chain INPUT (policy 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, inserire la catena corrispondente e il numero dall'elenco. Diciamo che per questo tutorial su iptables vogliamo sbarazzarci della regola numero tre dell'INPUT catena. Il comando dovrebbe essere:

sudo iptables -D INPUT 3

Fase 3 – Modifiche persistenti

Le regole di iptables che abbiamo creato vengono salvate in memoria. Ciò significa che dobbiamo ridefinirli al riavvio. Per rendere persistenti queste modifiche dopo aver riavviato il server, puoi utilizzare questo comando:

sudo /sbin/iptables-save

Salverà le regole correnti sul file di configurazione del sistema, che verrà utilizzato per riconfigurare le tabelle ogni volta che il server si riavvia.

Tieni presente che dovresti sempre eseguire questo comando ogni volta che apporti modifiche alle regole. Ad esempio, se vuoi disabilitare iptables, devi eseguire queste due righe:

sudo iptables -F
sudo /sbin/iptables-save

Vedrai i seguenti risultati:

Conclusione

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

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

È ora di provarlo tu stesso e buona fortuna!


Ubuntu
  1. Configurazione del firewall utilizzando Iptables su Ubuntu 14.04

  2. Configura il contenitore Linux con LXC su Ubuntu 16.04

  3. Adattatore per display USB con driver Linux/ubuntu?

  4. Come sostituire Iptables con Firewalld in Ubuntu 16.04?

  5. Come configurare un firewall con iptables su Ubuntu e CentOS

Come installare PSAD su Ubuntu Linux

Come collegare Kindle Fire HD con Ubuntu Linux

Come configurare il firewall con UFW su Ubuntu Linux

Procedura:proteggere il tuo server Ubuntu o Debian con IPTables

Come proteggere un firewall Linux con le regole IPtables

Esercitazione sul firewall di Linux:tabelle IPTables, catene, nozioni di base sulle regole