-
Notifications
You must be signed in to change notification settings - Fork 56
Idea: more explicitly call out certificate chain / trust issues? #585
Comments
Yes, our handling of incomplete chains is...incomplete. Though, it's complicated by the fact that we currently don't distinguish at the scan level between chain errors that are from using an untrusted issuer or an incomplete chain. There is a case where we'll display a warning about an untrusted chain as it relates to potentially shutting people out via HSTS: https://github.com/18F/pulse/blob/production/static/js/https/domains.js#L185-L187 But that's only when the site doesn't yet enforce HSTS. Pulse launched noting chain issues with a There's really no solution I like very much, to be honest. I know that @h-m-f-t is using a harsher display for chain issues in his direct reports to agencies. From my perspective, I want to push agencies to fix incomplete chains, but I also want to have Pulse focus on pushing hard on a few things well, and each thing we push agencies on is a distraction from core compliance issues. That all said, your point about HSTS being made less effective by incomplete chains is super relevant. Do others watching this issue have opinions? |
Incomplete chain is basically the same as untrusted root, from a UX On Mon, Oct 17, 2016 at 5:14 PM, Eric Mill notifications@github.com wrote:
"I disapprove of what you say, but I will defend to the death your right to |
@alex One issue is that an untrusted root is not in and of itself a violation of M-15-13. If a site is only used by devices with agency-managed trust stores, an FPKI or DoD root is acceptable. They just need to be willing to commit to it with HSTS. This is in tension with the fact that this approach removes the value of HSTS for users without the non-publicly-trusted root installed, especially since an HSTS policy won't be set for those users unless the domain is preloaded. That all said, I think these are the current HTTPS compliance design goals for Pulse, in rough order of implemented importance:
Pulse definitely does This is, to some extent, me prioritizing overall compliance effectiveness -- which I think improves the security of client connections government-wide -- over a specific common configuration error that reduces the security of client connections to that configuration. One easy way to improve the situation is to fix cisagov/pshtt#25, so that incomplete chain errors can get called out without affecting calculations around untrusted roots. I've spent some time trying to remove |
I'm wondering if there is some way to better indicate issues with the TLS certificate chain that is presented by servers.
For example, https://www.acquisition.gov currently only presents the leaf certificate, and no intermediate from Symantec.
https://pulse.cio.gov/https/domains/#q=acquisition.gov
https://www.ssllabs.com/ssltest/analyze.html?d=www.acquisition.gov&s=52.222.43.61&latest
The
B
grade on SSL Labs seems overly generous given that the page will appear insecure in many browsers.While acquisition.gov does serve an HSTS header, this is misleading, because major browsers like Chrome and Firefox will treat it as untrusted. Users who were previously served the HSTS header over a secure channel will be unable to access the page, and for new users HSTS won't have any effect because they must click through warnings first.
And if acquisition.gov were to preload HSTS as Pulse suggests, most users would be totally unable to visit the page.
Perhaps Pulse could display the trust chain problem in some way, maybe by calling it out as an issue under HSTS, or as a separate column?
The text was updated successfully, but these errors were encountered: