Bloqueando facebook - A saga que não chega ao fim

1. Bloqueando facebook - A saga que não chega ao fim

Fabio Santos
fabiomaua

(usa Debian)

Enviado em 08/12/2015 - 14:03h

Ola a todos
Estou com um servidor Debian 8 com iptables 1.4, squid 3.4 que funciona como proxy transparente (intercept) na rede.
Pois bem, o protocolo https sempre me perseguiu e to querendo a todo custo, bloquear o facebook. Pelas pesquisar, terei que remover o squid (instalado através do apt-get install squid3) e instalar através do pacote e compilar ele com a opção de ssl.
É isso mesmo que eu vou ter q fazer?? não tem outro jeito não???


  


2. Re: Bloqueando facebook - A saga que não chega ao fim

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 08/12/2015 - 14:10h

Para bloquear com eficiência, é isso mesmo, não tem escapatória.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


3. Re: Bloqueando facebook - A saga que não chega ao fim

Henrique Luiz Gonçalves
muchiba

(usa Debian)

Enviado em 08/12/2015 - 16:15h


Fala Galera,

Interceptando o acesso SSL via proxy transparente os certificados não quebram (Como um man-in-the-middle)? Posso estar enganado, não sei se isso foi alterado, mas sempre que eu faço o squid para interceptar o SSL não utilizo o proxy transparente, pois, quebrava o SSL.

Eu estou vacilando ou é isso mesmo?

Pode isso Arnaldo? rsrs

Valeu.


4. Re: Bloqueando facebook - A saga que não chega ao fim

Wellington
wellington_r

(usa Debian)

Enviado em 08/12/2015 - 16:24h


Esse comando não te serve?

whois -h whois.radb.net '!gAS32934'

Ele dá a lista de IPs utilizados pelo Facebook no momento.


5. Re: Bloqueando facebook - A saga que não chega ao fim

Eduardo
vchacal

(usa Debian)

Enviado em 08/12/2015 - 17:19h

Aqui eu faço o bloqueio no firewall.
Basta inserir a regra
iptables -I FORWARD -s 192.168.0.0/24 -m string --algo kmp --string "facebook.com" -j DROP 

Apenas altere p/ sua rede ai e faz um teste jovis.


6. Re: Bloqueando facebook - A saga que não chega ao fim

Andre Ribeiro da Costa
andr3ribeiro

(usa Arch Linux)

Enviado em 08/12/2015 - 17:41h


Eu uso wpad pela facilidade. As listas negras funcionam tanto para HTTP quanto para HTTPS, mas, para esses HTTPS nao aparece a página de bloqueio, aparece como se a internet tivesse caído. Bloqueia, sai no sarg, mas não mostra a página de bloqueio. Mas o importante é bloquear, né? Pra mim é importante bloquear pelo squid, ja que ja tenho la regras de horarios onde a net é liberada total e também os IPs de diretoria.

Mas como o renato_pacheco falou aí pra cima, bloquear de maneira eficiente é com interceptação SSL mesmo


7. Re: Bloqueando facebook - A saga que não chega ao fim

thinomar
thinomar

(usa Linux Mint)

Enviado em 08/12/2015 - 17:54h

Utilizo de forma não-transparente e intercepta SSL tranquilamente. De forma transparente eu nunca consegui. E é isso mesmo que você disse, vai ter de instalar na mão mesmo. Quando instalei, fiz algo =/- assim:
http://www.panticz.de/Squid-Compile-with-SSL-support-under-Debian-Jessie
--
-I've been talking to the main computer
-And...?
-It hates me


8. Re: Bloqueando facebook - A saga que não chega ao fim

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 09/12/2015 - 08:46h

muchiba escreveu:


Fala Galera,

Interceptando o acesso SSL via proxy transparente os certificados não quebram (Como um man-in-the-middle)? Posso estar enganado, não sei se isso foi alterado, mas sempre que eu faço o squid para interceptar o SSL não utilizo o proxy transparente, pois, quebrava o SSL.

Eu estou vacilando ou é isso mesmo?

Pode isso Arnaldo? rsrs

Valeu.


Vc pensou certo, mas neste caso, o Squid seria a autoridade certificadora intermediária, ou seja, ele assinaria novamente o certificado quando recebido pela requisição do cliente. Para q o usuário consiga acessar corretamente, basta importar a certificação do proxy no navegador. Assim, todas as conexões serão criptografadas DEPOIS da assinatura do Squid e será possível enxergar as URLs seguras. Eu fiz algo semelhante, mas com o E2guardian, veja:

http://www.vivaolinux.com.br/artigo/Liberando-videos-especificos-do-YouTube-com-e2guardian-Squid-uti...


--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


9. Re: Bloqueando facebook - A saga que não chega ao fim

Henrique Luiz Gonçalves
muchiba

(usa Debian)

Enviado em 09/12/2015 - 09:15h

Valeu Renatão,

Não sabia desse esquema de importar o certificado. Sempre autentiquei para ssl.

Animal seu tutorial, muito completo! Parabéns.




10. Re: Bloqueando facebook - A saga que não chega ao fim

David Silva Andrade
Davidand

(usa Debian)

Enviado em 09/12/2015 - 11:06h

Fabiomaua,

Segue link para download do squid3 recompilado:

https://mega.nz/#!otgHzA7K!InJsiGYnXfCSsf3Ax_R3-r_TvjB0VNMawrtCUXFwM9k

Esta em .deb

Abaixo o tutorial para gerar seu certificado.crt, lembre-se que o mesmo tem que ser importado para o navegador do host cliente, caso possuir windows server como AD , recomendo a criação de uma gpo.

Para gerar sua chave e certificado baixe o openssl

Passos:

1º openssl genrsa -des3 -out NOME_DE_SUA_CHAVE.key 1024
2º openssl req -new -key NOME_DE_SUA_CHAVE.key -out SEU_CERTIFICADO.csr
3º cp SUA_CHAVE.key SUA_CHAVE.key.old
4º openssl rsa -in SUA_CHAVE.key.old -out SUA_CHAVE.key
5º openssl x509 -req -days 365 -in NOME_DE_SEU_CERTIFICADO.csr -signkey SUA_CHAVE.key -out SEU_CERTIFICADO.crt
6º cat CHAVE.key CERTIFICADO.crt > ARQUIVO.pem

obs: Recomendo definir o mesmo nome para chave, certificado e pem.


Criar a base de dados dos certificados aceitos:


/usr/lib/squid3/ssl_crtd -c -s /usr/lib/squid3/ssl_db -M 4MB

chown proxy:proxy /usr/lib/squid3/ssl_db/ -R



PRIMEIRA LINHA DE SEU SQUID

http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB key=CAMINHO_DA_SUA_CHAVE/SUA_CHAVE.key cert=CAMINHO_DE_SEU_CERTIFICADO/SEU_CERTIFICADO.pem


sslcrtd_program /usr/lib/squid3/ssl_crtd -s /usr/lib/squid3/ssl_db -M 4MB
sslcrtd_children 5



11. Re: Bloqueando facebook - A saga que não chega ao fim

Fabio Santos
fabiomaua

(usa Debian)

Enviado em 18/12/2015 - 14:59h

Realmente, o Facebook já não é o mesmo como antigamente....

Por conta desse tópico e pelas dicas, eu estou sofrendo pra fazer esse negocio de certificado funcionar. Eu até consegui fazer funcionar, mas foi no Internet explorer, no chrome não vai. Eu usei a dica, e adicionei no firewall:

iptables -I FORWARD -s 192.168.0.0/24 -m string --algo kmp --string "facebook.com" -j DROP

Essa linha realmente bloqueia o facebook, na verdade, para o usuário apresenta erro de time out, mas beleza, tá bloqueando!

Eu vou continuar com os meus estudos e quando eu tiver conseguido, vou postar um tutorial!


12. Re: Bloqueando facebook - A saga que não chega ao fim

Buckminster
Buckminster

(usa Debian)

Enviado em 18/12/2015 - 16:07h

iptables -I FORWARD -s 192.168.0.0/24 -m string --algo bm --string "facebook.com" -j DROP

Utilize o algoritmo bm (Boyer-Moore) em vez do kmp (Knuth-Morris-Pratt), ele é mais rápido e mais eficiente para esse tipo de bloqueio.

O "bm" é mais adequado para quando a string procurada se assemelha ao "texto natural" (no caso, em português, portanto, isso depende do país de onde está vindo o pacote, mas como tu quer bloquear o texto "facebook.com" nesse caso não importa a linguagem, pois o texto é o mesmo) e faz suas comparações da direita para a esquerda; e o "kmp" é mais adequado para palavras curtas, sendo que ele procura uma palavra dentro de uma cadeia de texto principal e faz suas comparações da esquerda para a direita.

E lembre que a opção -I (insert) coloca a regra no topo da chain FORWARD, caso tu tenha mais de uma regra na chain FORWARD utilizando a opção -I, enumere elas:

iptables -I FORWARD 1 -s 192.168.0.0/24 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD 2 -s 192.168.0.0/24 -m string --algo bm --string "twitter.com" -j DROP

A opção -A coloca a regra em sequência dentro da chain e dentro da posição no script, ou seja, com -A o Iptables lê e executa as regras de cima para baixo na posição em que elas estão.
Com -I tu pode numerá-las não importando a posição dentro do script.
E a numeração é específica para cada chain:
iptables -I FORWARD 1 -s 192.168.0.0/24 -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD 2 -s 192.168.0.0/24 -m string --algo bm --string "twitter.com" -j DROP

iptables -I INPUT 1 -s 192.168.0.0/24 -m string --algo bm --string "facebook.com" -j DROP
iptables -I INPUT 2 -s 192.168.0.0/24 -m string --algo bm --string "twitter.com" -j DROP

etc...


https://www.vivaolinux.com.br/artigo/Filtragem-de-paginas-SSL-(443)-no-Squid-transparente



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts