OverEncrypt: going beyond LetsEncrypt's HTTPS security defaults
gist.github.com
gist.github.com
The hash is for the ISRG root certificate, which is not widely trusted yet. While an ISRG-signed intermediate certificate is available, all clients currently default to the IdenTrust-signed intermediate, and even if you decide to use the other intermediate instead (or both, which most browsers can handle), that doesn't guarantee that browser build a trust path through that intermediate - it might have the other one cached from a different site. In other words, the second pin would almost never be satisfied, which means you're screwed once your private key is compromised or changes. Screwed as in your domain is bricked for up to 30 days with this max-age setting.
A slightly better approach would be to pin to both the ISRG and the IdenTrust root[1], plus your private key and a couple of backup keys that you keep offline. One or two backup pins to other CAs couldn't hurt either. Oh, and best run with Report-Only for a while.
[1]: https://www.identrust.com/certificates/trustid/root-download...
Much easier and very effective is to use the apache2 or nginx config file options to manually disable sslv3, tls1.0 and tls 1.1. Permit only TLS 1.2. If you want to, manually specify the preferred order or crypto.
Any modern browser supports TLS 1.2 just fine. I've done this for every httpd I admin and it has had no effect on reachability.
That kind of thing seems impossible to measure.
I have no idea why they would be set up that way, but it's clearly out there.
While this can enabled via GPO, I really wish MS would release a patch that forces these to be on. There is no reason not to at this point.
TLS 1.1 & 1.2 are not enabled by default therefore will not work regardless of compatibility. Try it.
However, emulating it should be as easy as
$ cat >> ~/.bashrc
service() { systemctl $2 $1 }`/etc/init.d/nginx restart` is a System V sublety.