Search squid archive

Re: Squid 6.10 on Fedora 40 cannot intercept and bump SSL Traffic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024-08-23 06:29, ngtech1ltd@xxxxxxxxx wrote:
OK so the issue was that:

The http_port was used for ssl bump with intercept

I would not phrase it that way because "bump" is a red herring here. I would instead say that the issue was that "http_port was used for intercepted TLS traffic" or "intercepted TLS traffic was directed to http_port".


while the only port which can really intercept ssl connections is: https_port

Correct (for some definition of "ssl connections").


so I believe that ...
When there is http_port and intercept and ssl_bump there should be a warning.

When configuration X does not work for use case Y, there are several scenarios to consider when deciding whether Squid should warn about configuration X, including these three:

* When configuration X does not work at all, Squid should reject that configuration as invalid. It is not a warning; it is an error. This is not the case we are discussing (AFAICT) because "http_port intercept ssl-bump" does work in some cases.

* When configuration X does not work for use case Y, Squid should reject that configuration as invalid _if_ Squid can detect that it is being used for use case Y. This is not the case we are discussing (AFAICT) because Squid cannot detect (at configuration time) what traffic you intend to intercept and redirect to a given Squid port: It could be TLS. It could be plain HTTP. It could be a mix. Squid cannot tell.

* When an unusual configuration X does not work for common use cases, Squid may warn about it while giving the admin an ability to turn the warning off (to accommodate admins that utilize that configuration for some uncommon but valid use cases). One can argue that this is the case we are discussing: "http_port intercept ssl-bump" configuration in question is unusual, does not work for common TLS interception cases, but can be used (AFAICT) to bump traffic between a client and an HTTP proxy. Quality pull requests (that take this email considerations into account) are welcome.


HTH,

Alex.


*From:* NgTech LTD <ngtech1ltd@xxxxxxxxx>
*Sent:* Monday, August 19, 2024 10:48 AM
*To:* Squid Users <squid-users@xxxxxxxxxxxxxxxxxxxxx>
*Subject:* Squid 6.10 on Fedora 40 cannot intercept and bump SSL Traffic

I am testing Squid 6.10 on Fedora 40 (their package).
And it seems that Squid is unable to bump clients (ESNI/ECH)?

I had couple iterations of pek stare and bump and I am not sure what is the reason for that:
shutdown_lifetime 3 seconds
external_acl_type whitelist-lookup-helper ipv4 ttl=10 children-max=10 children-startup=2 \         children-idle=2 concurrency=10 %URI %SRC /usr/local/bin/squid-conf-url-lookup.rb
acl whitelist-lookup external  whitelist-lookup-helper
acl ytmethods method POST GET
acl localnet src 0.0.0.1-0.255.255.255  # RFC 1122 "this" network (LAN)
acl localnet src 10.0.0.0/8 <http://10.0.0.0/8>             # RFC 1918 local private network (LAN) acl localnet src 100.64.0.0/10 <http://100.64.0.0/10>          # RFC 6598 shared address space (CGN) acl localnet src 169.254.0.0/16 <http://169.254.0.0/16>         # RFC 3927 link-local (directly plugged) machines acl localnet src 172.16.0.0/12 <http://172.16.0.0/12>          # RFC 1918 local private network (LAN) acl localnet src 192.168.0.0/16 <http://192.168.0.0/16>         # RFC 1918 local private network (LAN) acl localnet src fc00::/7               # RFC 4193 local private network range acl localnet src fe80::/10              # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access deny to_localhost
http_access deny to_linklocal
acl tubedoms dstdomain .ytimg.com <http://ytimg.com> .youtube.com <http://youtube.com> .youtu.be <http://youtu.be>
http_access allow ytmethods localnet tubedoms whitelist-lookup
http_access allow localnet
http_access deny all
http_port 3128
http_port 13128 ssl-bump tls-cert=/etc/squid/ssl/cert.pem tls-key=/etc/squid/ssl/key.pem \
         generate-host-certificates=on dynamic_cert_mem_cache_size=4MB
http_port 23128 tproxy ssl-bump tls-cert=/etc/squid/ssl/cert.pem tls-key=/etc/squid/ssl/key.pem \
         generate-host-certificates=on dynamic_cert_mem_cache_size=4MB
http_port 33128 intercept ssl-bump tls-cert=/etc/squid/ssl/cert.pem tls-key=/etc/squid/ssl/key.pem \
         generate-host-certificates=on dynamic_cert_mem_cache_size=4MB
sslcrtd_program /usr/lib64/squid/security_file_certgen -s /var/spool/squid/ssl_db -M 4MB
sslcrtd_children 5
acl foreignProtocol squid_error ERR_PROTOCOL_UNKNOWN ERR_TOO_BIG
acl serverTalksFirstProtocol squid_error ERR_REQUEST_START_TIMEOUT
on_unsupported_protocol tunnel foreignProtocol
on_unsupported_protocol tunnel serverTalksFirstProtocol
on_unsupported_protocol respond all
acl monitoredSites ssl::server_name .youtube.com <http://youtube.com> .ytimg.com <http://ytimg.com>
acl monitoredSitesRegex ssl::server_name_regex \.youtube\.com \.ytimg\.com
acl serverIsBank ssl::server_name .visa.com <http://visa.com>
acl step1 at_step SslBump1
acl step2 at_step SslBump2
acl step3 at_step SslBump3
ssl_bump bump all
strip_query_terms off
coredump_dir /var/spool/squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320
logformat ssl_custom_format %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt %ssl::>sni
access_log daemon:/var/log/squid/access.log ssl_custom_format
##EOF

access.log from before:
1724028804.797    486 192.168.78.15 TCP_TUNNEL/200 17764 CONNECT 40.126.31.73:443 <http://40.126.31.73:443> - ORIGINAL_DST/40.126.31.73 <http://40.126.31.73> - - 1724028805.413      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028806.028      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028806.028      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028806.029      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028806.030      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028806.085     57 192.168.78.15 TCP_TUNNEL/200 4513 CONNECT 104.18.72.113:443 <http://104.18.72.113:443> - ORIGINAL_DST/104.18.72.113 <http://104.18.72.113> - - 1724028806.086     56 192.168.78.15 TCP_TUNNEL/200 4513 CONNECT 104.18.72.113:443 <http://104.18.72.113:443> - ORIGINAL_DST/104.18.72.113 <http://104.18.72.113> - - 1724028806.086     56 192.168.78.15 TCP_TUNNEL/200 4512 CONNECT 104.18.72.113:443 <http://104.18.72.113:443> - ORIGINAL_DST/104.18.72.113 <http://104.18.72.113> - - 1724028806.208      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028806.213      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028806.338      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028806.469      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028806.596      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028807.006      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028807.262      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028808.922   5037 192.168.78.15 TCP_TUNNEL/200 6096 CONNECT 13.107.246.60:443 <http://13.107.246.60:443> - ORIGINAL_DST/13.107.246.60 <http://13.107.246.60> - - 1724028812.906   8336 192.168.78.15 TCP_TUNNEL/200 1071500 CONNECT 104.126.37.171:443 <http://104.126.37.171:443> - ORIGINAL_DST/104.126.37.171 <http://104.126.37.171> - - 1724028819.209 247893 192.168.78.15 TCP_TUNNEL/200 4023 CONNECT 142.250.186.34:443 <http://142.250.186.34:443> - ORIGINAL_DST/142.250.186.34 <http://142.250.186.34> - - 1724028820.097 250033 192.168.78.15 TCP_TUNNEL/200 549611 CONNECT 142.250.184.246:443 <http://142.250.184.246:443> - ORIGINAL_DST/142.250.184.246 <http://142.250.184.246> - - 1724028820.154 246850 192.168.78.15 TCP_TUNNEL/200 15119 CONNECT 216.58.206.65:443 <http://216.58.206.65:443> - ORIGINAL_DST/216.58.206.65 <http://216.58.206.65> - - 1724028820.164 246856 192.168.78.15 TCP_TUNNEL/200 3037 CONNECT 142.250.181.227:443 <http://142.250.181.227:443> - ORIGINAL_DST/142.250.181.227 <http://142.250.181.227> - - 1724028820.203 246893 192.168.78.15 TCP_TUNNEL/200 3031 CONNECT 172.217.16.196:443 <http://172.217.16.196:443> - ORIGINAL_DST/172.217.16.196 <http://172.217.16.196> - - 1724028822.656 271833 192.168.78.15 TCP_TUNNEL/200 387583 CONNECT 142.250.185.238:443 <http://142.250.185.238:443> - ORIGINAL_DST/142.250.185.238 <http://142.250.185.238> - - 1724028830.336      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028830.781    444 192.168.78.15 TCP_TUNNEL/200 18505 CONNECT 40.126.31.73:443 <http://40.126.31.73:443> - ORIGINAL_DST/40.126.31.73 <http://40.126.31.73> - - 1724028841.781 155018 192.168.78.15 TCP_TUNNEL/200 15960 CONNECT 13.107.6.158:443 <http://13.107.6.158:443> - ORIGINAL_DST/13.107.6.158 <http://13.107.6.158> - - 1724028849.443      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028849.698      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028865.261      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028865.779    517 192.168.78.15 TCP_TUNNEL/200 18557 CONNECT 40.126.31.73:443 <http://40.126.31.73:443> - ORIGINAL_DST/40.126.31.73 <http://40.126.31.73> - - 1724028870.718 109994 192.168.78.15 TCP_TUNNEL/200 6972 CONNECT 20.42.65.94:443 <http://20.42.65.94:443> - ORIGINAL_DST/20.42.65.94 <http://20.42.65.94> - - 1724028871.179  64583 192.168.78.15 TCP_TUNNEL/200 1903 CONNECT 104.18.10.207:443 <http://104.18.10.207:443> - ORIGINAL_DST/104.18.10.207 <http://104.18.10.207> - - 1724028871.179  63917 192.168.78.15 TCP_TUNNEL/200 2430 CONNECT 142.250.186.99:443 <http://142.250.186.99:443> - ORIGINAL_DST/142.250.186.99 <http://142.250.186.99> - - 1724028871.179  64709 192.168.78.15 TCP_TUNNEL/200 2439 CONNECT 142.250.185.170:443 <http://142.250.185.170:443> - ORIGINAL_DST/142.250.185.170 <http://142.250.185.170> - - 1724028871.308      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028871.731    422 192.168.78.15 TCP_TUNNEL/200 17789 CONNECT 40.126.31.73:443 <http://40.126.31.73:443> - ORIGINAL_DST/40.126.31.73 <http://40.126.31.73> - - 1724028872.486      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028873.477      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028873.745      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028873.902    424 192.168.78.15 TCP_TUNNEL/200 18520 CONNECT 40.126.31.73:443 <http://40.126.31.73:443> - ORIGINAL_DST/40.126.31.73 <http://40.126.31.73> - - 1724028877.056      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028877.060      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028877.060      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028877.060      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028877.430 312389 192.168.78.15 TCP_TUNNEL/200 7884 CONNECT 142.250.186.78:443 <http://142.250.186.78:443> - ORIGINAL_DST/142.250.186.78 <http://142.250.186.78> - - 1724028878.800      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028878.920      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028879.072      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028880.808   7062 192.168.78.15 TCP_TUNNEL/200 836391 CONNECT 104.126.37.145:443 <http://104.126.37.145:443> - ORIGINAL_DST/104.126.37.145 <http://104.126.37.145> - - 1724028882.468  33024 192.168.78.15 TCP_TUNNEL/200 1488697 CONNECT 49.12.59.2:443 <http://49.12.59.2:443> - ORIGINAL_DST/49.12.59.2 <http://49.12.59.2> - - 1724028883.728   6671 192.168.78.15 TCP_TUNNEL/200 69351 CONNECT 52.216.185.251:443 <http://52.216.185.251:443> - ORIGINAL_DST/52.216.185.251 <http://52.216.185.251> - - 1724028883.789   6728 192.168.78.15 TCP_TUNNEL/200 69216 CONNECT 52.216.185.251:443 <http://52.216.185.251:443> - ORIGINAL_DST/52.216.185.251 <http://52.216.185.251> - - 1724028883.797   6736 192.168.78.15 TCP_TUNNEL/200 104657 CONNECT 52.216.185.251:443 <http://52.216.185.251:443> - ORIGINAL_DST/52.216.185.251 <http://52.216.185.251> - - 1724028883.845   6784 192.168.78.15 TCP_TUNNEL/200 80277 CONNECT 52.216.185.251:443 <http://52.216.185.251:443> - ORIGINAL_DST/52.216.185.251 <http://52.216.185.251> - - 1724028884.460 170355 192.168.78.15 TCP_TUNNEL/200 44690 CONNECT 185.199.108.153:443 <http://185.199.108.153:443> - ORIGINAL_DST/185.199.108.153 <http://185.199.108.153> - - 1724028889.845 120370 192.168.78.15 TCP_TUNNEL/200 5868 CONNECT 104.126.37.161:443 <http://104.126.37.161:443> - ORIGINAL_DST/104.126.37.161 <http://104.126.37.161> - - 1724028890.011 122862 192.168.78.15 TCP_TUNNEL/200 136726 CONNECT 23.37.37.211:443 <http://23.37.37.211:443> - ORIGINAL_DST/23.37.37.211 <http://23.37.37.211> - - 1724028890.297 120381 192.168.78.15 TCP_TUNNEL/200 9176 CONNECT 2.18.140.238:443 <http://2.18.140.238:443> - ORIGINAL_DST/2.18.140.238 <http://2.18.140.238> - - 1724028891.212      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028891.365    152 192.168.78.15 TCP_TUNNEL/200 2359 CONNECT 142.250.185.138:443 <http://142.250.185.138:443> - ORIGINAL_DST/142.250.185.138 <http://142.250.185.138> - - 1724028893.885  90253 192.168.78.15 TCP_TUNNEL/200 6374 CONNECT 13.107.246.60:443 <http://13.107.246.60:443> - ORIGINAL_DST/13.107.246.60 <http://13.107.246.60> - - 1724028900.169      0 192.168.78.15 NONE_NONE/000 0 - error:invalid-request - HIER_NONE/- - - 1724028934.465 900262 192.168.78.15 TCP_TUNNEL/200 5530 CONNECT 52.123.243.197:443 <http://52.123.243.197:443> - ORIGINAL_DST/52.123.243.197 <http://52.123.243.197> - - 1724028960.494  60324 192.168.78.15 TCP_TUNNEL/503 0 CONNECT 172.217.16.206:443 <http://172.217.16.206:443> - ORIGINAL_DST/172.217.16.206 <http://172.217.16.206> - - 1724028960.494      0 192.168.78.15 NONE_NONE/000 0 - error:transaction-end-before-headers - HIER_NONE/- - -

Thanks for any help,



----
Eliezer Croitoru
Tech Support
Mobile: +972-5-28704261
Email: ngtech1ltd@xxxxxxxxx <mailto:ngtech1ltd@xxxxxxxxx>


_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
https://lists.squid-cache.org/listinfo/squid-users

_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
https://lists.squid-cache.org/listinfo/squid-users




[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux