Sfortunatamente non esiste uno script del genere che io abbia mai visto in grado di eseguire in una modalità di apprendimento o in modalità passiva registrando tutto l'utilizzo della rete, prendendo i suoi risultati e generando un firewall effettivo utilizzando iptables
dai suoi registri.
La tua scommessa migliore sarà iniziare in modo semplice e continuare ad aggiungere continuamente i vari pezzi mentre inizi a comprendere appieno quali servizi sta fornendo il tuo sistema. Dovrai utilizzare strumenti come netstat
vedere quali porte sono in uso per i vari servizi che ospiti e quali indirizzi IP vi accedono.
$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:890 0.0.0.0:* LISTEN 26149/ypbind
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 26226/python
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 26221/./hpiod
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 26237/snmpd
tcp 0 0 0.0.0.0:809 0.0.0.0:* LISTEN 26067/rpc.statd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 26038/portmap
tcp 0 0 0.0.0.0:35604 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 26249/sshd
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 26257/cupsd
tcp 0 0 :::22 :::* LISTEN 26249/sshd
tcp 0 0 :::631 :::* LISTEN 26257/cupsd
NOTA: In precedenza puoi vedere quali servizi ho in esecuzione su un server che accettano connessioni TCP, ovvero "ascoltano" le connessioni su varie porte.
Iniziare con cose come SSH (porta 22) e HTTP (porta 80) è un gioco da ragazzi, se questi sono tipici del tuo sistema, quindi farei questi tipi di servizi in massa contemporaneamente. Per altri servizi come LDAP o NIS potresti volerli fare in un modo più controllato, assicurandoti che le cose non si rompano quando le introduci.
Strumenti come FireHOL , Firewall Builder (fwbuilder) ed eztables possono essere utili mentre attacchi questo progetto, poiché forniscono un buon livello di astrazione dal dover costruire iptable
regole personalizzate a mano, il che può essere complicato.
FireHOL
FireHOL è un linguaggio (e un programma per eseguirlo) che crea firewall sicuri e con stato di qualsiasi complessità da configurazioni facili da capire e leggibili dall'uomo.
esempio
transparent_squid 8080 "squid root" inface eth0
interface eth0 mylan
policy accept
interface ppp+ internet
server smtp accept
server http accept
server ftp accept
server ssh accept src example.firehol.org
client all accept
router mylan2internet inface eth0 outface ppp+
masquerade
route all accept
fwbuilder
Fwbuilder è uno strumento grafico firewall unico che consente all'utente di creare oggetti e quindi trascinarli negli firewall, per creare un potente sistema di sicurezza per un singolo PC o una rete di PC. Fwbuilder supporta una vasta gamma di firewall (Cisco ASA / PIX, iptables Linux, filtro IP di FreeBSD, pf di OpenBSD e altro), quindi le sue regole possono essere implementate su più piattaforme. Diamo un'occhiata all'utilizzo di Fwbuilder su Linux, che potrebbe diventare un affare per tutta la vita con un potente sistema di sicurezza.
esempio
eztables
Eztables ti consente di configurare rapidamente un firewall senza mai toccare iptables. La sintassi della regola firewall è progettata per essere facile da leggere e da applicare.
Ecco come si consente a Internet intero di accedere al proprio server Web sulla porta TCP 80:
allow_in any $eth0 any 80/tcp
Eztables è progettato per essere semplice, ma potente. Non importa se vuoi proteggere il tuo laptop, se stai configurando un router domestico o costruendo un firewall aziendale.
Utilizzando Fail2Ban
Con un iptables
firewall rudimentale in atto, probabilmente vorrai complimentarlo utilizzando uno strumento come Fail2Ban .
estratto
Fail2ban esegue la scansione dei file di registro (ad es. / Var / log / apache / error_log) e vieta gli IP che mostrano segni dannosi: troppi errori di password, ricerca di exploit, ecc. Generalmente Fail2Ban viene quindi utilizzato per aggiornare le regole del firewall per rifiutare gli indirizzi IP per un determinato periodo di tempo, sebbene possa essere configurata anche qualsiasi altra azione arbitraria (ad esempio l'invio di un'e-mail). Fail2Ban è pronto per l'uso con filtri per vari servizi (apache, corriere, ssh, ecc.).
L'uso di strumenti come questo aiuterà a limitare l'esposizione che il tuo sistema dovrà sopportare mentre continui a rafforzarlo. Anche dopo essere abbastanza convinto che il tuo sistema sia stato rafforzato, potresti comunque voler continuare a utilizzare Fail2Ban come parte delle tue misure di sicurezza.
Riferimenti