lucas_vga
(usa Ubuntu)
Enviado em 06/07/2010 - 09:44h
Fala galera do VoL...
Acabei de "Terminar" meu firewall, saiu do forno agora... rs... Fiz alguns testes em uns sites, parece estar legal... mas gostaria da opnião de vocês... Oq acham? Segue abaixo o codigo...
----------------------------------------------------------------------------------------------
#!/bin/bash
EXTERNA="eth2"
INTERNA="eth1"
ipt=$(which iptables)
## Carregar modulos
# -------------------------------------------------------
echo "Carregando Modulos"
sleep 0.3
# fazer NAT, de forma geral compatilhada a internet com forward
/sbin/modprobe iptable_nat
# resolve os problemas de FTP, sempre que tiver problemas com acesso a sites
# de FTP, lentidao, acesso, tente carregar estes modulos de FTP
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
# utilizado nas opcoes que geram log.
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE
echo "Modulos Carregados [OK]"
## Zera as regras existentes
# -------------------------------------------------------
echo "Limpando regras existentes"
sleep 0.3
$ipt -F
$ipt -X
$ipt -F -t nat
$ipt -X -t nat
$ipt -F -t mangle
$ipt -X -t mangle
echo "Regras resetadas [OK]"
## Fechando regras padroes
# -------------------------------------------------------
echo "Fechando as regras padroes"
sleep 0.3
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD DROP
echo "Regras padroes fechadas [OK]"
## ACCEPT (libera) pacotes de retorno da internet
# -------------------------------------------------------
$ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#$ipt -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
$ipt -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
## NAT para os demais servicos que trabalham em outras portas,
# como exemplo, libera o acesso a cliente de email e ssh
$ipt -A POSTROUTING -t nat -o $EXTERNA -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
# Proteç contra IP spoofing
# -------------------------------------------------------
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
## Aceita conexos externas do DNS
# -------------------------------------------------------
$ipt -A INPUT -i $INTERNA -p tcp --dport 53 -j ACCEPT
$ipt -A INPUT -i $INTERNA -p udp --dport 53 -j ACCEPT
## Libera acesso da rede interna para o firewall
# -------------------------------------------------------
$ipt -A INPUT -i $INTERNA -j ACCEPT
## Libera acesso externo para servidor web
# -------------------------------------------------------
$ipt -A INPUT -p tcp --dport 80 -i $EXTERNA -j ACCEPT
#$ipt -A INPUT -p tcp --dport 80 -i $INTERNA -j ACCEPT
$ipt -A FORWARD -p tcp --dport 80 -i $EXTERNA -j ACCEPT
$ipt -A FORWARD -p tcp --dport 80 -i $INTERNA -j ACCEPT
## Libera https e snews
# -------------------------------------------------------
$ipt -A FORWARD -p tcp --dport 443 -i $EXTERNA -j ACCEPT
$ipt -A FORWARD -p tcp --dport 443 -i $INTERNA -j ACCEPT
## Libera acesso ssh
# -------------------------------------------------------
#$ipt -A INPUT -p tcp --dport 22 -i $EXTERNA -j ACCEPT
#$ipt -A INPUT -p tcp --dport 22 -i $INTERNA -j ACCEPT
## Liberando servico de ftp
# -------------------------------------------------------
$ipt -A FORWARD -p tcp --dport 20 -j ACCEPT
$ipt -A FORWARD -p tcp --dport 21 -j ACCEPT
## Liberar acesso ao msn
# -------------------------------------------------------
iptables -A FORWARD -p tcp --dport 1863 -j ACCEPT
iptables -A FORWARD -d loginnet.passport.com -j ACCEPT
iptables -A FORWARD -d 64.4.13.0/24 -j ACCEPT
iptables -A FORWARD -d login.live.com -j ACCEPT
iptables -A FORWARD -d login.passport.com -j ACCEPT
iptables -A FORWARD -d gateway.messenger.hotmail.com -j ACCEPT
## Libera POP e SMTP
# -------------------------------------------------------
$ipt -A FORWARD -p tcp --dport 465 -j ACCEPT
$ipt -A FORWARD -p tcp --dport 995 -j ACCEPT
$ipt -A FORWARD -p tcp --dport 25 -j ACCEPT
$ipt -A FORWARD -p tcp --dport 587 -j ACCEPT
$ipt -A FORWARD -p tcp --dport 110 -j ACCEPT
## Libera um pc pelo mac para acessar sem firewall
# -------------------------------------------------------
#iptables -t nat -A PREROUTING -p tcp -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT
# Protecao contra trinoo
# -------------------------------------------------------
$ipt -N TRINOO
$ipt -A TRINOO -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL: trinoo: "
$ipt -A TRINOO -j DROP
$ipt -A INPUT -p TCP -i $EXTERNA --dport 27444 -j TRINOO
$ipt -A INPUT -p TCP -i $EXTERNA --dport 27665 -j TRINOO
$ipt -A INPUT -p TCP -i $EXTERNA --dport 31335 -j TRINOO
$ipt -A INPUT -p TCP -i $EXTERNA --dport 34555 -j TRINOO
$ipt -A INPUT -p TCP -i $EXTERNA --dport 35555 -j TRINOO
# Protecao contra tronjans
# -------------------------------------------------------
$ipt -N TROJAN
$ipt -A TROJAN -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL: trojan: "
$ipt -A TROJAN -j DROP
$ipt -A INPUT -p TCP -i $EXTERNA --dport 666 -j TROJAN
$ipt -A INPUT -p TCP -i $EXTERNA --dport 666 -j TROJAN
$ipt -A INPUT -p TCP -i $EXTERNA --dport 4000 -j TROJAN
$ipt -A INPUT -p TCP -i $EXTERNA --dport 6000 -j TROJAN
$ipt -A INPUT -p TCP -i $EXTERNA --dport 6006 -j TROJAN
$ipt -A INPUT -p TCP -i $EXTERNA --dport 16660 -j TROJAN
# Protecao contra worms
# -------------------------------------------------------
$ipt -A FORWARD -p tcp --dport 135 -i $INTERNA -j REJECT
# Protecao contra syn-flood
# -------------------------------------------------------
$ipt -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
# Protecao contra ping da morte
# -------------------------------------------------------
$ipt -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
----------------------------------------------------------------------------------------------
Alguem tem algum comentário? Alguma dica? Ta legal?..>
No aguardo... Vlw Galera!