Olá pessoal !
Fiz um firewall usando iptables juntando inúmeros pedaços de materiais estudados, porém gostaria da sugestão de todos para saber se está correto e com o uso deste minha rede encontra-se mais segura ! outra dúvida é a seguinte inclui uma regra para permitir conexão SSH porém quando tento me conectar de casa não consigo, meu IP não é fixo porém eu vejo qual ip estou utilizando no trabalho vou para casa e tento conectar porém não consigo pois na verdade eu tento conectar no ip do modem que tem que jogar para eth1 que é o 192.168.1.2 e a eth0 128.0.0.33 que é o da máquina que teria que atender ! não sei se fui claro mas agradeço ajuda !!!
# Variáveis
IPTABLES="/sbin/iptables"
# Carregando módulos no kernel necessários para ftp, etc.
echo "INICIANDO PACOTES...."
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
#Limpando as regras de iptables
$IPTABLES -F
#Bloquear pessoas que tentarem enviar qualquer pacotes com IPs locais, como se fossem de uma rede interna
$IPTABLES -A INPUT -s 10.0.0.0/255.0.0.0 -j DROP
$IPTABLES -A INPUT -s 172.0.0.0/255.0.0.0 -j DROP
# Contra Ping
$IPTBLES -A FORWARD -p icmp --icmp-type echo-request -j DROP
#Protege contra pacotes danificados
#Portscanners, Ping of Death, ataques DoS, Etc.
#===============================================================================
#Ping Of Death
$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#Ataques Syn-Flood
$IPTABLES -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
$IPTABLES -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
$IPTABLES -A FORWARD -m unclean -j DROP
#===============================================================================
$IPTABLES -N VALID_CHECK
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPTABLES -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP
# Ativando troca de pacotes
echo "Ativando troca de pacotes..."
echo 1 > /proc/sys/net/ipv4/ip_forward
#Ativando NAT (Compartilhamento net) eth0(128.0.0.33 - rede interna)
# eth1(192.168.1.1 - modem adsl)
echo "Ativando compartilhamento internet..."
$IPTABLES -t nat -A POSTROUTING -s 128.0.0.0/24 -o eth1 -j MASQUERADE
#Redirecionando todo trafego para o squid
#$IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
$IPTABLES -A FORWARD -s 128.0.0.28 -p tcp -j ACCEPT
$IPTABLES -A FORWARD -s 128.0.0.19 -p tcp -j ACCEPT
$IPTABLES -A FORWARD -s 128.0.0.37 -p tcp -j ACCEPT
$IPTABLES -A FORWARD -s 128.0.0.0/24 -p tcp --dport 80 -j DROP
# Regra para permitir excessoes de conexoes exterior via SSH
$IPTABLES -A INPUT -p tcp --destination-port 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --destination-port 80 -j ACCEPT
#Regras para fazer o foward da porta. Direcionando a porta 22 (do SSH) na conexao com a
#internet (eth1) para o micro 128.0.0.33 da rede local:
#===============================================================================
$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 22 -j DNAT --to-dest 128.0.0.33
$IPTABLES -A FORWARD -p tcp -i eth1 --dport 22 -d 128.0.0.33 -j ACCEPT
#Regra para barrar pacotes icmp vindo de equip. interno.
$IPTABLES -A INPUT -s 128.0.0.2 -p icmp -j DROP
$IPTABLES -A INPUT -s 128.0.0.3 -p icmp -j DROP
$IPTABLES -A INPUT -s 128.0.0.5 -p icmp -j DROP
# Abre para a rede local
#===============================================================================
$IPTABLES -A INPUT -p tcp --syn -s 128.0.0.0/255.255.255.0 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --syn -s 128.0.0.0/255.255.255.0 -j ACCEPT
#===============================================================================
# Fecha o resto
#===============================================================================
$IPTABLES -A INPUT -p tcp --syn -j DROP
#Regras do Firewall
echo "Iniciando regras de FIREWALL personalizadas...."
#Bloquear qualquer tentativa de conexão vindo de fora da rede
$IPTABLES -A INPUT -p tcp --syn -i eth1 -j DROP
#********** Bloqueando Servicos P2P e chat *************
# Bloqueando MSN:
$IPTABLES -A FORWARD -s 128.0.0.0/24 -p tcp --dport 1863 -j REJECT
#Bloquear IMesh com IPTables:
#===============================================================================
$IPTABLES -A FORWARD -d 216.35.208.0/24 -j REJECT
#===============================================================================
#Bloquear Bearshare com IPTables:
#===============================================================================
$IPTABLES -A FORWARD -p TCP --dport 6346 -j REJECT
#===============================================================================
#Bloquear WinMX com IPTables:
#===============================================================================
$IPTABLES -A FORWARD -d 209.61.186.0/24 -j REJECT
$IPTABLES -A FORWARD -d 64.49.201.0/24 -j REJECT
#===============================================================================
#Bloquear Napigator com IPTables:
#===============================================================================
$IPTABLES -A FORWARD -d 209.25.178.0/24 -j REJECT
#===============================================================================
#Bloquear Morpheus com IPTables:
#===============================================================================
$IPTABLES -A FORWARD -d 206.142.53.0/24 -j REJECT
$IPTABLES -A FORWARD -p TCP --dport 1214 -j REJECT
#===============================================================================
#Bloquear KaZaA com IPTables:
#===============================================================================
$IPTABLES -A FORWARD -d 213.248.112.0/24 -j REJECT
$IPTABLES -A FORWARD -p TCP --dport 1214 -j REJECT
#===============================================================================
#Bloquear Audiogalaxy com IPTables:
#===============================================================================
$IPTABLES -A FORWARD -d 64.245.58.0/23 -j REJECT
#===============================================================================
#Bloquear AIM com IPTables:
#===============================================================================
$IPTABLES -A FORWARD --dport 5190 -j REJECT
$IPTABLES -A FORWARD -d 64.12.161.153 -j REJECT
#===============================================================================
#Bloquear ICQ com IPTables:
#===============================================================================
$IPTABLES -A FORWARD -p TCP --dport 5190 -j REJECT
$IPTABLES -A FORWARD -d 64.12.200.89 -j REJECT
#===============================================================================
echo "Firewall iniciado."