Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Squid 3.3.10 para pfsense 2.0 e 2.1 com filtro de SSL/HTTPS

    Scheduled Pinned Locked Moved Portuguese
    593 Posts 129 Posters 376.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      lorigas
      last edited by

      Boa noite Marcelo

      Acho que o pacote de instalação do squid3-dev está com algum problema conforme comentei no post abaixo.

      http://forum.pfsense.org/index.php/topic,63935.0.html

      Lourivaldo Cantano
      Administrador de Redes

      1 Reply Last reply Reply Quote 0
      • G
        Guilherme Pires
        last edited by

        Pessoal Boa Tarde,
        Alguem já testou o squid3-dev com o Dansguardian ?
        Estou começando um ambiente de teste e gostaria de saber se tem gente usando e como está se comportando o ambiente.

        1 Reply Last reply Reply Quote 0
        • D
          diegoriera
          last edited by

          Sim, o pacote squid-3.3.8.tbz não está em http://files.pfsense.org/packages/amd64/8/All/

          1 Reply Last reply Reply Quote 0
          • L
            LFCavalcanti
            last edited by

            Bom dia Marcelloc!

            Andei lendo o tópico, mas fiquei confuso com algumas coisas. Eu não tenho interesse em usar o filtro SSL por enquanto, a maioria dos meus clientes usa proxy não transparente com regras de firewall liberando só estritamente o necessário.

            Minhas perguntas são:

            1 - Essa versão em desenvolvimento é a mesma que está na lista de pacotes do PFSense como Squid3-Dev?
            2 - Nessa versão já está incluida a questão do balanceamento de carga e Fail Over?
            3 - Como é feita a integração com o SquidGuard e com o AD?(Se puder passar o link para a resposta do tópico em especifico, pois li aqui e não filtrei a informação correta)
            4 - Para autenticação transparente, usando aquele esquema do Samba, é possivel usar com essa versão?

            –

            Luiz Fernando Cavalcanti
            IT Manager
            Arriviera Technology Group

            1 Reply Last reply Reply Quote 0
            • marcellocM
              marcelloc
              last edited by

              @LFCavalcanti:

              1 - Essa versão em desenvolvimento é a mesma que está na lista de pacotes do PFSense como Squid3-Dev?

              Exatamente a mesma

              @LFCavalcanti:

              2 - Nessa versão já está incluida a questão do balanceamento de carga e Fail Over?

              Ainda não incluí nenhum teste ou regra a mais para balanceamento de link.
              Se não houve alteração no tratamento das regras da aba floating na 2.0.3 ou na 2.1, os tutoriais disponíveis no fórum devem funcionar.

              @LFCavalcanti:

              3 - Como é feita a integração com o SquidGuard e com o AD?(Se puder passar o link para a resposta do tópico em especifico, pois li aqui e não filtrei a informação correta)

              A integração que o Luis Gustavo fez, já faz parte do pacote.

              @LFCavalcanti:

              4 - Para autenticação transparente, usando aquele esquema do Samba, é possivel usar com essa versão?

              Perfeitamente.  :)

              Treinamentos de Elite: http://sys-squad.com

              Help a community developer! ;D

              1 Reply Last reply Reply Quote 0
              • ?
                A Former User
                last edited by

                Fiz uma vm no XenServer e não estou conseguindo fazer o proxy autenticado com o squid3-dev.
                Eu fiz um teste. Criei uma nova vm e instalei apenas o squid (2). funcionou ok.
                Então desinstalei o squid(2) e instalei o squid3 e aquelas dependencias lá! não mudei nenhuma configuração, contudo não está funcionando. O browser não abre o prompt pra autenticação!

                any ideas?

                1 Reply Last reply Reply Quote 0
                • marcellocM
                  marcelloc
                  last edited by

                  @UnDr3aD:

                  Então desinstalei o squid(2) e instalei o squid3 e aquelas dependencias lá! não mudei nenhuma configuração, contudo não está funcionando. O browser não abre o prompt pra autenticação!

                  Veja se o squid está escutando na porta que você configurou. Se não estiver, habilite o ipv6, mate todos os processos do squid e em seguida salve as configurações para iniciar o daemon novamente.

                  É importantíssimo para o sysadmin olhar os logs para identificar erros.

                  Treinamentos de Elite: http://sys-squad.com

                  Help a community developer! ;D

                  1 Reply Last reply Reply Quote 0
                  • C
                    cmleao
                    last edited by

                    @gilmarcabral:

                    Marcello eu novamente lhe atormentando.
                    Encontrei mais 2 probleminhas.
                    O primeiro que quando inicializo o serviço do squid e tento rodar o squid -k reconfigure via terminal ele não roda apresenta a seguinte mensagem:
                    squid -k reconfigure
                    squid: ERROR: Could not send signal 1 to process 40565: (3) No such process

                    Mas o serviço esta inicializado mas num consigo ver se tem algum erro de configuração.

                    Tentei usar o squid-dev usando o openldap ou autenticação local porem o proxy so recusa conexão.
                    Vi esta mensagem abaixo no log o cache do squid.
                    ail -f /var/squid/logs/cache.log
                    2013/05/16 17:07:44 kid1| Max Mem  size: 131072 KB
                    2013/05/16 17:07:44 kid1| Max Swap size: 2097152 KB
                    2013/05/16 17:07:44 kid1| Rebuilding storage in /var/squid/cache (no log)
                    2013/05/16 17:07:44 kid1| Using Least Load store dir selection
                    2013/05/16 17:07:44 kid1| Current Directory is /usr/local/www
                    2013/05/16 17:07:44 kid1| Loaded Icons.
                    2013/05/16 17:07:44 kid1| HTCP Disabled.
                    2013/05/16 17:07:44 kid1| WARNING: no_suid: setuid(0): (1) Operation not permitted
                    2013/05/16 17:07:44 kid1| sendto FD 25: (1) Operation not permitted
                    2013/05/16 17:07:44 kid1| ipcCreate: CHILD: hello write test failed

                    pfSense 2.1 amd64. squid 3.3.8 -dev

                    [2.1-RELEASE][root@noc]/root(22): /usr/pbi/squid-amd64/sbin/squid -d 5

                    [2.1-RELEASE][root@noc]/root(22): 2013/09/27 00:46:19 kid1| Starting Squid Cache version 3.3.8 for amd64-portbld-freebsd8.3...
                    2013/09/27 00:46:19 kid1| Process ID 77987
                    2013/09/27 00:46:19 kid1| Process Roles: worker
                    2013/09/27 00:46:19 kid1| With 9799 file descriptors available
                    2013/09/27 00:46:19 kid1| Initializing IP Cache...
                    2013/09/27 00:46:19 kid1| DNS Socket created at [::], FD 7
                    2013/09/27 00:46:19 kid1| DNS Socket created at 0.0.0.0, FD 8
                    2013/09/27 00:46:19 kid1| Adding domain domain.com.br from /etc/resolv.conf
                    2013/09/27 00:46:19 kid1| Adding nameserver 127.0.0.1 from /etc/resolv.conf
                    2013/09/27 00:46:19 kid1| Adding nameserver 8.8.8.8 from /etc/resolv.conf
                    2013/09/27 00:46:19 kid1| Adding nameserver 8.8.4.4 from /etc/resolv.conf
                    2013/09/27 00:46:19 kid1| Adding nameserver 200.176.2.12 from /etc/resolv.conf
                    2013/09/27 00:46:19 kid1| Logfile: opening log /var/squid/logs/access.log
                    2013/09/27 00:46:19 kid1| WARNING: log parameters now start with a module name. Use 'stdio:/var/squid/logs/access.log'
                    2013/09/27 00:46:19 kid1| WARNING: no_suid: setuid(0): (1) Operation not permitted
                    2013/09/27 00:46:19 kid1| Unlinkd pipe opened on FD 13
                    2013/09/27 00:46:19 kid1| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
                    2013/09/27 00:46:19 kid1| Store logging disabled
                    2013/09/27 00:46:19 kid1| Swap maxSize 102400 + 8192 KB, estimated 8507 objects
                    2013/09/27 00:46:19 kid1| Target number of buckets: 425
                    2013/09/27 00:46:19 kid1| Using 8192 Store buckets
                    2013/09/27 00:46:19 kid1| Max Mem  size: 8192 KB
                    2013/09/27 00:46:19 kid1| Max Swap size: 102400 KB
                    2013/09/27 00:46:19 kid1| Rebuilding storage in /var/squid/cache (no log)
                    2013/09/27 00:46:19 kid1| Using Least Load store dir selection
                    2013/09/27 00:46:19 kid1| Current Directory is /root
                    2013/09/27 00:46:19 kid1| Loaded Icons.
                    2013/09/27 00:46:19 kid1| HTCP Disabled.
                    2013/09/27 00:46:19 kid1| WARNING: no_suid: setuid(0): (1) Operation not permitted
                    2013/09/27 00:46:19 kid1| sendto FD 17: (1) Operation not permitted
                    2013/09/27 00:46:19 kid1| ipcCreate: CHILD: hello write test failed
                    

                    [2.1-RELEASE][root@noc]/root(22): netstat | more
                    Active Internet connections
                    Proto Recv-Q Send-Q Local Address          Foreign Address        (state)
                    tcp4      0      0 noc.3128              .                    CLOSED
                    tcp4      0      0 noc.https              d-hall.47294          FIN_WAIT_2
                    tcp4      0      0 noc.https              d-hall.47293          FIN_WAIT_2
                    tcp4      0      0 noc.ssh                d-hall.48163          ESTABLISHED

                    O serviço sobe alegremente mas persistentemente CLOSED.

                    O que será que esse IPC está tentando fazer que não consegue ? 
                    Algum outro processo não estava pronto ou conflito ?

                    Num outro servidor (com outro backup de configuração, ambos sem pacotes) deu certo. Estou tentando identificar alguma pista comparando as duas instalações mas no momento não sei bem o que procurar.

                    1 Reply Last reply Reply Quote 0
                    • marcellocM
                      marcelloc
                      last edited by

                      Habilite o ipv6, mate todos os processos do squid e salve a configuração.

                      Treinamentos de Elite: http://sys-squad.com

                      Help a community developer! ;D

                      1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User
                        last edited by

                        eu fiz uma CA interna no pfSense e criei um certificado nela.
                        exportei os dois e instalei no root directories (algo assim).

                        sem o proxy no navegador eu consigo acessar o pfsense diboa, o certificado é validado direitinho! Contudo, ao configurar o proxy, o squid bloqueia a conexão!
                        isso aqui é do cache.log

                        
                        2013/09/27 10:26:17 kid1| clientNegotiateSSL: Error negotiating SSL connection on FD 17: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol (1/-1)
                        
                        

                        isso é o que aparece na tela:

                        
                        The following error was encountered while trying to retrieve the URL: https://192.168.0.50/*
                        
                            Failed to establish a secure connection to 192.168.0.50
                        
                        The system returned:
                        
                            (92) Protocol error (TLS code: X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN)
                        
                            Self-signed SSL Certificate in chain: /C=BR/ST=DF/L=BSB/O=NTU/emailAddress=user@domain.com/CN=pfSense-ca
                        
                        This proxy and the remote host failed to negotiate a mutually acceptable security settings for handling your request. It is possible that the remote host does not support secure connections, or the proxy is not satisfied with the host security credentials.
                        
                        Your cache administrator is admin@localhost.
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • marcellocM
                          marcelloc
                          last edited by

                          Marque a opção "accept certificate errors" para o usuário decidir se quer ou não acessar um site que não tem um certificado válido.

                          Treinamentos de Elite: http://sys-squad.com

                          Help a community developer! ;D

                          1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User
                            last edited by

                            @marcelloc:

                            Marque a opção "accept certificate errors" para o usuário decidir se quer ou não acessar um site que não tem um certificado válido.

                            vlw, funfou "OK". agora apresenta o erro de certificado.
                            tem alguma forma de fazer o proxy reconhecer esse certificado (do próprio pfsense), para que as telas de erro do squid não apresentem erro de certificado?

                            1 Reply Last reply Reply Quote 0
                            • marcellocM
                              marcelloc
                              last edited by

                              Instala o crt da ca em cada maquina.

                              Importe como ca confiável.

                              Treinamentos de Elite: http://sys-squad.com

                              Help a community developer! ;D

                              1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User
                                last edited by

                                @marcelloc:

                                Instala o crt da ca em cada maquina.

                                Importe como ca confiável.

                                aí que está! eu já fiz isso!
                                Sem configurar o proxy no navegador o site não da erro nenhum de ssl. Funciona perfeitamente! Contudo ao configurar o proxy o erro de ssl começa a ser apresentado!
                                Estou testando isso acessando o pfSense com ssl ativado (https) e nas telas de erro do proxy.

                                1 Reply Last reply Reply Quote 0
                                • marcellocM
                                  marcelloc
                                  last edited by

                                  Neste caso deve ser necessário incluir o CRT da ca na lista de certificados raiz que o squid está lendo.

                                  Não lembro de cabeça onde fica.

                                  Treinamentos de Elite: http://sys-squad.com

                                  Help a community developer! ;D

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    cmleao
                                    last edited by

                                    @marcelloc:

                                    Habilite o ipv6, mate todos os processos do squid e salve a configuração.

                                    Ia mesmo demorar para chegar nesse ponto.  Agora funcionou certinho.
                                    Pelo que entendi o squid tem algum tipo de suporte nativo a IPv6 que dependendo do contexto pode apresentar problema ao manipular sockets.
                                    Se estiver fácil de apontar material de referência sobre esse assunto, estaria disposto a ler.

                                    1 Reply Last reply Reply Quote 0
                                    • marcellocM
                                      marcelloc
                                      last edited by

                                      Não sei se é dependência ou bug.

                                      Tenho uma versão do squid 3.3.5 no meu repositório sem o ipv6 compilado e sobe tranquilo na 2.0.3 e 2.1

                                      Treinamentos de Elite: http://sys-squad.com

                                      Help a community developer! ;D

                                      1 Reply Last reply Reply Quote 0
                                      • ?
                                        A Former User
                                        last edited by

                                        @marcelloc:

                                        Neste caso deve ser necessário incluir o CRT da ca na lista de certificados raiz que o squid está lendo.

                                        Não lembro de cabeça onde fica.

                                        joguei os certificados dentro das pastas /usr/local/share/certs e /usr/pbi/squid-amd64/share/certs, mas não surtiu efeito.
                                        já reiniciei o servidor pra ver, mas também nada.

                                        1 Reply Last reply Reply Quote 0
                                        • marcellocM
                                          marcelloc
                                          last edited by

                                          Exportou colando o hash no nome do certificado?

                                          /usr/bin/openssl x509 -hash -noout -in /tmp/cert.pem

                                          trecho do código do squid-dev que gera isso

                                           if ($cert_count < 10){
                                                          conf_mount_rw();
                                                          #create ca-root hashes from ca-root-nss package
                                                          log_error("Creating root certificate bundle hashes from the Mozilla Project");
                                                          $cas=file(SQUID_LOCALBASE.'/share/certs/ca-root-nss.crt');
                                                          $cert=0;
                                                          foreach ($cas as $ca){
                                                          if (preg_match("/--BEGIN CERTIFICATE--/",$ca))
                                                                          $cert=1;
                                                                  if ($cert == 1)
                                                                          $crt.=$ca;
                                                                  if (preg_match("/-END CERTIFICATE-/",$ca)){
                                                                          file_put_contents("/tmp/cert.pem",$crt, LOCK_EX);
                                                                          $cert_hash=array();
                                                                          exec("/usr/bin/openssl x509 -hash -noout -in /tmp/cert.pem",$cert_hash);
                                                                          file_put_contents(SQUID_LOCALBASE."/share/certs/".$cert_hash[0].".0",$crt,LOCK_EX);
                                                                          $crt="";
                                                                          $cert=0;
                                                                          }
                                                                  }
                                                          }
                                          

                                          Treinamentos de Elite: http://sys-squad.com

                                          Help a community developer! ;D

                                          1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User
                                            last edited by

                                            @marcelloc:

                                            Exportou colando o hash no nome do certificado?

                                            /usr/bin/openssl x509 -hash -noout -in /tmp/cert.pem

                                            trecho do código do squid-dev que gera isso

                                             if ($cert_count < 10){
                                                            conf_mount_rw();
                                                            #create ca-root hashes from ca-root-nss package
                                                            log_error("Creating root certificate bundle hashes from the Mozilla Project");
                                                            $cas=file(SQUID_LOCALBASE.'/share/certs/ca-root-nss.crt');
                                                            $cert=0;
                                                            foreach ($cas as $ca){
                                                            if (preg_match("/--BEGIN CERTIFICATE--/",$ca))
                                                                            $cert=1;
                                                                    if ($cert == 1)
                                                                            $crt.=$ca;
                                                                    if (preg_match("/-END CERTIFICATE-/",$ca)){
                                                                            file_put_contents("/tmp/cert.pem",$crt, LOCK_EX);
                                                                            $cert_hash=array();
                                                                            exec("/usr/bin/openssl x509 -hash -noout -in /tmp/cert.pem",$cert_hash);
                                                                            file_put_contents(SQUID_LOCALBASE."/share/certs/".$cert_hash[0].".0",$crt,LOCK_EX);
                                                                            $crt="";
                                                                            $cert=0;
                                                                            }
                                                                    }
                                                            }
                                            

                                            não fiz isso aí não! e acho que também não entendi isso aí!
                                            eu somente colei os .crt nos diretórios supracitados! Eu ainda não entendi o que eu devo fazer com esse código aí! sry, but I'm a newbie!

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.