Curitiba/PR Contato
Administração e Suporte em Ti

Os testes que realizei foram com base em uma instalação sobre o Linux CentOS 6.8 e o Squid 3.1, padrão rpm até o momento.

Nas primeiras configurações, onde verificava os acessos dos usuários com configuração de proxy nos navegadores das máquinas locais, não visualizava problemas,  mas quando habilitei a autenticação dos usuários no AD da Microsoft com Windows 2012 percebi problemas com acesso as páginas https que por várias vezes não abria ou com erro de certificado.

A primeira coisa que percebi após algumas pesquisas, seria necessário uma versão mais atual do squid, que neste caso deveria ser instalada uma versão compilada. Mas vamos ao roteiro.

Para autenticação do proxy em domínio o squid, compilado será o ultimo a ser instalado. Vamos precisar do samba, krb5, openssl entre outros para autenticação no AD e mais algumas ferramentas para compilação do squid.

Siga estes procedimentos para autenticação no AD

Após a autenticação com  o AD estar funcionando, vamos desinstalar o squid se estiver instalado.

yum remove squid -y

cd /usr/src

# Baixar a ultima versão do squid
wget  http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.22.tar.gz
tar -zxpvf squid-3.5.22.tar.gz
cd squid-3.5.22
useradd squid
./configure –enable-icap-client –enable-ssl –enable-ssl-crtd –includedir=/usr/include –mandir=/usr/share/man –infodir=/usr/share/info –sysconfdir=/etc –localstatedir=/var –libexecdir=/lib/squid3 –srcdir=. –datadir=/usr/share/squid3 –sysconfdir=/etc/squid3 –bindir=/bin –sbindir=/sbin –with-default-user=squid –with-logdir=/var/log/squid3 –with-openssl

make all
make install

mkdir -p /etc/squid3/ssl_cert
cd /etc/squid3/ssl_cert

# Criar um certificado auto assinado
openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout certificado.pem -out certificado.pem

# Criar uma versão a ser importada no browser do usuário:
openssl x509 -in certificado.pem -outform DER -out certificado.der

# Criar a estrutura para os certificados dinâmicos com o ssl_crtd
/lib/squid3/ssl_crtd -c -s /var/lib/ssl_db -M 4MB
chown squid:squid /var/lib/ssl_db -R

# Altere o arquivo squid.conf
Retire a opção “intercept” se não for trabalhar com o squid em modo transparente (redirecionamento com iptables), podendo assim trabalhar apenas na porta 3128

vi /etc/squid3/squid.conf
http_port 3128 intercept
https_port 3127 intercept ssl_bump generate_host_certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid3/ssl_cert/myCA.pem
ssl_bump none localhost
ssl-bump server-first all
sslcrtd_program /lib/squid3/ssl_crtd -s /var/lib/ssl_db -M 4 MB
sslcrtd_children 5

mkdir /var/cache/squid/
chown squid.squid /var/cache/squid/ -R
squid -z
squid

# Verifique se o squid está executando
netstat -ln | grep 3128
tcp 0 0 :::3128 :::* OUÇA

# Agora você pode criar regras de bloqueio/acesso a paginas de internet através de listas fixas, pode definir acesso por usuário e/ou grupo com base na autenticação do AD. Também poderá instalar o Sarg ou outra ferramenta para gerar relatórios de acesso
# Um exemplo posteriormente estará disponível.