Última atualização em: 24 de abril de 2020
Chaves SSH (Secure Shell) são credenciais de autenticação no protocolo SSH. Tecnicamente, elas são chaves criptográficas responsáveis pela criptografia, mas funcionalmente funcionam de maneira muito semelhante às senhas. Dentro de uma empresa, as chaves SSH são usadas principalmente para conceder acesso seguro a sistemas remotos. A autenticação baseada em chave, comumente conhecida como autenticação de chave pública, usa um par de chaves — uma chave pública e uma chave privada — para autenticar usuários em dispositivos remotos.
Chaves públicas ou chaves autorizadas são responsáveis por conceder acesso de login aos usuários que acessam o sistema remoto. Podemos imaginar chaves autorizadas como fechaduras, concedendo acesso àqueles que possuem a chave certa (neste caso, a chave privada correspondente). As chaves autorizadas são configuradas separadamente para cada conta de usuário e geralmente estão presentes no arquivo .ssh/authorized_keys no diretório inicial do usuário.
Chaves privadas ou chaves de identidade permitem que os usuários se autentiquem em um servidor SSH. Uma chave privada é análoga a uma chave real que, quando correspondida, pode abrir uma ou mais fechaduras. Ao contrário das chaves públicas, as chaves privadas precisam ser protegidas em um local seguro ou podem acabar nas mãos erradas, resultando em uso indevido de privilégios.
A autenticação de chave pública baseada em SSH é obtida pela geração de um par de chaves distintas (uma pública e uma privada) para estabelecer conexão com sistemas remotos. O usuário que se autentica na máquina remota precisa possuir a chave privada, enquanto a chave pública deve ser colocada no(s) sistema(s) de destino aos quais o usuário deseja se conectar.
Veja como o processo de autenticação da chave SSH acontece em segundo plano.

Antes de iniciar o processo de autenticação da chave SSH, certifique-se de que tanto o cliente quanto o servidor tenham uma versão funcional do SSH instalada. Uma grande vantagem da autenticação baseada em chave é que, quando implementada corretamente, ela simplifica enormemente o processo de autenticação e aumenta sua segurança em várias partes.
Em média, uma grande organização armazena facilmente cerca de um milhão de chaves SSH. E apesar da conscientização criada em torno da má gestão e dos riscos das chaves SSH, a maioria das empresas segue uma abordagem descentralizada para a criação e o uso de chaves. Com o tempo, isso resulta na proliferação de chaves com muito menos visibilidade sobre a extensão do acesso que cada chave fornece. O gerenciamento incorreto de chaves SSH pode causar problemas para as empresas de várias maneiras, incluindo as seguintes:
Uma coisa complicada sobre esses ataques é que, como as chaves SSH raramente são rotacionadas, elas continuarão nas mãos erradas até que sejam descobertas de alguma forma e tenham seu acesso encerrado.
O gerenciamento de chaves SSH é o processo de proteger e automatizar o ciclo de vida das chaves SSH distribuídas por uma empresa, desde a criação até a implantação nos endpoints necessários, iniciando sessões remotas, monitorando mapeamentos de chaves e usuários, realizando a rotação de chaves e excluindo periodicamente as chaves não utilizadas ou indesejadas. As chaves SSH pertencem à categoria de ativos digitais cruciais que são constantemente subgerenciados. Implementar um processo de gerenciamento bem definido ajuda as empresas a obter visibilidade completa sobre seu ambiente SSH e evitar o uso indevido de privilégios decorrentes do acesso não autorizado às chaves SSH.
Agora vem a próxima pergunta óbvia: Mas por onde começar?
Aqui estão algumas etapas que ajudarão você a começar o processo de gerenciamento de chaves SSH.

O primeiro passo para gerenciar suas chaves SSH é descobrir as chaves existentes em sua rede e consolidá-las em um repositório centralizado.

Depois de reunir todas as suas chaves SSH em um único lugar, você precisa rastrear os relacionamentos de confiança existentes para ter uma ideia clara da extensão do acesso que cada chave concede. Em seguida, você precisa definir o mapeamento de usuários-chave, o que ajudará a identificar o número de usuários na sua rede que têm acesso root a contas privilegiadas.

Agora que você tem visibilidade completa do seu ambiente SSH, escaneie e remova as chaves SSH que não estão mais em uso. A melhor prática aqui é começar do zero excluindo todas as chaves SSH associadas às várias contas de usuário na sua rede e substituí-las por pares de chaves recém-criados.
Para geração de chaves, é altamente recomendável que você simplifique o processo administrando uma estrutura centralizada que permita apenas que usuários com privilégios específicos criem e implantem chaves em sistemas dentro de sua rede. Dessa forma, você tem o controle sobre os relacionamentos de confiança dentro da sua organização e consegue manter a proliferação de chaves SSH sob controle.

Depois que novos pares de chaves forem implantados nos sistemas de destino, é importante definir permissões para cada chave com base nas funções do usuário, ou seja, restrições sobre o host em que a chave pode ser usada e quais comandos a chave pode executar.

A rotação de chaves SSH é a prática de descartar a associação existente entre chave SSH e usuário e implantar novos pares de chaves de tempos em tempos para combater o infeliz evento de comprometimento da chave SSH. Tanto as chaves autorizadas (colocadas nos sistemas de destino) quanto as chaves de identidade precisam ser rotacionadas periodicamente para evitar possível uso indevido de privilégios.

Configure um mecanismo de auditoria à prova de violação para rastrear todas as atividades do usuário envolvendo chaves SSH e gerar relatórios categorizados. Isso aumentará a sensibilidade e a legibilidade dos dados coletados e ajudará os administradores a tomar decisões comerciais informadas.
Quando se trata de implementação prática e eficiência operacional, essas etapas são mais fáceis de dizer do que de fazer. Imagine a quantidade de carga de trabalho do administrador de TI que precisa realizar todas as operações mencionadas acima para um milhão de chaves SSH em seu ambiente! A melhor maneira de conseguir isso é por meio da automação, implementando uma solução centralizada de gerenciamento de chaves SSH que pode fazer todo o trabalho pesado para você.
O Key Manager Plus, a solução de gerenciamento de chaves SSH e certificados SSL baseada na Web da ManageEngine, ajuda você a descobrir, consolidar, criar, implantar, girar e rastrear chaves SSH a partir de um único painel. É uma solução completa que fornece aos administradores de TI visibilidade e controle completos sobre seus ambientes SSH, simplifica o gerenciamento e os ajuda a prevenir violações e problemas de conformidade.
Se quiser saber mais, envie um e-mail para keymanagerplus-support@manageengine.com e nossos especialistas em produtos entrarão em contato com você imediatamente!