Broadening HSTS to secure more of the Web
security.googleblog.com
security.googleblog.com
Interesting, I didn't realize you could add entire top-level domains to the HSTS preload list like that.
This seems like a really interesting potential migration path towards a future where HTTPS support is mandatory. On TLDs that preload HSTS, you might not even need to open port 80 or accept regular HTTP requests at all, since browsers would _always_ load the HTTPS version of the site.
So if I had to guess, it's that they wanted to display more security-related information, which made sense in the developer console but not on the certificate screen. And that viewing the certificate was confusing non-technical web users.
Edit: http://www.herongyang.com/PKI/Chrome-40-HTTPS-Certificate-Ge...
The old screen showed the same information as in the "Security" tab. Right now a click on the "Secure" button in the URL bar doesn't even show the certificate issuer. It is useless this way.
That’s actually not a very good practice. You’ll get http non-www to http www to HTTPs www,for example.
Why is this a requirement for the preload list?
I’m curious as to why the www. version was made the default after some time? Would you happen to know the story behind it?
What other than http://clients1.google.com/generate_204 needs that?
(And yeah, that should always have been on a separate domain entirely, but, hindsight.)
"We're working on those ....google.com is complicated"
Having a top rank in Google results is a very serious business for a lot of companies. If this trend continues for HSTS i am a little worried.
I do understand Google likes to encourage the rest of the world to have an as secure possible internet infrastructure, but i'm not so sure if those same companies would accept a lower Google ranking just because their IT department will tell them "It's complicated".
It's not evil by far. But it's not really nice as well.
By the way. Just checked https://hstspreload.org/?domain=blog.google. It says No HSTS header is present on the response.
As for blog.google, that's the beauty of TLD-wide HSTS. You don't need to do anything special on the individual websites, such as configuring headers, to get the benefit of HSTS. All you have to do is set up an SSL cert.
The hstspreload.org site does not yet correctly display results for when a parent has HSTS enabled, but your browser itself does do the right thing. As for fixing what hstspreload.org displays, that's something I might take a crack at: https://github.com/chromium/hstspreload/issues/85
https://cabforum.org/pipermail/public/2015-April/005488.html
GA is not available yet for .dev. See https://icannwiki.org/.dev
About 1300 registrations for .soy https://icannwiki.org/.soy
I'm also skeptical if .dev will ever be open to registration.
If you get requests over HTTP of course you should still redirect them, as there's nothing more secure you can do. However via HSTS and even more via HSTS preloading you can prevent them from happening in the first place.
The recommended way is still a 3xx-class redirect (consult your SEO) to the HTTPS version, because it's better than nothing -- in other words:
- if an MitM already tampered with the response, they already have control and given the momentary circumstances there's nothing more anyone can do to save you;
- else, if no one tampered with the response, then hopefully the site was configured properly and you ended up at the HTTPS version, receiving any HSTS headers the site owner may have issued, at which point you're either safe for the current session, or depending on any received HSTS headers, longer than that.
Rinse and repeat.
HTTP redirects can be intercepted by anyone who is a MITM (man-in-the-middle) to your connection. (Such as a Wi-Fi hotspot owner, ISP, or someone attacking the network itself via DNS poisoning, ARP spoofing, etc.) So using _only_ HTTP redirects leaves you open to a [SSL Stripping attack][1].
A better option is to use a HSTS header. This ensures that once a user visits your site once over HTTPS, all subsequent visits will also happen over HTTPS. This makes SSL Stripping attacks harder, but still possible if the attacker is able to MITM your users on their first visit to your site.
The best option is to get your site on the list of HSTS preloads. This list ships with web browsers, which will then _always_ load your site over HTTPS. A site that uses HSTS preloads is nearly immune to SSL Stripping attacks, and that's what Google is using here.
Some browsers still don't support HSTS though, so you might not be able to rely entirely on HSTS preloads to redirect your users. For that reason, it's best to _also_ redirect users via 301 or 308 HTTP redirects, just in case.
Don't forget state actors. Billions of people live in countries that censor/track/edit/redirect Web connections.
It can be very powerful if done maliciously:
https://www.youtube.com/watch?v=MFol6IMbZ7Y
(This kind of attack is a primary motivation for the existence of HSTS.)
https://youtu.be/MFol6IMbZ7Y?t=23m17s
Although for anyone interested in HTTPS, I'd recommend watching the whole thing. Very entertaining.