Re: trust anchors and the base system
Joerg Sonnenberger <[email protected]> Sat, 3 Sep 2022 00:51:16 +0200
| Newsgroups | gmane.os.netbsd.devel.security |
|---|---|
| Message-ID | <YxKI5O/[email protected]> |
On Fri, Sep 02, 2022 at 02:23:51PM -0400, Greg Troxel wrote: > I don't think we have to really address this, but it's important to keep > it in mind because sometimes people seem to think this is totally > straightforward and that anyone who doesn't want to just install the > mozilla set doesn't understand. I don't think that summarizes my position and what I suspect a lot of other people think. If you care enough, you are free to configure your system differently. But that's no excuse for not having a configuration out of the box that works well enough for 99% of humanity. > rule is that NetBSD installs the mozilla set by default and when > that's done, it set /etc/openssl/VALIDATE. This is useless complexity to me and therefore an enemy of a robust system. > there's some fetch/update that happens to get new versions > > there is some way that there is a config file of certs in mozilla not > to use, and some way to put certs that one wants as trust anchors, and > this is respected by the update process There are two common ways to install trust anchors: (1) A single ca-bundle.pem. (2) One certificate per trust anchor, with a hashed symlink for efficient lookup. If you want to add or drop a certificate in the first schema, you append/remove it to/from the file. For the second scheme, you add/drop the symlink. Most installations nowadays prefer the second approach as it is easier to role out custom CAs. I see little reason to divert from this scheme. I don't see a need for inventing a separate update mechanism, we already have enough mechanisms for updating /etc and the rest of the system. The only new part we should support IMO is /etc/ssl/certs.bad and having a replacement for c_rehash in shell or C that looks into that directory, builds a list of hashes of all certs in it and explicitly removes them from /etc/ssl/certs as well as skikping the creation in the future. So if a user thinks that "Crypto AG Trust Root" should not be trusted, they can copy it to that directory and it will no longer be set up as trust anchor. Joerg