Log do Squid https sem SSL Bumping

2

Eu implementei um proxy squid3 transparente para fins de registro.

Eu não estarei aplicando SSL desabilitado / descriptografia HTTPS, pois isso é muito para instalar um certificado em cada cliente.

No entanto, gostaria de registrar os dados da CONNECT URL passados para o squid. Por algum motivo, ele não registra nem mesmo o domínio raiz em solicitações HTTPS, quando elas definitivamente atingem o squid.

Existe alguma maneira de fazer isso?

Meu /squid.conf :

http_port 192.168.15.225:3128
http_port 127.0.0.1:3128 intercept
icp_port 0
dns_v4_first off
pid_filename /var/run/squid/squid.pid
cache_effective_user squid
cache_effective_group proxy
error_default_language en
icon_directory /usr/local/etc/squid/icons
visible_hostname localhost
cache_mgr admin@localhost
logformat squid %ts.%03tu %tr %>a %>eui %>Hs %<st %rm %ru %un %<A %mt 
access_log /var/squid/logs/access.mac.log squid
cache_log /var/squid/logs/cache.log
cache_store_log none
netdb_filename /var/squid/logs/netdb.state
pinger_enable on
pinger_program /usr/local/libexec/squid/pinger

logfile_rotate 0
debug_options rotate=0
shutdown_lifetime 3 seconds
acl localnet src  10.10.10.0/24 192.168.15.0/24
forwarded_for on
uri_whitespace strip

acl dynamic urlpath_regex cgi-bin \?
cache deny dynamic

cache_mem 64 MB
maximum_object_size_in_memory 256 KB
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
minimum_object_size 0 KB
maximum_object_size 4 MB
cache_dir ufs /var/squid/cache 100 16 256
offline_mode off
cache_swap_low 90
cache_swap_high 95
cache allow all
refresh_pattern ^ftp:    1440  20%  10080
refresh_pattern ^gopher:  1440  0%  1440
refresh_pattern -i (/cgi-bin/|\?) 0  0%  0
refresh_pattern .    0  20%  4320

acl allsrc src all
acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901  3128 3129 1025-65535 
acl sslports port 443 563  
acl purge method PURGE
acl connect method CONNECT

acl HTTP proto HTTP
acl HTTPS proto HTTPS
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

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

http_access allow localnet
http_access deny allsrc
    
por dthree 06.10.2016 / 05:15

1 resposta

3

Você não pode registrar CONNECT solicitações em um cache transparente. O pedido de conexão só seria enviado ao servidor do squid se o seu navegador tivesse sido configurado como um proxy. Se o navegador não estiver configurado para usar o squid como proxy, ele tentará negociar uma conexão TLS diretamente com o destino.

Se você redirecionasse essa conexão TLS, você precisaria do SSLBUMP ou obteria erros no seu navegador.

Mas digamos que você configurou seus navegadores para usar o squid. Você não receberá o URL . Tudo o que você verá é o FQDN do sistema que hospeda o site. O URL faz parte das solicitações http, que não são enviadas até que a conexão TLS seja estabelecida.

For some reason, it doesn't log even the root domain on HTTPS requests, when these definitely hit squid.

Eles não estão acertando o lula. Como eu disse acima, simplesmente não funciona assim. O CONNECT não é usado, a menos que seus navegadores estejam configurados para usar o proxy e você pareça estar configurando um proxy transparente. Isso quase certamente significa que seu sistema operacional está simplesmente roteando a solicitação como qualquer outro tráfego.

    
por 06.10.2016 / 08:41

Tags