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 359.1k 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.
    • marcellocM
      marcelloc
      last edited by

      Interceptação de ssl só no squid3-dev.

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

      Help a community developer! ;D

      1 Reply Last reply Reply Quote 0
      • T
        teslacrew
        last edited by

        Marcelo, eu instalei o Squid3-dev e o SquidGuard-squid3, detalhe que acabei atualizando o meu pfSense para a nova versão 2.1.1 .. abs

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

          Veja com o tcpdump se as requisições estão chegando no squid.

          Desabilite o squidguard até você conseguir fazer o ambiente funcionar.

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

          Help a community developer! ;D

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

            Olá Pessoal,

            Configurei o PfSense para interceptar o SSL, mas não está funcionando.

            Segue o arquivo de squid.conf.

            
            # This file is automatically generated by pfSense
            # Do not edit manually !
            
            http_port 192.168.117.250:3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=10MB cert=/usr/pbi/squid-amd64/etc/squid/serverkey.pem capath=/usr/pbi/squid-amd64/share/certs/
            
            http_port 127.0.0.1:3128 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=10MB cert=/usr/pbi/squid-amd64/etc/squid/serverkey.pem capath=/usr/pbi/squid-amd64/share/certs/
            
            https_port 127.0.0.1:3129 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=10MB cert=/usr/pbi/squid-amd64/etc/squid/serverkey.pem capath=/usr/pbi/squid-amd64/share/certs/
            
            icp_port 7
            dns_v4_first on
            pid_filename /var/run/squid.pid
            cache_effective_user proxy
            cache_effective_group proxy
            error_default_language pt-br
            icon_directory /usr/pbi/squid-amd64/etc/squid/icons
            visible_hostname localhost
            cache_mgr admin@localhost
            access_log /var/squid/logs/access.log
            cache_log /var/squid/logs/cache.log
            cache_store_log none
            sslcrtd_program /usr/pbi/squid-amd64/libexec/squid/ssl_crtd -s /var/squid/lib/ssl_db -M 4MB -b 2048
            sslcrtd_children 5
            sslproxy_capath /usr/pbi/squid-amd64/share/certs/
            sslproxy_cert_error allow all
            sslproxy_cert_adapt setValidBefore all
            
            logfile_rotate 0
            shutdown_lifetime 3 seconds
            # Allow local network(s) on interface(s)
            acl localnet src  192.168.117.0/24
            httpd_suppress_version_string on
            uri_whitespace strip
            
            acl dynamic urlpath_regex cgi-bin \?
            cache deny dynamic
            
            cache_mem 8 MB
            maximum_object_size_in_memory 32 KB
            memory_replacement_policy heap GDSF
            cache_replacement_policy heap LFUDA
            
            minimum_object_size 0 KB
            maximum_object_size 10 KB
            offline_mode off
            cache allow all
            
            # No redirector configured
            
            #Remote proxies
            
            # Setup some default acls
            # From 3.2 further configuration cleanups have been done to make things easier and safer. The manager, localhost, and to_localhost ACL definitions are now built-in.
            # acl localhost src 127.0.0.1/32
            acl allsrc src all
            acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901  3128 3127 1025-65535
            acl sslports port 443 563
            
            # From 3.2 further configuration cleanups have been done to make things easier and safer. The manager, localhost, and to_localhost ACL definitions are now built-in.
            #acl manager proto cache_object
            
            acl purge method PURGE
            acl connect method CONNECT
            
            # Define protocols used for redirects
            acl HTTP proto HTTP
            acl HTTPS proto HTTPS
            acl allowed_subnets src 192.168.117.0/24
            acl blacklist dstdom_regex -i "/var/squid/acl/blacklist.acl"
            http_access allow manager localhost
            
            http_access deny manager
            http_access allow purge localhost
            http_access deny purge
            http_access deny !safeports
            http_access deny CONNECT !sslports
            
            # Always allow localhost connections
            # From 3.2 further configuration cleanups have been done to make things easier and safer.
            # The manager, localhost, and to_localhost ACL definitions are now built-in.
            # http_access allow localhost
            
            request_body_max_size 0 KB
            delay_pools 1
            delay_class 1 2
            delay_parameters 1 -1/-1 -1/-1
            delay_initial_bucket_level 100
            delay_access 1 allow allsrc
            
            # Reverse Proxy settings
            
            # Custom options
            
            # Block access to blacklist domains
            http_access deny blacklist
            always_direct allow all
            ssl_bump server-first all
            acl sglog url_regex -i sgr=ACCESSDENIED
            http_access deny sglog
            # Setup allowed acls
            # Allow local network(s) on interface(s)
            http_access allow allowed_subnets
            http_access allow localnet
            # Default block all to be sure
            http_access deny allsrc
            
            

            Alguém pode me ajudar?

            Desde já obrigado!!!

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

              @teslacrew:

              Marcelo, eu instalei o Squid3-dev e o SquidGuard-squid3, detalhe que acabei atualizando o meu pfSense para a nova versão 2.1.1 .. abs

              Marcelo, também estou com o mesmo problema do amigo acima, estava com tudo rodando redondinho squid transparent +squidguard, fui atualizar o pfsense pra versão 2.1.1 começou dar problemas, toda página https que tento abrir da erro de certificado, sabe o que pode ser? já quebrei a cabeça aqui e não consegui resolver, estou pensando em voltar pro pfsense 2.1.

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

                Não testei a atualização da 2.1 para a 2.1.1 com o squid.

                O primeiro passo é verificar se o certificado é o mesmo.

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

                Help a community developer! ;D

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

                  Pessoal,

                  Seguem mais informações sobre o squid aqui.

                  [2.1-RELEASE][root@pfsense.localdomain]/root(20): netstat -an | grep LISTEN
                  tcp4      0      0 127.0.0.1.3129        .                    LISTEN
                  tcp4      0      0 127.0.0.1.3128        .                    LISTEN
                  tcp4      0      0 192.168.117.250.3128  .                    LISTEN
                  tcp6      0      0 *.53                  .                    LISTEN
                  tcp4      0      0 *.53                  .                    LISTEN
                  tcp4      0      0 *.22                  .                    LISTEN
                  tcp6      0      0 *.22                  .                    LISTEN
                  tcp4      0      0 *.80                  .                    LISTEN
                  tcp6      0      0 *.443                  .                    LISTEN
                  tcp4      0      0 *.443                  .                    LISTEN

                  FreeBSD pfsense.localdomain 8.3-RELEASE-p11 FreeBSD 8.3-RELEASE-p11 #0: Wed Sep 11 18:51:23 EDT 2013    root@snapshots-8_3-amd64.builders.pfsense.org:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense_SMP.8  amd64

                  Criei a CA e importei como Trusted Root CA no cliente para teste.

                  O acesso na 3128 está 100% ok, mas na 3129 nada.

                  Alguma luz?

                  At.,

                  Daniel.

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

                    O que aparece no cache.log?

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

                    Help a community developer! ;D

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

                      Bom dia, Marcello.

                      Segue log.

                      
                      2014/04/08 09:11:28 kid1| Starting Squid Cache version 3.3.10 for amd64-portbld-freebsd8.3...
                      2014/04/08 09:11:28 kid1|  parse error while reading template file: /usr/pbi/squid-amd64/etc/squid/errors/en/error-details.txt
                      2014/04/08 09:11:28 kid1| Unable to load default error language files. Reset to backups.
                      2014/04/08 09:11:28 kid1|  parse error while reading template file: /usr/pbi/squid-amd64/etc/squid/errors/templates/error-details.txt
                      2014/04/08 09:11:28 kid1| WARNING: failed to find or read error text file error-details.txt
                      2014/04/08 09:11:28| pinger: Initialising ICMP pinger ...
                      2014/04/08 09:11:28 kid1| Shutdown: NTLM authentication.
                      2014/04/08 09:11:28 kid1| Shutdown: Negotiate authentication.
                      2014/04/08 09:11:28 kid1| Shutdown: Digest authentication.
                      2014/04/08 09:11:28 kid1| Shutdown: Basic authentication.
                      2014/04/08 09:11:36 kid1| Starting Squid Cache version 3.3.10 for amd64-portbld-freebsd8.3...
                      2014/04/08 09:11:36 kid1|  parse error while reading template file: /usr/pbi/squid-amd64/etc/squid/errors/en/error-details.txt
                      2014/04/08 09:11:36 kid1| Unable to load default error language files. Reset to backups.
                      2014/04/08 09:11:36 kid1|  parse error while reading template file: /usr/pbi/squid-amd64/etc/squid/errors/templates/error-details.txt
                      2014/04/08 09:11:36 kid1| WARNING: failed to find or read error text file error-details.txt
                      2014/04/08 09:11:36| pinger: Initialising ICMP pinger ...
                      2014/04/08 09:11:40 kid1| Starting Squid Cache version 3.3.10 for amd64-portbld-freebsd8.3...
                      2014/04/08 09:11:40 kid1|  parse error while reading template file: /usr/pbi/squid-amd64/etc/squid/errors/en/error-details.txt
                      2014/04/08 09:11:40 kid1| Unable to load default error language files. Reset to backups.
                      2014/04/08 09:11:40 kid1|  parse error while reading template file: /usr/pbi/squid-amd64/etc/squid/errors/templates/error-details.txt
                      2014/04/08 09:11:40 kid1| WARNING: failed to find or read error text file error-details.txt
                      2014/04/08 09:11:40| pinger: Initialising ICMP pinger ...
                      
                      

                      No browser IE com o CA instalado eu tenho essa msg:

                      •Check your proxy settings 192.168.117.250:3129.
                      Go to Tools > Internet Options > Connections. If you are on a LAN, click “LAN settings”.
                      •Make sure your firewall settings aren’t blocking your web access.
                      •Ask your system administrator for help.

                      Tcpdump no PfSense.

                      
                      [2.1-RELEASE][root@pfsense.localdomain]/var/squid/logs(9): tcpdump not port 22 and host 192.168.117.89 and port 3129
                      tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
                      listening on em0, link-type EN10MB (Ethernet), capture size 96 bytes
                      09:28:37.816210 IP 192.168.117.89.49229 > pfsense.localdomain.3129: Flags [s], seq 3453049056, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
                      09:28:40.806905 IP 192.168.117.89.49229 > pfsense.localdomain.3129: Flags [s], seq 3453049056, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
                      09:28:46.813291 IP 192.168.117.89.49229 > pfsense.localdomain.3129: Flags [s], seq 3453049056, win 8192, options [mss 1460,nop,nop,sackOK], length 0
                      09:28:58.811285 IP 192.168.117.89.49230 > pfsense.localdomain.3129: Flags [s], seq 1367197418, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
                      09:29:01.820173 IP 192.168.117.89.49230 > pfsense.localdomain.3129: Flags [s], seq 1367197418, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
                      09:29:07.826499 IP 192.168.117.89.49230 > pfsense.localdomain.3129: Flags [s], seq 1367197418, win 65535, options [mss 1460,nop,nop,sackOK], length 0
                      [code]
                      
                      Obrigado.
                      
                      Daniel.[/code][/s][/s][/s][/s][/s][/s]
                      
                      1 Reply Last reply Reply Quote 0
                      • marcellocM
                        marcelloc
                        last edited by

                        Você está usando proxy transparente? Se for marcar o proxy no navegador,  use a porta 3128 mesmo.

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

                        Help a community developer! ;D

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

                          Olhando o tcpdump, acredito que esteja faltando também a regra que libera acesso local a 3129.

                          As conexões não estáo chegando ao squid.

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

                          Help a community developer! ;D

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

                            Marcello,

                            Segue resumo das "regras" do Firewall.

                            Interface LAN
                            Proto Source Port Destination Port Gateway Queue Schedule
                            IPv4 * *      * *                 * *         none

                            Estou usando como proxy transparente, pelo que você disse, tenho que configurar no browser somente a porta 3128 para todos os protocolos, certo?

                            Devo mudar também a porta do SSL nas confs do squid ou devo manter 3129?

                            At.,

                            Daniel

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

                              @dfioretti:

                              Segue resumo das "regras" do Firewall.

                              Interface LAN
                              Proto Source Port Destination Port Gateway Queue Schedule
                              IPv4 * *      * *                 * *         none

                              Esse resumo diz:
                              Tenho um firewall totalmente aberto, nenhuma restrição de saída.

                              Pode usar o proxy em modo transparente, mas sugiro fortemente você rever suas regras.

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

                              Help a community developer! ;D

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

                                Marcello,

                                Sim, tenho um firewall completamente aberto, pois estou querendo testar unicamente o SQUID.

                                Firewall e cliente estão confinados em um ambiente virtualizado tendo acesso externo somente pela interface WAN do firewall.

                                Você tem um ambiente de teste para que eu possa comparar com o meu?

                                At.,

                                Daniel.

                                1 Reply Last reply Reply Quote 0
                                • S
                                  sapodexter
                                  last edited by

                                  Olá pessoal sou novo aqui no fórum, adotei aqui na empresa o Pfsense, gostei muito da ferramenta, atende muito bem minha necessidade, mas recentemente eu fiz o filtro de ssl/https e funcionou perfeito, mas fui atualizar o firmware do pfsense pra versão recente e aí começara meus problemas, não consigo mais fazer funcionar o meu certificado, ele tá dando esse erro no navegador " O servidor www.google.com.br usa um certificado de segurança inválido. O certificado não é considerado confiável porque é autoassinado. O certificado é válido somente para proxy-ca. (Código do erro: sec_error_untrusted_issuer) ", eu já removi o certificado, criei outro e instalei mas sem sucesso. Será que alguém aqui já teve esse mesmo problema e pode me ajudar ??????

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

                                    Coloque estas acl no campo Custom ACLS (Before_Auth)

                                    
                                    always_direct allow all
                                    ssl_bump server-first all
                                    

                                    Na versão 3.2.3 já está corrigida, mas infelizmente o repositório dos pacotes agora só é alterado pelo core team.

                                    Uma atualização que demorava minutos agora pode levar dias… como acontece com o snort.

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

                                    Help a community developer! ;D

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      rec
                                      last edited by

                                      Funcionou muito bem, de primeira. VLW

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

                                        Bom dia a todos, especialmente ao Marcello.

                                        Tudo bom Marcello, você tem alguma ideia do que possa estar acontecendo com meu ambiente? Ou mesmo alguma ideia para que efetue um teste?

                                        Antecipadamente, obrigado.

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tdaniel
                                          last edited by

                                          Marcelloc,

                                          Tudo bem? Primeiramente obrigado pelo vídeo, contribuiu em muito pois estou utilizando o pfsense agora na empresa que trabalho. Estou utilizando a última versão 2.1.2, e percebi que todos os https estão sendo bloqueados, mesmo com o certificado corretamente instalado. Fiz um teste, colocando o ip e a porta 3128 nas configurações do navegador, resolveu. Está liberando os https que preciso, e bloqueando os que pedi (ex. facebook).

                                          Sabe o que estar ocorrendo?

                                          Abraço,

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

                                            @tdaniel:

                                            Tudo bem? Primeiramente obrigado pelo vídeo,

                                            Qual vídeo? A lista de tutorias tem topicos de vários autores, eu só organizo para facilitar a busca.

                                            @tdaniel:

                                            contribuiu em muito pois estou utilizando o pfsense agora na empresa que trabalho.

                                            Não esqueça de apertar um Thanks no tópico que te ajudou.

                                            @tdaniel:

                                            Estou utilizando a última versão 2.1.2, e percebi que todos os https estão sendo bloqueados, mesmo com o certificado corretamente instalado. Fiz um teste, colocando o ip e a porta 3128 nas configurações do navegador, resolveu. Está liberando os https que preciso, e bloqueando os que pedi (ex. facebook).

                                            Sabe o que estar ocorrendo?

                                            Não sei como configurou seu ambiente. squid3-dev? autenticação captive portal?

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

                                            Help a community developer! ;D

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