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 !