fernandofranco
(usa Fedora)
Enviado em 24/02/2009 - 15:18h
aqui meu amigo o me firewall
sou novo no mundo linux, se tiver erro me desculpe.
#!/bin/sh
#######################
## Setando Variaveis ##
#######################
IPT='/sbin/iptables'
INT_INT='eth0'
INT_EXT='eth1'
NET_INT='192.168.0.0/24'
NET_EXT='0.0.0.0/0'
ADDR_INT='192.168.0.100'
ADDR_EXT='201.16.244.154'
#########################
## Setando Modulos ##
#########################
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ip_tables
/sbin/modprobe ipt_state
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_limit
##########################
## Modulos da VPN ##
##########################
/sbin/modprobe ip_conntrack_pptp
/sbin/modprobe ip_nat_pptp
/sbin/modprobe ip_gre
#####################################
## Habilitacoes Especificas ##
#####################################
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
#####################################
## Flushando todas as Regras ##
#####################################
$IPT -F
$IPT -t nat -F
$IPT -X
#####################################
## Definindo Politicas ##
#####################################
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
#####################################
## Definindo liberacoes especiais ##
#####################################
$IPT -A INPUT -p TCP --dport 22 -j ACCEPT
######################################
## Definindo Regras de Mascaramento ##
######################################
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -i $INT_EXT -o $INT_INT -j ACCEPT
$IPT -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -i $INT_INT -o $INT_EXT -j ACCEPT
$IPT -t nat -A POSTROUTING -s $NET_INT -j MASQUERADE
##########################
## Redirecionamento DNS ##
##########################
#$IPT -t nat -I PREROUTING -d 192.168.0.2 -p tcp --dport 53 -j DNAT --to 208.67.222.222
#$IPT -t nat -I PREROUTING -d 192.168.0.2 -p udp --dport 53 -j DNAT --to 208.67.222.222
###########################
## Protege Ping of Death ##
###########################
$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
###########################
## Protege Stealth Scan ##
###########################
$IPT -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
###########################
## Protege Syn-flood DoS ##
###########################
$IPT -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
#######################
# Entrada ( INPUT ) #
#######################
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -m state --state NEW,ESTABLISHED,RELATED -i $INT_INT -j ACCEPT
$IPT -A INPUT -i $INT_INT -s $NET_INT -d $NET_EXT -j ACCEPT
#$IPT -A INPUT -i $INT_INT -s $NET_EXT -d $NET_INT -j DROP
################################
## Liberacao Porta 1723 e GRE ##
################################
#$IPT -A INPUT -i $INT_EXT -p tcp --dport 1723 -j ACCEPT
#$IPT -A INPUT -i $INT_EXT -p udp --dport 1723 -j ACCEPT
#$IPT -A INPUT -i $INT_EXT -p 47 -j ACCEPT
####################
## Protocolo ICMP ##
####################
$IPT -A INPUT -p ICMP -j ACCEPT
$IPT -A INPUT -p ICMP -s 0/0 --icmp-type 0 -j ACCEPT
$IPT -A INPUT -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
$IPT -A INPUT -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPT -A INPUT -p ICMP -s 0/0 --icmp-type source-quench -j ACCEPT
$IPT -A INPUT -p ICMP -s 0/0 --icmp-type parameter-problem -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP -s $NET_EXT -d $ADDR_EXT -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP --icmp-type 0 -d $ADDR_EXT -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP --icmp-type 3 -d $ADDR_EXT -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP --icmp-type 8 -d $ADDR_EXT -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP --icmp-type source-quench -d $ADDR_EXT -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP --icmp-type parameter-problem -d $ADDR_EXT -j ACCEPT
##########################
# Regras contra Spoofing #
##########################
$IPT -A INPUT -i $INT_EXT -s $NET_INT -j DROP
##########################################
## Liberar Foward Rede-Interna ##
##########################################
$IPT -A FORWARD -s $NET_INT -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p udp --sport 53 -j ACCEPT
#Input
$IPT -A INPUT -i lo -s 127.0.0.1/32 -j ACCEPT
$IPT -A INPUT -p icmp -m limit --limit 3/m --limit-burst 3 -j ACCEPT
$IPT -A INPUT -p udp --sport 53 -j ACCEPT
$IPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
#$IPT -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "INPUT packet denied:"