W3.org Cert Expired
w3.org
w3.org
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/St...
At work we use Chrome as our general browser, and we've had several issues with expired certs before. Some websites allowed you to expand the box and opt "Continue" but some simply didn't have the option. Whats the difference?
The assumption is "must be very wrong" is an attack you don't want people to "continue" past. Occasionally it bites back like this if you don't maintain your certificates.
Offering HTTP transport invites attackers to inject advertisements, malware, or viruses into your packet stream. ISP like comcast and ATT are notorious for doing this.
Allowing falsified or expired certificates invites attackers as well.
HTST This is a good thing.
> curl -sSk -D- https://cryptome.org/ -o /dev/null | grep strict-transport-security
strict-transport-security: max-age=31536000
But even then, Chrome 91 on both macOS and Windows totally does allow me to Proceed to cryptome.org (unsafe)
Maybe it's only offered because I never visited the site in the past?It’s the easiest outage to avoid because the moment the cert is generated, you know the exact time it will expire.
Imagine you can't use your banking site because the certificate expired a few minutes ago and the browser displays a (unnecessarily dramatic) error message. Not everyone is tech savvy enough to ignore those messages.
The browsers already let you visit the site if you want to, so I don't think there is a big deal.
Also, CAs might not revoke expired certificates any more, as they are already expired, which hurts security as well if there is a reason to revoke the certificate, but no means to do so.
With an extension, this feature can be introduced gently, without risking any security issues.
Again, I am not advocating for not having HTTPS so I don't know why you think HTTP+HTTPS is less private. It is exactly as private only it is also human readable and requires no centralized authority's lease to be visitable.
For example, the fact you are reading the wikipedia article on Tiananmen square incident might be very sensitive if you live in China (ignoring the part where they block wikipedia). Other places might object to various other speech, etc.
Although to be fair, the mass survelience threat model is probably less likely to have an active attack like tls stripping. But annonoyminity is all about hiding in the crowd; only securing the connection when you have something to hide from eavesdroppers means that you have no crowd to hide in when you need to.
Sure a recently expired cert is pronably the least severe issue a tls cert can have, but still - expired certs that are compromised usually aren't revoked. If i'm visiting my bank, i definitely want things to err on the side of not working.
This is not particularly hard. Most static hosting services even do it for you.
https://www.infoworld.com/article/2925839/code-injection-new...
https://www.privateinternetaccess.com/blog/comcast-still-use...
https://blog.avast.com/mikrotik-routers-targeted-by-cryptomi...
Whether it was a good idea to limit those functionalities to a secure context or not, I don't know. I'm also a bit opposed to this forced HTTPS everywhere mentality.
[1] https://developer.mozilla.org/en-US/docs/Web/Security/Secure...
I tried to remove a specific cookie from my browser session recently. The only way is to go into Developer Tools, find what tab has "Storage", find the cookies, select the cookie you want, right click and delete it. You can't do it from the 4 other user-friendly screens that already show you the individual cookies, because why would a user ever want to delete an individual cookie?
I think this is the same reason for all of the poor browser UX over the years, like personal certs. The web would be a lot more secure if personal certs had supplanted passwords 15 years ago. But then we'd have to build something other than a single pop-up box to manage them.
Sure, we got a built-in password manager, and we suggest random passwords for users, and save them locally, and the user needs to back them up (or reset them via e-mail). But doing the same thing for certificates might be confusing, meaning, somebody would have to actually talk to a user (until it became common knowledge). Better to wait for something way more complicated and expensive to show up, and ignore UX there too. (https://security.stackexchange.com/questions/1430/is-anybody...)
In a world where users rarely see their actual passwords, it's much less of a UI change to (nearly) silently replace password changes with certificate signings and (nearly) silently replace password logins with certificate presentations. A small extra attribute in the HTML input tag could signal to the password manager that it should perform the certificate workflow instead of the password workflow.
Ideally, instead of specifying a specific mechanism, the extra input tag attribute would signal the password manager to actually perform a SPNEGO mechanism negotiation, so the password manager and the server could negotiate if they were using certificates, Kerberos, or some future mechanism. Though, this would also require adding certificate support to GSSAPI. The upside would be that future changes could be done without any changes to HTML.
It would be less shameful to have it than an expired certificate. But most of all, anyone handling the site would have an advance warning, instead of a catastrophic failure. This would lower the number of actual expirations significantly.
That way, people who know (or should know) what these sorts of warnings mean will see them without ordinary users getting unnecessarily scared or confused. Hopefully a site's own developers regularly view their own site in the same browser they've used in the past for debugging the site.
the failure then, the same.
wondered although if there is some use in knowing an upcoming expiration.
# curl + GNU date + GNU grep -P
$ echo "cert days left: ~$(( ($(date +%s -d "$(curl -IvsS https://www.w3.org 2>&1 >/dev/null | grep -Po '(?<=^\* expire date: ).*')")-$(date +%s))/86400 ))"
cert days left: ~396
but then what should the information give? that my build breaks, say next Tuesday? and what if until then the certificate expiration is enlarged?It's nothing wrong with a user deciding "I realize something is wrong, and I shouldn't trust that anything on this website is legitimate, and I shouldn't give it any information, but I'd still like to read the story/article/blog."
There should be a low-opacity button inside the "Advanced" menu.
Engineers can be so out of touch sometimes.
But if the button isn't there, that's probably because w3 has HSTS enabled (for past visitors), which tells the browser to never load unencrypted. The `thisisunsafe` workaround is there to be a middle ground between actually making it impossible to load and preventing users loading an unsecure page when they shouldn't.
I think a reasonable compromise would be a button that pulls up a dialog prompting you to type out a consent message. The dialog tells you what to write instead of keeping this as esoteric knowledge, but the user is still compelled to at least read the warning instead of blindly pressing buttons.
This is the sort of thing, if you're not in the know than you probably dont understand the consequences.
Understanding the premise and importance of HTTPS and knowing about some esoteric hidden UX of some Google software are not at all the same thing.
(For them, undo is a much better replacement. Even gmail's 'fake' undo for unsending email.)
w3.org. 3599 IN SOA ns1.w3.org. hostmaster.w3.org. (
2021060201 ; serial
28800 ; refresh (8 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
1800 ; minimum (30 minutes)
)
w3.org. 3599 IN CAA 0 issuewild "sectigo.com"
w3.org. 3599 IN CAA 0 iodef "mailto:sysreq@w3.org"
w3.org. 3599 IN CAA 0 issue "amazon.com"
w3.org. 3599 IN CAA 0 issue "sectigo.com"
w3.org. 3599 IN CAA 0 issue "letsencrypt.org"
It does look like the records were updated recently.The spf records are also interesting, but I know nothing about their mail setup.
A new Gandi cert was just issued: https://crt.sh/?id=4630660228 Perhaps it just needs a kick, or it'll be fixed soon.
I have no idea if CAB have made CAA a requirement, but I presume not.
https://en.wikipedia.org/wiki/Automated_Certificate_Manageme...
I think the main issue is now in increasing deployment of ACME. Let's encrypt has been issuing hundreds of millions of certificates for small websites, but how large is their market share in the serious websites market (Alexa ranks w3.org in the top 10k)? It seems to me that it's covered by different CAs. I wonder which angle Let's encrypt or other ACME/automation based CAs need to improve upon to make themselves attractive to that market.
¹a certain large provider for the longest time failed to handle having two TXT records, which ACME requires in some circumstances.
In which way are those certificates malformed? Is it because they don't have the extensions needed to pass certlint?
It's not every cert, mind you (I didn't intend to imply that) it's just the ones that happen to not specify some element. Unfortunately, it's the default of a utility that we use, that's written in Go. It generates a very long-lived cert on start, and by default, it'll be malformed.
We have another utility (that crawls certs looking for ones near expiry. That cert trips it up. (And it now has a configurable ignore-list specifically so that we can ignore that cert.)
But more and more I appreciate libraries who (produce well-formed output) xor (error).
Go also has a "simpler" interface to X.509 in its standard library that will easily produce the wrong (but well-formed; i.e., wrong semantically, not syntactically / not what any user is gong to want) output under very easy-to-accomplish circumstances.
"We have a thing that does X. Except sometimes it doesn't, so we have another thing Y that checks X. Except sometimes it doesn't, so we .... "
Seems like it was recently fixed too, which is nice. Now I'll have to find a way to upgrade…
Some CAs are nice enough to issue certs with the Not Before date a day or so before the time at issuance, which is super handy for all the devices with wrong time and software that does odd things with timezone conversions.
I despise Cloudflare these days because I'm pretty much required to use a VPN to access the web and get around geolocked content everywhere, and then Cloudflare blocks me from browsing even basic static sites.
Dont browsers reject certs with longer than one year validity?
In any case, Cloudfront has been a cheap value option with a easy DNS based certificate renewal process.
curl 'http://www.w3.org/'
I'm one of the people who really think that HTTPS should be enabled by default and the only HTTP traffic that should be allowed are permanent redirects with a pinning header.Most setups are nearly seamless for getting a free cert going now, but there'll always be a few old sites that no one will ever update
503 Service Unavailable
No server is available to handle this request.
Huh, that's precisely why I insist on https.