SSH e RDP: Soluções e vulnerabilidades de acesso remoto

Compartilhe

Há um crescente aumento no uso do acesso remoto nos últimos anos. O uso do Remote Desktop Protocol (RDP) e do Secure Shell (SSH) tem se expandido em diferentes setores e indústrias. No entanto, juntamente com o avanço dessas práticas, também cresce a exposição a vulnerabilidades.

Sempre que ocorre uma conexão de acesso remoto, é essencial garantir bases sólidas de segurança, a fim de mitigar riscos e permitir uma comunicação segura entre o usuário e o servidor ou estação de trabalho.

Um dos principais fatores a serem considerados é a autenticação dos usuários. Ao conceder acesso remoto a profissionais de diferentes locais, a conexão precisa ser protegida contra exposições indevidas ou exploração de recursos vulneráveis dentro da organização.

Outro ponto crítico é a segurança do endpoint. Pesquisas recentes apontam um aumento de 127% em ataques direcionados a endpoints RDP, tornando esses dispositivos um dos principais alvos de cibercriminosos.

Se você utiliza RDP ou SSH, é fundamental garantir que seus procedimentos sejam seguros. Para isso, é importante compreender primeiro o funcionamento de cada protocolo, identificar vulnerabilidades e, a partir daí, definir soluções adequadas à infraestrutura da sua empresa.

Neste artigo, você vai ver:

  • O que é SSH?
  • Como o SSH funciona?
  • O que é RDP?
  • Como o RDP funciona?
  • SSH e RDP: comparação, segurança e vulnerabilidade
  • FAQ: Perguntas frequente sobre segurança no acesso remoto (SSH e RDP)

O que é SSH?

O Secure Shell (SSH) é um protocolo que permite serviços de rede seguros em ambientes não confiáveis.

Ele opera sobre a camada TCP/IP, por meio de aplicativos cliente e servidor separados, e realiza autenticação e negociação de protocolos antes de estabelecer uma conexão segura.

SSH, em essência, fornece:

  • Autenticação criptográfica de host;
  • Autenticação de usuário;
  • Criptografia forte;
  • Proteção sólida da integridade dos dados;
  • Multitunelamento de canais de dados.

O SSH pode ser usado para logins remotos seguros, execução de comandos remotos seguros e transferência de arquivos remotos com esses recursos. Além de controle de chave criptográfica, encaminhamento de porta TCP e agentes de autenticação, com vários outros componentes de compressão de dados e controle de acesso.

Como o SSH funciona?

Neste exemplo, mostraremos como funciona a autenticação e criptografia do protocolo SSH.

Passo 1

O host do cliente se conecta aos hosts do servidor. Durante a troca, ambas as versões do protocolo de troca são suportadas.

Passo 2

O Servidor envia as informações de autenticação e os parâmetros de sessão para o cliente. Isso inclui os componentes de chave pública do servidor de pares de chaves públicas e privadas e uma lista de modos de criptografia, compactação e autenticação que o servidor suporta.

Passo 3

O host do cliente verifica a chave pública do servidor em relação à chave do cliente que ele possui na biblioteca de chaves públicas. Após identificar o servidor, a chave de sessão secreta é gerada.

Passo 4

Uma vez que a chave de sessão secreta está no servidor e no host do cliente, a criptografia e a verificação de integridade são habilitadas durante este estágio.

Passo 5

O host do cliente e o usuário agora podem ser autenticados no host do servidor sem interceptação da transmissão entre os dois. 

Após a autenticação, o acesso apropriado ao servidor é concedido ao usuário, e as duas máquinas são conectadas sob uma conexão segura e criptografada, habilitando um túnel seguro para transmissões através do gateway de internet.

Passo 6

A conexão é estabelecida.

O que é RDP?

O Remote Desktop Protocol (RDP) é utilizado principalmente em sistemas Windows, permitindo acesso remoto a servidores físicos ou virtuais.

Diferente do SSH, o RDP possui uma interface gráfica (GUI), o que o torna mais acessível para usuários não técnicos.

Ele transmite dados de entrada (teclado, mouse) e saída (tela, display) entre o dispositivo local e o remoto, criando uma experiência de uso semelhante à de estar fisicamente na máquina.

Como o RDP funciona?

A pilha de protocolos RDP consiste em ISO Transport Service (TKPT), Connection-Oriented Transport Protocol (X.224) e o Multipoint Communication Service (T.125 MCS). 

