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.