[Pluto-security] Firewall su RH8...
Roberto Polli
robertopolli at tiscali.it
Thu Feb 27 20:35:16 CET 2003
Ciao a tutti, ecco lo script!
!/bin/sh
############################################################################
###
#
#
#
#
# . DMZ FIREWALL .
#
# TEST ALPHA 1
#
#
#
############################################################################
###
# Definizioni delle costanti
fwpublic="x.x.x.122" #Interfaccia pubblica del Firewall
fwprivate="192.168.100.150" #Interfaccia Interna Lan
dmzif="10.0.0.1" #Interfaccia dmz
webfleetif="10.0.0.2" #Interfaccia WebFleet
mappeif="10.0.0.3" #Interfaccia Mappe
local="127.0.0.1" #Interfaccia local
privatelan="192.168.100.0" #Lan Aziendale Interna
dmzlan="10.0.0.0" #Lan Dmz
loif="lo" #Interfaccia LoopBack
eth0if="eth0" #Interfaccia Pubblica Fisica
eth1if="eth1" #Interfaccia Dmz Fisica
eth2if="eth2" #Interfaccia Privata Fisica
webfleetdmzif="10.0.0.2" #Indirizzo nattato interfaccia del
web server webfleet
mappedmzif="10.0.0.3" #Indirizzo nattato interfaccia del
web server mappe
webfleetdmzifpublic="x.x.x.125" #Indirizzo nattato interfaccia del
web server webfleet
mappedmzifpublic="x.x.x.124" #Indirizzo nattato interfaccia del
web server mappe
### EVENTUALI MODULI AGGIUNTIVI PER IL FIREWALL ###
###################################################
#/sbin/modprobe ip_tables
#/sbin/modprobe ip_conntrack
#/sbin/modprobe iptable_filter
#/sbin/modprobe iptable_mangle
#/sbin/modprobe iptable_nat
#/sbin/modprobe ipt_LOG
#/sbin/modprobe ipt_limit
#/sbin/modprobe ipt_state
echo 1 > /proc/sys/net/ipv4/ip_forward #Abilito a livello di kernel l'ip
forward
iptables -F INPUT
iptables -F OUTPUT #Flushing delle tre catene tabella filter
iptables -F FORWARD
iptables -P INPUT -j DROP
iptables -P OUTPUT -j DROP #Dropping sulla tabella filter dei pacchetti
sulle tre chains
iptables -P FORWARD -j DROP
##CATENE UTENTE ###
#Definizioni delle catene utente
iptables -N internalroles #Chains per le connessioni all'interfaccia lan del
firewall
iptables -N permithttp
######CHAINS OUTPUT######
#########################
iptables -A OUTPUT -p ALL -s $local -j ACCEPT
iptables -A OUTPUT -p ALL -s $fwprivate -j ACCEPT
iptables -A OUTPUT -p ALL -s $fwpublic -j ACCEPT
######LOCAL_HOST######
######################
#Accetto tutte le connessioni provenienti dal localhost
iptables -A INPUT -i $loif -s $local -j ACCEPT
#Accetto tutte le connessioni sull'interfaccia localhost provenienti dalla
lan
iptables -A INPUT -i $loif -s $privatelan -j ACCEPT
#Accetto tutte le connessioni sull'interfaccia localhost provenienti
dall'interfaccia pubblica
iptables -A INPUT -i $loif -s $fwprivate -j ACCEPT
#Creo la chains internal roles per regolare le trasmissioni dalla lan
interna sul firewall
#Accetto tutte le connessioni provenienti dall'interfaccia in Dmz
iptables -A INPUT -i $loif -s $dmzif -j ACCEPT
######INTERFACCIA PRIVATE#######
################################
#Redirigo le richieste su fwprivate nella chains internalroles
iptables -A INPUT -i $eth2if -j internalroles
#Pongo una politica di firewall esclusivo sull'interfaccia interna
iptables -P internalroles -j DROP
#Accetto le connessioni in Telnet e Http
iptables -A internalroles -p TCP --dport 23 -j ACCEPT
iptables -A internalroles -p TCP --dport 80 -j ACCEPT
###### REGOLE DMZ ########
##########################
#Imposto le regole per la DMZ
#Accetto i pacchetti che arrivano dalla dmzlan e vanno sull'interfaccia dmz
del firewall
iptables -A INPUT -i $eth1if -s $dmzlan -j ACCEPT
#Accettp i pacchetti dall'interfaccia locale
iptables -A INPUT -i $eth1if -s $dmzif -j ACCEPT
#Dall'interfaccia eth0if accetto i pacchetti che provengono da fwpublic in
connessione ESTABLISHED e RELATED
iptables -A FORWARD -i $fwpublic -o $dmzif -m state --state
ESTABLISHED,RELATED -j ACCEPT
#Accetto i pacchetti che provengo da dmzif e vanno su fwpublic
iptables -A FORWARD -i $dmzif -o $fwpublic -j ACCEPT
#Accetto i pacchetti che provengono dall'interfaccia dmzif e vanno su
fwprivate
iptables -A FORWARD -i $dmzif -o $fwprivate -m state --state
ESTABLISHED,RELATED -j ACCEPT
#Accetto i pacchetti che provengono da fwprivate e vanno su dmzif
iptables -A FORWARD -i $fwprivate -o $dmzif -j ACCEPT
###### REGOLE DMZ PER HTTP #######
##################################
#Popolo la chains per le regole relative al protocollo http
iptables -A permithttp -p TCP --syn -j ACCEPT
iptables -A permithttp -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A permithttp -p TCP -j DROP
#Applico alla porta 80 la chain permithttp
iptables -A FORWARD -p TCP -i $eth0if -o $dmzif -d $webfleetif --dport 80 -j
permithttp
iptables -A FORWARD -p TCP -i $eth0if -o $dmzif -d $mappeif --dport 80 -j
permithttp
###### REGOLE NAT DMZ CATENA PREROUTING ########
################################################
#Applico il NAT ai due web server dietro al Firewall
iptables -t nat -A PREROUTING -p TCP -i $eth0if -d $webfleetdmzifpublic
--dport 80 -j DNAT --to-destination $webfleetdmzif
iptables -t nat -A PREROUTING -p TCP -i $eth0if -d $mappedmzifpublic --dport
80 -j DNAT --to-destination $mappedmzif
More information about the pluto-security
mailing list