iptable e DMZ
Inviato: mer 12 set 2007, 23:02
Ciao a tutti, mi volevo creare un firewall DMZ per la mia piccola azinda. Il firewall ha 3 schede di rete (Tutto con la slackware 12 ovviamente):
eth0 -> WAN (192.68.0.3);
eth1 -> LAN (192.168.0.1);
eth2 -> DMZ (192.168.1.1).
Sulla linea DMZ ho messo per ora solo il DNS interno (IP 192.168.1.2).
La mia idea di firewall sarebbe:
- Dalla lan voglio accedere ai server in ssh e voglio andare su internet (solo porta 80) e voglio usare il mio dns interno;
- Dalla DMZ devo rispondere alle richieste dns interno e dal server DNS devo poter accedere ad altri server DNS per le ricerche.
- Dalla wan devono arrivare solo risposte per la lan e le richieste per i servizi futuri della DMZ.
Leggendo un pò quà e là da internet sono arrivato a scrivere questo script, che però non mi funziona e avrei bisogno del vostro aiuto!!!
Cosa non funziona nel dettaglio?
1) Dalla Lan non riesco ad accedere al mio DNS interno per fare delle richieste;
2) Dal server DNS interno non riesco a raggiungere i server DNS esterni;
3) Se faccio ping non ottengo risposte;
4) Devo implementare una regola per arrivare ai server via SSH...
Probabilemtne devve essere una vera stupidata, ma al momento mi sfugge il problema...
Spero nell'aiuto di qualche esperto...
Ciao a tutti e buona serata!!!
DG
eth0 -> WAN (192.68.0.3);
eth1 -> LAN (192.168.0.1);
eth2 -> DMZ (192.168.1.1).
Sulla linea DMZ ho messo per ora solo il DNS interno (IP 192.168.1.2).
La mia idea di firewall sarebbe:
- Dalla lan voglio accedere ai server in ssh e voglio andare su internet (solo porta 80) e voglio usare il mio dns interno;
- Dalla DMZ devo rispondere alle richieste dns interno e dal server DNS devo poter accedere ad altri server DNS per le ricerche.
- Dalla wan devono arrivare solo risposte per la lan e le richieste per i servizi futuri della DMZ.
Leggendo un pò quà e là da internet sono arrivato a scrivere questo script, che però non mi funziona e avrei bisogno del vostro aiuto!!!
Cosa non funziona nel dettaglio?
1) Dalla Lan non riesco ad accedere al mio DNS interno per fare delle richieste;
2) Dal server DNS interno non riesco a raggiungere i server DNS esterni;
3) Se faccio ping non ottengo risposte;
4) Devo implementare una regola per arrivare ai server via SSH...
Probabilemtne devve essere una vera stupidata, ma al momento mi sfugge il problema...
Codice: Seleziona tutto
#!/bin/bash
IPT=/usr/sbin/iptables
WAN="eth0"
LAN="eth1"
DMZ="eth2"
LO="lo"
IP_NET="192.68.0.3"
IP_LAN="192.168.0.1"
IP_DMZ="192.168.1.1"
IP_LO="127.0.0.1"
RANGE_IP_LAN="192.168.0.0/24"
RANGE_IP_DMZ="192.168.1.0/24"
RANGE_IP_WAN="192.68.0.0/24"
#pulisco tutto
$IPT -F
$IPT -F INPUT
$IPT -F OUTPUT
$IPT -F FORWARD
$IPT -F -t mangle
$IPT -F -t nat
$IPT -X
#imposto il comportamento di default
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
# Genero le 6 catene di traffico
echo "Genero le catene di firewall..."
$IPT -t filter -N lan_dmz
$IPT -t filter -N lan_wan
$IPT -t filter -N wan_dmz
$IPT -t filter -N wan_lan
$IPT -t filter -N dmz_lan
$IPT -t filter -N dmz_wan
# dirotto il traffico FORWARD alle 6 catene create
echo "Dirotto il traffico Forward..."
$IPT -A FORWARD -i $LAN -o $DMZ -j lan_dmz
$IPT -A FORWARD -i $LAN -o $WAN -j lan_wan
$IPT -A FORWARD -i $WAN -o $DMZ -j wan_dmz
$IPT -A FORWARD -i $WAN -o $LAN -j wan_lan
$IPT -A FORWARD -i $DMZ -o $LAN -j dmz_lan
$IPT -A FORWARD -i $DMZ -o $WAN -j dmz_wan
# Catena lan_dmz con antispoofing
echo "Catena lan_dmz..."
$IPT -t filter -A lan_dmz -s ! $RANGE_IP_LAN -j DROP
$IPT -t filter -A lan_dmz -p udp -d 192.168.1.2 --dport 53 -j ACCEPT
$IPT -t filter -A lan_dmz -p tcp -d 192.168.1.2 --dport 53 -j ACCEPT
# Catena lan_wan antispoofing
echo "Catena lan_wan..."
$IPT -t filter -A lan_wan -s ! $RANGE_IP_LAN -j DROP
$IPT -t filter -A lan_wan -p tcp --dport 80 -j ACCEPT
# Catena WAN_DMZ antispoofing
echo "Catena lan_dmz..."
$IPT -t filter -A wan_dmz -s $RANGE_IP_LAN -j DROP
$IPT -t filter -A wan_dmz -s $RANGE_IP_WAN -j DROP
$IPT -t filter -A wan_dmz -p udp -d 192.168.1.2 --dport 53 -j ACCEPT
$IPT -t filter -A wan_dmz -p tcp -d 192.168.1.2 --dport 53 -j ACCEPT
# Catena wan_lan antispoofing
echo "Catena wan_lan..."
$IPT -t filter -A wan_lan -s $RANGE_IP_LAN -j DROP
$IPT -t filter -A wan_lan -s $RANGE_IP_DMZ -j DROP
$IPT -t filter -A wan_lan -m state --state ESTABLISHED,RELATED -j ACCEPT
# Catena dmz_lan antispoofing
echo "Catena dmz_lan..."
$IPT -t filter -A dmz_lan -s ! $RANGE_IP_DMZ -j DROP
$IPT -t filter -A dmz_lan -m state --state ESTABLISHED,RELATED -j ACCEPT
# Catena dmz_wan antipoofing
echo "Catena dmz_wan..."
$IPT -t filter -A dmz_wan -s ! $RANGE_IP_DMZ -j DROP
$IPT -t filter -A dmz_wan -p tcp --dport 53 -j ACCEPT
$IPT -t filter -A dmz_wan -p udp --dport 53 -j ACCEPT
$IPT -t filter -A dmz_wan -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -t nat -A POSTROUTING -s $RANGE_IP_LAN -o $WAN -j MASQUERADE
Ciao a tutti e buona serata!!!
DG