se ci sono errori fammi sapere che nn posso provarlo se no il collega mi taglia le gambe.....
Codice:
#!/sh
# _____TEXILEE__SIMPLE__FIREWALL___
# DNS___FTP___SSH___WWW___TELNET____MAIL
# ti scrivo 2 righe semplici semplici da capire, senza creare altre catene, senza loggare nulla, senza
# bloccare i tentativi di attacco più comuni. mi pare di aver capito che la tua slack è direttamente
# connessa a internet quindi non ce forward
# puoi creare uno script in modo da fare diverse prove e tornare alla configurazione
# iniziale in qualsiasi momento lanciandolo con ./ ovviamente deve essere eseguibile e tu root.
# E' possibile inserire delle variabili: in caso di cambio di un ip non dovrai cambiare l'intero script
# ma solamente il valore della var. ad esempio assegno alla var "tutto" l'intera rete. Devi sempre specificare
# la maschera di sottorete ad esempio un host o una porzione di rete puo essere 192.168.20.5/24 o 10.10.10.234/29 ...
tutto="0.0.0.0/0"
ip="80.116.34.45/24"
rete
# Facciamo pulizia. Il parametro -F è FLUSH e serve per eliminare tutte le regole inserite di def dallo script più quelle manuali successive al lancio dello script
iptables -F
# Imposto le policy ora il traffico IN/OUT è completamente bloccato
#iptables -P FORWARD DROP <-- questa nn dovrebbe servirti se nn passa traffico destinato ad altri....
iptables -P INPUT DROP
iptables -P OUTPUT DROP
# Ora anche accettando connessioni dall'esterno verso il tuo server web non passerebbe nulla
# perchè il server web non sarebbe in grado di comunicare con l'esterno...
# Regole per abilitare dns,web,mail.... dal tuo pc al resto del mondo...
# Con queste regole consenti al tuo pc di utilizzare le varie risorse di rete...
#DNS
# accetta il traffico udp porta 53 (dns) in entrata
iptables -A INPUT -p udp --sport 53 -j ACCEPT
# accetta le richieste udp porta 53 (dns) in uscita
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
# Ora il tuo pc è in grado di risolvere i nomi host in ip...
#FTP
iptables -A INPUT -p tcp --sport 20,21 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 20,21 -j ACCEPT
#WWW
iptables -A INPUT -p tcp --sport 80,445 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80,445 -j ACCEPT
#SSH
#E' consentito usare il nome del servizio piuttosto del numero della porta....
# esempio abilitare ssh in uscita (22 tcp) diventa
iptables -A INPUT -p tcp --sport ssh -j ACCEPT
iptables -A OUTPUT -p tcp --dport ssh -j ACCEPT
#TELNET
iptables -A INPUT -p tcp --sport telnet -j ACCEPT
iptables -A OUTPUT -p tcp --dport telnet -j ACCEPT
#MAIL SMTP & POP
iptables -A INPUT -p tcp --sport 25,110 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 25,110 -j ACCEPT
# abilito tutto il traffico icmp quindi ping traceroute ecc...ec...
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
# ora apro al mondo esterno il tuo web server
iptables -A INPUT -p tcp --dport 80,8080 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80,8080 -j ACCEPT
# l'unico servizio che offrirai al mondo esterno (oltre ai comandi via icmp già abilitati)
# sarà il web server. Dal tuo pc invece sarà possibile collegarti ai vari server ftp pop3 ecc...
# Se vuoi abilitare per esempio ssh verso il tuo pc
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A OUTPUT -p tcp --sport ssh -j ACCEPT
# Puoi sempre eliminare qualche regola impostando la policy di OUTPUT su ACCEPT ed eliminando tutte le regole che si riferiscono a quella catena.