Jorgerabello
(usa Ubuntu)
Enviado em 28/08/2008 - 15:40h
Olá Pessoal estou configurando um firewall em debian 4.0etch
o pproblema é que nao sei se ele realmente é seguro e ainda não sei realizar pentests....estou começãndo.
estou postando o script do firewall...e gostaria da ajuda de vcs para melhora-lo
grato
Jorge
segue abaixo o scrip iptables.
---------------------------------------------------------------------------------------
# Firewall - Script
# Montado por Jorge Augusto
# Última Atualização 21/08/2008
# eth0-->WAN
# eth1-->LAN
echo "Loading Firewall ......................................................................................... [ ok ]"
# Limpando As Tabelas
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -X -t nat
iptables -X -t mangle
# Aplicando As Regras Padrão
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# Ativando Roteamento
echo "1" > /proc/sys/net/ipv4/ip_forward
#habilitando o fluxo interno entre os processos lo
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -i lo -j ACCEPT
# Mascarando o Roteador
iptables -t nat -A POSTROUTING -s 192.168.1.100/24 -d 0/0 -j MASQUERADE
# Proxy Transparente
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Liberabdo Interfaces e Portas Validas
# Libera Rede Local
iptables -A INPUT -i eth1 -s 192.168.100.0/24 -j ACCEPT
iptables -A INPUT -i eth1 -m state --state NEW -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Libera os servidores DNS
iptables -A INPUT -i eth0 -p udp -s 200.204.0.10 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -s 200.204.0.138 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -j REJECT
iptables -A OUTPUT -i eth0 -p udp -s 200.204.0.10 -j ACCEPT
iptables -A OUTPUT -i eth0 -p udp -s 200.204.0.138 -j ACCEPT
iptables -A OUTPUT -i eth0 -p udp -j REJECT
# Libera a Entrada de Conexoes Iniciadas Pela Maquina
iptables -A INPUT -m state--state ESTABLISHED RELATED -j ACCEPT
# Libera o Acesso Pela Internet eth0
iptables -A INPUT -p tcp -dport 80 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp -dport 443 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp -dport 143 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp -dport 110 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp -dport 25 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp -dport 21 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp -dport 22 -i eth1 -j ACCEPT
# Libera Acesso Pela Internet eth1
iptables -A INPUT -p tcp -dport 80 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp -dport 443 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp -dport 143 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp -dport 110 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp -dport 25 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp -dport 21 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp -dport 22 -i eth1 -j ACCEPT
# Liberacao de FORWARDS eth0
iptables -A FORWARD -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp -m tcp --dport 143 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
# Liberacao de FORWARDS eth0
iptables -A FORWARD -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp -m tcp --dport 143 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp -m tcp --dport 110 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
# Aplicando Protecoes
# Bloqueia Entrada de Conexoes invalidas
iptables -A FORWARD -m state--state NEW INVALID -j DROP
# Bloqueando Pacotes Não Liberados
iptables -A FORWARD -j DROP
iptables -A INPUT -j DROP
# Contra Syn-Flood e DoS
iptables -A FORWARD -p tcp --syn - m limit --limit 1/s - j ACCEPT
# Contra Ping Of Death
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# Contra Port-Scanners
iptables -A FORWARD -p tcp --tcp-flags SYN ACK FIN RST -m limit--limit 1/s -j ACCEPT
# Contra Exploits
iptables -A FORWARD -p tcp --tcp-flags ALL SYN ACK -j DROP
# Contra pacotes Danificados ou Suspeitos
iptables -A FORWARD -m unclean -j DROP
# Contra Ataques
iptables -A INPUT -m state --state INVALID -j DROP
# Contra Tentativas de Conexao de Fora Para Dentro Por TCP
iptables -A INPUT -i eth0 -p tcp --syn -j DROP
# Fecha Todas As Portas Abaixo de 32000
iptables -A INPUT -i eth0 -p tcp --dport :32000 -j DROP
# Negando Tudo
iptables -A INPUT -i eth0 -j REJECT
echo "Firewall Loaded !!!"