• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Come configurare IPTables in Linux (Ubuntu)

.Danilo

Utente Attivo
Autore del topic
22 Luglio 2013
258
47
Miglior risposta
0
Buongiorno a tutti miei cari amici di Sciax2,
sono nuovamente tornato qui a fare una guida su Linux e insegnare a voi qualche piccolina dose di Firewall Software base.

Dopo aver installato già iptables, iniziamo la configurazione:
sudo iptables -L (Con questo comando riesci a vedere se hai qualche regola Firewall già installata)
Giusto dire però che ipTbales può essere configurato in due modi: attraverso regole predefinite per bloccare qualsiasi connessione indesiderata (BOT o altro) oppure utilizzare delle regole ben definite. Per iniziare aggiungiamo le regole per i servizi che utilizziamo (SSH ad esempio):
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT (Permette di consentire il traffico alla porta 22, ossia SSH)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT (Permette di consentire il traffico alla porta 80, ossia Webserver in porta 80)
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT (Permette di consentire il traffico alla porta 443, ossia Webserver in porta 443, solitamente SSL)
sudo iptables -P INPUT DROP (Modificare la Policy di Input per droppare i pacchetti/connessioni non consentiti/e)
Potete aggiungere qualsiasi regola ma ricordate di salvarle attraverso questo comando:
sudo iptables-save > /etc/iptables/rules.v4
Vi consiglio sempre di installare questo pacchetto per quanto riguarda IPTables, vi permette di automatizzare il caricamento delle regole salvate:
sudo apt-get install iptables-persistent

Qui di seguito, per fare la guida un po' più dettagliata e per dare del cibo agli smanettoni, vi scrivo le 'tabelle' (TABLES), le 'catene' (CHAINS) e le opzioni di IPTables:
CHAINS:
INPUT: Regole per pacchetti destinati ai sockets Localhost
FORWARD: Per i pacchetti che si inseriscono attraverso il VS
OUTPUT: Per pacchetti generati in localhost ma destinati ad essere trasmetti in output (all'esterno)
PREROUTING: Per modificare i pacchetti quando arrivano
POSTROUTING: Al contrario, per modificare i pacchetti in uscita

TABLE:
FILTER: Si utilizza con i Chains di INPUT, OUTPUT e FORWARD, è una tabella predefinita per i pacchetti.
NAT: Si utilizza con i Chains di PREROUTING e POSTROUTING
RAW: Si utilizza con i Chains di PREROUTING e OUTPUT, per configurare il tracciamento delle connessioni
MEANGLE: Si utilizza con i Chains di PREROUTING e OUTPUT, per l'alterazioni di pacchetti.
SECURITY: Utilizzato per identificare gli indirizzi di Access Control (MAC)

OPTIONS:
-A o -append: Aggiungere dei parametri alla catena
-D o -delete: Eliminare la regola della catena (CHAINS) specificata
-C o -check: Controlla se la regola inserita è già presente nella catena (CHAINS), restituisce due valori: 0 (regola esistente), 1 (regola inesistente)
-p o -proto (-protocol in alcune distribuzioni di Linux): E' il protocollo del pacchetto (UDP, TCP, SSH)
-s o -source: Controlli l'origine del pacchetto abbinandolo all'indirizzo
-d o -destination: Al contrario, controlli la destinazione del pacchetto abbinandolo all'indirizzo
-i o -in-interface: Abbina i pacchetti con l'interfaccia di entrata specificata ed esegue
-o o -out-interface: Al contrario, abbina i pacchetti con l'interfaccia di uscita specificata ed esegue

Spero di esser stato utile ma soprattutto spero che questo possa servire per una formazione a livello informatico base.