Clique e receba as novidades quentinhas no Telegram

O SSH (Secure Socket Shell ou Secure Shell) é um protocolo de administração que permite fazer login e controlar seus servidores remotos com segurança pela Internet (que não é tão seguro por si só). Portanto, toda a comunicação entre dois órgãos (servidor e cliente) acontece de forma criptografada com o auxílio de fortes técnicas criptográficas. Além disso, vale lembrar que essa comunicação altamente segura possui vantagem em relação aos outros protocolos de login desprotegidos, como rlogin ou Telnet.

Veja também o que é FTPS!

O protocolo SSH fornece uma maneira de autenticação e conexão seguras, onde a entrada de um usuário remoto é transferida para o host e, em seguida, os comandos ou a saída são retransmitidos de volta por meio de uma “janela SSH”. Qualquer usuário, seja Mac OS ou Linux, pode fazer login diretamente em seu servidor remoto por meio da janela SSH. Por outro lado, os usuários do Windows podem confiar no PuTTY, pois é um cliente SSH poderoso.

Os benefícios de usar o protocolo SSH

SSH: saiba o que é e como funciona! - Foto: HDS
SSH: saiba o que é e como funciona! – Foto: HDS

Um protocolo SSH desempenha um papel vital nas comunicações de rede corporativa, pois pode:

  • Fornecer acesso muito seguro aos usuários em seus servidores remotos;
  • Fornecer acesso seguro a procedimentos automatizados;
  • Permitir transferências de arquivos automatizadas e intuitivos;
  • Permitir o fluxo de comandos entre duas partes de forma remota;
  • Gerenciar e monitorar a infraestrutura de rede com eficiência.

Agora que sabemos o que realmente é o protocolo SSH, vamos entrar em detalhes sobre como ele realmente funciona:

Como funciona o SSH?

SSH: saiba o que é e como funciona! - Foto: Hostinger
SSH: saiba o que é e como funciona! – Foto: Hostinger

Para usuários de Mac OS e Linux, implementar o protocolo SSH é muito simples.  Por outro lado, os usuários do Windows precisam ir para um cliente SSH como o PuTTY para estabelecer uma conexão SSH.

Dessa forma, o protocolo SSH estabelecerá um modelo cliente-servidor para realizar um procedimento de autenticação seguro entre duas partes e criptografar os dados que estão sendo transferidos entre elas.

As duas partes (servidor e cliente) desempenham um papel vital:

  • O componente do servidor procura conexões por meio de uma porta designada. Dessa forma, o seu trabalho é negociar uma conexão segura, autenticar a conexão e criar um ambiente seguro para a transformação de dados;
  • Por outro lado, o componente cliente instiga o processo de handshake inicial do TCP com o servidor e negocia uma conexão segura. Além disso, ele também se responsabiliza por verificar e autenticar a identidade do servidor usando criptografia de chave pública e reverter com suas próprias credenciais para autenticação.

Depois que a configuração inicial é concluída, o protocolo SSH usa criptografia simétrica poderosa junto com algoritmos de hash para garantir que a integridade e a privacidade da transmissão de dados entre as duas partes permaneçam seguras.

Autenticação com chaves SSH

SSH: saiba o que é e como funciona! - Foto: OM
SSH: saiba o que é e como funciona! – Foto: OM

A janela SSH pode utilizar vários métodos para autenticação do usuário. Mas o método mais popular entre eles é por meio de chaves públicas ou senhas.

Geralmente, o processo de autenticação de chaves públicas é útil para automação. Até mesmo os administradores de sistema usam esse método para logins únicos rápidos. Dessa forma, o processo requer que você tenha um par de chaves criptográficas: a chave privada e a chave pública.

A chave pública é configurada em um servidor, o que autorizará o acesso ao servidor apenas para os usuários que possuem uma cópia da chave privada.

SSH: saiba o que é e como funciona! - Foto: PA
SSH: saiba o que é e como funciona! – Foto: PA

Essas chaves de autenticação são as chaves SSH. Portanto, elas concedem acesso aos usuários da mesma forma que as senhas e nomes de usuário fazem quando efetuamos login em sites ou usamos outros apps.

A maior vantagem de um procedimento de autenticação baseado em chave é garantir a automação segura. Além disso, as transferências de arquivos SSH automatizadas permitem a integração fácil de apps e melhor gerenciamento de configuração.

Privacidade de dados e proteção de integridade

SSH: saiba o que é e como funciona! - Foto: Kinsta
SSH: saiba o que é e como funciona! – Foto: Kinsta

Como uma conexão segura acontece entre duas partes, ou seja, cliente e servidor SSH, o processo de criptografia de dados inicia de acordo com os parâmetros negociados no início da configuração. Dessa forma, duas partes concordam sobre qual algoritmo de criptografia simétrica será usado e criam uma chave SSH para uso futuro.

Os algoritmos de criptografia padrão da indústria garantem que o tráfego entre o cliente e o servidor esteja totalmente protegido. Além disso, o protocolo SSH também inculca técnicas para garantir que a integridade dos dados transmitidos permaneça intacta. Por fim, vale lembrar que essas técnicas incluem o uso de algoritmos de hash padrão.

Tipos de técnicas de criptografia

1. Criptografia simétrica

SSH: saiba o que é e como funciona! - Foto: PPL Ware
SSH: saiba o que é e como funciona! – Foto: PPL Ware

Criptografia simétrica é quando o cliente e o host – ambos usam uma chave secreta para criptografar e descriptografar uma mensagem. Portanto, isso significa que qualquer parte que tenha essa chave pode descriptografar os dados transferidos.

Além disso, a criptografia simétrica também tem os nomes de criptografia de “segredo compartilhado” ou “chave compartilhada”. Normalmente, apenas uma única chave serve para todas as operações, mas algumas sessões podem usar um par de chaves onde podem calcular facilmente a chave oposta.

Com a ajuda de chaves simétricas, toda a comunicação é criptografada durante a sessão SSH. Ambas as partes (o cliente e o servidor) irão adquirir uma chave secreta de acordo com os termos acordados. Portanto, essa chave secreta nunca deve ser compartilhada com terceiros. Além disso, vale lembrar que todo o processo de obtenção de uma chave simétrica é feito com a ajuda de um algoritmo criptográfico de troca de chaves.

Mas esse algoritmo é seguro?

Esse algoritmo criptográfico de troca de chaves é muito seguro, pois não transmite a chave entre os participantes. Em vez disso, os dois participantes compartilharão dados públicos cruciais, com base nos quais eles devem determinar individualmente a chave. Se um terceiro indesejado capturar essa parte dos dados compartilhados, eles não serão capazes de calcular a chave secreta, pois não sabem a cifra que está sendo usada.

Alguns fatos interessantes:
  • Técnicas de criptografia simétricas podem até mesmo proteger a autenticação de senha de sniffers;
  • O token secreto é exclusivo para cada sessão SSH e é criado imediatamente antes do processo de autenticação. Depois que a chave simétrica é criada, todos os dados transmitidos entre as duas partes devem ser criptografados por essa chave;
  • Agora, existem muitos sistemas de criptografia de chave simétrica por aí, como Blowfish , AES, CAST128, 3DES, Arcfour e entre outros;
  • O cliente e o servidor “concordam” sobre qual cifra de criptografia usar antes de estabelecer uma conexão. Isso acontece ao publicar uma lista de suas cifras suportadas de acordo com suas preferências. Dessa forma, o sistema de criptografia que estiver no topo da lista do cliente e também estiver disponível na lista do servidor vai ser o algoritmo final.

2. Criptografia assimétrica

SSH: saiba o que é e como funciona! – Foto: PPL Ware

Ao contrário da criptografia simétrica, que usa uma ou um par de chaves, a criptografia assimétrica usa duas chaves distintas para criptografar e descriptografar os dados. Além disso, vale lembrar que essas chaves possuem o nome de chave “privada” e “pública”. Mas juntas, podemos chamá-las de “par de chaves públicas-privadas”.

Como você pode imaginar, a chave pública é compartilhada abertamente com os PCs envolvidos. Embora a chave pública esteja de alguma forma vinculada à chave privada correspondente, ela NÃO PODE calcular matematicamente a chave privada.

A relação matemática entre essas duas chaves é bem complicada. Dessa forma, qualquer mensagem ou comando criptografado pela chave pública de um PC será decriptografado apenas pela chave privada do mesmo PC. Essa técnica unilateral significa que a chave pública não será capaz de descriptografar nenhuma mensagem criptografada pela chave privada, nem pode descriptografar sua própria mensagem.

Para que a conexão seja segura, a chave privada não deve chegar até terceiros. Este NÃO compartilhamento da chave privada é onde reside todo o poder da conexão. Isso ocorre porque a chave privada é o único elemento que pode descriptografar mensagens criptografadas por sua própria chave pública.

É por isso que qualquer parte que deseja descriptografar uma mensagem compartilhada publicamente deve ter a chave privada relacionada.

Alguns fatos interessantes:
  • A criptografia assimétrica não é útil para criptografar toda a sessão SSH.
  • Em vez disso, ela só é útil durante o algoritmo de troca de chave inicial da técnica de criptografia simétrica. Antes de a conexão ser estabelecida, o cliente e o servidor criam pares de chaves assimétricas temporárias (chaves públicas-privadas) e compartilham suas chaves privadas para gerar uma “chave secreta”. Essa chave secreta é útil posteriormente para criptografia simétrica;
  • Assim que uma conexão simétrica segura for configurada, o servidor usará a chave pública do cliente para criá-la e transmiti-la para autenticação do cliente. Portanto, se o cliente conseguir executar a descriptografia da mensagem com sucesso, significa que possui a chave privada correspondente.

E é quando a sessão SSH começa.

3. Hashing

SSH: saiba o que é e como funciona! – Foto: AR

O hash é uma técnica criptográfica unilateral usada em sessões SSH. No entanto, essas funções hash unilaterais nunca devem ser descriptografadas.

Em vez disso, essas funções hash apenas criam uma “assinatura” única de comprimento fixo para cada mensagem de entrada. Portanto, não expõe qualquer clareza em relação à mensagem, tornando-a difícil de prever ou explorar.

Além disso, essas funções não podem sofrer uma reversão. O motivo disso é que o hash criptográfico é gerado a partir de uma mensagem de entrada específica. No entanto, o hash não pode gerar essa mensagem específica. Ou seja, se o cliente tiver uma entrada, ele pode criar uma assinatura hash correspondente e comparar seus valores para ver se possuem a entrada correta ou não.

A mesma função de hash e mensagem DEVEM gerar a mesma assinatura de hash. Portanto, se um hash diferente for criado, isso significa que os dados são modificados ou explorados de uma forma ou de outra.

Alguns fatos interessantes:
  • A tecnologia de hash usa códigos de autenticação de mensagens baseados em Hash (HMACs) para verificar a autenticidade das mensagens e manter a integridade dos dados. Portanto, isso verifica se a mensagem recebida não foi explorada ou modificada de qualquer forma;
  • Conforme mencionado acima, a negociação de criptografia simétrica inicial ocorre entre duas partes e é quando o MAC (Message Authentication Code) também é selecionado;
  • O processo de seleção é semelhante à seleção de sistemas de criptografia. Dessa forma, uma lista de opções de MAC é feita pelo cliente e também pelo servidor. Portanto, a opção MAC que estiver no topo da lista do cliente e também for compatível com o servidor é escolhida;
  • Cada mensagem transmitida DEVE conter um MAC, que será calculado com a ajuda de chave simétrica, conteúdo da mensagem e número de sequência do pacote.

Evoluções no gerenciamento de rede

SSH: saiba o que é e como funciona! – Foto: TSHS

À medida que mais fornecedores entram no espaço de TI e segurança de rede, as organizações geralmente se encontram com uma mistura heterogênea de ferramentas de gerenciamento de rede. Portanto, não é surpresa que o SSH esteja sendo abandonado por protocolos de gerenciamento de rede mais novos e seguros.

Alguns exemplos incluem SSH, WMI, Telnet, monitoramento SNMP. WMI, ou Windows Management Instrumentation, é a implementação da Microsoft das tecnologias de gerenciamento Web-Based Enterprise Management (WBEM) e Common Interface Model (CIM) para ambientes distribuídos.

FreqUentemente referido como “SSH on Steroids” após um comentário na conferência BlackHat 205, o WMI oferece suporte à execução de código WMI, bem como serialização de objeto. Ao contrário do SSH, o WMI permite a configuração programável por meio do “drive” WSMan no PowerShell.

Conclusão

SSH: saiba o que é e como funciona! - Foto: Geek
SSH: saiba o que é e como funciona! – Foto: Geek

Isso conclui nossa postagem detalhada sobre como o SSH funciona. Espero que este guia o “ilumine” sobre como tudo funciona em uma sessão SSH e quais são os aspectos de segurança usados ??nesta tecnologia. Muitos podem achar que esses procedimentos são muito difíceis de entender, mas eles são muito simples.

Como? – Bem, saiba que um PC pode calcular uma assinatura hash em apenas um segundo e autenticar o usuário correspondente. O processo parece complexo, mas realmente não é. Além disso, o SSH usa várias técnicas de criptografia e autenticação para garantir a integridade dos dados e uma conexão segura entre ambas as partes.

Portanto, se os farejadores tentarem interceptar o sinal, eles não obterão nada dele, exceto um pacote de dados criptografado!

Gostou? O que achou? Deixe seu comentário. Além disso, não se esqueça de entrar no nosso grupo do Telegram. Basta clicar em “Canal do Telegram” que está localizado no canto superior direito da página!