Bloquear o Facebook e o Ultrasurf

1. Bloquear o Facebook e o Ultrasurf

Augusto Silva
rockmusic26

(usa Outra)

Enviado em 09/05/2013 - 10:45h

Alguém pelo amor de deus conseguiu alguma forma de bloquear o Facebook e Ultrasurf pelo iptables ou squid?
Há vários dias venho fazendo ações mirabolantes e lendo milhões de tutoriais diferentes para tentar bloquear estes dois serviços mas cada solução leva a um novo problema...

Eu tenho que utilizar um proxy transparente em minha rede por ordens superiores, por isso não posso utilizar o squid autenticado, dessa forma o facebook e ultrasurf navegam sem dificuldades alguma...

Tentei bloquear a porta 443 o que bloqueia tanto o facebook quanto o ultrasurf, mas dessa forma aparece outro problema sites como hotmail, bancos, validadores utilizam conexão HTTPS, claro existe a possibilidade de desbloquear estes sites de acordo com os IPs que eles utilizam, mas surge outro problema, alguns sites utilizam vários IPs/URLs diferentes como o hotmail, por exemplo, que utiliza vários domínios durante o acesso.

Então tentei bloquear apenas o IP do facebook na porta 443, mas o problema é que o facebook também utiliza uma grande range de IPs que muda a cada conexão.

Não há uma forma de bloquear a porta 443 apenas para o domínio facebook.com? caso eu resolva liberar a porta 443 e bloquear no facebook apenas? Dessa forma acredito que resolveria um dos problemas, o do facebook
Tentei por esta forma iptables -I FORWARD -p tcp -d dominio.com.br --dport 443 -j DROP mas não resolve...

Há uma forma de descobrir todos os IPs utilizados durante o login do hotmail,bancos, etc caso eu resolva bloquear a porta e liberar para determinados ips apenas a porta 443?

Alguém por favor poderia me ajudar, não gostaria de desistir já passei tantas horas tentando fazer estas configurações que tem horas que da vontade de deixar a rede como está sem bloqueios, mas sou persistente quero resolver esse pepino, alguém me da uma dica?


  


2. Re: Bloquear o Facebook e o Ultrasurf

Augusto Silva
rockmusic26

(usa Outra)

Enviado em 09/05/2013 - 16:00h

Galera, estou quase bloqueando o facebook, a regra:
iptables -I FORWARD -p tcp -d www.facebook.com --dport 443 -j DROP
está bloqueando o facebook corretamente, mas para toda a rede, eu preciso que os IPs liberados possam acessar, se uso o parâmetro -A ele acaba liberando para a toda a rede, se o comando acima funcionar para os IPs que não
estão liberados minha regra estará funcionando corretamente.


service sshd start

#portas liberadas
PORTAS_TCP="3128,80,21,3389"
PORTAS_TCP2="443,5938,3388"
PORTAS_UDP="491,53,137,138"

#limpar iptables
iptables -F
iptables -t nat -F

#bloquear tudo
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

modprobe nf_nat_ftp
modprobe nf_conntrack_ftp

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

#Estes IPs são liberados do iptables e podem fazer o que quiserem na rede
iptables -I FORWARD -s 10.1.1.26 -j ACCEPT
iptables -I FORWARD -s 10.1.1.27 -j ACCEPT
iptables -I FORWARD -s 10.1.1.29 -j ACCEPT

#jogando para o squid
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT

#Liberando portas tcp e udp.
iptables -A INPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
iptables -A FORWARD -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT

iptables -A INPUT -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT
iptables -A FORWARD -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT

iptables -A INPUT -p tcp -m multiport --dports $PORTAS_TCP2 -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports $PORTAS_TCP2 -j ACCEPT
iptables -A FORWARD -p tcp -m multiport --dports $PORTAS_TCP2 -j ACCEPT

#bloquear o facebook
iptables -I FORWARD -p tcp -d www.facebook.com --dport 443 -j DROP #regra que funciona mas bloqueia toda rede
#iptables -A FORWARD -p tcp -d www.facebook.com --dport 443 -j DROP #regra não funciona pois libera para toda a rede
#-----------------------------------------------
touch /var/lock/subsys/local




3. Re: Bloquear o Facebook e o Ultrasurf

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/05/2013 - 14:38h

Eu fiz o seguinte no meu squid. Criei uma acl:

acl url_bloqueado url_regex -i "/etc/squid3/listas/url_bloqueado"
http_access deny url_bloqueado


E dentro do caminho /etc/squid3/listas/url_bloqueado eu inseri as url's dos sites que não quero que sejam acessados. EX: www.facebook.com.

Para liberar para determinadas pessoas, que no caso eu fiz o seguinte. Fiz uma acl de usr_livre, acessa qualquer coisa:

