R: [Folug]ipchains
FreeAnt
webmaster@freeant.net
Wed, 4 Apr 2001 11:35:47 +0200
Secondo me se fai una politica REJECT-based rischi inevitabilmente di
dimenticarti qualcosa. Generalmente io utilizzo una politica ACCEPT-based e
poi ramazzo via tutto il resto, così sono sicuro di non lasciare fuori
nulla. Non dico che sia il sistema migliore, anzi, si accettano commenti
anche feroci; tuttavia mi sono sempre trovato bene così... ;)
un esempio:
la eth1 è la scheda esterna (per te ppp0)
ho tolto eth2 perché sarebbe la subnet che a te non interessa (ricordi il
mio schemino di qualche giorno fa?)
### (C) FreeAnt Corp 2000, 2001
## Close while making changes
ipchains -P forward DENY
ipchains -P output DENY
ipchains -P input DENY
## MASQuerade any IPs if NE to the internal network itself
ipchains -A forward -s 10.0.0.0/24 -d ! 10.0.0.0/24 -j MASQ
## eth1: CVS from outside -- ANT 20010305 (w/LOG for debugging
purpose)
ipchains -A input -p tcp -i eth1 --dport 2401 -y -l -j ACCEPT
## eth1: Enable incoming calls ONLY for SYN pkts: ports 25 53 110
(soon w/o/LOG)
ipchains -A input -p tcp -i eth1 --dport 25 -y -l -j ACCEPT
ipchains -A input -p tcp -i eth1 --dport 53 -y -l -j ACCEPT
ipchains -A input -p tcp -i eth1 --dport 110 -y -l -j ACCEPT
## eth1&2: Enable incoming & outgoing ICMP pkts (w/LOG)
ipchains -A input -p icmp -i eth1 -l -j ACCEPT
ipchains -A output -p icmp -i eth1 -l -j ACCEPT
## eth1&2: Enable incoming traffic for every pkts but SYN
ipchains -A input -p tcp -i eth1 ! -y -j ACCEPT
## eth1&2: Cut off any pkts not responding to requirements above
(w/LOG)
ipchains -A input -p tcp -i eth1 -l -j REJECT
## ethX: Set outgoing pkts free through any IF
ipchains -A output -p tcp -i eth0 -j ACCEPT
ipchains -A output -p tcp -i eth1 -j ACCEPT
## eth0: Free traffic for trusted hosts
ipchains -A input -p tcp -i eth0 -j ACCEPT
## ACCEPT policy by default
ipchains -P forward ACCEPT
ipchains -P output ACCEPT
ipchains -P input ACCEPT
Sembra spalancato ma in realtà il REJECT cattura tutto quello che non ricade
nelle categorie precedentemente specificate. In più non serve rejettare
tutti i pacchetti, basta rifiutare i SYN pkts. I test di intrusione
disponibili in rete confermano: gli unici punti deboli sono quelli delle
porte aperte (25, 53 e 110 e non si possono fare grosse intrusioni, in
verità) ed in ogni caso se non puoi fare a meno di tenerle aperte è un
rischio accettabile. Per quanto riguarda invece il discorso dello spoofing
devi attivare (spararci dentro "1") i file rp_filter nelle dir
/proc/sys/net/ipv4/conf/* e lo puoi fare così:
### (C) FreeAnt Corp 2000, 2001
## Stop spoofing
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
then
for V in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $V
done
echo "spoofing killer enabled"
else
echo "spoofing killer NOT ACTIVE!!! Take care"
echo "Ctrl-D to continue"
/sbin/sulogin $CONSOLE
fi
Ciao :)
FreeAnt
PS apropos, quand'è che si inizierà a discutere di iptables? L'argomento mi
interessa ma non ne so molto...
-----Messaggio originale-----
Da: Marco Valli <marco_valli@libero.it>
A: Mailing List FoLUG <folug@lists.linux.it>
Data: martedì 3 aprile 2001 21.38
Oggetto: [Folug]ipchains
>ipchains -I input -j REJECT -i ppp0 -p tcp --destination-port 6000 -l -y
>ipchains -I input -j REJECT -i ppp0 -p tcp --destination-port 2401 -l -y
>ipchains -I input -j REJECT -i ppp0 -p tcp --destination-port 3306 -l -y
>ipchains -I input -j REJECT -i ppp0 -p tcp --destination-port 1:1024
>-l-y
>ipchains -I input -j REJECT -i ppp0 -p tcp --destination-port 5432 -l -y
>ipchains -I input -j REJECT -i ppp0 -p udp --destination-port 5432 -l -y
>ipchains -I input -j REJECT -i ppp0 -p tcp --destination-port 4848 -l -y
>echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_all
>
>Quelle che vedete sono le impostazioni di ipchains che ho aggiunto a
>rc.local... avete commenti da fare?
>ciao ML!!
>--
>__________________________________________________
>Marco Valli - Linux Mdk 7.2 & PIII 500 MHz (RAM 128 Mbyte)
>FoLUG - Forlì Linux Users Group www.folug.linux.it
>Linux user # 195004
>--------------------------------------------
>Isole nella Rete - www.ecn.org
>__________________________________________________
>
>_______________________________________________
>Folug mailing list
>Folug@lists.linux.it
>http://www.linux.it/mailman/listinfo/folug
>