Pessoal o meu script de firewall é este:



#IP_CONECTIVA="
IP_EXTERNO="
IP_INTERNO="
IP_DMZ="
IP_MAIL_DMZ=
IP_MAIL_INT=
NET_DMZ=
NET_INT=
BRO_10=
BRO_INT=
BRO_GER=
ANY="0.0.0.0/0"

IF_EXT="eth0"
IF_DMZ="eth1"
IF_INT="eth2"
IF_LO="lo"


# Habilitar protecao contra IP Spoofing
for spoof in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $spoof
done

# Habilitar protecao contra SYN Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Habilitar o IP-Forward entre as interfaces de rede
echo 1 > /proc/sys/net/ipv4/ip_forward

# Configurar Politica Padrao dos Filtros de Pacotes
ipchains -P input DENY
ipchains -P output ACCEPT
ipchains -P forward DENY

# Carregar modulos do Kernel
modprobe ip_masq_ftp

# Remover Filtros de Pacotes e de Redirecionamento pre-existentes
ipchains -F

# Regra para interface de loopback
ipchains -A input -s $ANY -d $ANY -i $IF_LO -j ACCEPT


# Derruba Broadcasts
ipchains -A input -s $ANY -d $BRO_INT -j REJECT
ipchains -A input -s $ANY -d $BRO_10 -j REJECT
ipchains -A input -s $ANY -d $BRO_GER -j REJECT

# Derruba NETBIOS
ipchains -A input -p tcp -s $ANY -d $ANY 137 -j REJECT
ipchains -A input -p tcp -s $ANY -d $ANY 138 -j REJECT
ipchains -A input -p tcp -s $ANY -d $ANY 139 -j REJECT
ipchains -A input -p udp -s $ANY -d $ANY 137 -j REJECT
ipchains -A input -p udp -s $ANY -d $ANY 138 -j REJECT
ipchains -A input -p udp -s $ANY -d $ANY 139 -j REJECT

# Derruba pacotes de estações não configuradas para o Proxy sem logar
ipchains -A input -p tcp -s $NET_INT -d $ANY 80 -i $IF_INT -j REJECT

# ssh
ipchains -A input -p tcp -s $IP_CONECTIVA -d $IP_EXTERNO 22 -i $IF_EXT -j ACCEPT
ipchains -A input -p tcp -s $IP_MAIL_DMZ 22 -d $IP_DMZ -i $IF_DMZ -j ACCEPT
ipchains -A input -p tcp -s $IP_MAIL_INT 22 -d $IP_INTERNO -i $IF_INT -j ACCEPT
ipchains -A input -p tcp -s $IP_INTERNO -d $IP_EXTERNO 22 -i $IF_INT -j ACCEPT


# icmp

ipchains -A input -p icmp --icmp-type echo-request -s $ANY -d $IP_EXTERNO -i $IF_EXT -j DENY
ipchains -A input -p icmp --icmp-type echo-request -s $ANY -d $IP_MAIL_DMZ -i $IF_EXT -j DENY
ipchains -A input -p icmp --icmp-type echo-request -s $ANY -d $IP_DMZ -i $IF_EXT -j DENY
ipchains -A input -p icmp -s $ANY -d $ANY -j ACCEPT

# http, https e ftp (interna->externa e interna->dmz)
ipchains -A input -p tcp -s $NET_INT 1024: -d $IP_INTERNO 3128 -i $IF_INT -j ACCEPT
ipchains -A input -p tcp -s $ANY 80 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT
ipchains -A input -p tcp -s $IP_MAIL_DMZ 80 -d $IP_DMZ 1024: -i $IF_DMZ -j ACCEPT
ipchains -A input -p tcp -s $ANY 443 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT
ipchains -A input -p tcp -s $ANY 7443 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT
ipchains -A input -p tcp -s $ANY 444 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT
ipchains -A input -p tcp -s $ANY 21 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT
ipchains -A input -p tcp -s $ANY 20 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT
ipchains -A input -p tcp -s $ANY 1024: -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT
echo "05"

# http (externa->dmz)
ipchains -A input -p tcp -s $ANY 1024: -d $IP_MAIL_DMZ 80 -i $IF_EXT -j ACCEPT
ipchains -A forward -p tcp -s $ANY 1024: -d $IP_MAIL_DMZ 80 -i $IF_DMZ -j ACCEPT
ipchains -A input -p tcp -s $IP_MAIL_DMZ 80 -d $ANY 1024: -i $IF_DMZ -j ACCEPT
ipchains -A forward -p tcp -s $IP_MAIL_DMZ 80 -d $ANY 1024: -i $IF_EXT -j ACCEPT

# smtp (interna->dmz)
ipchains -A input -p tcp -s $IP_MAIL_INT 1024: -d $IP_MAIL_DMZ 25 -i $IF_INT -j ACCEPT
ipchains -A forward -p tcp -s $IP_MAIL_INT 1024: -d $IP_MAIL_DMZ 25 -i $IF_DMZ -j ACCEPT
ipchains -A input -p tcp -s $IP_MAIL_DMZ 25 -d $IP_MAIL_INT 1024: -i $IF_DMZ -j ACCEPT
ipchains -A forward -p tcp -s $IP_MAIL_DMZ 25 -d $IP_MAIL_INT 1024: -i $IF_INT -j ACCEPT

ipchains -A input -p tcp -s $IP_MAIL_DMZ 1024: -d $IP_MAIL_INT 25 -i $IF_DMZ -j ACCEPT
ipchains -A forward -p tcp -s $IP_MAIL_DMZ 1024: -d $IP_MAIL_INT 25 -i $IF_INT -j ACCEPT
ipchains -A input -p tcp -s $IP_MAIL_INT 25 -d $IP_MAIL_DMZ 1024: -i $IF_INT -j ACCEPT
ipchains -A forward -p tcp -s $IP_MAIL_INT 25 -d $IP_MAIL_DMZ 1024: -i $IF_DMZ -j ACCEPT


# smtp (externa->dmz)
ipchains -A input -p tcp -s $ANY 1024: -d $IP_MAIL_DMZ 25 -i $IF_EXT -j ACCEPT
ipchains -A forward -p tcp -s $ANY 1024: -d $IP_MAIL_DMZ 25 -i $IF_DMZ -j ACCEPT
ipchains -A input -p tcp -s $IP_MAIL_DMZ 25 -d $ANY 1024: -i $IF_DMZ -j ACCEPT
ipchains -A forward -p tcp -s $IP_MAIL_DMZ 25 -d $ANY 1024: -i $IF_EXT -j ACCEPT

ipchains -A input -p tcp -s $IP_MAIL_DMZ 1024: -d $ANY 25 -i $IF_DMZ -j ACCEPT
ipchains -A forward -p tcp -s $IP_MAIL_DMZ 1024: -d $ANY 25 -i $IF_EXT -j ACCEPT
ipchains -A input -p tcp -s $ANY 25 -d $IP_MAIL_DMZ 1024: -i $IF_EXT -j ACCEPT
ipchains -A forward -p tcp -s $ANY 25 -d $IP_MAIL_DMZ 1024: -i $IF_DMZ -j ACCEPT

# imap (dmz->interna)
ipchains -A input -p tcp -s $IP_MAIL_DMZ 1024: -d $IP_MAIL_INT 143 -i $IF_DMZ -j ACCEPT
ipchains -A forward -p tcp -s $IP_MAIL_DMZ 1024: -d $IP_MAIL_INT 143 -i $IF_INT -j ACCEPT
ipchains -A input -p tcp -s $IP_MAIL_INT 143 -d $IP_MAIL_DMZ 1024: -i $IF_INT -j ACCEPT
ipchains -A forward -p tcp -s $IP_MAIL_INT 143 -d $IP_MAIL_DMZ 1024: -i $IF_DMZ -j ACCEPT

# pop3 (interna->externa)
ipchains -A input -p tcp -s $NET_INT 1024: -d $ANY 110 -i $IF_INT -j ACCEPT
ipchains -A input -p tcp -s $ANY 110 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT ! -y

# Regras de ICQ
ipchains -A input -p udp -s $NET_INT 1024: -d $ANY 4000 -i $IF_INT -j ACCEPT
ipchains -A input -p udp -s $ANY 4000 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT

# Regras para o KAZAA
ipchains -A input -p udp -s $NET_INT 1024: -d $ANY 1200 -i $IF_INT -j ACCEPT
ipchains -A input -p udp -s $ANY 1200 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT

# dns (interna->externa)
ipchains -A input -p udp -s $NET_INT 1024: -d $ANY 53 -i $IF_INT -j ACCEPT
ipchains -A input -p udp -s $ANY 53 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT
ipchains -A input -p tcp -s $NET_INT 1024: -d $ANY 53 -i $IF_INT -j ACCEPT
ipchains -A input -p tcp -s $ANY 53 -d $IP_EXTERNO 1024: -i $IF_EXT -j ACCEPT

# dns (dmz->externa)
ipchains -A input -p udp -s $NET_DMZ 1024: -d $ANY 53 -i $IF_DMZ -j ACCEPT
ipchains -A forward -p udp -s $NET_DMZ 1024: -d $ANY 53 -i $IF_EXT -j ACCEPT
ipchains -A input -p udp -s $ANY 53 -d $NET_DMZ 1024: -i $IF_EXT -j ACCEPT
ipchains -A forward -p udp -s $ANY 53 -d $NET_DMZ 1024: -i $IF_DMZ -j ACCEPT

ipchains -A input -p tcp -s $NET_DMZ 1024: -d $ANY 53 -i $IF_DMZ -j ACCEPT
ipchains -A forward -p tcp -s $NET_DMZ 1024: -d $ANY 53 -i $IF_EXT -j ACCEPT
ipchains -A input -p tcp -s $ANY 53 -d $NET_DMZ 1024: -i $IF_EXT -j ACCEPT
ipchains -A forward -p tcp -s $ANY 53 -d $NET_DMZ 1024: -i $IF_DMZ -j ACCEPT

# regra para log
ipchains -A input -s $ANY -d $ANY -j DENY -l

# regra para mascaramento
ipchains -A forward -s $NET_INT -d $ANY -j MASQ

# Reconfigurar as regras criadas pelo IDS -------------------------------------------------

# Reconfigurar as regras criadas pelo IDS -------------------------------------------------
# O arquivo hosts.deny nao pode ter comentarios
for i in `cat /etc/hosts.deny | grep ALL | cut -d" " -f2`
do
ipchains -I input -s $i/32 -l -j DENY
done
#------------------------------------------------------------------------------------------

Gostaria de uma regra que liberasse o uso do Kazaa.

Sem mais, obrigado !