acl acesso_livre proxy_auth "/etc/squid3/listas/usr_livre"
http_access allow acesso_livre


E coloco o nome dos usuários dentro do arquivo: usr_livre

Lembrando que no meu caso o squid requer autenticação.






4. Re: Bloquear o Facebook e o Ultrasurf

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 10/05/2013 - 14:41h

Para o ultrasurf:
http://migre.me/accfn

Da maneira como esta tentando bloquear o facebook não funciona, toda regra criada por URL vai bloquear apenas o IP que resolver o dominio naquele momento que rodar a regra. Como o facebook tem muitos IPs somente um sera bloqueado e o proximo user que tentar acessar pode ser que seja direcionado para outro IP.
Da uma olhada:
http://www.vivaolinux.com.br/dica/Bloquear-Facebook-HTTPS-por-IPtables-com-horarios

Tem uma outra maneira que funciona bem mas apenas se for para todos:
Edit : Corrigido link http://goo.gl/VyUy6

Para liberar apenas para alguns da mais trabalho


5. Bloqueando Facebook e o Ultrasurf

André Romero Alves de Souza
arasouza

(usa Debian)

Enviado em 10/05/2013 - 16:06h

Cara usei este link e bloqueou blz:
http://www.vivaolinux.com.br/artigo/Como-bloquear-o-Ultrasurf-solucao-definitiva-%28iptables-+-Fail2...
100% este,


Em relação ao facebook vc pode tentar:
1º Ativar o seguinte modulo no seu firewall: /sbin/modprobe ipt_string

2º Inserir as linhas abaixo para bloquear para o ip 10.10.20.10 por exemplo:
$iptables -I FORWARD -s 10.10.20.10 -m string --algo bm --string "facebook.com" -j DROP
$iptables -I OUTPUT -s 10.10.20.10 -m string --algo bm --string "facebook.com" -j DROP

Agora se acima não funcionar tem a mais radica esta até agora funcionou 100%
em relação facebook, tentei de tudo como vc mesmo já viu e nada funcionou. a solução encontrada foi dansguardian + proxy não transparente, bloqueia a url www.facebook.com e start.c10r.facebook.com, foi batata, agora o pulo do gato é setar o proxy nas maquinas, pois o transparente não funciona ele deixa passar. é um trabalho mas funciona.


6. Re: Bloquear o Facebook e o Ultrasurf

Augusto Silva
rockmusic26

(usa Outra)

Enviado em 10/05/2013 - 17:01h

Caras vou tentar usar as dicas ai e posto aqui se conseguir, eu não posso usar o squid autenticado infelismente, se estivesse utilizando assim meu problema já estaria quase resolvido, o problema é que a empresa utiliza muitos programas com portas e alguns são complexos neste assunto, e para a chefia ficar inserindo proxy em todos esses programas eles não querem, ai sobra pra TI hahhahaha mas é assim que a gente aprende...


7. Re: Bloquear o Facebook e o Ultrasurf

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 10/05/2013 - 18:06h

rockmusic26 escreveu:

Caras vou tentar usar as dicas ai e posto aqui se conseguir, eu não posso usar o squid autenticado infelismente, se estivesse utilizando assim meu problema já estaria quase resolvido, o problema é que a empresa utiliza muitos programas com portas e alguns são complexos neste assunto, e para a chefia ficar inserindo proxy em todos esses programas eles não querem, ai sobra pra TI hahhahaha mas é assim que a gente aprende...


Quanto as aplicações sem problemas basta colocar os acessos da chefia e dos programas para passar fora do proxy.

Proxy autenticado é a melhor coisa te poupa muito trabalho corrigindo brechas que o transparente tem aos montes.


8. Re: Bloquear o Facebook e o Ultrasurf

Fernando
phoemur

(usa Debian)

Enviado em 13/05/2013 - 18:17h

Para bloquear os IPs do facebook eu uso assim, é bem simples e funciona:


# 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


Pronto, não vai mais conseguir acessar nada do facebook...

Depois disso você vai precisar implementar uma solução para bloquear os Proxys o Ultrasurf e o TOR, mas com essas 2 linhas decódigo você já resolve 90% dos problemas...
Além do que cada vez que você rodar o whois ele vai atualizar a lista de IPs, de forma que é legal deixar pra rodar pelo menos 1 vez por dia o script...

Valeu


9. Re: Bloquear o Facebook e o Ultrasurf

Augusto Silva
rockmusic26

(usa Outra)

Enviado em 13/05/2013 - 20:55h

arasouza escreveu:

Cara usei este link e bloqueou blz:
http://www.vivaolinux.com.br/artigo/Como-bloquear-o-Ultrasurf-solucao-definitiva-%28iptables-+-Fail2...
100% este,


