Need help? Chat now!

Hostwinds Tutorial

Cerca risultati per:


Sommario


Cosa sono iptables?
Come installo IPTables?
Come si usano IPTables?
Elenca regole per specifica
Elenca regole per catena specifica
Elenca regole come tabelle
Elimina regola utilizzando la specifica
Regole a livello
Blocca un indirizzo IP
Consenti tutte le connessioni SSH in entrata
Consenti tutte le connessioni SSH in entrata da IP esplicito
Consenti connessioni SSH in uscita
Consenti tutte le connessioni HTTP e HTTPS in entrata
Blocca SMTP in uscita
Consenti connessioni SMTP in entrata

Gestione delle regole IPTables

Tag: Firewall,  Linux,  CentOS Web Panel 

Cosa sono iptables?
Come installo IPTables?
Come si usano IPTables?
Elenca regole per specifica
Elenca regole per catena specifica
Elenca regole come tabelle
Elimina regola utilizzando la specifica
Regole a livello
Blocca un indirizzo IP
Consenti tutte le connessioni SSH in entrata
Consenti tutte le connessioni SSH in entrata da IP esplicito
Consenti connessioni SSH in uscita
Consenti tutte le connessioni HTTP e HTTPS in entrata
Blocca SMTP in uscita
Consenti connessioni SMTP in entrata

Cosa sono iptables?

Iptables è un'utility firewall basata sulla riga di comando estremamente flessibile costruita specificamente per distros Linux.Iptables utilizza catene politiche per consentire o bloccare il traffico.Quando viene stabilita una connessione sul server, iptables identificherà una regola nel suo elenco per determinare quale azione deve essere presa.Se non è presente alcuna regola per la connessione, ricorrerà all'azione predefinita definita per il sistema.

Come installo IPTables?

In genere, IPTables è installato per impostazione predefinita sulla maggior parte dei sistemi Linux. Per aggiornarlo o installarlo, puoi recuperare il pacchetto IPTables immettendo i seguenti comandi:

Nota: IPTables dovrebbe essere preinstallato su CentOS 6.

Ubuntu

apt-get install iptables-persistent

CentOS 7

systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl enable iptables
systemctl start iptables

Iptables sarà ora installato sul tuo sistema.Diamo un'occhiata a come usare iptables.

Come si usano IPTables?

Questa sezione coprirà alcuni comandi e usi specifici iptables di base, come elencando il trattamento corrente e il blocco di un indirizzo IP da stabilire una connessione.

Elenca regole per specifica

Per elencare la regolazione attualmente attiva per specifica, emetti il seguente comando:

iptables -S

Elenca regole per catena specifica

Per visualizzare le regole attualmente applicate a una catena specifica, è possibile utilizzare il seguente comando. Questo esempio mostrerà tutte le specifiche delle regole per la catena UDP:

iptables -S UDP

Elenca regole come tabelle

È possibile elencare tutte le regole IPTables correnti che sono in atto in una vista tabella utilizzando il seguente comando che richiama l'opzione -L. Questo elencherà tutti i set di regole correnti ordinati per tipo di catena.

iptables -L

Elimina regola utilizzando la specifica

È possibile eliminare le regole in iptables utilizzando l'opzione -D.Puoi rimuovere le regole in alcuni modi diversi.Copriremo la rimozione delle regole con le specifiche.Ad esempio, se si desidera rimuovere la regola che consente a tutti i traffico in arrivo sulla porta 443, useresti il seguente comando:

iptables -D INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

Regole a livello

Con IPTables, puoi scaricare le regole. Questo può essere fatto lavando una singola catena o lavando tutte le catene. Tratteremo entrambi i metodi di seguito.

Per scaricare una singola catena è possibile utilizzare l'opzione -f -F o l'opzione equivalente -Fluso, combinata con il nome della catena che desideri flush.Ad esempio, è possibile eliminare tutte le regole nella catena di input utilizzando il seguente comando:

iptables -F INPUT

Per sciacquare tutte le catene, useresti di nuovo l'opzione -f o equivalente -Fluso senza alcun parametro aggiuntivo.Ciò rimuoverà efficacemente tutte le regole del firewall che sono attualmente attive sul server.Il comando è il seguente:

iptables -F

Blocca un indirizzo IP

Iptables fornisce la possibilità di bloccare le connessioni di rete da un indirizzo IP specifico.Ad esempio, per bloccare tutte le connessioni in arrivo dal 10.10.10.10, eseguirai il seguente comando:

iptables -A INPUT -s 10.10.10.10 -j DROP

È inoltre possibile rifiutare la connessione, che risponderà con un errore "Connection ha rifiutato".Sostituire la goccia con rifiuto.

iptables -A INPUT -s 10.10.10.10 -j REJECT

È inoltre possibile bloccare le connessioni da un IP specifico a un dispositivo di rete specifico, ad esempio ETH1, utilizzando l'opzione -i.

iptables -A INPUT -i eth1 -s 10.10.10.10 -j DROP

Consenti tutte le connessioni SSH in entrata

Per consentire TUTTE le connessioni SSH in entrata sulla porta SSH predefinita (22), utilizzare i seguenti comandi:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Consenti tutte le connessioni SSH in entrata da IP esplicito

È anche possibile limitare le connessioni SSH per essere consentite solo da un indirizzo IP specifico o da una sottorete.Ad esempio, se si desidera solo consentire l'indirizzo IP 10.10.10.10 di connettersi al server tramite SSH, useresti il seguente comando:

iptables -A INPUT -p tcp -s 10.10.10.10 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Questa operazione può essere eseguita anche per un'intera sottorete aggiungendo la sottorete al comando, ad esempio / 27, come illustrato nel comando seguente:

iptables -A INPUT -p tcp -s 10.10.10.10/27 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Consenti connessioni SSH in uscita

Il firewall potrebbe non avere la politica di uscita impostata per accettare.Se questo è il caso, potrebbe essere necessario consentire le connessioni SSH in uscita se si desidera connettersi direttamente a un server esterno dal server.È possibile eseguire i seguenti comandi per ottenere questo sulla porta SSH predefinita (22).Se si utilizza una porta SSH diversa, sostituire "22" nell'esempio seguente con il numero di porta che stai utilizzando:

iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Consenti tutte le connessioni HTTP e HTTPS in entrata

Per impostazione predefinita, il traffico HTTP viene generalmente servito sulla porta 80 e il traffico HTTPS viene generalmente servito sulla porta 443. È possibile consentire a entrambi i tipi di connessioni al server Web utilizzando i seguenti comandi.

Nota: Se si desidera consentire solo un e non l'altro, rimuovere il numero di porta dal comando che è correlato al protocollo che desideri consentire.

iptables -A INPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Blocca SMTP in uscita

Iptables consente di bloccare le porte specifiche, ad esempio la porta SMTP predefinita (25). Ad esempio, potresti non voler consentire la posta in uscita sul server. Per interrompere questo usando iptables, è possibile emettere il seguente comando:

iptables -A OUTPUT -p tcp --dport 25 -j REJECT

Ciò configurarà iptables per rifiutare tutto il traffico in uscita sulla porta 25. Se desideri rifiutare il traffico su una porta diversa, è possibile sostituire "25" con il numero di porta in questione.

Consenti connessioni SMTP in entrata

È possibile consentire al server di rispondere a tutte le connessioni SMTP sulla porta 25 eseguendo i seguenti comandi:

iptables -A INPUT -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Scritto da Hostwinds Team  /  dicembre 13, 2016