O TPKT permite a troca de unidades de informação, enquanto o X.224 fornece o serviço de transporte em modo de conexão usado na solicitação de conexão inicial e na resposta dentro do RDP. 

O processo de envio e recebimento é bastante semelhante ao do modelo OSI de sete camadas, onde vemos os dados de um aplicativo ou serviço sendo transmitidos e passados pela pilha de protocolos.

A conexão RDP passa por várias etapas entre o Cliente e o Servidor. Aqui está um pequeno exemplo detalhado de como a conexão ocorre:

1. Conexão:

Ocorre usando a PDU de solicitação de conexão X.224 (unidade de dados de protocolo). O Cliente envia uma solicitação de conexão X.224 ao Servidor onde o pacote enviado contém a Solicitação de Negociação RDP e os protocolos de segurança que o Cliente suporta, ou seja, criptografia RSA RC4, TLS, RDSTLS ou CredSSP.

Uma vez que o Servidor confirma a conexão, ele escolhe o protocolo de segurança da seleção de protocolo do Cliente. Todos os dados subsequentes são agrupados em PDU de dados X.224 a partir deste ponto.

2. Troca de configurações básicas:

Após a conexão com o Servidor, ocorre uma troca de configurações básicas entre o Cliente e o Servidor usando o MSC Connect Initial e o Connect Response PDU. Informações como dados principais, dados de segurança e dados de rede se enquadram na categoria de configurações básicas.

  • Dados principais: Versão do RDP, informações do teclado, nome do host, informações do software cliente, resolução da área de trabalho, etc;
  • Dados de segurança: Métodos de criptografia, tamanho das chaves de sessão, certificado do servidor e servidor aleatório para criação de chave de sessão;
  • Dados de rede: Contém informações sobre os canais virtuais alocados e os canais solicitados, juntamente com detalhes do tipo de solicitação, IDs, respostas, etc.

3. Conexão de Canal: Uma vez que as configurações básicas foram trocadas e uma lista de canais virtuais foi estabelecida, a etapa seguinte garante que todos os canais sejam conectados.

  • Solicitação de Erect Domain do MCS
  • MCS Anexar Solicitação de Usuário
  • Confirmação de usuário anexado ao MCS
  • Solicitação e Confirmação de Ingresso no Canal MSC

4. Início da Segurança:

O estágio de início de segurança inicia a PDU do Security Exchange, que contém a chave pública criptografada aleatória do Cliente com o Servidor. Ambos usam números aleatórios para criar chaves de sessão criptografadas, em que o tráfego RDP subsequente pode ser criptografado em etapas adicionais.

5. Troca de configurações de segurança:

Permite que os dados criptografados da PDU de informações do cliente sejam enviados do cliente para o servidor. Os dados consistem em domínio de usuário, nome de usuário, senha, diretório de trabalho, tipos de compactação, etc.

6. Licenciamento:

O estágio de licenciamento permite que usuários autorizados se conectem ao servidor de terminal.

7. Troca de Capacidades:

O Servidor envia o Demand Active PDU onde os recursos suportados são enviados ao Cliente. Isso geralmente abrange a versão do sistema operacional, entrada de compactação, codecs de bitmap, canais virtuais, etc. Em seguida, o servidor pode enviar uma PDU de layout de monitor para entender os monitores de exibição no servidor. Nesta fase, o Cliente responde com um Confirm Active PDU.

8. Finalização da Conexão:

A penúltima etapa finaliza a conexão entre o Cliente e o Servidor. Nesta fase, o Cliente envia PDUs específicas para o Servidor e vice-versa.

Os seguintes PDUS são:

  • PDU de sincronização cliente/servidor – sincroniza identificadores de usuário entre cliente e servidor
  • PDU de controle cliente/servidor: envie a seguinte PDU para indicar o controle compartilhado sobre uma sessão.
  • PDU de Controle de Cliente (request/grant Control): O Cliente envia uma solicitação de controle enquanto o Servidor concede a solicitação.

Lista de Chaves Persistentes PDUs/PDUs: um estágio opcional onde o Cliente envia uma lista de chaves, cada uma identificando o bitmap em cache, permitindo mais saída gráfica do Servidor para o Cliente.

9. Troca de dados:

Após todas as etapas e trocas de PDUs, os dados primários são enviados entre o Cliente e o Servidor, onde o Servidor fará a entrada de dados e dados gráficos. A conexão RDP agora está pronta para ser usada pelo usuário final.

SSH e RDP: comparação, segurança e vulnerabilidade

Agora que entendemos como o RDP e o SSH funcionam, vamos nos concentrar na segurança e vulnerabilidade dos dois protocolos.

Tanto o RDP quanto o SSH são usados ​​para obter acesso remoto a uma máquina específica. Agora sabemos que podemos usar RDP e SSH para conectar com segurança a uma infraestrutura local e servidores baseados em nuvem. 

Embora sejam bastante semelhantes, existem diferenças fundamentais entre eles. O SSH é considerado mais seguro porque não requer ferramentas adicionais, como uma rede privada virtual (VPN) ou autenticação multifator (MFA), como o RDP. 

Além disso, o SSH é operado dentro do terminal, tornando difícil para o pessoal que não é de TI realizar operações com o SSH, enquanto o RDP é baseado em uma interface gráfica de usuário (GUI), permitindo uso e operações mais fáceis para qualquer iniciante. 

Apesar das diferenças, ambos ainda possuem vulnerabilidades aumentando o risco de exploração. Escolher o método de conexão correto é crucial para qualquer organização e entender essas vulnerabilidades ajuda a proteger sua organização contra ameaças cibernéticas e mitigar riscos futuros.

Vulnerabilidade e exposições comuns

  • CVE-2019-0708: Habilitada a execução remota de código dentro do protocolo RDP. Um ataque não autenticado pode se conectar ao sistema de destino usando RDP e enviar solicitações criadas. Permitindo que o ataque execute código arbitrário no sistema alvo.
  • CVE-2021-34718: Encontrado no processo SSH Server no software Cisco IOS XR, permite que um usuário autenticado sobrescreva e leia arquivos arbitrários no dispositivo local. Com base nos argumentos de validação insuficientes. Um ataque com privilégios de nível inferior pode elevar seus privilégios e recuperar e fazer upload de arquivos no dispositivo quando explorado com êxito.

Embora esta seja apenas a superfície das vulnerabilidades para RDP e SSH, algumas ferramentas ajudam a evitar ataques de protocolos expostos ou vulneráveis. Soluções/ferramentas como o Privileged Access Management (PAM) ajudam a estabelecer uma conexão segura com os protocolos RDP e SSH e auxiliam na prevenção de ataques com base na exposição do protocolo com um ambiente de grade para recursos valiosos dentro das organizações. 

Suponha que uma vulnerabilidade de protocolo seja encontrada com base em políticas e acesso do usuário definido pelo PAM. 

O invasor não poderá se mover lateralmente na infraestrutura da empresa ou alterar quaisquer dados do sistema. 

As soluções PAM são ótimas para usuários privilegiados e não privilegiados e ajudam a proteger seus administradores, evitando qualquer violação de dados ou uso indevido de acesso.

FAQ: Perguntas frequentes sobre segurança no acesso remoto (SSH e RDP)

O que é o acesso remoto seguro?
É o processo de se conectar a sistemas e servidores de forma criptografada, garantindo que os dados transmitidos não possam ser interceptados.

O SSH é mais seguro que o RDP?
Sim. O SSH utiliza autenticação criptográfica e opera sem interface gráfica, o que reduz as superfícies de ataque. O RDP, embora prático, é mais vulnerável sem camadas adicionais de segurança.

Como proteger conexões RDP?
Use autenticação multifator (MFA), limitação de IPs, criptografia TLS e soluções PAM para restringir acessos privilegiados.

É possível usar SSH e RDP juntos?
Sim. Em algumas infraestruturas híbridas, o SSH pode ser usado para autenticação e tunelamento seguro de sessões RDP.

O que é PAM e como ele ajuda na segurança remota?
O Privileged Access Management (PAM) gerencia e protege contas administrativas, evitando o uso indevido de credenciais e reduzindo riscos de movimentação lateral dentro da rede.

Como a FCBrasil pode te ajudar

Garantir o acesso remoto seguro é um dos pilares da cibersegurança atualmente. Protocolos como SSH e RDP são fundamentais para manter a produtividade e a conectividade das empresas, mas sem uma gestão adequada, podem se tornar portas de entrada para ameaças e invasões.

Investir em boas práticas de autenticação, controle de endpoints e soluções de gestão de acesso privilegiado (PAM) é essencial para proteger dados sensíveis e evitar falhas humanas que comprometem toda a infraestrutura.

Se a sua empresa utiliza RDP, SSH ou outros métodos de acesso remoto, vale avaliar se eles estão realmente protegidos contra riscos atuais.

Fale com um de nossos consultores e saiba como tornar o acesso remoto da sua empresa mais seguro, eficiente e confiável.

cta 2