Em relação ao facebook vc pode tentar:
1º Ativar o seguinte modulo no seu firewall: /sbin/modprobe ipt_string

2º Inserir as linhas abaixo para bloquear para o ip 10.10.20.10 por exemplo:
$iptables -I FORWARD -s 10.10.20.10 -m string --algo bm --string "facebook.com" -j DROP
$iptables -I OUTPUT -s 10.10.20.10 -m string --algo bm --string "facebook.com" -j DROP

Agora se acima não funcionar tem a mais radica esta até agora funcionou 100%
em relação facebook, tentei de tudo como vc mesmo já viu e nada funcionou. a solução encontrada foi dansguardian + proxy não transparente, bloqueia a url www.facebook.com e start.c10r.facebook.com, foi batata, agora o pulo do gato é setar o proxy nas maquinas, pois o transparente não funciona ele deixa passar. é um trabalho mas funciona.


A segunda regra para o facebook funciona, mas da mesma forma que a minha do tópico inicial, ou seja, bloqueia para toda a rede o facebook independente de colocar antes ou depois das regras que liberam os IPs.

Quanto ao fail2ban eu nunca utilizei ele então estou tendo dificuldades, pois a versão que utilizei é a 0.8.4 e tem os arquivos diferentes da versão 0.8.3 então tenho dúvidas de como proceder nele pois por exemplo, na pasta filter.d existem vários arquivos, sendo que na pasta action.d não existe este arquivo "iptables-ultrasurf.local" ou tenho que cria-la? Fiquei com dúvidas nessa parte.


10. Re: Bloquear o Facebook e o Ultrasurf

Augusto Silva
rockmusic26

(usa Outra)

Enviado em 13/05/2013 - 20:57h

phoemur escreveu:

Para bloquear os IPs do facebook eu uso assim, é bem simples e funciona:


# 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


Pronto, não vai mais conseguir acessar nada do facebook...

Depois disso você vai precisar implementar uma solução para bloquear os Proxys o Ultrasurf e o TOR, mas com essas 2 linhas decódigo você já resolve 90% dos problemas...
Além do que cada vez que você rodar o whois ele vai atualizar a lista de IPs, de forma que é legal deixar pra rodar pelo menos 1 vez por dia o script...

Valeu


Me pareceu interessante esta solução simples e rápida, você usa essa regra como script no próprio iptables? Poderia me detalhar melhor com ela funciona, sinceramente desconheço este tipo de escript, me parece que ele trabalha com awk.
Como eu faria para deixar alguns IPs passarem por fora desta regra, seria no próprio iptables?


11. Re: Bloquear o Facebook e o Ultrasurf

Fernando
phoemur

(usa Debian)

Enviado em 13/05/2013 - 22:10h

rockmusic26 escreveu:

phoemur escreveu:

Para bloquear os IPs do facebook eu uso assim, é bem simples e funciona:


# 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


Pronto, não vai mais conseguir acessar nada do facebook...

Depois disso você vai precisar implementar uma solução para bloquear os Proxys o Ultrasurf e o TOR, mas com essas 2 linhas de código você já resolve 90% dos problemas...
Além do que cada vez que você rodar o whois ele vai atualizar a lista de IPs, de forma que é legal deixar pra rodar pelo menos 1 vez por dia o script...

Valeu


Me pareceu interessante esta solução simples e rápida, você usa essa regra como script no próprio iptables? Poderia me detalhar melhor com ela funciona, sinceramente desconheço este tipo de escript, me parece que ele trabalha com awk.
Como eu faria para deixar alguns IPs passarem por fora desta regra, seria no próprio iptables?


O método do whois para determinar o range de ip's que o facebook usa pode ser encontrado nessa página, bem no fim:
https://developers.facebook.com/docs/ApplicationSecurity/
Lá ele fala que os ips mudam regularmente, então o certo seria atualizar mesmo...

Então o primeiro comando faz a lista de ips do facebook no arquivo facebook.ip
O segundo comando é um loop for que dá um route reject em cada linha desse arquivo...


Já o route add -net $i reject seria apenas um substituto para um iptables -A OUTPUT -d $i -j DROP, pois achei que dessa forma ficava mais rápido o firewall, talvez por se tratar de um range de ip's que compreendem subnets inteiras... mas isso sei lá, só um chute... Eu testei dos dois jeitos e aqui ficou melhor com o route... Testa com iptables tb...
Essa do route eu vi num script que foi postado recentemente sobre bloquear facebook.

Agora não se esqueça que ainda não vi até hoje um jeito de bloquear o TOR browser que seja efetivo, então bloquear por ip só vai diminuir, mas não eliminar o seu problema...

Agora para alguns ips passarem por fora da regra é mais fácil usar com iptables e não com o route...







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts