surfinhu
(usa Ubuntu)
Enviado em 16/06/2011 - 23:36h
Boa noite a todos!
Primeiramente, parabéns à comunidade do software livre! Sempre inovando e com colaboração mútua. Isso, com certeza, faz a diferença!
Vamos ao caso! rs..
Estou fazendo um firewall com IPTABLES mas não venho tendo muito resultado em algumas partes. Aqui vai o meu script para o mesmo:
#!/bin/bash
# Carrega os modulos
modprobe iptable_nat
modprobe ip_tables
# LIMPA TABELAS DO IPTABLES
iptables -F
iptables -t nat -F
iptables -t mangle -F
# COMPARTILHA A CONEXAO
iptables -t filter -P FORWARD ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o eth0 -j MASQUERADE
# FECHA O PROXY PARA USO EXTERNO
#iptables -A INPUT -i eth0 -p tcp --destination-port 2222 -j DROP
# Abre algumas portas (opcional)
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p udp --destination-port 53 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1021 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1080 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5567 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
# ABRE A PORTA DO PROXY APENAS PARA REDE INTERNA
iptables -A INPUT -p tcp -i eth1 --destination-port 2222 -j ACCEPT
# Fecha o resto
iptables -A INPUT -p tcp --syn -j DROP
# Abre para a rede local
iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT
# FAZ O REDIRECIONAMENTO DO TRAFEGO DA PORTA 80 PARA A PORTA 3128 (SQUID) PARA USAR PROXY TRANSPARENTE
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 2222
# MSN - BLOQUEIA A PORTA 1863
iptables -A FORWARD ! -s 192.168.0.0/26 -i eth1 -p tcp --dport 1863 -j DROP
---------------------------------------------------------------------------------
As dúvidas são:
1) Quero bloquear tudo e ir liberando aos poucos. Usei as regras:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
... depois, tentei liberar nas não consegui, então tirei essas regras.
2) Bloquear programas (torrent e etc) que usam portas altas e randomicas.
3) Fazer com que a máquina NÃO dê "connection refused" ao tentar acessar aplicações que estejam fora de suas portas padrões. Quero apenas que não dê nenhum retorno e dps dê
TIMEOUT.
Minha necessidade:
Tenho uma rede interna com 100 máquinas e quero bloquear tudo, tanto na rede interna quanto na rede externa, e ir liberando conforme a necessidade.
Qualquer ajuda já é bem-vinda.
Abraços! ;)