Squid 3 com bloqueio HTTPS

Publicado por Renato Cesar Ribeiro Bonfim Jr em 01/04/2015

[ Hits: 32.305 ]

 


Squid 3 com bloqueio HTTPS



Igual a outros usuários, tive grandes problemas com o Squid em relação ao bloqueio de páginas com protocolo HTTPS, apesar da imensa quantidade de how-tos e tutoriais sempre ocorria algum problema ou relacionado aos certificados ou a compilação do Squid. Após pesquisas no Google e no próprio VOL, vou compartilhar o processo utilizado que tornou possível esta função.

Os testes foram realizados em uma VM rodando o Debian Wheezy com o Squid 3 previamente instalado. A priori foi escolhida a versão 3.3.

Com o Squid 3 instalado, foi realizado o download da versão 3.3 diretamente do site squid-cache.org, decidi utilizar a pasta /usr/src para o download e demais processos:

# wget http://www.squid-cache.org/Versions/v3/3.3/squid-3.3.13.tar.gz

Descompactando o arquivo:

# tar xvzf squid-3.3.13.tar.gz

Navegue até a pasta:

# cd squid-3.3.13

A partir deste ponto, durante o processo de compilação iremos informar ao Squid quais opções serão setadas para possibilitar o bloqueio de páginas HTTPS, além destas serão setadas opções relacionadas as pastas padrões do Squid. Primeiramente resolva as dependências:

# apt-get build-dep squid3 && apt-get install build-essential libssl-dev

Após isso execute:

# ./configure --enable-icap-client --enable-ssl --enable-ssl-crtd --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libexecdir=/lib/squid3 --srcdir=. --datadir=/usr/share/squid3 --sysconfdir=/etc/squid3 --mandir=/usr/share/man --with-default-user=squid --with-cppunit-basedir=/usr --with-logdir=/var/log/squid3 --with-pidfile=/var/run/squid3.pid
NOTA: Crédito para correção do comando acima ao membro Wanderton Carlos Vasconcelos Belém.
Ao término do processo de interrompa a execução do Squid:

# service squid3 stop

Execute o make:

# make all && make install

Adicione o usuário "squid" e modifique o proprietário da pasta /var/log/squid3:

# useradd squid && chown -R squid:squid /var/log/squid3

A opção "-R" refere-se à modificação de forma recursiva, todo novo arquivo criado em /var/log/squid3 será de propriedade do usuário squid.

Um dos principais objetivos de realizar a compilação tendo o Squid 3 já instalado é a possibilidade da cópia dos binários:

# mv /usr/sbin/squid3 /usr/sbin/squid3.old && mv /usr/sbin/squid /us/sbin/squid3

Crie na pasta do Squid 3 em /etc/squid3 uma pasta para criação dos certificados que depois serão importados para os navegadores dos clientes:

# cd /etc/squid3 && mkdir ssl_cert && cd ssl_cert
# openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout myCA.pem -out myCA.pem


Durante o processo de compilação do Squid foi setada a opção "--libexecdir=/lib/squid3" nesta pasta estão os arquivos necessários à execução, um destes arquivos, ssl_crtd será usado para a criação de certificados dinâmicos:

# /lib/squid3/ssl_crtd -c -s /var/lib/ssl_db -M 4MB

Mude o proprietário do arquivo:

# chown -R squid:squid /var/lib/ssl_db

A partir deste ponto o Squid 3 estará apto a realizar os bloqueios na porta 443, lembrando que a partir da versão 3.2 não se usa mais a opção transparent e sim a intercept:

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

Adicione ao script do firewall as linhas:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j REDIRECT --to-port 3127
iptables -I INPUT -p tcp -m tcp --dport 3127 -j ACCEPT

Reinicie a execução do Squid 3:

# service squid3 restart

Para aqueles que usam o Sarg é necessário modificar o sarg.conf, atualizando a TAG access_log:

access_log /var/log/squid3/access.log

Com isso o Squid 3 poderá realizar o bloqueio do tão famigerado HTTPS. Espero que esta dicas ajudem à todos aqueles que passam pelo problema do HTTPS e àqueles que puderem contribuir com alguma melhora neste pequeno how-to, fiquem à vontade e sirvam-se.

O conhecimento sempre é livre!

Referências:
Outras dicas deste autor

Forçando sites HTTPS a passar fora do Squid 3

Leitura recomendada

Desabilitando modo "offline" no Firefox 3.x

Possibilitando atualização do Windows 2000 pelo Squid autenticado

Ache "sua" música na WEB

IRC via telnet

Modem 3G modelo E173s no Linux

  

Comentários
[1] Comentário enviado por removido em 01/04/2015 - 16:27h

Renato, quanto a sites de banco e outros com autenticação (SSL) como os de webmail (GMAIL, hotmail, skype ETC), consegue acessa-los sem problema ?

*Devido ao certificado auto assinado, tive alguns erros a algum tempo atrás com uma configuração semelhante, na época criei exceções para os sites especificamente via iptables porem não era o ideal.



[2] Comentário enviado por rbonfim em 01/04/2015 - 17:49h


[1] Comentário enviado por erisrjr em 01/04/2015 - 16:27h

Renato, quanto a sites de banco e outros com autenticação (SSL) como os de webmail (GMAIL, hotmail, skype ETC), consegue acessa-los sem problema ?

*Devido ao certificado auto assinado, tive alguns erros a algum tempo atrás com uma configuração semelhante, na época criei exceções para os sites especificamente via iptables porem não era o ideal.




Eris com relação a webmails não tive problemas, o acesso ao hotmail e gmail foram normais. Realmente não fiz teste com os sites bancários vou verificar e te posto se tive problemas ou não! Forte abraço!

[3] Comentário enviado por wagnerfs em 05/04/2015 - 10:19h

Muito boa a dica. Vou fazer alguns testes para ver a eficácia da dica.

_________________________
Wagner F. de Souza
Graduado em Redes de Computadores
"GNU/Linux for human beings."
LPI ID: LPI000297782

[4] Comentário enviado por rbonfim em 06/04/2015 - 08:57h


[3] Comentário enviado por k666 em 05/04/2015 - 10:19h

Muito boa a dica. Vou fazer alguns testes para ver a eficácia da dica.

_________________________
Wagner F. de Souza
Graduado em Redes de Computadores
"GNU/Linux for human beings."
LPI ID: LPI000297782


Valeu Wagner! Se tiver contribuições a serem realizadas agradeço demais!

[5] Comentário enviado por joaohenrique em 01/06/2015 - 10:45h

Quando executo o make me retorna:
make: *** No rule to make target 'all'. Pare.

executei tudo como vc descreveu uso debian 8

[6] Comentário enviado por removido em 26/06/2015 - 13:57h


[5] Comentário enviado por joaohenrique em 01/06/2015 - 10:45h

Quando executo o make me retorna:
make: *** No rule to make target 'all'. Pare.

executei tudo como vc descreveu uso debian 8


João,

Confira a linha de comando após o ./configure, tenha certeza de que está tudo em uma linha apenas e não fracionado.

[7] Comentário enviado por wanderton em 07/07/2015 - 16:43h


Olá, parabéns pelo tutorial mais fiquei em duvida a respeito de parte das instruções, peço que verifique os itens:

No item que trata dos parâmetros do "./configure" o item "--libexecdir=${prefix}/lib/squid3" será /usr//lib/squid3 já que o prefixo setado é "/usr" então está correto as informações:

"Durante o processo de compilação do Squid foi setada a opção "--libexecdir=/lib/squid3" nesta pasta estão os arquivos necessários à execução, um destes arquivos, ssl_crtd será usado para a criação de certificados dinâmicos:

# /lib/squid3/ssl_crtd -c -s /var/lib/ssl_db -M 4MB

Mude o proprietário do arquivo:

# chown -R squid:squid /var/lib/ssl_db "

Acho que o caminho do arquivo está errado!

[8] Comentário enviado por rbonfim em 07/07/2015 - 18:15h


[7] Comentário enviado por wanderton em 07/07/2015 - 16:43h


Olá, parabéns pelo tutorial mais fiquei em duvida a respeito de parte das instruções, peço que verifique os itens:

No item que trata dos parâmetros do "./configure" o item "--libexecdir=${prefix}/lib/squid3" será /usr//lib/squid3 já que o prefixo setado é "/usr" então está correto as informações:

"Durante o processo de compilação do Squid foi setada a opção "--libexecdir=/lib/squid3" nesta pasta estão os arquivos necessários à execução, um destes arquivos, ssl_crtd será usado para a criação de certificados dinâmicos:

# /lib/squid3/ssl_crtd -c -s /var/lib/ssl_db -M 4MB

Mude o proprietário do arquivo:

# chown -R squid:squid /var/lib/ssl_db "

Acho que o caminho do arquivo está errado!


Wanderton! Muito obrigado pelo apoio e pelo comentário, muito do que coloquei neste guia foi de pesquisas e ajuda do pessoal do VOL!

E você está certíssimo! A sintaxe correta para o comando é:

./configure '--enable-icap-client' '--enable-ssl' '--enable-ssl-crtd' '--prefix=/usr' '--includedir=/include' '--mandir=/share/man' '--infodir=/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=/lib/squid3' '--srcdir=.' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--with-default-user=squid' '--with-cppunit-basedir=/usr' '--with-logdir=/var/log/squid3' '--with-pidfile=/var/run/squid3.pid'

Vou pedir a correção aos moderadores e muitíssimo obrigado!

Forte abraços,

Renato Bonfim Jr

[9] Comentário enviado por fabio em 08/07/2015 - 03:44h

Correção efetuada, obrigado por reportarem.

[10] Comentário enviado por wanderton em 08/07/2015 - 17:14h


Olá, outra duvida; O que faz exatamente esse comando:

/lib/squid3/ssl_crtd -c -s /var/lib/ssl_db -M 4MB

Agradeço a ajuda!

[11] Comentário enviado por rbonfim em 09/07/2015 - 00:12h


Wanderton

Este comando refere-se a criação da pasta para o cache dos certificado dinâmicos e também um banco de dados destes certificados, servem justamente para que não ocorram os erros de certificados para sites sobre o protocolo HTTPS.
Se você precisar de mais informações recomendo esta leitura: http://wiki.squid-cache.org/Features/DynamicSslCert

Forte abraço!

[12] Comentário enviado por Jose_mauro2015 em 09/07/2015 - 22:41h

Boa Noite, Renato tudo bom?
Eu segui o seu procedimento para compilar e configurar o squid3 aparentemente a compilação ocorreu com sucesso.
Só que ele continua apenas bloqueando HTTP e também faz os logs das paginas acessadas, mas não URL HTTPS você seguiu exatamente a configuração acima ?
E também queria tirar uma outra duvida se você poder me ajudar é claro, seria referente ao arquivo /usr/share/squid3/errors/Portuguese/ERR_ACCESS_DENIED, tentei customizar nesse caminho e em outro que também tem esse arquivo cara você acredita que a pagina de erro não modifica kkkk já viu algo parecido ?
E parabéns pela artigo....






[13] Comentário enviado por rbonfim em 16/07/2015 - 23:04h


[12] Comentário enviado por Jose_mauro2015 em 09/07/2015 - 22:41h

Boa Noite, Renato tudo bom?
Eu segui o seu procedimento para compilar e configurar o squid3 aparentemente a compilação ocorreu com sucesso.
Só que ele continua apenas bloqueando HTTP e também faz os logs das paginas acessadas, mas não URL HTTPS você seguiu exatamente a configuração acima ?
E também queria tirar uma outra duvida se você poder me ajudar é claro, seria referente ao arquivo /usr/share/squid3/errors/Portuguese/ERR_ACCESS_DENIED, tentei customizar nesse caminho e em outro que também tem esse arquivo cara você acredita que a pagina de erro não modifica kkkk já viu algo parecido ?
E parabéns pela artigo....


Caro Mauro utilizei o procedimento descrito acima! Caso o problema não tenha sido resolvido abra um tópico no forum para analisarmos todo o procedimento! ok!?
Sobre a customização da página, tive esse mesmo problema, foi uma luta para mudar a danada da página, vou tentar relembrar o processo e posto aqui!

Forte abraço!

[14] Comentário enviado por Jose_mauro2015 em 22/07/2015 - 14:30h


[13] Comentário enviado por rbonfim em 16/07/2015 - 23:04h


[12] Comentário enviado por Jose_mauro2015 em 09/07/2015 - 22:41h

Boa Noite, Renato tudo bom?
Eu segui o seu procedimento para compilar e configurar o squid3 aparentemente a compilação ocorreu com sucesso.
Só que ele continua apenas bloqueando HTTP e também faz os logs das paginas acessadas, mas não URL HTTPS você seguiu exatamente a configuração acima ?
E também queria tirar uma outra duvida se você poder me ajudar é claro, seria referente ao arquivo /usr/share/squid3/errors/Portuguese/ERR_ACCESS_DENIED, tentei customizar nesse caminho e em outro que também tem esse arquivo cara você acredita que a pagina de erro não modifica kkkk já viu algo parecido ?
E parabéns pela artigo....


Caro Mauro utilizei o procedimento descrito acima! Caso o problema não tenha sido resolvido abra um tópico no forum para analisarmos todo o procedimento! ok!?
Sobre a customização da página, tive esse mesmo problema, foi uma luta para mudar a danada da página, vou tentar relembrar o processo e posto aqui!

Forte abraço!


Boa tarde, Renato

Eu consegui resolver o problema era erro de configuração nos comandos que trata sobre o SSL e certificado e também porque o squid3 com SSL não funciona como proxy transparente.
E quanto ao erro da pagina é porque na instalação apt-get install squid3 tem uma biblioteca chamada squid-langpack e as configs de tratamento de erro ficaram definidas nelas então ficou assim: /usr/share/squid-langpack/pt-br/ERR_ACCESS_DENIED.

Bom mais agora só estou com problema para alterar a imagem padrão da pagina, queria personalizar a imagem de erro, já até abri um tópico para o caso: http://www.vivaolinux.com.br/topico/Redes/Alterar-imagem-da-pagina-de-erro-do-SQUID-3313

Obrigado pela atenção..


[15] Comentário enviado por rbonfim em 22/07/2015 - 16:24h

Mauro fico feliz que você tenha conseguido! Já postei uma possível solução para o teu problema, testa lá e dá o feedback!
Forte abraço!

__#$
root@human:/#apt-get install -y brain
"Conhecimento é livre"

[16] Comentário enviado por yurifc4 em 29/07/2015 - 10:35h

Fiz todos os procedimentos corretamente do tutorial e por um momento achei que ia definitivamente resolver esse problema com os sites https, então... no último passo dei um restart no squid e me deu o retorno "[ ok ] Restarting Squid HTTP Proxy 3.x: squid3.", mas quando fui testar, deu erro na página de "Conexão recusada pelo servidor proxy", verifiquei o status do serviço com o service squid3 status e para minha surpresa... "[FAIL] squid3 is not running ... failed!". Eu já tinha o squid3 (3.4) e fiz todo o processo com o 3.4.

Estou aceitando sugestões ou dicas... obrigado :)

[17] Comentário enviado por Jose_mauro2015 em 29/07/2015 - 11:15h


[16] Comentário enviado por yurifc4 em 29/07/2015 - 10:35h

Fiz todos os procedimentos corretamente do tutorial e por um momento achei que ia definitivamente resolver esse problema com os sites https, então... no último passo dei um restart no squid e me deu o retorno "[ ok ] Restarting Squid HTTP Proxy 3.x: squid3.", mas quando fui testar, deu erro na página de "Conexão recusada pelo servidor proxy", verifiquei o status do serviço com o service squid3 status e para minha surpresa... "[FAIL] squid3 is not running ... failed!". Eu já tinha o squid3 (3.4) e fiz todo o processo com o 3.4.

Estou aceitando sugestões ou dicas... obrigado :)


Bom dia, Yuri
Tira uma duvida você criou o certificado myCA.der ? Esse certificado ira autenticar as estações clientes, cria e deixa junto com o myCA.pem, depois copia para as estações de trabalho e instala o certificado no navegador, para gerar o certificado executa esse comando:
# openssl x509 -in myCA.pem -outform DER -out myCA.der

Para ajudar agente visualizar melhor o problema post seu squid.conf

Att


[18] Comentário enviado por rbonfim em 29/07/2015 - 11:27h

Se puder reinicia o serviço e posta a saída do syslog!
__#$
root@human:/#apt-get install -y brain
"Conhecimento é livre"

[19] Comentário enviado por yurifc4 em 29/07/2015 - 13:36h

Opa, Boa tarde gurizada.
Na verdade não tinha gerado o certificado do cliente, gerei, tudo certo.
Só que para voltar a funcionar, eu tinha desfeito o processo de renomear os arquivos na pasta /usr/sbin...

Então, na tentativa de fazer funcionar, renomeie novamente o arquivo squid (que gerou na compilação) para squid3 e até o momento esse é o meu squid.conf http://notepad.cc/cuneoxo94 (bem simples mesmo)

Esses são os meus retornos dos comandos...

~ $ sudo service squid3 restart
[FAIL] Restarting Squid HTTP Proxy 3.x: squid3[....] Waiting...........................................................................failed.
. ok
~ $ sudo squid3 -k reconfigure
squid: ERROR: Could not send signal 1 to process 5344: (1) Operation not permitted
~ $ sudo service squid3 status
[ ok ] squid3 is running.
amadio@amadio-positivo ~ $

Mesmo com o failed, ele está rodando... só que ainda não está bloqueando sites https.
Não importei o certificado nos navegadores dos clientes, vou providenciar isso... mas não era para ele me apresentar um erro de certificado?

Obs: No syslog não aparece nada relacionado ao squid.

[20] Comentário enviado por yurifc4 em 29/07/2015 - 14:27h

Bom, após reiniciar o computador... ele voltou com aquele problema. Inicia sem problemas, mas ao verificar o status "squid3 is not running".

Verificando o syslog:
Jul 29 14:53:48 amadio squid3[5633]: Squid Parent: will start 1 kids
Jul 29 14:53:48 amadio squid3[5633]: Squid Parent: (squid-1) process 5636 started
Jul 29 14:53:48 amadio (squid-1): UFSSwapDir::openLog: Failed to open swap log.
Jul 29 14:53:48 amadio squid[5633]: Squid Parent: (squid-1) process 5636 exited with status 1
Jul 29 14:53:51 amadio squid[5633]: Squid Parent: (squid-1) process 5655 started
Jul 29 14:53:51 amadio (squid-1): UFSSwapDir::openLog: Failed to open swap log.
Jul 29 14:53:51 amadio squid[5633]: Squid Parent: (squid-1) process 5655 exited with status 1
Jul 29 14:53:54 amadio squid[5633]: Squid Parent: (squid-1) process 5658 started
Jul 29 14:53:55 amadio (squid-1): UFSSwapDir::openLog: Failed to open swap log.
Jul 29 14:53:55 amadio squid[5633]: Squid Parent: (squid-1) process 5658 exited with status 1
Jul 29 14:53:58 amadio squid[5633]: Squid Parent: (squid-1) process 5661 started
Jul 29 14:53:58 amadio (squid-1): UFSSwapDir::openLog: Failed to open swap log.
Jul 29 14:53:58 amadio squid[5633]: Squid Parent: (squid-1) process 5661 exited with status 1
Jul 29 14:54:01 amadio squid[5633]: Squid Parent: (squid-1) process 5665 started
Jul 29 14:54:01 amadio (squid-1): UFSSwapDir::openLog: Failed to open swap log.
Jul 29 14:54:01 amadio squid[5633]: Squid Parent: (squid-1) process 5665 exited with status 1
Jul 29 14:54:01 amadio squid[5633]: Squid Parent: (squid-1) process 5665 will not be restarted due to repeated, frequent failures
Jul 29 14:54:01 amadio squid[5633]: Exiting due to repeated, frequent failures

[21] Comentário enviado por rbonfim em 29/07/2015 - 15:31h

Yuri, faça o seguinte:

squid -Ncd1

Assim temos uma saída completa do inicio do serviço, imagino que a priori o principal problema é relativo a Swap e Log! Posta e saída do comando acima pra nos analisarmos!

__#$
root@human:/#apt-get install -y brain
"Conhecimento é livre"

[22] Comentário enviado por yurifc4 em 30/07/2015 - 10:56h

rbonfim deu um erro nesse comando... mas acabei instalando em um outro servidor com o Debian Wheezy, no que eu estava testando era o LMDE. Configurei com o squid3, mas ainda não fiz esse procedimento. Só que agora, com um usuário comum, em sites https que é para bloquear ele apresenta um erro do servidor proxy e não o do acesso negado (melhor que nada). Mas com o usuário convidado, que é onde a maioria das pessoas utilizam, ele acessa normalmente os sites bloqueados.

Minha dúvida é se mesmo realizando esse processo e dando certo, ele tbm vai funcionar com o usuário convidado?!
E pelos comentários, parece que ngm conseguiu fazer.
Bom, só testando para ver :)

[23] Comentário enviado por rbonfim em 30/07/2015 - 11:01h

Qual foi o erro Yuri?

__#$
root@human:/#apt-get install -y brain
"Conhecimento é livre"

[24] Comentário enviado por yurifc4 em 30/07/2015 - 13:17h

Agora fiz todo o processo com o Wheezy e seguindo a risca o tutorial... mesmo problema, inicia, mas não inicia rsrs.
O problema era a opção -c... não existe.

segue com os parametros -Nd1

2015/07/30 13:13:43| Starting Squid Cache version 3.3.13 for x86_64-unknown-linux-gnu...
2015/07/30 13:13:43| Process ID 10683
2015/07/30 13:13:43| Process Roles: master worker
2015/07/30 13:13:43| With 1024 file descriptors available
2015/07/30 13:13:43| Initializing IP Cache...
2015/07/30 13:13:43| DNS Socket created at [::], FD 5
2015/07/30 13:13:43| DNS Socket created at 0.0.0.0, FD 6
2015/07/30 13:13:43| Adding nameserver 8.8.8.8 from /etc/resolv.conf
2015/07/30 13:13:43| Adding nameserver 192.168.1.1 from /etc/resolv.conf
2015/07/30 13:13:43| helperOpenServers: Starting 5/5 'ssl_crtd' processes
2015/07/30 13:13:43| helperOpenServers: Starting 0/10 'ncsa_auth' processes
2015/07/30 13:13:43| helperOpenServers: No 'ncsa_auth' processes needed.
2015/07/30 13:13:43| Logfile: opening log /var/log/squid3/access.log
2015/07/30 13:13:43| WARNING: log parameters now start with a module name. Use 'stdio:/var/log/squid3/access.log'
2015/07/30 13:13:43| Unlinkd pipe opened on FD 21
2015/07/30 13:13:43| Store logging disabled
2015/07/30 13:13:43| Swap maxSize 3072000 + 262144 KB, estimated 256472 objects
2015/07/30 13:13:43| Target number of buckets: 12823
2015/07/30 13:13:43| Using 16384 Store buckets
2015/07/30 13:13:43| Max Mem size: 262144 KB
2015/07/30 13:13:43| Max Swap size: 3072000 KB
2015/07/30 13:13:43| ERROR opening swap log /var/spool/squid3/swap.state: (13) Permission denied
FATAL: UFSSwapDir::openLog: Failed to open swap log.

Estou analisando...

[25] Comentário enviado por yurifc4 em 30/07/2015 - 13:46h

Bom, era só alterar no "chown -R squid:squid /var/spool/squid3/".
Agora está rodando normalmente... porém, importei o certificado no cliente, e mesmo assim continua tudo liberado. E quando coloco o intercept na http_port 3128, bloqueia TUDO, menos os https rsrs.

Até tentei fazer algumas alterações... mas nada.

[26] Comentário enviado por yurifc4 em 30/07/2015 - 14:31h

Estou sem entender... fui em um computador testar e acessei o facebook.com, por exemplo que é bloqueado. E deu um erro de certificado, aquele que tem o "Me tire daqui" e tal... importei o certificado e bloqueio mesmo \o/

O que será que as outras máquinas tem de diferente que não deu certo e essa deu?! São todas Linux.

[27] Comentário enviado por yurifc4 em 30/07/2015 - 15:36h

Aee descobri o que era... nas opções de proxy do firefox, tem que marcar a opção "DNS remoto" que vai funcionar perfeitamente.
http://imgur.com/ikoipy9

Utilizo esse script para configurar automaticamente...

// Configure and lock proxy for clients
lockPref("network.proxy.http","192.168.1.100");
lockPref("network.proxy.http_port", 3128);
lockPref("network.proxy.type", 1);
lockPref("network.proxy.share_proxy_settings", true);
lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1");
lockPref("network.proxy.socks_remote_dns", true);

Salvo em /usr/lib/firefox/defaults/pref/

Só que agora, preciso descobrir se é possível salvar em uma pasta o certificado, para que funcione com todos os usuários.
O maior problema é com o usuário convidado, pois ele apaga tudo após o logout.

Só falta isso :D

[28] Comentário enviado por rbonfim em 30/07/2015 - 21:52h

Boa Yuri! Parabéns pela resolução do problema velho!!
__#$
root@human:/#apt-get install -y brain
"Conhecimento é livre"

[29] Comentário enviado por yurifc4 em 31/07/2015 - 08:04h

Só pra constar, o meu squid.conf ficou assim:

http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid3/ssl_cert/myCA.pem
always_direct allow all
ssl_bump server-first all
sslcrtd_program /lib/squid3/ssl_crtd -s /var/lib/ssl_db -M 4 MB
sslcrtd_children 5

Obrigado a todos.

[30] Comentário enviado por guitoneloto em 13/08/2015 - 12:52h

Olá, gostaria de tirar uma dúvida.

Realizei todo o processo, configurei o squid e mesmo assim ainda apresenta erro de certificado nos clientes ao acessar o proxy transparente.
Alguém saberia como posso resolver isso ?

[31] Comentário enviado por JardelRodrigues em 10/09/2015 - 16:00h

Renato modifiquei --with-cppunit-basedir=/usr para --with-cppunit-config-basedir=/usr

[32] Comentário enviado por diegorw em 06/11/2015 - 13:58h


[31] Comentário enviado por JjardelRodrigues em 10/09/2015 - 16:00h

Renato modifiquei --with-cppunit-basedir=/usr para --with-cppunit-config-basedir=/usr


Pra funcionar aqui tive que modificar esse parâmetro também.

[33] Comentário enviado por fabianno515 em 09/11/2015 - 23:01h

boa noite! amigos, sou iniciante, e estou com proble ao tentar iniciar o squid3 depois de realizar os procedimentos!!
Erro: FATAL: Unknown http(s)_port option 'ssl_bump'.
FATAL: Bungled /etc/squid3squid.conf line2 : https_port 3127 intercept ssl_bump generate_host_certificates=on dynamic_cert_mem_cache_size=4MB

[34] Comentário enviado por rbonfim em 09/11/2015 - 23:08h

Fabiano qual o problema que o sistema apresenta? Poste mais detalhes pra que possamos ajudar!

__#$
root@human:/#apt-get install -y brain
"Conhecimento é livre"

[35] Comentário enviado por fabianno515 em 09/11/2015 - 23:13h

boa noite Renato

Erro: FATAL: Unknown http(s)_port option 'ssl_bump'.
FATAL: Bungled /etc/squid3squid.conf line2 : https_port 3127 intercept ssl_bump generate_host_certificates=on dynamic_cert_mem_cache_size=4MB


[36] Comentário enviado por fabianno515 em 12/11/2015 - 21:41h


Boa noite! amigos...alguma dica para resolver o meu problema?

[37] Comentário enviado por razakmg em 16/11/2015 - 17:15h

Olá.
Muito bom o seu tópico. Parabéns.
Sou um pouco leigo quanto a distro Linux. Sei o básico. Resolvi aprender mais sobre ralando no TCC.
Pro meu trabalho, meu orientador me colocou pra usar o CentOS.
Eu consigo fazer essas mesmas configurações pra essa distribuição?

Preciso muito dessa ajuda, se não for incomodo. Grato!

[38] Comentário enviado por razakmg em 25/11/2015 - 20:14h


[6] Comentário enviado por l3v1s em 26/06/2015 - 13:57h


[5] Comentário enviado por joaohenrique em 01/06/2015 - 10:45h

Quando executo o make me retorna:
make: *** No rule to make target 'all'. Pare.

executei tudo como vc descreveu uso debian 8


João,

Confira a linha de comando após o ./configure, tenha certeza de que está tudo em uma linha apenas e não fracionado.




O meu está tudo na mesma linha e mesmo assim continou o "make: *** No rule to make target `all'. Stop."


[39] Comentário enviado por _Aprendiz_ em 23/12/2015 - 10:49h

Bom dia pessoal!
Me ajudem por favor!!
Sou novato no fórum e em Linux.
Mas enfim, estou tentando criar o Proxy da minha empresa e ao executar o comando ./configure completo, conforme passado no artigo, ele me retorna a msg:
error: Cannot find cppunit from /usr

O que pode ser? como posso resolver? Me ajudem!?
Muito Obrigado!

[40] Comentário enviado por _Aprendiz_ em 28/12/2015 - 17:14h

Alguem pode me ajudar? :'(

[41] Comentário enviado por Buckminster em 30/12/2015 - 14:15h


[40] Comentário enviado por _Aprendiz_ em 28/12/2015 - 17:14h

Alguem pode me ajudar? :'(


Use este

./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

depois siga os passos como está na dica.

Caso der algum erro, instale o automake e o openssl e execute o ./configure novamente.

[42] Comentário enviado por Johnypt em 30/12/2015 - 23:14h

Boas ainda não há solução para os sites que dão erros de certificados sem ser a de excepção por iptables certo?

[43] Comentário enviado por marciotaglietta em 08/06/2016 - 12:08h

Boa tarde Renato!
Primeiro parabéns pelo post, vinha procurando uma solução e parece que encontrei.
Estou com um problema na hora de executar o comando ./configure.
Está dando o seguinte erro:
configure: using system installed cppunit version 1.13.2
configure: Using cppunit includes from /usr
configure: error: Cannot find cppunit at /usr
O libcppunit-dev está instalado e tudo mais que encontrei e testei não deu certo.
Você tem ideia de como poderia resolver esse erro????
Antecipadamente agradeço e fico no aguardo.
Obrigado

[44] Comentário enviado por viniciusmathias em 25/10/2016 - 11:10h

Ola, sabe me dizer se é compatível com a versão 3.1 do squid? Ou apenas com a versão 3.3 e superiores.

[45] Comentário enviado por hedtec em 17/11/2017 - 12:58h

Estou com o mesmo erro do Fabiano, ao iniciar o squid3 após as configurações estou com este erro.

FATAL: Bungled /etc/squid3/squid.conf line 12: https_port 3127 intercept ssl_bump generate_host_certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid3/ssl_cert/myCA.pem

[46] Comentário enviado por chiarete em 14/05/2018 - 13:50h

Boa tarde!
Será que vai sair alguma atualização para não precisar ter que compilar o squid ou criar certificados.
Eu utilizava anteriormente com a regra
iptables -t nat -A PREROUTING -s $LAN_RANGE -p tcp --dport 443 -j REDIRECT --to-port 3128
e funcionava normalmente.

[47] Comentário enviado por rafaelinfosys em 12/09/2018 - 16:34h

Olá.

A configuração para mim funcionou bem até...
###############
Durante o processo de compilação do Squid foi setada a opção "--libexecdir=/lib/squid3" nesta pasta estão os arquivos necessários à execução, um destes arquivos, ssl_crtd será usado para a criação de certificados dinâmicos:

# /lib/squid3/ssl_crtd -c -s /var/lib/ssl_db -M 4MB
######

Por algum motivo não foi criado o '/lib/squid3/' apesar de constar no ./configure .... "--libexecdir=/lib/squid3"

[48] Comentário enviado por figlesias em 25/06/2021 - 16:03h


Olá Renato, muito bom seu artigo aí! Parabéns! Seguinte: eu fiz todo o passo a passo de configuração do Squid seguindo as sugestões dos amigos aqui do VOL, deu quase tudo certo, inclusive a implementação do certificado SSL. O Proxy está funcionando certinho quando não defino ele como Transparent ou Intercept, como você mesmo disse acima, no caso de versões do SQUID superiores a 3x usamos intercept e não transparent.

A questão é que meu proxy não transparente está me gerando alguns problemas que não consigo resolver:

1 - Outlook não envia nem recebe e-mails - já liberei no meu Firewall todas as portas possíveis de POP3 e SMTP (TCP e UDP) (INPUT - OUTPUT e FORWARD) e também o DNS (Porta 53 UDP - usando na tag iptables a opção de Origem e Destino informando o DNS da minha rede externa), inclusive inserindo ida e retorno para o IP do meu provedor de e-mail que no caso é a Homehost, mesmo assim, com o proxy ativado não passa. Liberei também as bendidas portas de e-mail usadas no SQUID na acl Safe_ports e mesmo assim não funcionou. Eu consigo acessar o webmail do meu provedor via proxy mas Outlook não envia nem recebe.

2 - Estou com um problema de Whatsapp WEB também com proxy sem ser transparente, por que neste caso vi e tentei diversas dicas de liberação deste, tanto por portas quanto por URL ou pelas listas de IPS do whatsapp no cidr, e mesmo assim, não consigo fazer o bendito exibir o QR para conectar o Web WhatsApp. Estudando um pouco mais aqui no VOL vi alguns dizendo que no Proxy transparente esse problema não acontece, por essa razão estou tentando implementar o Proxy Transparente, mas aí vem o terceiro problema ai:

3 - Tudo funcionando, SQUID rodando sem ser transparente, implementei no meu Firewall várias sugestões de regras aqui do VOL para redirecionamento e em todas após restart do Firewall e do Squid, dá erro no Squid de: "No forward-proxy ports configured", hoje tentei a última dica desse tipo de regra, as suas aqui e também não deu certo. Me ajuda!!! Tem algo errado, mas não sei o que é, cabeça fritando já. Vou deixar abaixo o início do meu squid.conf e as regras do meu Firewall relacionadas ao SQUID já incluidas as que você indicou aí:

http_port 3128 intercept
https_port 3127 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/certificado/cedCA.pem
ssl_bump none localhost
ssl_bump server-first all
sslcrtd_program /usr/lib/squid/security_file_certgen -s /etc/squid/certificado/ssl_db -M 4MB
sslcrtd_children 5

Firewall ==>

###############
#Filter(OUTPUT)
###############
iptables -A OUTPUT -s $localnet -p tcp -m tcp --sport 3128 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -s $localnet -p tcp -m tcp --sport 3127 -m state --state ESTABLISHED -j ACCEPT

#Services-Accept (TCP / LAN)
iptables -A INPUT -p tcp -i $iflan --dport 3128 -s $localnet -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -p tcp -i $iflan --dport 3127 -s $localnet -m state --state NEW --syn -j ACCEPT

#PostRouting
iptables -t nat -A POSTROUTING -o $ifwan -j MASQUERADE

#Proxy Transparente (SQUID)
iptables -t nat -A PREROUTING -i $iflan -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $iflan -p tcp --dport 443 -j REDIRECT --to-port 3127
iptables -I INPUT -p tcp --dport 3127 -j ACCEPT

$localnet = minha rede interna
$iflan = minha interface de rede interna
$ifwan = minha interface de rede externa

Agradeço imensamente se puder me ajudar!!! Depois de tudo rodando direitinho vou compartilhar um modelo de SQUID.CONF e de FIREWALL bem documentado aqui pra ajudar outros colegas!!!

Abraço.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts