squid nao mostra pagina de erro quando bloqueia https [RESOLVIDO]

1. squid nao mostra pagina de erro quando bloqueia https [RESOLVIDO]

junior
junior-123

(usa KUbuntu)

Enviado em 24/07/2013 - 18:22h

ola, montei um proxy. e parece tudo ok, mas quando um site que deve ser bloqueado eh acessado por https o squid não mostra a pagina de erro. alguem pode me ajudar?


quando esse bloqueio acontece o navegador mostra a mensagem: Firefox is configured to use a proxy server that is refusing connections.

segue meu squid.conf

 
http_port 3128
visible_hostname Servidor_Proxy
error_directory /usr/share/squid3/errors/Portuguese

## configurações do cache ####################################

cache_mem 64 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 200 MB
cache_swap_low 90
cache_swap_high 95

# tamanhoMB QTdir QTsub-dir
cache_dir ufs /var/spool/squid3 2048 16 256

cache_access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log
# tempo Min %Alteracao tempo Min
# tempo no cache verificar paraSer atualizarMesmoSem
# Alteracao Atualizado alteracao
refresh_pattern ^ftp: 360 20% 10080
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 10 20% 2280

## fim do cache ###############################################


## Configuração Autenticacao ##################################

auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
auth_param basic credentialsttl 2 hour #tempo ate aunteticar denovo
auth_param basic realm Servidor Proxy, preencha seus dados!
acl autenticados proxy_auth REQUIRED

## fim da autenticacao ########################################


## regras de acesso ##########################################

acl redes_permitidas src 192.168.2.0/24 127.0.0.1/32

http_access deny !redes_permitidas

acl localhost src 127.0.0.1/32

acl manager proto cache_object
http_access allow manager localhost
http_access deny manager

acl purge method PURGE
http_access allow purge localhost
http_access deny purge

acl Safe_ports port 21 70 80 210 280 443 488 563 591 631 777 873 901 1025-65535
http_access deny !Safe_ports

#conexao direta para portas seguras
acl connect method CONNECT
acl SSL_ports port 443 563 873
http_access deny connect !SSL_ports

acl dominios_bloqueados dstdomain "/etc/squid3/bloqueios/dominios"
acl palavras_bloqueadas url_regex -i "/etc/squid3/bloqueios/palavras"
acl extencoes_bloqueadas urlpath_regex -i "/etc/squid3/bloqueios/extencoes"

acl diretores proxy_auth "/etc/squid3/grupos_usuarios/diretores"
acl funcionarios proxy_auth "/etc/squid3/grupos_usuarios/funcionarios"

http_access allow diretores
http_access deny dominios_bloqueados
http_access deny palavras_bloqueadas
http_access deny extencoes_bloqueadas
http_access allow funcionarios

http_access deny all




  


2. Re: squid nao mostra pagina de erro quando bloqueia https [RESOLVIDO]

Douglas Menger
DouglasMenger

(usa XUbuntu)

Enviado em 12/11/2013 - 16:22h

Também estou procurando uma solução para isto.

Já fiz algumas pesquisas encontrei mais pessoas buscando uma resposta para isso mas nada de solução.


3. Re: squid nao mostra pagina de erro quando bloqueia https [RESOLVIDO]

Rodney
rotaviano

(usa CentOS)

Enviado em 25/11/2013 - 18:50h

a solucao é proxy autenticado

se vc usa proxy transparente sem chance

a nao ser q vc faca o bloqueio por iptables ou echo 127.0.0.1

cara...é o seguinte...

tambem uso proxy transparente e consegui resolver barrando pela string

barrar pela resolução de nomes

echo “127.0.0.1 facebook.com” >> /etc/hosts
echo “127.0.0.1 m.facebook.com” >> /etc/hosts
echo “127.0.0.1 www.facebook.com” >> /etc/hosts

pra mim deu certo...testa ae

abraço


4. Preciso de ajuda para fazer isto

Ivoney da Silva Borges
ivoneyborges

(usa Debian)

Enviado em 14/02/2014 - 12:17h

Não consegui resolver este problema!!! Voce conseguiu?


5. Sem soluções

Roselio
roselio_jantara

(usa Debian)

Enviado em 14/02/2014 - 20:47h

ivoneyborges escreveu:

Não consegui resolver este problema!!! Voce conseguiu?


Eu apanhei tanto do https que me contentei em apenas conseguir bloquear, bem na época que eles mudaram tinha acabado de montar 2 servidores proxy, se hoje ainda não tem muitas soluções imagine a 2 anos atrás!
Meu problema foi bloquear o Facebook,Twitter, Youtube e liberar os Bancos que também usam https (Porta 443), consegui por string no firewall.
E apesar de usar proxy transparente para que os ip's da diretoria naveguem sem bloqueio o proxy tem que estar setado no navegador! O restante navega oque ta na lista branca e bancos (https)sem problemas. Demorei 15 dias trabalhando 12 horas por dia pra chegar nesta solução!
Boa Sorte a vocês !


6. Re: squid nao mostra pagina de erro quando bloqueia https [RESOLVIDO]

carlos augusto mendes neves
carlosrv

(usa Outra)

Enviado em 15/10/2016 - 19:36h

Alguem conseguiu alguma solução para o problema acima ?


7. Re: squid nao mostra pagina de erro quando bloqueia https [RESOLVIDO]

Geraldo Menon
gmj

(usa Ubuntu)

Enviado em 17/10/2016 - 10:18h

Bom dia,


Alguém encontrou alguma solução ?

Estou com o mesmo problema tb.
Não exibe a tela de bloqueio do squid nas paginas https, nas demais exibe.

Att




8. Re: squid nao mostra pagina de erro quando bloqueia https

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/10/2016 - 10:42h

Isto não é um erro. O proxy não entrega a página de erro quando bloqueia um site usando https por que ele só consegue ler o endereço com a porta, por que o próprio navegador informa o endereço. por exemplo www.site.com.br:443.

Para saber por que isso ocorre leia está página que irá entender como ocorre a comunicação: http://www.web-cache.com/Writings/Internet-Drafts/draft-luotonen-web-proxy-tunneling-01.txt

Se quer que o proxy leia as informações para fazer filtros mais elaborados e o mesmo entregar as páginas de bloqueio do squid, o squid precisa trabalhar como man-in-the-middle.


9. Re: squid nao mostra pagina de erro quando bloqueia https

GeekZilla The Geek
GeekZilla

(usa CentOS)

Enviado em 26/10/2016 - 15:30h

Vou abrir um tópico dedicado mas como existe a dúvida neste tópico também:

Pessoal quem utiliza Squid + C-ICAP ou qualquer outro servidor ICAP provavelmente já se deparou com o seguinte problema:

Em um cenário onde com proxy não-transparente e sem certificados nas maquinas o Squid/ICAP retorna um erro que não é "entendido" pelo navegador que exibe uma mensagem própria como se o site estivesse fora do ar, o problema afeta também Endian Firewall, Pfsense e outras distribuições de FW.

Mas a solução foi encontrada pelo pessoal da Diladele, um server ICAP que também trabalha com o Squid mas tem apenas versão trial de 30 dias e comercial, tornando-o inviavel para quem trabalha apenas com Open Source.

Antes de mais nada segue a analise deles do problema:

Se na sua rede os navegadores utilizam um proxy explicito (Configurado no navegador, não transparente) ao navegar para um site HTTPS bloqueado a sequência de eventos abaixo ocorre:

1-O navegador estabelece uma conexão HTTP normal ao proxy server e envia o pedido CONNECT facebook.com:443 para configurar o tunel seguro ao Facebook.

2- O Squid intercepta este pedido e o redireciona ao servidor ICAP

3- O servidor ICAP "vê" que o dominio facebook.com está bloqueado e retorna um mensagem HTTPS "403 Blocked" ao Squid.

4- O Squid encaminha o "403 Blocked" de volta para o navegador

5- O Navegador espera receber o Handshake SSL do Facebook e ao invés disto vê um fluxo inesperado de bytes (a resposta 403) e mostra uma mensagem padrão do próprio navegador "Não é possível conectar ao site utilizando HTTPS" ao invés da página de erro do Squid.

A solução no caso é primeiro deixar o tunel CONNET ser bem sucedido e depois bloquear o primeiro pedido neste tunel.

O problema está sendo implementar a solução da Diladele no Endian e no Squid +ICAP utilizado pela comunidade em geral.

Perguntei ao Rafael da Diladele se o "segredo" eram somentes as ACLS que ele criou combinadas com SSL Bump já disponível no Squid e ele me disse que sim então a base seria o código abaixo

# No caso forçamos o sslbump a habilitar o bloqueio "atrasado" de túneis CONNECT, funciona apenas em modo não transparente, adicionando um header "X-SSL-Bump: force" ao pedido CONNECT

acl qlproxy_ssl_force_bump req_header X-SSL-Bump -i force
ssl_bump server-first qlproxy_ssl_force_bump
# bump all others by default
ssl_bump server-first all


A diladele fornece uma vm já configura com o sistema (baixe a versão 4.7 que tem a licença trial válida ainda por 30 dias) para quem quiser analisar o funcionamento do sistema, testei aqui e realmente a mensagem de erro está sendo exibida, só lembre de marcar a opção no filtro do proxy.

Agora o negócio é implementar esta solução no Squid + qualquer servidor ICAP. Idéias pessoal?

Thanks!

(Meu Squid.conf atual "puro" sem as regras extras, já tentei algumas váriavies mas ainda sem sucesso, se no tempo do pessoal aqui analisar eu conseguir a solução, postarei aqui visto que é um problema que já tem anos e só agora veio uma solução prática que não envolva ter que instalar um certificado em cada máquina da rede, no meu caso com redes com 3/4 mil usuários é totalmente inviável especialmente porque nem todos estão no AD)

#        +------------------------------------------------------------------------------+
# | Endian Firewall |
# +------------------------------------------------------------------------------+
# | Copyright (c) 2005-2006 Endian |
# | Endian GmbH/Srl |
# | Bergweg 41 Via Monte |
# | 39057 Eppan/Appiano |
# | ITALIEN/ITALIA |
# | info@endian.it |
# | |
# | This program is free software; you can redistribute it and/or |
# | modify it under the terms of the GNU General Public License |
# | as published by the Free Software Foundation; either version 2 |
# | of the License, or (at your option) any later version. |
# | |
# | This program is distributed in the hope that it will be useful, |
# | but WITHOUT ANY WARRANTY; without even the implied warranty of |
# | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# | GNU General Public License for more details. |
# | |
# | You should have received a copy of the GNU General Public License |
# | along with this program; if not, write to the Free Software |
# | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
# | http://www.fsf.org/ |
# +------------------------------------------------------------------------------+

shutdown_lifetime 1 seconds
icp_port 0

workers 1

# direct access - acls
acl to_proxy_port port 8080 18080 18081
# proxy interfaces - acls
acl to_orange_interface dst 192.168.2.240
acl to_green_interface dst 192.168.174.249

acl from_orange src "/etc/squid/acls/orange_subnets.acl"
acl to_orange dst "/etc/squid/acls/orange_subnets.acl"
acl from_green src "/etc/squid/acls/green_subnets.acl"
acl to_green dst "/etc/squid/acls/green_subnets.acl"

tcp_outgoing_mark 0x20000000
tcp_preserve_outgoing_mark_mask 0x3fff8

#=== ORANGE zone setting ===
#=== ORANGE IP 192.168.2.240 ===
http_port 192.168.2.240:8080

#=== GREEN zone setting ===
#=== GREEN IP 192.168.174.249 ===
http_port 192.168.174.249:8080

nontransparent_spoof_client_ip allow all



dns_v4_first on

cache_effective_user squid

pid_filename /var/run/squid.pid

cache_mem 40 MB

cache_dir rock /var/spool/squid 500 max-size=32768

error_directory /usr/share/squid/errors/en

icon_directory /usr/share/squid/icons

max_filedesc 54140

server_persistent_connections off
half_closed_clients off
buffered_logs on

# START LOG
cache_log /var/log/squid/cache.log
access_log syslog:local6.info
cache_store_log none

strip_query_terms off

log_mime_hdrs off
# END LOG

# FORWARD IP ADDRESS
forwarded_for delete

# START AUTHENTICATION
# windows logon name for auth
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --configfile=/etc/samba/winbind.conf
auth_param ntlm children 45
auth_param ntlm keep_alive off
# domain user or auth
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --configfile=/etc/samba/winbind.conf
auth_param basic children 45
auth_param basic realm geekzilla.geek
#kerberos
auth_param negotiate program /usr/lib/squid/negotiate_wrapper_auth --ntlm /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --configfile=/etc/samba/winbind.conf --kerberos /usr/lib/squid/negotiate_kerberos_auth
auth_param negotiate children 45
auth_param negotiate keep_alive off

