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:
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:
Spero di esser stato utile ma soprattutto spero che questo possa servire per una formazione a livello informatico base.
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.