Tudo o que você precisa saber sobre chaves SSH

07 | 04 | 2022

1769 visualizações

Afrika Tec

Escrito por Afrika Tec

Postado em Blog

As chaves SSH fazem parte de um protocolo que garante a proteção dos sistemas de TI durante a transferência de dados entre servidores e computadores e são utilizadas por organizações que precisam se comunicar com sistemas e gerenciá-los de forma segura. 

Porém, grande parte das empresas gerenciam suas chaves SSH de maneira inadequada, o que coloca em risco sua segurança. Por esse motivo, preparamos este artigo, em que abordamos a importância do protocolo de SSH, sua história, benefícios, modo de funcionamento e muito mais. Leia nosso texto até o final e entenda tudo sobre esse assunto.

O uso de chaves SSH é uma medida de extrema importância para organizações que precisam realizar a comunicação e gerenciar sistemas de modo seguro. Porém, para que esse procedimento realmente proporcione a segurança necessária, é fundamental adotar boas práticas.

Começamos nosso texto compartilhando duas notícias sobre credenciais SSH violadas. O primeiro caso ocorreu em 2019, mas só foi identificado em 2020, e envolve a empresa hospedeira de sites GoDaddy.

O registrador de domínios anunciou, na época, que se tornou alvo de uma violação que afetou as credenciais SSH de aproximadamente 28 mil usuários. Um agente malicioso teria ignorado seus sistemas de segurança e acessado dados de login SSH hospedadas em seus servidores.

Não houve nenhum problema grave, mas seus usuários foram notificados sobre o ocorrido. Além disso, a empresa redefiniu os nomes de usuários e senhas que foram expostos e bloqueou a parte não autorizada.

Em 2021, o GitHub recebeu um aviso do desenvolvedor Axosoft sobre a vulnerabilidade de uma dependência de seu cliente git GUI – GitKraken, que estava gerando chaves fracas. Sendo assim, revogou todas as chaves geradas por versões vulneráveis do cliente utilizadas no GitHub.com.

Também foram revogadas outras chaves possivelmente fracas geradas por outros clientes que poderiam ter usado a mesma dependência vulnerável. A companhia ainda precisou implementar proteções para impedir que versões vulneráveis do GitKraken pudessem adicionar chaves SSH fracas criadas por versões mais antigas.

Esses dois fatos demonstram que grandes organizações têm gerenciado o protocolo SSH de modo inadequado, gerando vulnerabilidade para seus sistemas.

Sendo assim, preparamos um conteúdo especial, em que mostramos tudo o que você precisa saber sobre chaves SSH. Para facilitar seu entendimento, dividimos nosso texto nos seguintes tópicos: 

  1. Protocolo SSH: o que é e qual a sua importância?
  2. Conheça a história do SSH
  3. Conheça os benefícios da autenticação de chave SSH
  4. Quais são os Tipos de chave SSH?
  5. Saiba como uma chave SSH é gerada
  6. Como funciona o acesso à chave SSH
  7. Como reforçar a segurança das chaves SSH
  8. Categorias de criptografia de chaves SSH
  9. Dados relacionados à segurança das chaves SSH
  10. Gestão de chaves SSH pelo senhasegura
  11. Conclusão

Acompanhe todo o nosso conteúdo!

1. Protocolo SSH: o que é e qual a sua importância?

Utilizado atualmente em servidores e em ambientes de data center, o SSH consiste em um protocolo que permite transmitir dados, possibilitando o encapsulamento de aplicativos.

 Com as chaves SSH, administradores de sistema e desenvolvedores de aplicações têm um acesso interativo à sistemas remotos de maneira protegida. Trata-se de um recurso muito utilizado em atualizações de banco de dados, backups, gerenciamento automatizado de sistemas e aplicativos de monitoramento de integridade do sistema.

Na prática, as chaves SSH têm uma função de suma importância no funcionamento das redes digitais automatizadas utilizadas em datas centers e negócios em geral.

Essa solução garante conexões criptografadas com outros sistemas, plataformas e redes que podem ser distribuídas em diferentes ambientes, remotos ou na nuvem.

As chaves SSH substituem técnicas de segurança isoladas, úteis para a criptografia de transferências de dados. Porém, essa utilização precisa ser devidamente protegida, analisada periodicamente, documentada e gerenciada de modo sistemático. Se esse processo não for levado a sério, a segurança do ambiente inteiro estará em risco. 

2. Conheça a história do SSH

A primeira versão do protocolo SSH foi criada nos anos 1990, pelo pesquisador da Universidade de Helsinque, Tatu Ylonen. Na ocasião, descobriu-se um ataque de sniffing na rede da universidade, capaz de interceptar e registrar o tráfego de uma rede e revelar nomes de usuários e suas senhas a agentes mal-intencionados.

Como resultado, milhares de credenciais foram violadas. Por esse motivo, o pesquisador começou a buscar formas de tornar as redes mais seguras, desenvolvendo o protocolo SSH.

Atualmente, as chaves SSH são utilizadas para fazer login de um sistema para outro remotamente. Além disso, a segurança proporcionada pela criptografia permite realizar funções como: emitir comandos remotos e gerenciar infraestrutura de rede e outros componentes vitais do sistema à distância. Sendo assim, essa ferramenta é fundamental nos dias de hoje, caracterizados pela tendência do trabalho remoto.

Antes de utilizar as chaves SSH, é necessário instalar alguns softwares: enquanto os sistemas remotos devem necessariamente contar com um software denominado daemon SSH,  o sistema utilizado para emitir comandos e gerenciar os servidores remotos necessita de um software conhecido como cliente SSH.  Só assim é possível criar um canal de comunicação apropriado usando o protocolo SSH.

3. Conheça os benefícios da autenticação de chave SSH

As chaves SSH têm a função de criptografar o tráfego entre servidor e cliente.  Na prática, isso quer dizer que se alguém resolver espionar esse tráfego, não conseguirá descriptografar os dados de modo apropriado. 

Essa solução proporciona ainda proteção diante de ataques de força bruta e contra vetores de ataque utilizados com o objetivo de acessar máquinas remotas. Com a criptografia de chave pública, não é necessário enviar senhas pela rede, o que proporciona mais segurança.

Outra vantagem das chaves SSH é a possibilidade de manter uma empresa em conformidade com as regulamentações de segurança, mas, para isso, é necessário gerá-las, armazená-las, gerenciá-las e removê-las seguindo determinadas diretrizes que garantem a proteção necessária.

Existe uma quantidade massiva de chaves SSH que podem estar sendo utilizadas a qualquer hora por uma organização. Sendo assim, recomenda-se o uso de um software para gerenciá-las e reduzir riscos.

4. Quais são os tipos de chave SSH

As chaves SSH proporcionam segurança e economia a serviços de nuvem, entre outros que dependem de computadores, se o gerenciamento for realizado da maneira apropriada.

Esse recurso apresenta função similar à das senhas, uma vez que concedem acesso, controlando quem irá acessar o sistema. Para efetuar esse gerenciamento, é necessário adotar políticas de segurança, assim como deve ser feito com contas de usuário e senhas. 

Ressaltamos ainda que é o controle das chaves SSH que proporciona disponibilidade contínua, confidencialidade e integridade aos sistemas, na medida em que se utiliza criptografia de chave pública. 

Essas chaves são categorizadas conforme sua função como: chaves de usuário, chaves de host e chaves de sessão. Confira:

  • Chaves de usuário

Aqui, estamos falando de chaves autorizadas e de identidade, utilizadas com a finalidade de garantirem acesso de login aos usuários. Seu mecanismo de autenticação é conhecido como autenticação de chave pública. 

Essas chaves de identidade são usadas pelos clientes SSH com o objetivo de permitir a autenticação dos usuários ao efetuar login em servidores SSH. 

  • Chaves de host

Esse tipo de chave tem a finalidade de autenticar computadores, evitando ataques man-in-the-middle. Essa autenticação se baseia em certificado e pode ser muito útil para as organizações.

Essas chaves de autenticação devem proteger todas as conexões, e uma das características do SSH é lembrar a chave do host quando se conecta a ele pela primeira vez. 

  • Chaves de sessão

As chaves de sessão têm a função de criptografar a maioria dos dados em uma conexão. Essa chave é negociada durante a inicialização da conexão.  Depois, é utilizada com um algoritmo de criptografia simétrica e um algoritmo de código de autenticação que garantem a proteção dos dados.

5. Saiba como uma chave SSH é gerada

Elas são geradas em pares que reúnem uma chave SSH “pública” e uma “privada”. Nesse processo, são utilizados algoritmos complexos, de modo que seja improvável falsificar ou identificar a chave privada, ainda que a chave pública seja conhecida. 

Dessa maneira, é necessário manter a chave privada em segredo, sendo utilizada apenas por usuário autorizado. Já as chaves públicas podem ser compartilhadas com outras pessoas. 

Para gerar as chaves SSH, é necessário inserir informações como senhas. Geralmente, utilizam-se frases curtas para gerar chaves públicas e privadas.

6. Como funciona o acesso à chave SSH

Para iniciar uma conexão em SSH, é realizada uma negociação do protocolo, os algoritmos criptográficos e a chave da sessão, além de autenticar o servidor com uma chave de host e o usuário com autenticação de chave pública ou senha. Depois disso, trocam-se as informações, inclusive gráficos, arquivos e dados do terminal.

A autenticação por meio de chave pública garante mais segurança do que outros meios de autenticação, como é o caso das senhas.  Além disso, esse tipo de autenticação é amplamente utilizado para acesso privilegiado humano e máquina a máquina. 

Chaves SSH gerenciadas de modo indevido podem ser utilizadas por agentes maliciosos para invadirem infraestruturas sem serem detectados. Além disso, o comprometimento de apenas uma chave privada pode ter como consequência configurações de backdoors difíceis de serem identificadas e violação de dados.

Gerenciar chaves SSH de maneira inapropriada cria vulnerabilidades já classificadas no NIST Interagency Report 7966 (NISTIR 7966) “Security of Interactive and Automated Access Management Using Secure Shell (SSH)”, elaborado por Paul Turner, da Venafi, junto a outros autores. 

A implantação do SSH pode causar vulnerabilidades aproveitadas para obter acesso não autorizado a servidores. O mesmo ocorre com chaves de usuário SSH vazadas, roubadas, derivadas e não terminadas.

Backdoors feitos com chaves de usuários autorizados com o objetivo de contornar o acesso privilegiado podem passar despercebidas por muito tempo. Além disso, é possível utilizar chaves de identidades para finalidades diferentes das originais.

Um grande obstáculo para a segurança de sistemas que utilizam chaves SSH é o erro humano, que ocorre por causa da complexidade do gerenciamento de SSH e da falta de conhecimento dos usuários.

7. Como reforçar a segurança das chaves SSH

Algumas medidas são recomendadas para reforçarem a segurança do protocolo SSH, inclusive recomendações do NIST IR 7966, voltadas para auditores, companhias e organizações governamentais. 

A rotação manual das chaves SSH não deve ser uma opção, mesmo em ambientes que não apresentam complexidade. Isso porque a prática não contribui para identificar o usuário que possui a chave privada que corresponda a uma chave pública.

O ideal, conforme praticado por organizações que investem em segurança cibernética, é utilizar uma tecnologia voltada ao gerenciamento de chaves SSH ou gerenciamento automatizado de senha privilegiada (PPM) que permite criar pares de chaves exclusivos para os sistemas.

Isso porque soluções automáticas simplificam a geração e rotação de chaves SSH. Dessa forma, eliminam sua dispersão, proporcionando produtividade com segurança. Para garantir a segurança das chaves SSH, recomendamos as práticas a seguir: 

  • Todas as chaves SSH devem ser identificadas e colocadas sob gerenciamento ativo: essa é a primeira medida para eliminar a dispersão de chaves SSH e avaliar seus riscos. Esse é o momento de estabelecer quais usuários terão acesso a várias chaves e como elas serão utilizadas.
  • É essencial vincular as chaves SSH a um único usuário, e não a uma conta acessada por várias pessoas. Desse modo, é possível realizar uma supervisão mais assertiva e garantir o controle dos acessos. 
  • Também é fundamental levar em consideração o princípio de privilégio mínimo (PoLP), garantindo que cada usuário tenha acesso apenas aos sistemas necessários para desenvolver suas atividades. Essa medida reduz a frequência de uso indevido de chaves SSH.
  • Outra importante medida é a implementação da rotação de chaves SSH, exigindo que os usuários gerem novas chaves com regularidade e não autorize a utilização das mesmas senhas em mais de uma conta.  Isso contribui para proteger a organização de ataques de criminosos que se aproveitam da reutilização de senhas.  Mas, atenção: se a sua organização conta com um grande número de chaves SSH, isso deve ser realizado a partir de uma solução automatizada.
  • Não utilize chaves SSH codificadas: esse tipo de credencial pode ser incorporada ao código, criando backdoors perigosos para malwares e invasões de cibercriminosos.  Chaves incorporadas associadas a senhas simples tornam-se vulneráveis para a adivinhação de senhas. Por esse motivo, essas chaves devem ser eliminadas. 
  • Para garantir a segurança cibernética, todas as sessões privilegiadas iniciadas com autenticação de chave SSH ou outras formas de autenticação devem ser registradas e auditadas. O gerenciamento de uma sessão privilegiada pode incluir a captura de pressionamentos de tecla e telas, que possibilita a visualização e reprodução ao vivo. Além disso, recomenda-se o controle de sessões privilegiadas em tempo real para reforçar a cibersegurança.

8. Categorias de criptografia de chaves SSH

