@algernon Thanks! I added this to my HAProxy configuration in a named defaults section for HTTP(S) services and it works
acl firefox-or-chrome hdr_sub(User-Agent) -i 'Chrome/'
acl firefox-or-chrome hdr_sub(User-Agent) -i 'Firefox/'
acl empty-sfm req.fhdr(Sec-Fetch-Mode) -m found
http-request silent-drop rst-ttl 60 if firefox-or-chrome !empty-sfm
I wonder if the following user agents are legit 🤔
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19582
Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1
The client using these user agents has Sec-Fetch-Mode header values as well.