鱿鱼日志HTTPS没有SSL碰撞

为了logging目的,我实现了一个透明的squid3代理。

我不会进行SSL冲突/ HTTPS解密,因为这太多了,无法在每个客户端上安装证书。

但是,我想logging传递给鱿鱼的CONNECT URL数据。 由于某种原因,它甚至不会loggingHTTPS请求上的根域,当这些域名一定是鱿鱼的时候。

有没有办法做到这一点?


我的/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 

您无法在透明caching上loggingCONNECT请求。 如果您的浏览器已被configuration为代理,连接请求将只被发送到鱿鱼服务器。 如果浏览器未configuration为使用squid作为代理,则将尝试直接与目标协商TLS连接。

如果您redirect了TLS连接,则要么需要SSLBUMP,要么在浏览器中出现错误。

但让我们说你configuration你的浏览器使用鱿鱼。 你不会得到的url 。 您将看到的是承载网站的系统的FQDN。 该URL是http请求的一部分,直到TLS连接build立之后才会发送该请求。

由于某种原因,它甚至不会loggingHTTPS请求上的根域,当这些域名一定是鱿鱼的时候。

他们没有打鱿鱼。 就像我上面所说的那样,这根本就不行。 除非您的浏览器被configuration为使用代理,并且您似乎声称将其设置为透明代理,否则不会使用CONNECT。 这几乎肯定意味着您的操作系统只是简单地将请求路由为任何其他stream量。