Liberando vídeos específicos do YouTube com e2guardian + Squid utilizando interceptação SSL

Neste artigo ensinarei como liberar vídeos específicos do YouTube com e2guardian + Squid, utilizando interceptação SSL para capturar URLs necessárias.

[ Hits: 57.095 ]

Por: Renato Carneiro Pacheco em 16/04/2015


Instalação da parafernália



Antes de mais nada, vou descrever aqui o cenário do qual iremos trabalhar:
  • Debian 7.8
  • e2guardian 3.1.2 (pre-release)
  • Squid 2.7 (sim, neste caso, não importa a versão instalada)
  • OpenSSL 1.0.1e (para criar os certificados)

Considerando que o Debian e o Squid já estejam instalados, vamos "preparar o terreno" para a instalação e configuração do e2guardian:

# apt-get install openssl build-essential libpcre3 libpcre3-dev pkg-config automake

Vamos baixar o e2guardian no diretório "/tmp" e descompactá-lo:

# cd /tmp
# wget https://github.com/e2guardian/e2guardian/archive/v3.1.2.tar.gz
# tar zxvf v3.1.2.tar.gz
# cd e2guardian-3.1.2

A preparação é um pouco diferente do famoso "./configure && make && make install". O script "configure" é gerado manualmente e é necessário inserirmos alguns parâmetros para a compilação:

# ACLOCAL_PATH=/usr/share/aclocal ./autogen.sh
# ./configure --prefix=/usr --includedir=/include --mandir=/share/man --infodir=/share/info --sysconfdir=/etc --localstatedir=/var --enable-sslmitm=yes --enable-sslextralists=yes --enable-searchwords=yes --with-proxyuser=e2guardian --with-proxygroup=e2guardian

O primeiro comando vai gerar o script "configure" e o segundo já é a execução do próprio, porém, com alguns parâmetros importantes a serem levados em conta:
  • enable-sslmitm :: Habilita a interceptação SSL (MITM);
  • enable-sslextralists e enable-searchwords :: Habilitam listas extras para SSL (greysslsitelist e bannedsslsitelist);
  • with-proxyuser=e2guardian :: Cria o usuário e2guardian;
  • with-proxygroup=e2guardian :: Cria o grupo e2guardian.

Agora podemos rodar o famoso:

# make && make install

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Proxy: SSL autêntico x SSL Man-in-the-Middle
   3. e2guardian: fork do Dansguardian
   4. Instalação da parafernália
   5. Criando as chaves da CA
   6. Configurando e2guardian e Squid
   7. Interceptando as conexões SSL do YouTube
   8. Conclusão
Outros artigos deste autor

Iniciando seu Linux através do NTLoader do Windows 2000/XP

Leitura recomendada

Analisando log Squid do Mikrotik no SARG

Filtro de conteúdo autenticado com níveis de privilégio

Squid e firewall em 5 minutos

Configurando o Squid no Slackware

Squid no FreeBSD

  
Comentários
[1] Comentário enviado por fabio em 16/04/2015 - 15:59h

Baita artigo! Favoritado.

[2] Comentário enviado por tiaguera em 18/04/2015 - 12:11h

luz no fim do túnel! faço a mesma coisa com sslbump no freebsd, mas ele tem algumas limitações q me irritam (funciona em squid antigo apenas e nao funciona em proxy transparente)... vou testar o e2guardian e ver se ta valendo migrar... obrigado!

[3] Comentário enviado por olivam em 19/04/2015 - 00:43h

amigo como ficaria o redirecionamento da porta 443 no iptables. ou não funciona em proxy transparente?


Olivam C Moraes
Seja Livre use Linux!

[4] Comentário enviado por renato_pacheco em 19/04/2015 - 12:36h


[2] Comentário enviado por tiaguera em 18/04/2015 - 12:11h

luz no fim do túnel! faço a mesma coisa com sslbump no freebsd, mas ele tem algumas limitações q me irritam (funciona em squid antigo apenas e nao funciona em proxy transparente)... vou testar o e2guardian e ver se ta valendo migrar... obrigado!


Cara, eu já testei no squid e funciona das duas formas (autenticada e transparente). O problema do squid é a sua filtragem q não tem um bom desempenho. Por isso optei pelo e2guardian.

[5] Comentário enviado por renato_pacheco em 19/04/2015 - 14:16h


[3] Comentário enviado por olivam em 19/04/2015 - 00:43h

amigo como ficaria o redirecionamento da porta 443 no iptables. ou não funciona em proxy transparente?


Olivam C Moraes
Seja Livre use Linux!


Eu tenho certeza q funciona, só não me lembro se tem q modificar algo no e2guardian.conf...

[6] Comentário enviado por olivam em 19/04/2015 - 21:28h


[5] Comentário enviado por renato_pacheco em 19/04/2015 - 14:16h


[3] Comentário enviado por olivam em 19/04/2015 - 00:43h

amigo como ficaria o redirecionamento da porta 443 no iptables. ou não funciona em proxy transparente?


Olivam C Moraes
Seja Livre use Linux!

Eu tenho certeza q funciona, só não me lembro se tem q modificar algo no e2guardian.conf...


estou utilizando squid 3.4 com sslbump +dansguardian-2.10.1.1 +slackware 14.1 só que as vezes trava o squid e tenho que dar um killall no squid e startar para voltar a funcionar, seria ótimo um tutorial e2guardian+squid com proxy transparente incluindo as regra utilizadas do iptables, redirecionando as portas 80,8080 e 443 para o e2guardian e usar o squid para fazer somente cache, deixando todo trabalho de filtragem http e https para o e2guardian.

Parabéns pelo Ótimo artigo...

é uma luz no fim do túnel para quem quer filtrar https (youtube e facebook).

Olivam C Moraes
Seja Livre use Linux!

[7] Comentário enviado por removido em 21/04/2015 - 22:38h


Ótimo artigo!

[8] Comentário enviado por renato_pacheco em 22/04/2015 - 14:16h


[6] Comentário enviado por olivam em 19/04/2015 - 21:28h


[5] Comentário enviado por renato_pacheco em 19/04/2015 - 14:16h


[3] Comentário enviado por olivam em 19/04/2015 - 00:43h

amigo como ficaria o redirecionamento da porta 443 no iptables. ou não funciona em proxy transparente?


Olivam C Moraes
Seja Livre use Linux!

Eu tenho certeza q funciona, só não me lembro se tem q modificar algo no e2guardian.conf...

estou utilizando squid 3.4 com sslbump +dansguardian-2.10.1.1 +slackware 14.1 só que as vezes trava o squid e tenho que dar um killall no squid e startar para voltar a funcionar, seria ótimo um tutorial e2guardian+squid com proxy transparente incluindo as regra utilizadas do iptables, redirecionando as portas 80,8080 e 443 para o e2guardian e usar o squid para fazer somente cache, deixando todo trabalho de filtragem http e https para o e2guardian.

Parabéns pelo Ótimo artigo...

é uma luz no fim do túnel para quem quer filtrar https (youtube e facebook).

Olivam C Moraes
Seja Livre use Linux!


Olivam,

Retiro o q disse! Por enquanto, o e2guardian não funciona como HTTPS transparente, somente HTTP transparente. Falei com o desenvolvedor e ele confirmou.

[9] Comentário enviado por SephirothHG em 01/04/2016 - 10:33h

Parabéns pelo artigo, Renato!

Estou tendo um problema, onde o serviço do e2guardian falha se a variável cacertificatepath estiver descomentada no arquivo e2guardian.conf.
Criei o certificado conforme o artigo e coloquei o caminho para o mesmo na variável.

[10] Comentário enviado por renato_pacheco em 01/04/2016 - 14:59h


[9] Comentário enviado por SephirothHG em 01/04/2016 - 10:33h

Parabéns pelo artigo, Renato!

Estou tendo um problema, onde o serviço do e2guardian falha se a variável cacertificatepath estiver descomentada no arquivo e2guardian.conf.
Criei o certificado conforme o artigo e coloquei o caminho para o mesmo na variável.


Dê uma olhada se o dono do diretório é o usuário e2guardian e grupo e2guardian. Caso não dê certo, execute o e2guadian assim: e2guardian -N. Ele vai mostrar alguma coisa pra vc, caso haja algum problema.

[11] Comentário enviado por SephirothHG em 06/04/2016 - 11:19h


[10] Comentário enviado por renato_pacheco em 01/04/2016 - 14:59h


[9] Comentário enviado por SephirothHG em 01/04/2016 - 10:33h

Parabéns pelo artigo, Renato!

Estou tendo um problema, onde o serviço do e2guardian falha se a variável cacertificatepath estiver descomentada no arquivo e2guardian.conf.
Criei o certificado conforme o artigo e coloquei o caminho para o mesmo na variável.


Dê uma olhada se o dono do diretório é o usuário e2guardian e grupo e2guardian. Caso não dê certo, execute o e2guadian assim: e2guardian -N. Ele vai mostrar alguma coisa pra vc, caso haja algum problema.


Muito obrigado pela resposta, Renato!

Demorei pra ver a sua resposta, pois achava que o VOL notificava quando houvesse comentários onde postei, daí fiquei esperando.

Sinceramente, não sei o que fiz, mas o e2guardian subiu sem falhas.
Porém, ao tentar acessar o vídeo que deveria estar liberado (ou qualquer outra página do youtube) recebo a mensagem de erro de "Falha na Conexão Segura" (SSL_ERROR_RX_RECORD_TOO_LONG)

Nos logs do e2guardian, aparece a seguinte mensagem:
"https://www.youtube.com:443 *DENIED* Failed to negotiate ssl connection to client CONNECT 0 0 SSL SITE 1 200 - Grupo padrão - - "

Alguma ideia do que possa ser?

Desculpe se estou sendo inoportuno, mas a quantidade de informações sobre o e2guardian na internet é bem pobre, e o seu artigo é a fonte de informação mais completa que encontrei.

[12] Comentário enviado por renato_pacheco em 06/04/2016 - 11:41h


Muito obrigado pela resposta, Renato!

Demorei pra ver a sua resposta, pois achava que o VOL notificava quando houvesse comentários onde postei, daí fiquei esperando.

Sinceramente, não sei o que fiz, mas o e2guardian subiu sem falhas.
Porém, ao tentar acessar o vídeo que deveria estar liberado (ou qualquer outra página do youtube) recebo a mensagem de erro de "Falha na Conexão Segura" (SSL_ERROR_RX_RECORD_TOO_LONG)

Nos logs do e2guardian, aparece a seguinte mensagem:
"https://www.youtube.com:443 *DENIED* Failed to negotiate ssl connection to client CONNECT 0 0 SSL SITE 1 200 - Grupo padrão - - "

Alguma ideia do que possa ser?

Desculpe se estou sendo inoportuno, mas a quantidade de informações sobre o e2guardian na internet é bem pobre, e o seu artigo é a fonte de informação mais completa que encontrei.


Cara, tá tranquilo, tá favorável! IUHaeiuhaiueh! Agora o seu problema está na criação das chaves e acrescentar o certificado nos navegadores. Reveja o passo-a-passo e depois me fala.

[13] Comentário enviado por SephirothHG em 06/04/2016 - 15:28h


[12] Comentário enviado por renato_pacheco em 06/04/2016 - 11:41h


Muito obrigado pela resposta, Renato!

Demorei pra ver a sua resposta, pois achava que o VOL notificava quando houvesse comentários onde postei, daí fiquei esperando.

Sinceramente, não sei o que fiz, mas o e2guardian subiu sem falhas.
Porém, ao tentar acessar o vídeo que deveria estar liberado (ou qualquer outra página do youtube) recebo a mensagem de erro de "Falha na Conexão Segura" (SSL_ERROR_RX_RECORD_TOO_LONG)

Nos logs do e2guardian, aparece a seguinte mensagem:
"https://www.youtube.com:443 *DENIED* Failed to negotiate ssl connection to client CONNECT 0 0 SSL SITE 1 200 - Grupo padrão - - "

Alguma ideia do que possa ser?

Desculpe se estou sendo inoportuno, mas a quantidade de informações sobre o e2guardian na internet é bem pobre, e o seu artigo é a fonte de informação mais completa que encontrei.


Cara, tá tranquilo, tá favorável! IUHaeiuhaiueh! Agora o seu problema está na criação das chaves e acrescentar o certificado nos navegadores. Reveja o passo-a-passo e depois me fala.


Refiz os certificados, e após lutar um pouco com os navegadores (que diziam que o mesmo não era confiável), consegui fazer funcionar no Firefox. No Chrome não aceita de jeito nenhum, mas acho que ele está reclamando da versão do SSL, que é a 1.0.1f (estou usando o Ubuntu 14.04), mas já vou verificar como atualizá-lo.
Deu certo! Tá funcionando, finalmente! hahaha
Agora só preciso descobrir como criar grupos e resolver o problema da confiabilidade do certificado.

Valeu pelo força, Renato!

[14] Comentário enviado por renato_pacheco em 06/04/2016 - 17:12h



Refiz os certificados, e após lutar um pouco com os navegadores (que diziam que o mesmo não era confiável), consegui fazer funcionar no Firefox. No Chrome não aceita de jeito nenhum, mas acho que ele está reclamando da versão do SSL, que é a 1.0.1f (estou usando o Ubuntu 14.04), mas já vou verificar como atualizá-lo.
Deu certo! Tá funcionando, finalmente! hahaha
Agora só preciso descobrir como criar grupos e resolver o problema da confiabilidade do certificado.

Valeu pelo força, Renato!


Sobre os certificados, é possível inserir via netlogon um script q inclui os certificados no Windows. No Firefox, é possível distribuir através d JavaScript, mas é bem complicado. Como não fui eu q fiz essa parada, não tenho muitos detalhes sobre isso. Se vc buscar na Internet, acredito q encontrará sem dificuldades. Se vc tiver AD na sua rede, é mais fácil inserir os certificados (exceto Firefox).


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts