Wandering Thoughts archives

2018-10-31

Do I feel uncertain about CentOS's future now? Yes, a bit

I was going to write an entry about how CentOS remains quietly important to us because of its long support period, with CentOS 7 supported through 2024 or so for security updates (per the CentOS wiki and FAQ). Then I paused to think about that in light of IBM buying Red Hat.

The end of 2023 is five years from now. A lot of things can happen in five years after a company is acquired, and a lot of intentions and plans can change. IBM is probably not going to stop doing Red Hat 7 updates, so a CentOS can continue in some form, but at the same time the current Red Hat provides a certain degree of support and assistance to CentOS (see the CentOS wikipedia entry for one account of this). It seems likely that CentOS's activities would at least slow down if IBM decided that it wasn't going to, say, continue to fund as many people to work on CentOS as Red Hat currently does.

Of course, nothing was certain even when Red Hat was an independent company; although we may pretend otherwise, blithe projections of support for Linux distributions three or four or five years into the future are just that (for many of them, not just CentOS). But I can't help but feel that things are now a bit more uncertain than they used to be, and I'm not quite as confident at projecting support for CentOS 7 out to the middle of 2024 as I was a month ago. A month ago, Red Hat pulling away from CentOS would have felt cataclysmic; in the future, it will just be IBM conducting a strategic reassessment (although perhaps a drastic one).

CentOS is still going to continue to be our best option for certain things, but that's another entry (the one I was going to write before I started thinking). And we're certainly not going to migrate our current CentOS 7 machines to anything else any time soon. So in practice what we're going to do is nothing; we're going to carry on and hope for no changes any time soon.

(As far as what this means for Fedora, well, I have no idea (and I certainly hope nothing changes, since I don't want to change Linux distributions). But again things feel a little bit more uncertain now than they used to.)

linux/CentOSUncertainty written at 21:17:08; Add Comment

OpenSSH has broader key revocation than I thought

A while back, OpenSSH gained support for doing host and user authentication through a local Certificate Authority. Instead of directly trusting public keys, you configured a CA (or more than one) and then trusted anything signed by that CA. For user keys, this has the usual weakness of the basic CA model; for host keys, it's probably an improvement in practice but I'd like to know what happens if you get handed a new CA-signed host key for a host that you already saw one for.

If you're sensible, when you add Certificate Authorities to a security system you also add key revocation. So I wasn't particularly surprised to read in passing that OpenSSH supported key revocation, and I didn't think anything more about it. For years, I've assumed that OpenSSH's key revocation was intended for and limited to CA-signed keys. As I discovered recently when I actually looked at the relevant sections of the manual pages, this is not the case. While revoking keys appears to have been added to OpenSSH along with CA signed keys in OpenSSH 5.4 (released in early 2010), they were never limited to revoking only those keys. OpenSSH key revocation can be used to block any SSH key, and it's been that way from the beginning.

(For instance, the sshd_config(5) manpage is very specific on this, saying about RevokedKeys that 'keys listed in this file will be refused for public key authentication'. Any keys. And in fact it cautions you that if this file is unreadable, all keys will be refused.)

Keys to be revoked can be specified in a variety of ways, per the manpage. The most straightforward one is simply one public key per line, exactly as you'd put them in authorized_keys (and perhaps that's where you get them from). For CA-signed keys, you have a couple of options spelled out in ssh-keygen(1)'s 'Key Revocation Lists'. OpenSSH 7.9 adds some additional useful options, but that's another entry (especially since it will probably be a few years before it's relevant to us; Ubuntu 18.04 is probably unlikely to update their version, much less 16.04).

With that said, I'm not sure there's much use for key revocation in our particular environment because people have only a single home directory and thus a single authorized_keys to maintain. If a key is compromised, it just gets removed.

(I'm assuming that attackers won't reuse keys that they add to someone's authorized_keys and so there's no point in blocking further uses of such a key. This may be wrong.)

sysadmin/SSHBroadKeyRevocation written at 01:45:50; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.