O
Squid3, acredito que a maioria interessada conheça, assim como o
Debian, não vou me deter com explicações sobre esses dois. Suas reputações os precedem (falei bonito, de novo).
Leia o texto até o final antes de sair executando comandos, pois há duas configurações abaixo, uma mais simples para habilitar bloqueio HTTPS e outra um pouco mais complexa com várias opções extras, escolha uma das duas... ou faça uma mescla entre as duas, mas depois se der alguma coisa errada não me venha chorar nos ouvidos.
A compilação aqui apresentada foi feita para fins de habilitar opções extras no Squid3 e, é também, sobre sua instalação a partir do zero.
Foi utilizada a versão 3.5.12 (versão mais atual até o momento, dezembro de 2015) do Squid3 no Debian Jessie 8.1 64 bits, mas nada impede que essa compilação seja feita em outras distribuições, com algumas poucas alterações.
Também não vou me deter aqui com explicações básicas, até porque esta compilação é simples nela mesma.
Lembre-se: na versão 3.0 do Squid ainda é "transparent", a partir da versão 3.1 é "intercept".
Caso tu já tenhas qualquer versão do Squid instalada, sugiro primeiro desinstalar, reiniciar a máquina e depois realizar o procedimento abaixo. Antes, faça um backup do teu "squid.conf" e você poderá utilizá-lo novamente, com algumas adaptações, dependendo da versão que estava instalada.
Se tu quiser acrescentar e/ou tirar algumas opções no "./configure" sugiro primeiro ler a página do Squid3 para ver o que cada opção faz. Os links estão no final.
Todos os comandos abaixo devem ser executados como root.
# apt-get update
# aptitude safe-upgrade
Instalando pacotes (tem mais pacotes do que o necessário, mas instale todos):
# aptitude install binutils build-essential wget udev libaal-dev libncurses5-dev gzip dpatch
# aptitude install devscripts libssl-dev libcap-dev gawk gcc-multilib automake gdebi-core python3-uno
# apt-get install openssl* <<< Aqui tem um asterisco e deve ser usado o apt-get
# aptitude build-dep squid3 <<< verificando as dependências do Squid3
Os pacotes abaixo NÃO são necessários caso tu queiras somente habilitar o bloqueio de HTTPS:
# aptitude install libc6 libc6-dev libpam-modules libpam-chroot libpam0g libpam0g-dev
# aptitude install slapd ldap-utils libnss-ldap libpam-ldap <<< durante o processo de instalação irá pedir para digitar a senha, nas outras opções vá dando enter caso não queira configurar o LDAP agora
Baixando a versão mais recente do Squid3 (dezembro de 2015):
# wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.12.tar.gz
Para quem quiser baixar usando um navegador acesse o link
http://www.squid-cache.org/Versions/v3/ e escolha outra versão ou baixe a mais atual mesmo (recomendado).
Descompactando:
# tar xvzf squid-3.5.12.tar.gz
Copiando para a pasta /usr/src:
# cp -R squid-3.5.12 /usr/src
# cd /usr/src
# ls
# cd squid-3.5.12
Nesta
página do squid-cache.org vemos que para habilitar a opção https_port (para bloqueio HTTPS) é necessário compilar o Squid3 com um dos seguintes parâmetros:
Requer: --with-gnutls ou --with-openssl
# ./configure --help <<< para ver as opções de configuração
As configurações (./configure) abaixo são para quem deseja compilar o Squid3 somente para habilitar o bloqueio de HTTPS.
Configurando:
# ./configure --prefix=/usr --localstatedir=/var --srcdir=. --includedir=/usr/include --datadir=/usr/share/squid3 --bindir=/usr/sbin --libexecdir=/lib/squid3 --sysconfdir=/etc/squid3 --mandir=/usr/share/man --infodir=/usr/share/info --enable-icap-client --enable-ssl --enable-ssl-crtd --with-openssl --with-default-user=squid "CONFIGURE_EXTRA_FLAGS=--with-cppunit-basedir=/usr" --with-logdir=/var/log/squid3 --with-pidfile=/var/run/squid3.pid
Após o ./configure acima ignore o conteúdo a seguir e pule para os PASSOS FINAIS.
Caso tu sejas um "Gorilão da Bola Azul" e deseja compilar o Squid3 com quase tudo que tenha direito (HTTPS, alguns tipos de autenticações, controle de banda, suporte a LDAP, geração de chaves e certificados, aumento dos descritores de arquivos, armazenamento em cache, suporte para mais ACLs externas, prevenção contra dengue, zika vírus etc), utilize o próximo ./configure no lugar do outro acima.
Antes vamos rodar o comando abaixo para ver quais os novos nomes dos helpers para configurar esses parâmetros no Squid3:
# ls -1 helpers/*/ <<< esse comando dará uma lista dos helpers
Configurando:
# ./configure --prefix=/usr --localstatedir=/var --srcdir=. --includedir=/usr/include --datadir=/usr/share/squid3 --bindir=/usr/sbin --libexecdir=/lib/squid3 --sysconfdir=/etc/squid3 --mandir=/usr/share/man --infodir=/usr/share/info --with-openssl --with-default-user=squid --with-logdir=/var/log/squid3 --with-pidfile=/var/run/squid3.pid "CONFIGURE_EXTRA_FLAGS=--with-cppunit-basedir=/usr" --with-pthreads --with-filedescriptors=128000 --enable-delay-pools --enable-ssl --enable-ssl-crtd --enable-icap-client --enable-cpu-profiling --enable-x-accelerator-vary --enable-eui --enable-snmp --enable-err-language="Portuguese" --enable-default-err-language="Portuguese" --enable-storeio="aufs,diskd,ufs" --enable-snmp –enable-icmp --enable-removal-policies="heap,lru" --enable-cache-digests --enable-underscores --enable-auth-digest="file,LDAP,eDirectory" --enable-external-acl-helpers="file_userip, unix_group, wbinfo_group, kerberos_ldap_group, LDAP_group, SQL_session, session" --enable-auth-ntlm="fake,smb_lm" --enable-auth-negotiate="kerberos,wrapper" --enable-auth-basic="LDAP,NCSA,PAM,SMB,NIS,getpwnam,MSNT-multi-domain,SASL,DB,RADIUS,fake"
Depois de usar o ./configure acima siga os passos finais abaixo.