Páginas

sexta-feira, 28 de agosto de 2015

Certificado Squid

Olá a todos,

Essa é uma pequena postagem apenas para ajudar aqueles que não conseguem encontrar os comandos corretos para criar um certificado para o Squid3 quando a opção de ssl-bumping (proxy https) está habilitada. Essa opção permite que sites em https também sejam filtrados, agindo o Squid como man-in-the-middle entre o cliente e o servidor, e por isso é necessário um certificado autoassinado. O Squid descriptografa a conexão, analisa o tráfego e decide se bloqueia ou não (ou alguma outra ação). 

Para ativar a opção é necessário que o Squid3 seja compilado com as opções --enable-ssl e --enable--ssl-crtd. E então colocar no squid.conf a linha:

http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB key=/etc/squid3/ssl_cert/mycert.key cert=/etc/squid3/ssl_cert/mycert.pem

Esta parte eu coloquei no final do squid.conf:

always_direct allow all
ssl_bump none localhost
acl bypass_ssl dstdomain -i "/etc/squid3/acls/bypass_ssl"
acl reverse dstdomain -i "/etc/squid3/acls/reverse"
ssl_bump none bypass_ssl
ssl_bump client-first reverse
ssl_bump server-first "nomes das acls"
ssl_bump none all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
sslcrtd_program /usr/lib/squid3/ssl_crtd -s /usr/lib/squid3/ssl_db -M 4MB
sslcrtd_children 5

Não vou explicar cada linha porque o foco aqui é a criação do certificado, então vamos a ele. Os seguintes comandos devem ser executados no servidor onde está rodando o squid:

openssl genrsa -des3 -out mycert.key 1024
openssl req -new -key mycert.key -out mycert.csr
cp mycert.key mycert.key.old
openssl rsa -in mycert.key.old -out mycert.key
openssl x509 -req -days 365 -in  mycert.csr -signkey mycert.key -out mycert.crt

cat mycert.key mycert.crt > mycert.pem

O arquivo "mycert.crt" deve ser colocado nos navegadores para permitir a filtragem https, do contrário nenhum site que utilize https funcionará.

Espero ter ajudado e até a próxima!!!