Como bloquear no firewall uma string exceto se ela vier na porta 110

1. Como bloquear no firewall uma string exceto se ela vier na porta 110

CLAYTON DOS SANTOS E SILVA
NINJATO

(usa Ubuntu)

Enviado em 23/10/2013 - 12:06h

Pessoal bom dia!
Estou com uma dificuldade no iptables.

Preciso bloquear a palavra facebook em https exceto porem se for pela porta 110 (pop3) deixe passar.

Se Eu uso a linha abaixo os emails que são acessados pelo outlook não vem, trava o recebimento:
iptables -t filter -I FORWARD -p tcp --dport 995 -m string --algo bm --string "facebook.com" -j REJECT

Então resolvi executar a linha abaixo, mesmo assim bloqueando a porta 443, mas o face entra em https.
iptables -t filter -I FORWARD -p tcp --dport 443 -m string --algo bm --string "facebook.com" -j REJECT
iptables -t filter -I FORWARD -p tcp --dport 995 -m string --algo bm --string "facebook.com" -j REJECT

Desde já agradeço a quem puder me ajudar


Ubuntu 12


  


2. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 23/10/2013 - 13:09h

testa assim

iptables -I FORWARD -p tcp --dport 443 -m string --algo bm --string "facebook.com" -j DROP

espero que ajude


3. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

CLAYTON DOS SANTOS E SILVA
NINJATO

(usa Ubuntu)

Enviado em 23/10/2013 - 16:36h

Demora um pouco para abrir mas a página abre.


4. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

Pedro
px

(usa Debian)

Enviado em 23/10/2013 - 16:57h

Se quiser bloquear o site do facebook é mais fácil :)

Mas vamos ao pedido, tente assim:

iptables -I FORWARD -p tcp ! --dport 110 -m string --algo bm --string "facebook.com" -j DROP


Se quiser bloquear o face via iptables, use este script meu:

#!/bin/bash

echo "Criando lista de bloqueio..."
whois -h whois.radb.net '!gAS32934' | tr ' ' '\n' | grep ^[0-9] > facebook.txt

echo "Criando regras de bloqueio"
for i in $(cat facebook.txt); do iptables -I INPUT -s $i -j REJECT; done

echo "Liberando ips permitidos..."
for ii in $(cat liberados.txt); do iptables -I INPUT -s $ii -j ACCEPT; done

echo "[OK]"


Basta criar o arquivo liberados.txt (na mesma pasta do script) com um ip em cada linha caso queira liberar algum ip do bloqueio.

E se quiser pode trocar o INPUT por FORWARD


5. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

CLAYTON DOS SANTOS E SILVA
NINJATO

(usa Ubuntu)

Enviado em 23/10/2013 - 17:59h

Ainda não. Infelizmente
Bloqueou o facebook, mas tambem impediu o trafego de emails na porta 110 dos emails que tem a string facebook


6. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

CLAYTON DOS SANTOS E SILVA
NINJATO

(usa Ubuntu)

Enviado em 23/10/2013 - 18:02h

px escreveu:

Se quiser bloquear o site do facebook é mais fácil :)

Mas vamos ao pedido, tente assim:

iptables -I FORWARD -p tcp ! --dport 110 -m string --algo bm --string "facebook.com" -j DROP


Se quiser bloquear o face via iptables, use este script meu:

#!/bin/bash

echo "Criando lista de bloqueio..."
whois -h whois.radb.net '!gAS32934' | tr ' ' '\n' | grep ^[0-9] > facebook.txt

echo "Criando regras de bloqueio"
for i in $(cat facebook.txt); do iptables -I INPUT -s $i -j REJECT; done

echo "Liberando ips permitidos..."
for ii in $(cat liberados.txt); do iptables -I INPUT -s $ii -j ACCEPT; done

echo "[OK]"


Basta criar o arquivo liberados.txt (na mesma pasta do script) com um ip em cada linha caso queira liberar algum ip do bloqueio.

