Confusing Convenience with Security: SSH Keys
Secure Shell (SSH) keys are a common part of accessing Unix systems. If you’re at all concerned about your privileged passwords and are unaware of what’s going on in your Unix systems, you need to put some focus specifically on your organization’s use of SSH keys.
SSH keys provide access Unix servers by means of a public/private key pair and an associated pass phrase. The IT pro has the private key and pass phrase, with the server hosting the public key. Both the key and pass phrase are required to facilitate access to the Unix server, providing what can be considered a very secure method of access.
So, what’s wrong with SSH Keys?
If they’re used correctly, nothing at all. So, let’s look at some basic security concepts and apply them to SSH keys to identify how they should be used, and then compare that with how they’re actually used to see if security is really being maintained.
First off, if your goal is to authenticate an individual to allow access to a given Unix server, the password (or pass phrase, in this case) should only be known by one person. Second, if using some method of two-factor authentication, the password (which is something you know) should be accompanied by something you have which, in this case, is the private key – again, by only one person.
Here’s where SSH keys as a security mechanism start to fall apart. An SSH key isn’t tied to an individual user outside the Unix server; only to an account on the Unix server. So that means, literally anyone with the key who knows the pass phrase can access the server!
Additionally, it’s commonplace for organizations to use the same pass phrase with multiple keys (with each key granting access to a different server). So, now if you have half the puzzle (the pass phrase) you only need to get access to the key.
To make matters worse, it’s not an easy task to replace keys – it’s largely a manual process, which is why the same pass phrase gets used multiple times and why they’re not often changed.
So, if you look at where your Unix authentication is at today – pass phrases that never expire, used by multiple users, on countless keys the grant access to all your Unix servers – and you realize that what started out as a very cool method of secure access has merely become a way of conveniently giving insecure access over what was intended on being a secure method of access, you’ve got trouble.
To learn more on how to properly manage SSH Keys as part of an overall privileged password management strategy, download chapter 3 of the ebook, “Six Critical Capabilities for Password Management”.
Author: Nick Cavalancia | Techvalgetlist | Founder and Chief