Julio_Jose
(usa Debian)
Enviado em 24/08/2007 - 07:48h
olá pessoal, estou com um pequeno grande problema, talvez para vcs isso seja faciu, mais para min ta de matar. Estou tentando a quase 3 meses configurar um firewall, para que o fila da mãe bloquei tudo, e libere apenas o necessário, porém ai esta o problema. em vez de bloqueiar tudo e liberar apenas 80, 443 e 53 ou seja preciso de um firewall que bloquei tudo e libere apenas internet para a rede interna. Só que o que esta acontecendo é que ele ta liberando tudo. Gostaria que vcs me ajudassem a resolver esse problema.
Q que eu fiz de errado?
oq que esta faltando?
abaixo esta o firewall
#!/bin/sh
# Escrito Originalmente por Oskar Andreasson
# Alterado por Luis Specian
# Danificado por Julio Jose
####################################
INET_IFACE="eth0"
PPPOE_MTU="no"
LAN_IFACE="eth1"
LO_IFACE="lo"
LO_IP="127.0.0.1"
# 1.5 IPTables Configuration.
IPTABLES="/sbin/iptables"
/sbin/depmod -a
# 2.1 Required modules
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
####################################
# 3.1 Required proc configuration
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -N bad_tcp_packets
$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
#
# allowed chain
#
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
# TCP rules
$IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/24 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/24 --dport 22 -j allowed
# UDP ports
$IPTABLES -A udp_packets -p UDP -s 192.168.0.0/24 --destination-port 53 -j ACCEPT
# ICMP rules
$IPTABLES -A icmp_packets -p ICMP -s 192.168.0.0/24 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 192.168.0.0/24 --icmp-type 11 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 192.168.0.0/24 --icmp-type 8 -j DROP
$IPTABLES -A icmp_packets -p ICMP -s 192.168.0.0/24 --icmp-type 11 -j DROP
# Bad TCP packets we don't want.
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
$PTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED \
-j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
# Bad TCP packets we don't want
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
# Accept the packets we actually want to forward
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Bad TCP packets we don't want.
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
# Special OUTPUT rules to decide which IP's to allow.
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $LAN_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE