Squid 3 com bloqueio HTTPS

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

[ Hits: 32.289 ]

 


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

Anon-proxy (um UltraSurf para Linux)

Possibilitando atualização do Windows 2000 pelo Squid autenticado

Use o Tor sem instalar nada em qualquer distribuição!

Claws Mail - Adicionando plugin antispam

GMail Manager

  

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