Bloquear tudo Não funciona
Galera estou com um Grande problema , fiz um script para bloquear tudo na minha rede, deixar só o squid o msn e um redirecionamento de um cliente para o vnc ativado claro q tambem a regra de compartilhamento funcionando , só q notei q não esta funcionando , todos continua usando kazaa , emule, etc ... q é meu principal motivo do script , alguem poderia me ajudar a dar uma olhada no script e me dizer o q esta de errado nele ?
#!/bin/bash
firewall_start(){
#setando polihticas
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -p tcp --syn -j DROP
# Abre para uma faixa de endereços da rede local
iptables -A INPUT -s 192.168.254.0/255.255.255.0 -j ACCEPT
# compartilhar internet
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
# Abre uma porta (inclusive para a Internet)
iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1863 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 25 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 110 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5800 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5900 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5190 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 8080 -j ACCEPT
iptables -A INPUT -p tcp --destination-port -j ACCEPT
iptables -A INPUT -p tcp --syn --destination-port 22 -j ACCEPT
# rediriciona o trafego da porta 80 para squid
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Proteção contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
# Protege contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# Proteção contra ICMP Broadcasting
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Bloqueia traceroute
iptables -A INPUT -p udp --dport 33435:33525 -j DROP
# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A FORWARD -m unclean -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
# Abre para a interface de loopback.
# Esta regra é essencial para o KDE e outros programas gráficos funcionarem adequadamente.
iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
# Fecha as portas udp de 1 a 1024, abre para o localhost
iptables -A INPUT -p udp -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -p udp --dport 1:1024 -j DROP
iptables -A INPUT -p udp --dport 59229 -j DROP
# Redireciona uma faixa de portas para um micro da rede local
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 5800:5900 -j DNAT --to-dest 192.168.254.5
iptables -A FORWARD -p tcp -i ppp0 --dport 5800:5900 -d 192.168.254.5 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 5800:5900 -j DNAT --to-dest 192.168.254.5
iptables -A FORWARD -p udp -i ppp0 --dport 5800:5900 -d 192.168.254.5 -j ACCEPT
iptables -A INPUT -s 0/0 -p tcp --dport 1025 -j DROP
iptables -A INPUT -p tcp --dport 12345 -j DROP
iptables -A INPUT -p tcp --dport 123456 -j DROP
#habilitando forward
echo 1 > /proc/sys/net/ipv4/ip_forward
}
Re: Bloquear tudo Não funciona
O seu script esta liberando tudo, apenas bloqueia algumas coisas contra ataque externo. Voce esta mascarando tudo com
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
e aceita tudo da rede interna com
iptables -A INPUT -s 192.168.254.0/255.255.255.0 -j ACCEPT
voce até abre as portas com
iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT ## etc
mas não bloqueia o resto.
Eu não testei, mas tenta comentar a linha
iptables -A INPUT -s 192.168.254.0/255.255.255.0 -j ACCEPT
Tem outras coisas que podem ser feitas, mas acho que assim vai funcionar.
Ahh! coloca também a opção "-s 192.168.254.0/24" mas linhas abaixo de " # Abre uma porta (inclusive para a Internet)"
Acho que vai dar certo, se não der responde.
Re: Bloquear tudo Não funciona
amigão muito obrigado pela dica meu firewall ficou assim, mais mesmo assim não esta funcionando , será q fiz alguma coisa errada ?
# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Proteção contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
# Protege contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# Proteção contra ICMP Broadcasting
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Bloqueia traceroute
iptables -A INPUT -p udp --dport 33435:33525 -j DROP
# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A FORWARD -m unclean -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
# Abre para a interface de loopback.
# Esta regra é essencial para o KDE e outros programas gráficos funcionarem adequadamente.
iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
# Fecha as portas udp de 1 a 1024, abre para o localhost
iptables -A INPUT -p udp -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -p udp --dport 1:1024 -j DROP
iptables -A INPUT -p udp --dport 59229 -j DROP
# Redireciona uma faixa de portas para um micro da rede local
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 5800:5900 -j DNAT --to-dest 192.168.254.5
iptables -A FORWARD -p tcp -i ppp0 --dport 5800:5900 -d 192.168.254.5 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 5800:5900 -j DNAT --to-dest 192.168.254.5
iptables -A FORWARD -p udp -i ppp0 --dport 5800:5900 -d 192.168.254.5 -j ACCEPT
iptables -A INPUT -s 0/0 -p tcp --dport 1025 -j DROP
iptables -A INPUT -p tcp --dport 12345 -j DROP
iptables -A INPUT -p tcp --dport 123456 -j DROP
#habilitando forward
echo 1 > /proc/sys/net/ipv4/ip_forward
}
Re: Bloquear tudo Não funciona
acho que voce postou apenas a metade, coloca o scriot inteiro ou manda por e-mail.
Re: Bloquear tudo Não funciona
#!/bin/bash
firewall_start(){
#setando polihticas
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -p tcp --syn -j DROP
# Abre para uma faixa de endereços da rede local
# iptables -A INPUT -s 192.168.254.0/255.255.255.0 -j ACCEPT
# compartilhar internet
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
# Abre uma porta (inclusive para a Internet)
iptables -A INPUT -p tcp --destination-port 3128 -s 192.168.254.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1863 -s 192.168.254.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 80 -s 192.168.254.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 25 -s 192.168.254.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 110 -s 192.168.254.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5800 -s 192.168.254.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5900 -s 192.168.254.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 5190 -s 192.168.254.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 8080 -s 192.168.254.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port -s 192.168.254.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp --syn --destination-port 22 -s 192.168.254.0/255.255.255.0 -j ACCEPT
# rediriciona o trafego da porta 80 para squid
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Proteção contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
# Protege contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# Proteção contra ICMP Broadcasting
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Bloqueia traceroute
iptables -A INPUT -p udp --dport 33435:33525 -j DROP
# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A FORWARD -m unclean -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
# Abre para a interface de loopback.
# Esta regra é essencial para o KDE e outros programas gráficos funcionarem adequadamente.
iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
# Fecha as portas udp de 1 a 1024, abre para o localhost
iptables -A INPUT -p udp -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -p udp --dport 1:1024 -j DROP
iptables -A INPUT -p udp --dport 59229 -j DROP
# Redireciona uma faixa de portas para um micro da rede local
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 5800:5900 -j DNAT --to-dest 192.168.254.5
iptables -A FORWARD -p tcp -i ppp0 --dport 5800:5900 -d 192.168.254.5 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 5800:5900 -j DNAT --to-dest 192.168.254.5
iptables -A FORWARD -p udp -i ppp0 --dport 5800:5900 -d 192.168.254.5 -j ACCEPT
iptables -A INPUT -s 0/0 -p tcp --dport 1025 -j DROP
iptables -A INPUT -p tcp --dport 12345 -j DROP
iptables -A INPUT -p tcp --dport 123456 -j DROP
#habilitando forward
echo 1 > /proc/sys/net/ipv4/ip_forward
}
Re: Bloquear tudo Não funciona
Tem uma linha na na Parte ## Abre uma porta (inclusive para a Internet)
iptables -A INPUT -p tcp --destination-port -s 192.168.254.0/255.255.255.0 -j ACCEPT
essa linha deve estar dando erro, comenta ela também e ve se esta dando algum outro erro.
Re: Bloquear tudo Não funciona
Cara vamos "enchugar" um pouco esse teu script do firewall... tome por base o seguinte a cada 2 INPUT vc poder substituir por PREROUTING e se vc tah utilizando NAT eh barbada... vamos lah...
############################# Limpar as regras primeiro
/usr/sbin/iptables -F
/usr/sbin/iptables -t nat -F
############################# Insere os modulos kernel
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_multiport
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_mark
/sbin/modprobe ipt_MARK
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "0" > /proc/sys/net/ipv4/tcp_ecn
############ rediriciona o trafego da porta 80 para squid
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Abre uma porta (um exemplo abaixo aeh vc vai colocando o q vc quiser liberar)
iptables -t nat -A PREROUTING -p tcp --dport 3128 -j ACCEPT -s 192.168.254.0/255.255.255.0
# Redireciona uma faixa de portas para um micro da rede local
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 5800:5900 -j DNAT --to-destination 192.168.254.5
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 5800:5900 -j DNAT --to-destination 192.168.254.5
########## Apos feitas as regras rejeitar todos os outros pacotes
iptables -t nat -p tcp -A PREROUTING -j DROP
iptables -t nat -p udp -A PREROUTING -j DROP
Espero ter ajudado.... fiz assim e nao tive mais problemas com os DROP's no final do script fecha todas as portas... aí acima vou fazendo PREROUTING para o que eu quero liberar....
Re: Bloquear tudo Não funciona
amigo já estou testando seu script, só q tenho duas duvidas , a primeira é se esse script vai funcionar o msn ? a segunda duvida é q quando rodei o script deu erro em duas linhas e vou ter reporta abaixo
./firewall: line 2: /usr/sbin/iptables: Arquivo ou diretório não encontrado
./firewall: line 3: /usr/sbin/iptables: Arquivo ou diretório não encontrado
aki eu uso o kurumin 6.0 como distribuição
muito obrigado
Re: Bloquear tudo Não funciona
amigos
resolvi o problema das linhas q da erro apenas deixando o comando do iptables
sem direcionar para para o diretorio
mais pelo iptraf vejo q o emule continua sendo usando :( o script q o amigo fez pelo jeito não funcionou :oops: pelo amor de Deus alguem pode me ajudar ? só quero só navegação,email e msn funcionando em minha rede estou a dias e não consigo
Re: Bloquear tudo Não funciona
só para completar notei no script do nosso amigo no inicio não fexava todas as portas então fiz uma pequena alteração rssss mais pelo geito bloqueou tudo rsss alguem pode me dizer o q esta de errado :?
############################# Limpar as regras primeiro
iptables -F
iptables -t nat -F
############################# fexar tudo
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
############################# Insere os modulos kernel
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_multiport
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_mark
/sbin/modprobe ipt_MARK
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "0" > /proc/sys/net/ipv4/tcp_ecn
############ rediriciona o trafego da porta 80 para squid
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Abre uma porta (um exemplo abaixo aeh vc vai colocando o q vc quiser liberar)
iptables -t nat -A PREROUTING -p tcp --dport 3128 -j ACCEPT -s 192.168.254.0/255.255.255.0
# Redireciona uma faixa de portas para um micro da rede local
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 5800:5900 -j DNAT --to-destination 192.168.254.5
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 5800:5900 -j DNAT --to-destination 192.168.254.5
########## Apos feitas as regras rejeitar todos os outros pacotes
iptables -t nat -p tcp -A PREROUTING -j DROP
iptables -t nat -p udp -A PREROUTING -j DROP