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 !!! "


Rispondere a