E se quiser pode trocar o INPUT por FORWARD


Então rodei um a um estes comandos para bloquear por ip do facebook, mas parece que brota outros números quando digito no browser.

iptables -A INPUT -s 65.201.208.24/29 -j DROP
iptables -A INPUT -s 65.201.208.24/29 -j DROP
iptables -A INPUT -s 65.204.104.128/28 -j DROP
iptables -A INPUT -s 66.93.78.176/29 -j DROP
iptables -A INPUT -s 66.92.180.48/28 -j DROP
iptables -A INPUT -s 67.200.105.48/30 -j DROP
iptables -A INPUT -s 69.63.176.0/20 -j DROP
iptables -A INPUT -s 69.171.224.0/19 -j DROP
iptables -A INPUT -s 74.119.76.0/22 -j DROP
iptables -A INPUT -s 204.15.20.0/22 -j DROP
iptables -A INPUT -s 204.15.20.0/22 -j DROP
iptables -A INPUT -s 66.220.144.0/20 -j DROP
iptables -A INPUT -s 173.252.64.0/18 -j DROP
iptables -A INPUT -s 65.201.208.24/29 -j DROP
iptables -A INPUT -s 65.204.104.128/28 -j DROP
iptables -A INPUT -s 66.93.78.176/29 -j DROP
iptables -A INPUT -s 66.92.180.48/28 -j DROP
iptables -A INPUT -s 67.200.105.48/30 -j DROP
iptables -A INPUT -s 69.63.176.0/20 -j DROP
iptables -A INPUT -s 69.171.224.0/19 -j DROP
iptables -A INPUT -s 74.119.76.0/22 -j DROP
iptables -A INPUT -s 204.15.20.0/22 -j DROP
iptables -A INPUT -s 204.15.20.0/22 -j DROP
iptables -A INPUT -s 66.220.144.0/20 -j DROP
iptables -A INPUT -s 173.252.64.0/18 -j DROP
iptables -A INPUT -s 31.13.24.0/21 -j DROP
iptables -A INPUT -s 31.13.64.0/18 -j DROP
iptables -A INPUT -s 66.220.144.0/20 -j DROP
iptables -A INPUT -s 69.63.176.0/20 -j DROP
iptables -A INPUT -s 69.171.224.0/19 -j DROP
iptables -A INPUT -s 74.119.76.0/22 -j DROP
iptables -A INPUT -s 103.4.96.0/22 -j DROP
iptables -A INPUT -s 173.252.64.0/18 -j DROP
iptables -A INPUT -s 204.15.20.0/22 -j DROP

iptables -A INPUT -s 31.13.73.81/21 -j DROP
iptables -A INPUT -s 201.20.244.74/22 -j DROP
iptables -A INPUT -s 23.76.242.110/21 -j DROP

iptables -A INPUT -s 31.13.73.49/21 -j DROP
iptables -A INPUT -s 201.20.244.89/22 -j DROP

iptables -A INPUT -s 31.13.73.33/21 -j DROP
iptables -A INPUT -s 201.20.244.74/22 -j DROP


iptables -A INPUT -s 31.13.73.129/21 -j DROP
iptables -A INPUT -s 201.20.244.82/22 -j DROP
iptables -A INPUT -s 23.76.242.110/21 -j DROP

iptables -A INPUT -s 201.20.244.91/22 -j DROP

cada vez que insiro estes ips e faço um escaneamento para ver qual ip no https o face tá usando aparece outro.

Será que existe uma lista pronta com todos os ips do face?


7. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

Buckminster
Buckminster

(usa Debian)

Enviado em 23/10/2013 - 19:04h

Teste com essas duas regras colocadas exatamente nessa sequência:

iptables -I FORWARD 1 -p tcp ! --dport 110 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD 2 -p tcp --dport 110 -m string --algo bm --string "facebook.com" -j ACCEPT


8. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

Pedro
px

(usa Debian)

Enviado em 24/10/2013 - 07:52h

Buckminster escreveu:

Teste com essas duas regras colocadas exatamente nessa sequência:

iptables -I FORWARD 1 -p tcp ! --dport 110 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD 2 -p tcp --dport 110 -m string --algo bm --string "facebook.com" -j ACCEPT


Boa ideia, mas seria melhor ele aceitar primeiro visto que o script dele ta zuado.

iptables -I FORWARD 1 -p tcp --dport 110 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -I FORWARD 2 -p tcp ! --dport 110 -m string --algo bm --string "facebook.com" -j DROP




9. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

CLAYTON DOS SANTOS E SILVA
NINJATO

(usa Ubuntu)

Enviado em 24/10/2013 - 08:03h

Pessoal, muito obrigado pela ajuda.
Vou testar e postarei o resultado.


10. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

CLAYTON DOS SANTOS E SILVA
NINJATO

(usa Ubuntu)

Enviado em 24/10/2013 - 08:18h

px escreveu:

Buckminster escreveu:

Teste com essas duas regras colocadas exatamente nessa sequência:

iptables -I FORWARD 1 -p tcp ! --dport 110 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD 2 -p tcp --dport 110 -m string --algo bm --string "facebook.com" -j ACCEPT


Boa ideia, mas seria melhor ele aceitar primeiro visto que o script dele ta zuado.

iptables -I FORWARD 1 -p tcp --dport 110 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -I FORWARD 2 -p tcp ! --dport 110 -m string --algo bm --string "facebook.com" -j DROP



Pessoal, obrigado, testei mas ai para o recebimento de e-mails no outlook (pop3 (110)) que possuam a palavra facebook. Ai quando removo as linhas ai volta a receber.


11. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

Pedro
px

(usa Debian)

Enviado em 24/10/2013 - 09:07h

NINJATO escreveu:

px escreveu:

Buckminster escreveu:

Teste com essas duas regras colocadas exatamente nessa sequência:

iptables -I FORWARD 1 -p tcp ! --dport 110 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD 2 -p tcp --dport 110 -m string --algo bm --string "facebook.com" -j ACCEPT


Boa ideia, mas seria melhor ele aceitar primeiro visto que o script dele ta zuado.

iptables -I FORWARD 1 -p tcp --dport 110 -m string --algo bm --string "facebook.com" -j ACCEPT
iptables -I FORWARD 2 -p tcp ! --dport 110 -m string --algo bm --string "facebook.com" -j DROP



Pessoal, obrigado, testei mas ai para o recebimento de e-mails no outlook (pop3 (110)) que possuam a palavra facebook. Ai quando removo as linhas ai volta a receber.


Poste seu script de iptables completo aqui.


Faz isto que vai bloquear pra todas as máquinas o domínio do face

whois -h whois.radb.net '!gAS32934' | tr ' ' '\n' | grep ^[0-9] > facebook.ip
for i in $(cat facebook.ip); do route add -net $i reject; done


é pra salvar num shell script e executar não é pra rodar direto no terminal!!!


12. Re: Como bloquear no firewall uma string exceto se ela vier na porta 110

CLAYTON DOS SANTOS E SILVA
NINJATO

(usa Ubuntu)

Enviado em 25/10/2013 - 08:45h

Mais uma vez obrigado.
Vou testar e postar os resultados.


Este é o meu iptables:

# Generated by iptables-save v1.4.12 on Thu Oct 24 12:33:52 2013
*filter
:INPUT ACCEPT [140:70820]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [56:6994]
COMMIT
# Completed on Thu Oct 24 12:33:52 2013
# Generated by iptables-save v1.4.12 on Thu Oct 24 12:33:52 2013
*nat
:PREROUTING ACCEPT [2816:817044]
:INPUT ACCEPT [1045:703198]
:OUTPUT ACCEPT [337:21492]
:POSTROUTING ACCEPT [13:1313]
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Oct 24 12:33:52 2013




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts