dragaorov
(usa Fedora)
Enviado em 24/09/2009 - 10:56h
Ola
Bom dia a todos sou meio novo no campo linux e gostaria de estar aprendendo sobre o mesmo.
Como a grande maioria gostaria de fazer um firewall li algumas apostilas e vi alguns scripts e fui pegando uns pedacinhos de cada para montar esse e gostaria que me ajudassem a melhora-lo.
A distribuicao q eu uso e a FEDORA 11.
Muito Obrigado a todos
#!/bin/bash
# Definindo as variaveis
IPTABLES="/sbin/iptables"
SITES="sites.txt"
DIRETORES="diretores.txt"
ENT="ppp+"
# Definição da rede interna
REDEINT="192.168.1.0/24"
# carregando os modulos
modprobe ip_tables
modprobe iptable_nat
# limpando tabela NAT
$IPTABLES -t nat -F
$IPTABLES -t nat -X
$IPTABLES -t nat -Z
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -F PREROUTING
# limpando regras
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
# setando politicas
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
# Redireciona Proxy
$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# libera acesso interno da rede
$IPTABLES -A INPUT -p tcp --syn -s $REDEINT -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --syn -s $REDEINT -j ACCEPT
$IPTABLES -A FORWARD -p tcp --syn -s $REDEINT -j ACCEPT
# compartilha a web na rede interna
$IPTABLES -t nat -A POSTROUTING -s $REDEINT -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
# liberar os seguintes ips
$IPTABLES -A FORWARD -p tcp -d $DIRETORES -j ACCEPT
$IPTABLES -A INPUT -p tcp -d $DIRETORES -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $DIRETORES -j ACCEPT
# liberar portas de email
$IPTABLES -A FORWARD -p tcp --dport 25,110 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 25,110 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 25,110 -j ACCEPT
# liberar os seguintes sites
$IPTABLES -A FORWARD -p tcp -d $SITES -j ACCEPT
$IPTABLES -A INPUT -p tcp -d $SITES -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $SITES -j ACCEPT
# Protege contra os "Ping of Death"
$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# Protege contra os ataques do tipo "Syn-flood, DoS, etc"
$IPTABLES -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
# Protege contra port scanners avançados (Ex.: nmap)
$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Proteção contra tronjan
$IPTABLES -A INPUT -p TCP -i eth0 --dport 666 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 4000 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 6000 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 6006 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 16660 -j DROP
# Proteção contra worms
$IPTABLES -A FORWARD -p TCP -i eth0 --dport 135 -j DROP
# Proteção contra trinoo
$IPTABLES -A INPUT -p TCP -i eth0 --dport 27444 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 27665 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 31335 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 34555 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 35555 -j DROP
# Bloqueando tracertroute
$IPTABLES -A INPUT -p udp -s 0/0 -i $ENT --dport 33435:33525 -j DROP
# bloqueia ping
echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo "firewall.................[OK]"