Press "Enter" to skip to content

Como compilar o Squid com suporte a SSL no Debian

Equipe Evence 0

Autor: Gian Silva

Olá,

Este artigo tem o tema um pouco mais técnico e vai abordar uma necessidade relativamente interessante. Hoje em dia como boa parte dos sites estão partindo para o HTTPS (através de certificados SSL) criou-se a necessidade de uma forma de efetuar o controle desta navegação. O Squid já é um proxy muito conhecido no mercado, no entanto, por padrão no pacote do Debian ele não vem com o suporte a SSL nativo, desta forma iremos abordar uma forma de compilar ele e ativar este recurso.

Versão do Debian utilizada: 8.7

 

Começando do começo:

Primeiro passo é resolver as dependências para esta compilação (pacotes necessários para efetuar esta instalação):

apt-get install -y openssl build-essential libssl-dev

 

Além disto, iremos também instalar as dependencias que foram utilizadas para a compilação do squid no debian, com o seguinte comando:

apt-get build-dep squid3

 

Uma dependência inesperada:

Em meio a compilação do Squid surgiu uma dependencia inesperada, o libecap, ele é quem permite que o Squid possa repassar a analise de determinado pacote a um software terceiro. Básicamente porque para que o Squid possa saber o que se passa no cabeçalho da requisição, ele tem que repassar o pacote para o ssl e assim dizer, se é permitido ou não aquele acesso. Sendo assim, vamos compila-lo.

Entre no diretório de código fonte e baixe-o:

cd /usr/src

wget -O - http://www.measurement-factory.com/tmp/ecap/libecap-1.0.0.tar.gz | tar zxfv -

No wget eu ja concatenei o tar para descompactarmos de uma só vez 🙂

Após isto, iremos entrar no diretório do código fonte do libecap:

cd libecap-1.0.0/

Rode o ./configure para analise de dependências:

./configure

Compile e instale com este comando:

make && make install

Baixando e compilando:

Vamos para o diretorio de códigos fontes (/usr/src) e iremos baixar o squid

 

cd /usr/src

wget -O - http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.3.tar.gz | tar zxfv -

 

No wget eu ja concatenei o tar para descompactarmos de uma só vez 🙂

Após isto, iremos entrar no diretório do código fonte do squid:

cd squid-3.5.3/

 

Rode o ./configure conforme abaixo para garantirmos que todos os itens necessários serão compilados:

./configure --build=x86_64-linux-gnu \
--prefix=/usr \
--includedir=${prefix}/include \
--mandir=${prefix}/share/man \
--infodir=${prefix}/share/info \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=${prefix}/lib/squid3 \
--srcdir=. \
--disable-maintainer-mode \
--disable-dependency-tracking \
--disable-silent-rules \
--datadir=/usr/share/squid3 \
--sysconfdir=/etc/squid3 \
--mandir=/usr/share/man \
--enable-inline \
--disable-arch-native \
--enable-async-io=8 \
--enable-storeio=ufs,aufs,diskd,rock \
--enable-removal-policies=lru,heap \
--enable-delay-pools \
--enable-cache-digests \
--enable-icap-client \
--enable-follow-x-forwarded-for \
--enable-auth-basic=DB,fake,getpwnam,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB \
--enable-auth-digest=file,LDAP \
--enable-auth-negotiate=kerberos,wrapper \
--enable-auth-ntlm=fake,smb_lm \
--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group \
--enable-url-rewrite-helpers=fake \
--enable-eui \
--enable-esi \
--enable-icmp \
--enable-zph-qos \
--enable-ecap \
--disable-translation \
--with-swapdir=/var/spool/squid3 \
--with-logdir=/var/log/squid3 \
--with-pidfile=/var/run/squid3.pid \
--with-filedescriptors=65536 \
--with-large-files \
--with-default-user=proxy \
 --with-openssl \
--enable-ssl \
--with-open-ssl=/etc/ssl/openssl.cnf \
--enable-ssl-crtd \
--enable-linux-netfilter \
'CFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall' \
'LDFLAGS=-fPIE -pie -Wl,-z,relro -Wl,-z,now' \
'CPPFLAGS=-D_FORTIFY_SOURCE=2' \
'CXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security'

 

Com todas as dependências resolvidas, vamos para o arregaço, compilar e instalar, execute a sequência de comandos:

 

make

make install

 

Após isto, basta chamar “squid” na console que o mesmo será iniciado.

Quanto as configurações iremos postar em um próximo artigo algo mais prático a respeito desta configuração, fiquem atentos!

>
Curta nossa página no Facebook