Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: My Conky
Por FowgeR
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Squid + SSL
Linux user
fabiogoma
20/09/2012
Utilizando o Squid para filtrar conteúdo HTTP e HTTPS com certificados self-signed, porém sem o famoso problema de SSL Mismatch.
Por: Fabio
[ Hits: 10702 ]
Conceito: 10.0   3 voto(s)3 voto(s)3 voto(s)3 voto(s)3 voto(s) + quero dar nota ao artigo

Introdução

Um grande desafio para os administradores de rede em geral é gerenciar o conteúdo acessado pelos seus usuários, e muitas vezes, são tomadas atitudes mais radicais como, por exemplo, bloquear completamente o acesso à Internet.

Existem muitos documentos disponíveis na Internet relacionados à configuração de servidores de proxy utilizando Squid, mas tenho percebido que todos os documentos estão preparados apenas para tratar do conteúdo HTTP, não tratando dos acessos HTTPS, como por exemplo: sites de bancos, webmail, e-commerce etc.

Pensando nisso, resolvi escrever este tutorial, que apresenta, de uma forma simples e objetiva, como configurar o servidor com suporte à geração dinâmica de certificado SSL.

O grande infortúnio dos acessos HTTPS através de proxy são os erros de certificado SSL apresentados quando você possui um man in the midle, que possui um certificado auto assinado. Como apresentado na figura abaixo:
Linux: Squid + SSL

Proposta e pré-requisito

Para evitar as mensagens de alerta de certificado, utilizamos a característica DynamicSslCert do Squid, que foca na geração dinâmica de certificados que são compatíveis com o nome de domínio do site requisitado.

Entenda que a checagem do nome do site pelo browser não adiciona muita segurança no ambiente onde as máquinas clientes já confiam no seu proxy, esta validação apenas gera problemas na apresentação das páginas, conforme apresentado na figura acima.

Antes de começar, vou apresentar a configuração do ambiente virtual de laboratório que utilizei para elaborar e validar este tutorial:
  • VirtualBox 4.2
  • CentOS 6.3 (Equivalente à versão 6.3 do RHEL):
    • 2x vCPUs
    • 1GB RAM
    • 10GB HD

  • Windows XP Professional SP3:
    • 2x vCPUs
    • 2GB RAM
    • 10GB HD

Neste laboratório o GNU/Linux CentOS foi utilizado como servidor, e o Windows XP foi utilizado como cliente.

Próxima página >>




Páginas do artigo
   1. Introdução
   2. Configurações

Outros artigos deste autor
Nenhum artigo encontrado.

Leitura recomendada

Comentários
[1] Comentário enviado por dalveson em 21/09/2012 - 16:57h:

muito interessante o artigo Fabio G. Martins, irei fazer alguns teste por aqui.
mais antes algumas duvidas:
1 - o squid passará a fazer cache do https(443)?
2 - uma duvida que tenho sobre a compilação do squid, não é necessario outros parametros no ./configure:
tipo --enable-linux-nefilter para ativa o proxy transparente dentre outros parametros.
ou quando vc executa ./configure --enable-ssl --enable-ssl-crtd --with-openssl="/root/openssl-1.0.0g" ele ja traz varias opçoes habilitadas por padrao?
att.


[2] Comentário enviado por herloncamargo em 21/09/2012 - 18:52h:

Fiquei com a dúvida se qualquer site https, a partir de então, deixará de apresentar mensagem de alerta de "perigo", incluindo os que deveriam apresentá-la. Dessa forma, qualquer site passará a ser "confiável" (sem mensagem de alerta)?


[3] Comentário enviado por magnored em 21/09/2012 - 22:09h:

Existe a possibilidade de criar uma regra no squid para que ele bloqueie somente o HTTPS de sites como facebook, youtube,etc...e fique totalmente liberado para sites como Bradesco, Santander, etc...

No iptables eu sei que existe essa possibilidade, mas gostaria de saber se tem alguma coisa no Squid que nao utilize o "man in the middle" para uma lista de sites que eu especificar


[4] Comentário enviado por alexsandro06 em 28/09/2012 - 02:08h:

Muito bom o artigo, fiz todo o procedimento, mas ainda não deu certo.

Quando tento acessar um site bloqueado, a coisa funciona e aparece a menssagem de acesso negado, mas no momento em que vou acessar uma pagina que está liberada aparece o seguinte:

Na tentativa de recuperar a URL: https://www.google.com.br/

O seguinte erro foi encontrado:

Falha na conexão

O sistema retornou:

(71) Protocol error

O host remoto (servidor) ou a rede pode estar indisponível. Por favor tente novamente.

Alguem sabe me dizer o que pode ser esse erro?

Alex.


[5] Comentário enviado por emiliocortessf em 07/11/2012 - 18:56h:

Fabio, estava seguindo as suas indicações, muito bom seu tuto estou concluindo.
Linux Debian 6.06
ABS Emilio



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.