[PLUTO-security] Discriminare PC e Porte

Cristiano Branchini c.branchini a gmecommunications.ws
Gio 1 Apr 2004 12:50:15 CEST


Ciao a tutti,
sto sviluppando un firewall basato su iptables e linux redhat 7.3 con
kernel 2.4.18 e due schede eth.
Vorrei tramite questa macchina far passare alcuni PC attraverso
alcune porte ed altri attraverso altre porte.
Per far questo tra le tante ho scritto queste regole:
(le porte qui riportate sono solo a carattere di esempio)

#per bloccare tutte le porte cosė da impedire l'accesso ad eventuali
virus...
iptables -P FORWARD DROP

#per accettare la richiesta pop3 e di navigazione in internet e solo
quelle da parte del PC_1
iptables -A FORWARD -s $PC_1 -p tcp --dport 110 -i $ETH_LAN -j ACCEPT
iptables -A FORWARD -s $PC_1 -p tcp --dport 80 -i $ETH_LAN -j ACCEPT


#per accettare la richieta ftp e di navigazione e solo quelle da
parte del PC_2
iptables -A FORWARD -s $PC_2 -p tcp --dport 21 -i $ETH_LAN -j ACCEPT
iptables -A FORWARD -s $PC_2 -p tcp --dport 80 -i $ETH_LAN -j ACCEPT


#per accettare le risposte alle richieste interne
iptables -A FORWARD -i $ETH_INTERNET -o $ETH_LAN -m state --state
ESTABLISHED,RELATED -j ACCEPT

#per mascherare gli ip interni
iptables -t nat POSTROUTING -o $ETH_INTERNET -j SNAT --to
$IP_ETH_INTERNET

ho abilitato il FORWARD ed inoltre carico i seguenti moduli:

echo "1" > /proc/sys/net/ipv4/ip_forward

modprobe iptable_nat
modprobe iptable_filter
modprobe ipt_TOS
modprobe ipt_mark
modprobe ipt_tos
modprobe ipt_ttl
modprobe ipt_MARK
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe ip_tables
modprobe ip_queue
modprobe ipt_multiport
modprobe ipt_mac
modprobe ipt_unclean
modprobe ipt_REJECT
modprobe ipt_state
modprobe ipt_owner
modprobe ipt_limit
modprobe ip_nat_irc
modprobe ip_nat_snmp_basic
modprobe ipt_MASQUERADE

per un motivo che non comprendo tutto questo non funziona a meno che
non faccia passare almeno una volta i PC per la porta che vorrei
aprire.

Infatti se carico uno script con

iptables -A FORWARD -s $PC_1 -j ACCEPT
iptables -A FORWARD -s $PC_2 -j ACCEPT

e poi navigo per le porte che vorrei abilitare e ricarico lo script
che abilita solo alcune porte il mio filtro funziona.

Ho anche provato a mettere ACCEPT come politica di default per il
FORWARD e poi DROPPARE le porte che non mi interessano per i singoli
PC ma sono troppe!!! (circa 65000)

Come posso fare quindi per discriminare la navigazione per PC e Porte
bloccando quelle che non mi servono?

Grazie a tutti anticipatamente
Cristiano

-- Cristiano Branchini, c.branchini a gmecommunications.ws on 04/01/2004



Maggiori informazioni sulla lista pluto-security