Squid 3.3.10 para pfsense 2.0 e 2.1 com filtro de SSL/HTTPS
-
Veja com o tcpdump se as requisições estão chegando no squid.
Desabilite o squidguard até você conseguir fazer o ambiente funcionar.
-
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!!!
-
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.
-
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.
-
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 . LISTENFreeBSD 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.
-
O que aparece no cache.log?
-
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]
-
Você está usando proxy transparente? Se for marcar o proxy no navegador, use a porta 3128 mesmo.
-
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.
-
Marcello,
Segue resumo das "regras" do Firewall.
Interface LAN
Proto Source Port Destination Port Gateway Queue Schedule
IPv4 * * * * * * noneEstou 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
-
Segue resumo das "regras" do Firewall.
Interface LAN
Proto Source Port Destination Port Gateway Queue Schedule
IPv4 * * * * * * noneEsse 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.
-
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.
-
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 ??????
-
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.
-
Funcionou muito bem, de primeira. VLW
-
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.
-
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,
-
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.
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.
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?
-
Olá, estava tudo rodando legal só que do nada o SQUID parou.
php: /status_services.php: The command '/usr/local/etc/rc.d/squid.sh stop' returned exit code '1', the output was 'squid: No running copy'
sshd[1395]: Accepted keyboard-interactive/pam for root from 192.168.0.101 port 64248 ssh2 Apr 22 11:39:05 php: /pkg_edit.php: Reloading Squid for configuration sync Apr 22 11:39:03 php: /pkg_edit.php: [Squid] - Squid_resync function call pr:1 bp: rpc:no Apr 22 11:39:02 check_reload_status: Syncing firewall Apr 22 11:39:01 check_reload_status: Reloading filter Apr 22 11:39:01 php: /pkg_edit.php: Reloading Squid for configuration sync Apr 22 11:38:59 php: /pkg_edit.php: [Squid] - Squid_resync function call pr:1 bp: rpc:no Apr 22 11:34:21 check_reload_status: Reloading filter Apr 22 11:34:21 Squid_Alarm[39381]: Squid has resumed. Reconfiguring filter. Apr 22 11:34:12 lighttpd[51334]: (connections.c.137) (warning) close: 19 Connection reset by peer Apr 22 11:33:38 squid[22616]: Squid Parent: (squid-1) process 23136 started Apr 22 11:33:38 squid[22616]: Squid Parent: will start 1 kids Apr 22 11:33:36 php: /status_services.php: The command '/usr/local/etc/rc.d/squid.sh stop' returned exit code '1', the output was 'squid: No running copy' Apr 22 11:30:36 check_reload_status: Syncing firewall Apr 22 11:29:21 check_reload_status: Syncing firewall Apr 22 11:29:04 check_reload_status: Syncing firewall Apr 22 11:28:49 check_reload_status: Syncing firewall Apr 22 11:28:34 check_reload_status: Syncing firewall
Estou utilizando o "squid3-dev 3.3.10 pkg 2.2.2".
Já li em alguns tópicos e eles pediram para baixar novamente as LIBS, mas não funcionou, do nada ele para.
-
No fórum internacional, tem posts sobre isso.
Parece bug na 2.1.2.
Já tentou em outra versão do pfsense?