A comunicação segura por meio das chaves SSH dependem da criptografia. Existem quatro categorias de criptografia, mas nem todas fornecem a segurança necessáriaA seguir, mostramos mais detalhes sobre essas opções:

  • DSA: trata-se de uma criptografia tida como insegura, uma vez que se torna vulnerável diante da tecnologia dos computadores atuais.  Esse tipo de criptografia não é utilizado desde o Openssh 7
  • ED25519: essa é a opção de criptografia mais segura atualmente, por possuir um algoritmo matemático muito forte.
  • ECDSA: A utilização dessa criptografia é desaconselhada pela agência governamental não-regulatória da administração de tecnologia do governo norte-americano (NIST). Trata-se de uma criptografia conhecida por possuir um backdoor instalado pela National Security Agency (NSA).
  • RSA: esse tipo de criptografia é muito utilizado e sua segurança depende do número de bits da chave utilizada. Para os dias atuais, as criptografias de 3072 ou 4096 bits seriam as mais indicadas. Consideram-se inseguras as chaves SSH com criptografias inferiores a 2048.

9. Dados relacionados à segurança das chaves SSH

Uma pesquisa da Venafi apontou que grande parte das empresas não utilizam o protocolo SSH de modo adequado. Veja a seguir os dados disponibilizados por esse levantamento, em que foram entrevistados mais de 400 profissionais de cibersegurança:

  • 61% dos entrevistados afirmaram que não limitam o número de administradores que podem gerenciar o SSH e sequer realizam um monitoramento.
  • Somente 35% dessas instituições proíbem a configuração de chaves autorizadas por parte dos usuários, o que torna os sistemas vulneráveis a invasões.
  • 90% dos profissionais entrevistados disseram que não possuem um registro preciso das chaves SSH, ou seja, é impossível identificar se há alguma chave não confiável ou até mesmo violada.
  • É recomendado que as chaves sejam alternadas com periodicidade para impedir o acesso de hackers. Contudo, apenas 23% dos entrevistados afirmaram que seguem essa prática. A porcentagem dos que disseram que alternam eventualmente ou simplesmente não alternam é de 40%.
  • O encaminhamento de porta para SSH possibilita permitir que invasores ignorem firewalls e alcancem outras partes de uma rede de destino, mas 51% dos profissionais de segurança da informação entrevistados disseram que não fazem nada para impedir que isso ocorra. 
  • 54% deles revelaram não limitar os locais onde o SSH pode ser usado, o que possibilita aos invasores utilizar chaves SSH comprometidas de modo remoto.
  • 60% das organizações não estão preparadas para identificar a introdução de novas chaves SSH em suas redes.
  • As chaves SSH nunca expiram. Por isso, 46% das empresas nunca alternaram suas chaves.
  • 76% não contam com sistemas de segurança que utilizam chaves SSH na nuvem.
  • De acordo com o Ponemon Institute, a cada quatro organizações, três estão vulneráveis a ataques no nível da raiz.
  • Grupos de administradores de sistema compartilham as chaves SSH, por isso, a falta de responsabilidade de uma única pessoa pode comprometer a segurança do protocolo inteiro.
  • Normalmente, os servidores são bem protegidos, diferente do que ocorre com as estações de trabalho. Porém, o arquivo de chave privada fica nas estações de trabalho, podendo ser violado.
  • Aparentemente, as principais agências governamentais enfrentam riscos de segurança, relacionados às ações de seus funcionários, atuação de agentes mal-intencionados e vírus existencial. O mesmo ocorre com praticamente todas as organizações da Fortune 500, e com grande parte das 10 mil empresas com mais de 10 mil empregados que existem no mundo todo.
  • Nos anos de 2011 e 2012, a utilização de credenciais roubadas foi o terceiro motivo mais recorrente para ataques, já em 2013, tornou-se o primeiro vetor.

10. Gestão de chaves SSH pelo senhasegura

senhasegura oferece uma funcionalidade que possibilita controlar o ciclo das chaves SSH de modo seguro por meio do armazenamento, rotacionamento e controle de acessos para a proteção dessas chaves. 

Seus benefícios incluem o bloqueio do acesso não-autorizado a contas privilegiadas por meio das chaves SSH, o controle e rastreabilidade de utilização das mesmas e o gerenciamento das relações de confiança entre chaves e sistemas.

Na prática, a solução centraliza o gerenciamento de chaves SSH, alternando os pares delas conforme as políticas de segurança da sua empresa de modo automático. A seguir, resumimos suas principais funções:

  • Varredura de servidores Linux e identificação de chaves SSH;
  • Organizar a relação de conexões entre servidores;
  • Reinicializar chaves com publicação manual;
  • Publicação de chaves SSH;
  • Relatórios de mapeamento de chaves SSH;
  • Relatório e logs de acesso sobre o uso dessas chaves.

Quer solicitar uma demonstração desse serviço e descobrir as vantagens de ser um cliente do senhasegura? Entre em contato com a Afrika Tecnologia!

11. Conclusão

Lendo esse artigo, você teve acesso a dados sobre as chaves SSH, além de conhecer sua história e compreender sua importância para a segurança cibernética. Caso o nosso conteúdo tenha sido útil para você, compartilhe com outras pessoas que também possam se interessar pelo tema.

Sobre o autor

Afrika Tec

Afrika Tec