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 361.4k 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.
    • T
      teslacrew
      last edited by

      Marcelo, boa tarde.
      Amigo se puder me esclarece aqui …estou tentando configurar aqui no meu pfSense 2.1 o proxy transparente + squid3 + squidguard3, em um outro tutorial aqui no fórum informa para criar um certificado, eu tenho captive portal, fiz toda a instalação seguindo o tutorial só que quando eu habilito o squid e squidguard os sites https não abrem mesmo eu tenho instalado o certificado no browser, tô errando onde ? abs.

      1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.