gpxlnx
(usa Debian)
Enviado em 24/08/2012 - 16:18h
Boa tarde amigos estou tentando criar um filtro com ipbtables, porem estou com algums problema com as politicas de acesso, Meu cenario é um servidor dhcp, compartilhando internet e squid. Minha rede interna 192.168.1.0/24. Quando utilizo as politicas de acesso todas com ACCEPT o firewall funciona perfeito, squid tb, porem sei que nao é o ideal preciso utilizar as politicas em DROp para filtrar ao maximo Segue minha config de firewall quem puder ajudar agradeco. Se eu descomentar nao funcina nunca, espero sua ajuda
#!/bin/bash
# Variaveis
iptables=/sbin/iptables
IF_EXTERNA=eth0
IF_INTERNA=eth1
# Carrregando Modulos
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
# Ativa roteamento kernel
sysctl net.ipv4.ip_forward=1
#echo "1" > /proc/sys/net/ipv4/ip_forward
# Protecao contra IP SPOOFING
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
# Apagando regras Existentes
$iptables -F
$iptables -X
$iptables -F -t nat
$iptables -X -t nat
$iptables -F -t mangle
$iptables -X -t mangle
# Determinando politica padrao
#$iptables -P INPUT DROP
#$iptables -P OUTPUT DROP
#$iptables -P FORWARD DROP
#################
# Tabela Filter #
#################
# Dropa pacotes TCP Indesejaveis
$iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FIREWALL: NEW sem syn: "
$iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
# Dropa pacotes mal formados
#$iptables -A INPUT -i $IF_EXTERNA -m unclean -j LOG --log-level 6 --log-prefix "FIREWALL: pacote mal formado: "
#$iptables -A INPUT -i $IF_EXTERNA -m unclean -j DROP
# Aceita os pacotes que realmente devem entrar
$iptables -A INPUT -i ! $IP_EXTERNA -j ACCEPT
$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
#LIBERANDO ACESSO A DETERMINADAS PORTAS
$iptables -A INPUT -p tcp --dport 22 -i $IF_EXTERNA -j ACCEPT
$iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# PROTECAO CONTRA WORMS
$iptables -A FORWARD -p tcp --dport 135 -i $IF_INTERNA -j REJECT
# PROTECAO contra syn-flood
$iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
# PROTECAO CONTRA PING DA MORTE
$iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# ativando mascaramento de saida
$iptables -A POSTROUTING -t nat -o $IF_EXTERNA -j MASQUERADE
# HABILITANDO PROXY TRANSPARENTE
$iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128