external_acl_type NT_global_group children-max=45 ttl=300 ipv4 %LOGIN /usr/lib/squid/wbinfo_group.pl
acl for_auth_rule0 external NT_global_group "/etc/squid/groups/rule0"
acl for_auth_rule1 external NT_global_group "/etc/squid/groups/rule1"
acl for_auth_rule2 external NT_global_group "/etc/squid/groups/rule2"

acl for_auth_users proxy_auth REQUIRED
# END AUTHENTICATION

# network - acls
acl from_all src all
acl to_all dst all

acl from_localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.1/32
acl CONNECT method CONNECT

acl to_http_port port 80
acl to_https_port port 10443

# allowed ports - acls
acl allowed_ports port "/etc/squid/acls/ports.acl"
acl allowed_sslports port "/etc/squid/acls/sslports.acl"


acl within_timeframe_rule0 time MTWHFAS 00:00-24:00
acl using_mimetype_rule0 rep_mime_type "/etc/squid/acls/mimetypes_rule0.acl"
acl with_browser_rule0 browser (AOL)|(avantbrowser)|(Chrome)|(Firefox)|(FrontPage)|(Gecko)|(GetRight)|(Go!Zilla)|(Google\sToolbar)|(Iceweasel)|(Java)|(Konqueror)|(Lynx)|(MSIE.*[)]$)|(^Mozilla\/4.[7|8])|(Netscape)|(Opera)|(Safari)|(wget)|(Industry\sUpdate\sControl)|(Windows\sUpdate)|(Service\sPack\sSetup)|(Progressive\sDownload)|(Windows-Update-Agent)|(Windows\sUpdate\sAgent)|(APT-HTTP/1\.3)|(urlgrabber)
acl within_timeframe_rule1 time MTWHFAS 00:00-24:00
acl within_timeframe_rule2 time MTWHFAS 00:00-24:00

# caching settings
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

cache deny from_localhost
cache deny CONNECT
cache allow from_all

# http access to cachemanager
acl cachemanageracl proto cache_object
http_access allow cachemanageracl from_localhost
http_access deny cachemanageracl

# snmp access settings
snmp_port 3401
acl snmppublic snmp_community public
snmp_access allow snmppublic from_localhost
snmp_access deny from_all

# http access to squid
http_access deny to_localhost
http_access allow from_localhost
http_access allow from_green to_green_interface to_http_port
http_access allow from_green to_green_interface to_https_port
http_access allow CONNECT from_green to_green_interface to_https_port
http_access deny to_orange_interface to_https_port
http_access deny to_orange_interface to_proxy_port
http_access deny to_green_interface to_https_port
http_access deny to_green_interface to_proxy_port

http_access deny !allowed_ports !allowed_sslports
http_access deny CONNECT !allowed_sslports

http_access deny within_timeframe_rule0 for_auth_rule0 with_browser_rule0 using_mimetype_rule0
http_access allow within_timeframe_rule1 for_auth_rule1
http_access allow within_timeframe_rule2 for_auth_rule2
http_access deny from_all

# http reply access rules
http_reply_access allow from_localhost
http_reply_access deny within_timeframe_rule0 for_auth_rule0 with_browser_rule0 using_mimetype_rule0
http_reply_access allow within_timeframe_rule1 for_auth_rule1
http_reply_access allow within_timeframe_rule2 for_auth_rule2
http_reply_access deny from_all

# max/min object size
maximum_object_size 1024 KB
minimum_object_size 0 KB

reply_body_max_size 300000 KB from_all

visible_hostname proxy01.geekzilla.rdc



icap_enable on
icap_service_revival_delay 30
icap_service_failure_limit -1
icap_preview_enable on
icap_preview_size 128
icap_send_client_ip on
icap_send_client_username on

include /etc/squid/squid.conf.d/*.conf

adaptation_access service_cf_req deny cachemanageracl

# icap contentfilter access control
# rule 0 -
adaptation_access service_cf_req deny within_timeframe_rule0 for_auth_rule0 with_browser_rule0 using_mimetype_rule0
# rule 1 - adminsrede
adaptation_access service_cf_req allow within_timeframe_rule1 for_auth_rule1
adaptation_meta X-Profile profileadminsrede within_timeframe_rule1 for_auth_rule1
# rule 2 - domain_users
adaptation_access service_cf_req allow within_timeframe_rule2 for_auth_rule2
adaptation_meta X-Profile profiledomain_users within_timeframe_rule2 for_auth_rule2
# default deny - only allow defined traffic
adaptation_access service_cf_req deny all








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts