PDA

View Full Version : iptables


Python
04-09-2003, 18:51
allora mi sto documentando su come settare x bene il firewall


ho intenzione di farlo da prompt, non modficando il file di configurazione di iptables

quindi ho letto che le prime rules che do, andranno in ordine proprio all'ultimo posto, vero?

volevo cominciare a mettere una regola che bloccava tutti i pacchetti i nentrata/uscita (come ultima regola quindi)

ma iptables INPUT -P DROP
mi da problemi (stavo seguendo una guida in italiano, reperibile qui http://www.etechs.it/howto/firewall/iptables-1.php )


come si danno quindi i comandi usando iptables v. 1.2.8-4?

cioè + o - com'è la sintassi x modificare i 3 chain predefiniti aggiungendo catene di ip da accettare o rifiutare?

Python
04-09-2003, 19:15
allora niente sono riuscito a capire in parte :)


come faccio invece a chiudere una porta?

#!/bin/sh
04-09-2003, 19:25
io x imparare mi sono letto questo:
iptables tutorial (http://www.jollycom.ca/iptables-tutorial/iptables-tutorial.html)
ci sono anche diversi esempi di firewall già fatti

Hell-VoyAgeR
04-09-2003, 21:03
Originariamente inviato da Python
allora mi sto documentando su come settare x bene il firewall


ho intenzione di farlo da prompt, non modficando il file di configurazione di iptables

quindi ho letto che le prime rules che do, andranno in ordine proprio all'ultimo posto, vero?

volevo cominciare a mettere una regola che bloccava tutti i pacchetti i nentrata/uscita (come ultima regola quindi)

ma iptables INPUT -P DROP
mi da problemi (stavo seguendo una guida in italiano, reperibile qui http://www.etechs.it/howto/firewall/iptables-1.php )


come si danno quindi i comandi usando iptables v. 1.2.8-4?

cioè + o - com'è la sintassi x modificare i 3 chain predefiniti aggiungendo catene di ip da accettare o rifiutare?

iptables -P INPUT DROP

cioe' iptables [cosadevefare] [dovelodevefare] [concheparametri]

esempio... aggiungiamo nella catena di input la porta 22 (ssh)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

oppure... vogliamo aggiungere all'inizio della catena

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

e cosi' via

Python
04-09-2003, 21:09
sisi grazie mi ero scordato di dire che avevo già fatto tutto, e mi sono messo su un firewall credo abb bello :)


iptables -N icmp_in
iptables -A icmp_in -i eth1 -p icmp -m icmp --icmp-type 3 -j ACCEPT
iptables -A icmp_in -i eth1 -p icmp -m icmp --icmp-type 5 -j ACCEPT
iptables -A icmp_in -i eth1 -p icmp -m icmp --icmp-type 11 -j ACCEPT
iptables -A icmp_in -p icmp -j LOG --log-prefix "ICMP drop:"
iptables -A icmp_in -p icmp -j DROP

iptables -A INPUT -i eth1 -p icmp -j icmp_in

iptables -N bad_tcp
iptables -A bad_tcp -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "Nuova non syn:"
iptables -A bad_tcp -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP
iptables -A bad_tcp -p tcp -m state --state INVALID -j LOG --log-prefix "Invalida:"
iptables -A bad_tcp -p tcp -m state --state INVALID -j DROP
iptables -A bad_tcp -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -m limit --limit 5/min -j LOG --log-prefix "NMAP-XMAS:"
iptables -A bad_tcp -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
iptables -A bad_tcp -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/min -j LOG --log-prefix "SYN/RST:"
iptables -A bad_tcp -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A bad_tcp -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -m limit --limit 5/min -j LOG --log-prefix "SYN/FIN:"
iptables -A bad_tcp -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
iptables -A bad_tcp -p tcp -m tcp --dport 137:139 -m limit --limit 5/min -j LOG --log-prefix "NO SMB:"
iptables -A bad_tcp -p tcp -m tcp --sport 137:139 -m limit --limit 5/min -j LOG --log-prefix "NO SMB:"
iptables -A bad_tcp -p tcp -m tcp --dport 137:139 -j DROP
iptables -A bad_tcp -p tcp -m tcp --sport 137:139 -j DROP
iptables -A bad_tcp -p tcp -m tcp --dport 2049 -m limit --limit 5/min -j LOG --log-prefix "NO NFS:"
iptables -A bad_tcp -p tcp -m tcp --sport 2049 -m limit --limit 5/min -j LOG --log-prefix "NO NFS:"
iptables -A bad_tcp -p tcp -m tcp --dport 2049 -j DROP
iptables -A bad_tcp -p tcp -m tcp --sport 2049 -j DROP
iptables -A bad_tcp -p tcp -m tcp --dport 6000:6063 -m limit --limit 5/min -j LOG --log-prefix "NO X:"
iptables -A bad_tcp -p tcp -m tcp --sport 6000:6063 -m limit --limit 5/min -j LOG --log-prefix "NO X:"
iptables -A bad_tcp -p tcp -m tcp --dport 6000:6063 -j DROP
iptables -A bad_tcp -p tcp -m tcp --sport 6000:6063 -j DROP
iptables -A bad_tcp -p tcp -m tcp --dport 20034 -m limit --limit 5/min -j LOG --log-prefix "NO NetBus2:"
iptables -A bad_tcp -p tcp -m tcp --sport 20034 -m limit --limit 5/min -j LOG --log-prefix "NO NetBus2:"
iptables -A bad_tcp -p tcp -m tcp --dport 20034 -j DROP
iptables -A bad_tcp -p tcp -m tcp --sport 20034 -j DROP
iptables -A bad_tcp -p tcp -m tcp --dport 12345:12346 -m limit --limit 5/min -j LOG --log-prefix "NO NetBus:"
iptables -A bad_tcp -p tcp -m tcp --sport 12345:12346 -m limit --limit 5/min -j LOG --log-prefix "NO NetBus:"
iptables -A bad_tcp -p tcp -m tcp --dport 12345:12346 -j DROP
iptables -A bad_tcp -p tcp -m tcp --sport 12345:12346 -j DROP
iptables -A bad_tcp -p tcp -m tcp --dport 27374 -m limit --limit 5/min -j LOG --log-prefix "NO SubSeven:"
iptables -A bad_tcp -p tcp -m tcp --sport 27374 -m limit --limit 5/min -j LOG --log-prefix "NO SubSeven:"
iptables -A bad_tcp -p tcp -m tcp --dport 27374 -j DROP
iptables -A bad_tcp -p tcp -m tcp --sport 27374 -j DROP

iptables -A INPUT -i eth1 -p tcp -j bad_tcp

iptables -N ok_tcp
iptables -A ok_tcp -d 192.168.1.1 -p tcp -m tcp --dport 20 -j ACCEPT
iptables -A ok_tcp -d 192.168.1.1 -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A ok_tcp -d 192.168.1.1 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A ok_tcp -d 192.168.1.1 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A ok_tcp -d 192.168.1.1 -p tcp -m tcp --dport 110 -j ACCEPT
iptables -A ok_tcp -s 192.168.1.1 -p tcp -m tcp --sport 20 -j ACCEPT
iptables -A ok_tcp -s 192.168.1.1 -p tcp -m tcp --sport 21 -j ACCEPT
iptables -A ok_tcp -s 192.168.1.1 -p tcp -m tcp --sport 25 -j ACCEPT
iptables -A ok_tcp -s 192.168.1.1 -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A ok_tcp -s 192.168.1.1 -p tcp -m tcp --sport 110 -j ACCEPT
iptables -A ok_tcp -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j ACCEPT
iptables -A ok_tcp -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A ok_tcp -i eth1 -p tcp -j LOG --log-prefix "ok_tcp drop:"
iptables -A ok_tcp -p tcp -j DROP

iptables -N ok_udp
iptables -A ok_udp -d 192.168.1.1 -p udp -m udp --dport 20 -j ACCEPT
iptables -A ok_udp -d 192.168.1.1 -p udp -m udp --dport 21 -j ACCEPT
iptables -A ok_udp -d 192.168.1.1 -p udp -m udp --dport 25 -j ACCEPT
iptables -A ok_udp -d 192.168.1.1 -p udp -m udp --dport 80 -j ACCEPT
iptables -A ok_udp -d 192.168.1.1 -p udp -m udp --dport 110 -j ACCEPT
iptables -A ok_udp -d 192.168.1.1 -p udp -m udp --dport 53 -j ACCEPT
iptables -A ok_udp -s 192.168.1.1 -p udp -m udp --sport 53 -j ACCEPT
iptables -A ok_udp -s 192.168.1.1 -p udp -m udp --sport 20 -j ACCEPT
iptables -A ok_udp -s 192.168.1.1 -p udp -m udp --sport 21 -j ACCEPT
iptables -A ok_udp -s 192.168.1.1 -p udp -m udp --sport 25 -j ACCEPT
iptables -A ok_udp -s 192.168.1.1 -p udp -m udp --sport 80 -j ACCEPT
iptables -A ok_udp -s 192.168.1.1 -p udp -m udp --sport 110 -j ACCEPT
iptables -A ok_udp -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A ok_udp -i eth1 -p udp -j LOG --log-prefix "ok_udp drop:"
iptables -A ok_udp -p udp -j DROP

iptables -A INPUT -i eth1 -p tcp -j ok_tcp
iptables -A INPUT -i eth1 -p udp -j ok_udp

iptables -A INPUT -i eth1 -j LOG --log-prefix "Default drop:"
iptables -A INPUT -i eth1 -j DROP



p.s. l'ho fatto seguendo le indicazioni di un sito in italiano

l.golinelli
04-09-2003, 21:10
Originariamente inviato da #!/bin/sh
io x imparare mi sono letto questo:
iptables tutorial (http://www.jollycom.ca/iptables-tutorial/iptables-tutorial.html)
ci sono anche diversi esempi di firewall già fatti

Per cominciare si trova anche qualcosa in ITA di più comprensibile.

Così spaventi la gente... :)

#!/bin/sh
05-09-2003, 10:30
bisogna fare un po' di terrorismo :) Scherzi a parte, è che lì ci sono molti esempi. Il difficile di studiare iptables non è capire come scrivere una regola, ma avere qualche esempio ben commentato per capire come strutturare un firewall.

l.golinelli
05-09-2003, 17:15
Verissimo... :cool:

Nephorius
05-09-2003, 22:15
Originariamente inviato da #!/bin/sh
io x imparare mi sono letto questo:
iptables tutorial (http://www.jollycom.ca/iptables-tutorial/iptables-tutorial.html)
ci sono anche diversi esempi di firewall già fatti

Ottimo tutorial, ho imparato pure io da quello ;)