GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare un firewall con iptables su Ubuntu e CentOS

In questo tutorial, ti mostreremo come configurare un firewall con iptables su un VPS Linux che esegue Ubuntu o CentOS come sistema operativo. Iptables è uno strumento di amministrazione per il filtraggio dei pacchetti IPv4 e NAT e viene utilizzato per impostare e gestire le tabelle delle regole del filtro dei pacchetti IPv4 nel kernel Linux.

La corretta configurazione e configurazione di un firewall è una delle cose più importanti e cruciali che devi fare per proteggere il tuo server.

Con iptables, vengono definite diverse tabelle di corrispondenza dei pacchetti e ciascuna tabella può contenere un numero di catene integrate e alcune catene definite dall'utente. Le catene sono in realtà elenchi di regole che corrispondono a un insieme di pacchetti e ogni regola specifica cosa fare con il pacchetto abbinato.

La tabella predefinita è il filter tabella e contiene le catene integrate INPUT, FORWARD e OUTPUT. La catena INPUT viene utilizzata per i pacchetti destinati ai socket locali, la catena FORWARD viene utilizzata per i pacchetti instradati attraverso la scatola mentre la catena OUTPUT viene utilizzata per i pacchetti generati localmente.

Collegati al tuo server tramite SSH ed elenca le regole definite in una catena specifica utilizzando la seguente sintassi:

sudo iptables -L CHAIN

Sostituisci CHAIN ​​con una delle catene integrate per vedere le regole definite. Se nessuna catena è selezionata, tutte le catene verranno elencate nell'output.

sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Le regole del firewall specificano cosa fare con un determinato pacchetto se soddisfa determinati criteri e nel caso in cui il pacchetto non soddisfi i criteri, verrà esaminata la successiva regola del firewall definita nella catena. Questa è una cosa molto importante da sapere quando si definiscono le regole del firewall perché puoi facilmente bloccarti fuori dal tuo server se definisci la regola che accetta i pacchetti dal tuo indirizzo IP locale dopo la regola di blocco.

I target che puoi utilizzare per le regole del firewall sono ACCEPT, DROP, QUEUE e RETURN. ACCEPT lascerà passare il pacchetto, DROP eliminerà il pacchetto, QUEUE passerà il pacchetto allo spazio utente mentre RETURN interromperà l'attraversamento del pacchetto della catena corrente e riprenderà alla regola successiva nella catena precedente. La policy della catena predefinita definirà cosa fare con un pacchetto se non corrisponde a determinate regole del firewall. Come puoi vedere nell'output del primo comando, la politica predefinita per tutte le catene integrate è impostata su ACCEPT. ACCEPT lascerà passare il pacchetto, quindi praticamente non c'è protezione.

Prima di aggiungere qualsiasi regola specifica, aggiungi la seguente:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Ciò impedirà l'interruzione delle connessioni già stabilite e la tua sessione SSH corrente rimarrà attiva.

Quindi, aggiungi le regole per consentire il traffico sulla tua interfaccia di loopback:

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

Quindi, consenti l'accesso al tuo server tramite SSH per il tuo indirizzo IP locale in modo che solo tu possa accedere al server:

sudo iptables -A INPUT -s 111.111.111.111 -p tcp --dport 22 -j ACCEPT

Dove 111.111.111.111 è il tuo indirizzo IP locale e 22 è la porta di ascolto del tuo demone SSH. Nel caso in cui il tuo indirizzo IP locale cambi dinamicamente, è meglio omettere il -s 111.111.111.111 parte e utilizza un metodo diverso per proteggere il servizio SSH dal traffico indesiderato.

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

Quindi, consenti l'accesso ai tuoi servizi importanti come il server HTTP/HTTPS:

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

[ecko_alert color=”blue”]Bloccato da qualche parte? Ottieni un VPS da noi e proteggeremo adeguatamente il tuo server e configureremo un firewall per te, gratuitamente![/ecko_alert]

Ora, elenca le regole attuali e controlla se tutto è a posto. Per un output dettagliato puoi usare il seguente comando:

sudo iptables -nvL

Se disponi di altri servizi a cui desideri consentire l'accesso, è meglio farlo ora. Una volta terminato, puoi impostare la politica predefinita per la catena incorporata INPUT su DROP.

sudo iptables -P INPUT -j DROP

Questo eliminerà qualsiasi pacchetto che non corrisponde ai criteri delle regole del firewall. L'output finale dovrebbe essere simile al seguente:

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    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

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

Tuttavia, se ora riavvii il server perderai tutte le regole del firewall che hai definito, quindi è davvero importante rendere le regole permanenti.

Nel caso in cui utilizzi un Ubuntu VPS, devi installare un pacchetto aggiuntivo a tale scopo. Vai avanti e installa il pacchetto richiesto usando il seguente comando:

sudo apt-get install iptables-persistent

Su Ubutnu 14.04 puoi salvare e ricaricare le regole del firewall usando i comandi seguenti:

sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload

Su Ubuntu 16.04 usa invece i seguenti comandi:

sudo netfilter-persistent save
sudo netfilter-persistent reload

Se utilizzi un CentOS VPS, puoi salvare le regole del firewall utilizzando il comando seguente:

service iptables save

Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS completamente gestiti, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di aiutarti a configurare i tuoi iptables sul tuo server. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS . Se ti è piaciuto questo post su Come configurare un firewall con iptables su Ubuntu e CentOS, condividilo con i tuoi amici sui social network utilizzando i pulsanti qui sotto o lascia semplicemente un commento nella sezione commenti. Grazie.


Cent OS
  1. Come aprire la porta HTTP ( 80 ) in Iptables su CentOS

  2. Come aprire le porte in Ubuntu e CentOS usando IPtables

  3. Come configurare i blocchi server Nginx su Ubuntu e CentOS

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

  5. Come configurare un firewall con UFW su Ubuntu 16.04

Come configurare Nginx High Availability con Pacemaker e Corosync su CentOS 7

Come fermare e disabilitare il firewall su CentOS 8

Come svuotare il DNS su Ubuntu e CentOS

Come configurare Iptables Firewall su CentOS

Come installare Firefox 36 su CentOS 7 e Ubuntu 14.04

Come impostare e configurare una VPN con OpenVPN su Ubuntu 18.04