Help I accidently enabled HSTS on localhost
bartwullems.blogspot.com
bartwullems.blogspot.com
Now how do I delete a cached Accept-CH value? It's been two months and any computer I accessed the test server through while it was sending the bad Accept-CH value, still chokes for literally any request made to the test domain. (And no, clearing site data doesn't do anything.)
(If you're wondering what I did that screwed things up so bad: I had the server send an Accept-CH response header in response to an OPTIONS request, in the hopes that it would be delivered in the CORS preflight and therefore get me high-entropy client hints sent in the actual [same-site] XHR. It was delivered in the CORS preflight alright...)
> The chrome developers also do change this periodically. They changed it recently from badidea to thisisunsafe so everyone using badidea, suddenly stopped being able to use it.
Now people ignoring HTTPS errors will at least k ow why it's a bad idea!
If you ask around (like in reddit) they'll tell you "hurr durr but the rfc", "hurr durr security". Thank you, but I am an adult, and this is a computer I bought with the money I earned. I want to be able to tell my computer what to do. /rant
Seattle.gov started serving with HSTS `includeSubDomains; preload` over a month ago, broke all sorts of subdomains, and are still picking up the pieces.
City council ordinances and resolutions are hosted at http://clerk.seattle.gov/, not that it matters, since you can't view the site.
I like how Seattle has their own ordinance site; I don't know how other places do it, but the town I'm in uses eCode360
x=clerk.seattle.gov
printf 'GET / HTTP/1.1\r\nHost: '$x'\r\nConnection: close\r\n\r\n' \
|nc -vvn 156.74.251.24 80
There's a line in the fwd proxy config for these rare situations where I need to use HTTP without TLS use_backend b407-notls if { hdr(host) -m str -f /somedir/hosts-notls.txt }
Normally the proxy will use TLS for any request from any application, not just a web browser, regardless of whether URL begins with http:// or whether it's sent to port 80To avoid HSTS supercookies^1 I can also add a response header
http-response add-header Strict-Transport-Security max-age=0
but I have not needed to do that.1. https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-bro...
If the site is on some pre-approved list compiled into the browser, I can remove it and recompile. But I am not interested in such user-hostile browsers for frequent use. Good for online shopping, banking, other commercial transactions, but not for non-commercial purposes.
The ubiquity of TLS is of course a relatively recent phenomena
It seems like Internet Archive still does lots of crawls of port 80; I wonder if that's also true for Common Crawl
If so, it's interesting to think about how much of the data used to train ChatGPT and other AI may have come from crawls over port 80
On ChatGPT data sources:
https://www.searchenginejournal.com/how-to-block-chatgpt-fro...
A good user agent SHOULD ignore parts of the spec that go against the user's wishes.
No, it has served and is serving a useful purpose (reducing MITM risk) for a large number of websites.
The hard part is I believe to spoof the DNS entry and then get a cert from a CA they is in the browser root. Were there cases where HSTS actually stopped something after that? (serious question - I always wondered how much of a peripheral problem HSTS solves)
Since a mistake with HSTS is catastrophic, setting it must make sense risk wise.
HSTS says the site has to be https, nothing else. It does nothing if someone gets a valid cert. It exists to prevent every attack weaker than that, such as local MitM.
And mistakes are not catastrophic at all unless you have some horrible legacy setup that can't do https.
Chrome will default to HTTPS when given a typed URL that doesn't specify protocol these days, falling back to HTTP if that connection fails, but that doesn't protect you from plain HTTP links in other pages or stored as bookmarks. In fact this doesn't protect you as much as you think it might: IIRC this fallback to HTTP happens for any connection error including being served an invalid certificate, so a DNS-poisoning based MitM attack could still work for some users² meaning HSTS would still be useful even if all browsers used the same HTTPS-default-HTTP-fallback procedure.
> I always wondered how much of a peripheral problem HSTS solves
HSTS, especially with preload, solves a potentially serious but likely-to-be-rare problem. Even if the circumstances where it saves the day are rare, it is so easy to implement it is worth (IMO) the small amount of admin for that protection.
--
[0] if the initial request is plain HTTP
[1] some browsers will display an “insecure” flag when a page delivered by HTTP contains a form, or at least a form with a password box, but a user focusing on just what they are typing may not notice that
[2] as the fallback to HTTP, if not blocked by HSTS, will happen without warning
What a gem!
He’s not wrong in his statement.
In any case, there's a vast difference between trusting binaries running on a local machine v. trusting someone to competently (and not maliciously) administer a remote machine. Shuttleworth's statement would've been less unreasonable in the Before Times when cybercriminals breaking into servers and getting their hands on PII to sell on the Dark Web was an occasional and exceptional thing instead of just Tuesday; that time had been long gone even by then (let alone now).
file:/// New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -DnsName "localhost"
https://learn.microsoft.com/en-us/powershell/module/pki/new-...Anyway, golden HN thread here
I've been using SSL and TLS longer than some of the knobends programming these fucking things have been alive. There is a difference between being opinionated and a dick. FF is opinionated and Cr is a dick.
To be fair: FF and Cr have an equally awful "show me the fucking cert and stop making my life more miserable" workflow. Why is it such a drawn out routine to see the cert details? I personally spend a lot ... a lot of my time with SSL/TLS - and you fuckwits literally make my life harder by hiding it away in some silly "don't worry your pretty head" thing.
My first browser was telnet and I am mildly irritated.
FF is the least irritating of a bad lot. I'd really like a "programmer's build" or something, with knobs for this stuff - FF used to be better about exposing them in preferences, even if it was a bit obscure.
I can usually get by with curl and/or wget for troubleshooting purposes, but dealing with broken things you actually need to use to fix is far more annoying than it should be, "for my own good".
The thing that irrationally irritates me the most about FF is the uncounted minutes of my life spent waiting for the countdown buttons to let me click them.
I can't help but think that there are people in Google/Mozzie/n Co that simply put up with all this nonsense.
Has anyone, developing a browser ever bothered to think that the audience is quite diverse, that say, there are multiple uses for a browser? Also that there are different people using the bloody things? My wife has rather different use cases for her browser than I do.
The lack of imagination from web browser developers - or at least their directors or specifiers is absolutely breathtaking.
You will have to do rather better than "Here be dragons" etc as a UI for this sort of thing.
No one is served properly with the current model of one browser config fits all. Why can't I have a browser that accepts that I know what I am doing wrt SSL/TLS?
Firefox's defaults are terrible, but most unhelpful behavior can be disabled in about:config.
Better than Konqueror?
The web today is very different to how it was in 2003
"Konqueror is a web browser, file manager and universal document viewer. Starting Points Introduction Tips Specifications"
Why not show the certificate details, explain what is wrong, and then still have the annoying click through flow?
User actually reading the screen is sadly scarce resource today.
That's my problem, not "yours". Start writing perfect code and then I will delegate. The current browser UI for SSL/TLS is actively punishing people like me who wish to get SSL working. Why not follow the example of Lets Encrypt and make it easier instead of harder?
The current UI is crap for both me and my wife and we are at the polar extremes of the audience for it. Perhaps we need a faster DNS implementation or a rewrite in Rust.
I have lots of customers with VMware - the vCentres each have a CA.
... all their switches, routers, other stuff ... a lot of stuff.
Each one is secure, or at least I decide if it is - I know where it is and I keep its firmware up to date. I communicate with each device over https and I know all is good.
Where this nonsense goes wrong is that a browser programmer thinks that they know better than me and impose their policy on me, with no recourse.
My tenon saw does not tell me how to use it. If I bark my knuckles or cut off my fingers that is my fault. My browser (maintained by fucking children) thinks it knows best for me.
I suggest that the cool kids have a major rethink about who knows what's best in quite a few scenarios that they never even considered and basically grow up. That's what I had to do, back in the day and is pretty much what all adults will eventually confess to because that is what growing up means.
I wouldn't bother with any of it if it wasn't for Crome thinking I shouldn't save passwords for HTTP, even though they could clearly make an exception for domain names that resolve to private IP blocks.
A full day later just to be usable in Chrome (since it defaults to https) I had to get a cert and standup a CDN just to make sure your average dingus web user wouldn’t try to navigate to my page and hit nothing.
To be clear, my site doesn’t even have Javascript, and certainly no form submission. HTTPS is complete overkill and now it’s even more overkill overkill since I could be bombarded by half the world population and my site would likely stand up to it.
In a way, they killed the hobbyist website with that bullshit.
That in itself is no big deal, since I usually have port 80 open anyway (for LetsEncrypt support.)
That said, you raise a point I see a lot - your site is too "plain" to need https. Personally I think this argument is outdated.
The key issue with plain sites being HTTP is that -additional- content can be injected into them. In others people might be reading text, or seeing images, that are not what you built.
Advertising, sure. ISPs have fine that, but that's the least problem. What about injecting a political endorsement? What about altering any links to include (not your) affiliate id? Once you start thinking about the value of HTTP sites in this way you start to appreciate the many ways unencrypted sites can be exploited.
Back in the day "amateur" meant better (because the creator had time to do it right) not worse. Being "professional" was code for "you get what you pay for, no more than that".
I encourage all "hobbyist" Web producers to embrace that, to make it excellent, rather than to simply treat it as a "waste of time".
In the early days, sites would often be mainly http, then the payment part would switch to https. That soon died and I think you are correct.
However if it means that it makes the user experience of browsing my site better, I can get with that.
And when Comcast injects their own JavaScript into your site, what good will that do?
Well, you could use HTTPS, which trivially defeats this attack.
Then you have the 0.0something population that heard that a certificate ensures you that the site is the one you want to go to. And since it is not always the case they have up.
Then there is the sub-Planck- number of these who understand what a cert is and what it is for.
Add an exception in your code for HSTS on localhost, if it's required. Or, use a container and set up HSTS on its mounted IP.
Do you also test your crons, secure integrations and terminal configurations directly on your local environment as well? That just seems tedious, arduous and/or pollutative.
As for scheduled jobs, you would just test them during development by running them. It would be weird if the time span itself was inherent to your scheduled job behaving correctly.
Of course in addition to automated testing.
Hummm, I wonder why the net-internals URL is identical!
I was also a little irked at a bugzilla response about a request to allow importing local bookmark files on Firefox for Android asking who would would really use it. For real a privacy-respecting browser can't figure out why someone would want to not use their half-broken online sync? If Chromium had that, I'd have been off Firefox that same day.
At the least I expected some public disassociation with the subreddit, and subsequent forks of it.
edit: come on guys isajoke ;-;
[0] "Otherwise please use the original title, unless it is misleading or linkbait; don't editorialize." https://news.ycombinator.com/newsguidelines.html