Salve a tutti, volevo chiede se qualcuno che se intende piu' di me mi puo' controllare queste regole buttate giu' al volo per una rete che dovra' entrare in produzione: la macchina che fa' da firewall dovrebbe essere una linux mail_bck redhat 7.3, p200 mmx 2 gb di HD e 64 mb di ram
Confesso inanzitutto che sono nuovo a queste cose e di avere scopiazzato senza ritegno un ottimo testo trovato su internet "iptables for dummies" e ringrazio di cuore Carlo Contavalli che l'ha scritto. :-) Lo scenario e' questo: avremo un collegamento cdn ad internet da dove accedremo ad un server web con alcuni domini (multi host, il server ha un solo indirizzo ip) e due server di posta mail.mio.com di produzione e mail_bck.mio.com di backup. Gli ip che abbiamo acquistato su internet sono 128, notare che la lan (green) si estente su altre sedi tutte in rete tra di loro con altre cdn con indirizzi ip del tipo sede A -> 192.168.0.0/24 la dmz -> 192.168.1.0/24 (fisicamente nella sede a) sede B -> 192.168.2.0/24 sede C -> 192.168.3.0/24 sede D -> 192.168.4.0/24 sede E -> 192.168.5.0/24 etc.etc. che devono accedere alle macchine della dmz per i servizi di www sul portale interno e posta in spedizione e ricezione. Chiaramente gli ip address di questo esempio sono inventati :-) Range di IP: range lan -> green -> 192.168.0.0/24 range dmz -> orange -> 192.168.1.0/24 range inet-> red -> 212.216.111.128/25 indirizzo ip del router verso internet: 212.216.111.129 Indirizzi ip delle schede del firewall: lan -> 192.168.0.20 (green - eth0) dmz -> 192.168.1.20 (orange - eth1) inet-> 212.216.111.130 (red - eth2) Indirizzi IP dei server della DMZ: mail -> 192.168.1.171 mail_bck -> 192.168.1.133 www -> 192.168.1.134 Indirizzo IP di un server oracle che vive nella lan a cui deve accedere il server web: oracle -> 192.168.0.35 Nota 1 - il dns sta' nella lan e asserve solo la lan. Traffico: Dalla lan alla dmz deve passare: pop/smtp verso mail e mail_bck http/http verso www dalla lan ad internet: nulla (la navigazione e' e rimane via proxy su un'altra adsl dedicata solo a questo) dalla dmz alla lan: un buco da servizi verso l'oracle e basta dalla dmz a internet: posta verso l'esterno dns dal server di posta da internet alla lan: nulla da internet alla dmz: pop/smtp verso mail e mail_bck http/http verso www Prima di tutto modificare il file /etc/networks/interfaces affinche' le schede NON partano in automatico ma solo DOPO aver alzato il firewall e le regole di chain configfw.sh #!/bin/bash # #inibisco il ping all'indirizzo di broadcast # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcast # #disabilita lo spoofing # for a in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $d done # # Abilita i syn cookies (sicuro solo su kernel recenti) DA CONTROLLARE # echo 1 > /proc/sys/net/ipv4/tcp_syncookies # # abilita il forwarding tra le schede # echo 1 > /proc/sys/net/ipv4/ip_forward # # abilito le schede: la green, la orange e la red ip addr add 192.168.0.254/24 dev eth0 ip addr add 192.168.1.254/24 dev eth1 ip addr add 212.216.111.128/25 dev eth2 # # regola di default: tutto quello che arriva a questa macchina # viene ignorato per default , casomai scappasse qualcosa # iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # # creiamo le catene con nomi mnemonici: # iptables -N landmz # dalla eth0 alla eth1 iptables -N dmzinet # dalla eth1 alla eth2 iptables -N dmzlan # dalla eth1 alla eth0 iptables -N inetdmz # dalla eth2 alla eth1 # # creiamo le regole di istradamento (quello descritto nei commenti qui sopra) # iptables -A FORWARD -i eth0 -o eth1 -j landmz iptables -A FORWARD -i eth1 -o eth2 -j dmzinet iptables -A FORWARD -i eth1 -o eth0 -j dmzlan iptables -A FORWARD -i eth2 -o eth1 -j inetdmz # # regole dei pacchetti # Tutto quello che va' alla dmz e non e'lan viene droppato # iptables -A landmz -s ! 192.168.0.0/24 -j DROP # # accetto il traffico dalla lan al server web sul WWW # iptables -A landmz -p tcp -s 192.168.1.134 --dport www -j accept # # accetto il traffico dalla lan al server mail su smtp e pop3 # iptables -A landmz -p tcp -s 192.168.1.171 --dport smtp -j accept iptables -A landmz -p tcp -s 192.168.1.171 --dport pop3 -j accept # # stessa cosa per mail_bck ma da accendere alla bisogna decommentando e riavviando lo script # # iptables -A landmz -p tcp -s 192.168.1.133 --dport smtp -j accept # iptables -A landmz -p tcp -s 192.168.1.133 --dport pop3 -j accept # # dalla dmz puo' andare alla lan solo le risposte alle richieste # che dalla lan sono fatte alla dmz # iptables -A dmzlan -p tcp -s ! 192.168.1.0/24 -j DROP iptables -A dmzlan -m state --state ESTABILISHED,RELATED -j ACCEPT # # da internet alla dmz sono accessibili www... # iptables -A inetdmz -p tcp 192.168.1.134 -dport www -j ACCEPT # # ...mail e mail_bck # iptables -A inetdmz -p tcp 192.168.1.171 -dport smtp -j ACCEPT # iptables -A inetdmz -p tcp 192.168.1.133 -dport smtp -j ACCEPT # # e ritorno delle richieste dall'estreno # iptables -A inetdmz -m state ESTABILISHED,RELATED -j ACCEPT # # dalla dmz a internet esce la posta da spedire e il necessario dns # iptables -A dmzinet -m state --state ESTABILISHED,RELATED -j ACCEPT iptables -A dmzinet -p tcp --dport smtp -j ACCEPT iptables -A dmzinet -p udp --dport domain -j ACCEPT iptables -A dmzinet -p tcp --dport domain -j ACCEPT # # dal www dmz all'oracle in lan e ritorno # iptables -A -s 192.168.23.134/32 -d 192.168.22.35/32 -p tcp --dport 1521 -j ACCEPT iptables -A dmzlan -m state ESTABILISHED,RELATED -j ACCEPT # # attivare le schede e settare il default gateway (router cisco) # ip link set up dev eth0 ip link set up dev eth1 ip link set up dev eth2 ip route add default gw 212.216.111.129 # # fine (I HOPE) # grazie a tutti -- <-->--CyberDevil--<--> " Se non sai a cosa serve disinstallalo !!! "