15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar
09.10.2024

Usando o Remote Desktop Protocol (RDP) para Fazer Login no Seu Servidor Windows

O Remote Desktop Protocol (RDP) é um protocolo de rede proprietário da Microsoft que permite acesso gráfico completo e encriptado a uma máquina Windows remota através da porta TCP 3389. Transmite a saída de vídeo do servidor para o cliente e a entrada de teclado/rato do cliente de volta para o servidor, proporcionando efetivamente uma sessão interativa em tempo real numa máquina onde não está fisicamente presente.

Para administradores de servidores, o RDP é o método principal de gestão de uma instância Windows Server — seja esse servidor uma máquina bare-metal num centro de dados, um ambiente de VPS Hosting, ou um Servidor Dedicado a executar Windows Server 2019, 2022 ou posterior. Este guia abrange o fluxo de trabalho completo: ativar o RDP, protegê-lo contra vetores de ataque do mundo real, conectar a partir de Windows, macOS e Linux, e diagnosticar as falhas que apanham os administradores desprevenidos.

Como o RDP Funciona Internamente

Antes de tocar numa única definição de configuração, compreender a arquitetura do protocolo traz benefícios na resolução de problemas.

O RDP opera sobre TCP (e opcionalmente UDP para redirecionamento multimédia) e utiliza TLS 1.2/1.3 para encriptação de transporte em todas as versões modernas do Windows Server. A pilha de sessão consiste em vários canais virtuais que transportam tipos de dados distintos simultaneamente:

  • Canal gráfico — atualizações de ecrã comprimidas usando RemoteFX ou aceleração GDI
  • Canal de entrada — eventos de teclado e rato
  • Canal de área de transferência — partilha bidirecional da área de transferência
  • Canais de redirecionamento de unidades/impressoras — mapeamento de recursos locais para a sessão remota
  • Canal de áudio — redirecionamento de reprodução e gravação de áudio remoto

Cada canal é multiplexado sobre uma única ligação TCP para a porta 3389 por defeito. O componente do lado do servidor é TermService (Remote Desktop Services), e o listener é gerido por RDPWinST.sys ao nível do kernel. Quando altera a porta de escuta, está a modificar um valor de registo que este driver lê no arranque do serviço.

A Autenticação ao Nível da Rede (NLA) adiciona uma camada de autenticação pré-sessão usando CredSSP (Credential Security Support Provider). Com NLA ativado, o cliente deve autenticar-se com credenciais válidas antes de o servidor alocar uma sessão de ambiente de trabalho completa, o que reduz drasticamente a superfície de ataque para ataques de negação de serviço e força bruta contra o ecrã de início de sessão.

Lista de Verificação de Pré-requisitos

Confirme cada item abaixo antes de tentar uma ligação:

  • Uma instância Windows Server (2016, 2019 ou 2022) com RDP ativado
  • O endereço IPv4 público ou um nome de host resolvível para o servidor
  • Uma conta de nível de administrador válida no servidor
  • Um cliente RDP instalado na sua máquina local
  • Porta 3389 (ou a sua porta personalizada) aberta tanto na firewall do SO como em qualquer firewall de rede upstream ou grupo de segurança
  • Suporte NLA no lado do cliente (ativado por defeito em todos os clientes RDP modernos de Windows, macOS e Linux)

Passo 1: Ativar RDP no Windows Server

O RDP está desativado por defeito em instalações novas do Windows Server. Existem dois métodos fiáveis para o ativar.

Método A: GUI (Propriedades do Sistema)

  1. Abra o Gestor de Servidor ou pressione Win + R, escreva sysdm.cpl e pressione Enter.
  2. Navegue até ao separador Remoto.
  3. Em Ambiente de Trabalho Remoto, selecione Permitir ligações remotas a este computador.
  4. Certifique-se de que Permitir ligações apenas de computadores que executem o Ambiente de Trabalho Remoto com Autenticação ao Nível da Rede está marcado.
  5. Clique em OK.

Método B: PowerShell (Preferido para Automação)

Para implementações sem interface gráfica ou com scripts, o PowerShell é mais rápido e passível de automação:

# Enable RDP
Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal Server' `
    -Name "fDenyTSConnections" -Value 0

# Enable NLA
Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' `
    -Name "UserAuthentication" -Value 1

# Allow RDP through Windows Firewall
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

# Confirm the service is running
Set-Service -Name TermService -StartupType Automatic
Start-Service TermService

Verificar a Regra de Firewall

O grupo de regras de firewall incorporado “Ambiente de Trabalho Remoto” cobre as regras de entrada necessárias. Verifique com:

Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Select-Object DisplayName, Enabled, Direction

Se estiver atrás de um grupo de segurança de um fornecedor de cloud (comum em ambientes de VPS com cPanel ou VPS geridos), também deve abrir a porta 3389 no painel de firewall externo do fornecedor — a firewall do SO por si só não é suficiente.

Passo 2: Localizar o Endereço IP Público do Servidor

A Partir da Consola do Servidor

Abra uma Linha de Comandos elevada e execute:

ipconfig /all

Procure o Endereço IPv4 sob o adaptador de rede ativo. Num servidor com múltiplas NICs (comum em hardware dedicado), identifique o adaptador ligado à rede pública cruzando com o gateway predefinido.

Para uma saída mais limpa, use PowerShell:

Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.IPAddress -notlike "127.*" } |
    Select-Object InterfaceAlias, IPAddress

A Partir do Painel de Controlo do Alojamento

Se aprovisionou o servidor através de um fornecedor de alojamento, o IP público está listado no painel de controlo. Para os Servidores Dedicados da AlexHost, o IP é apresentado imediatamente após o aprovisionamento na área de cliente.

Caso limite importante: Se o seu servidor estiver atrás de NAT (por exemplo, uma cloud privada ou um hipervisor com rede interna), o IP mostrado por ipconfig será um endereço privado RFC 1918. Precisará de se ligar ao IP público do gateway NAT e configurar o reencaminhamento de porta para o IP privado do servidor na porta 3389.

Passo 3: Ligar ao Servidor via RDP

A Partir de Windows

O cliente incorporado é mstsc.exe (Microsoft Terminal Services Client). Lance-o a partir de Executar (Win + R) ou do menu Iniciar:

mstsc /v:YOUR_SERVER_IP:3389

Para uma sessão em ecrã completo com redirecionamento de unidades desativado (uma predefinição consciente de segurança):

mstsc /v:YOUR_SERVER_IP /f /nodrives

Na GUI:

  1. Introduza o IP do servidor no campo Computador.
  2. Clique em Mostrar Opções para pré-preencher o nome de utilizador, o que evita o pedido de credenciais adicional.
  3. No separador Experiência, selecione a velocidade de ligação adequada para otimizar a renderização.
  4. Clique em Ligar, aceite o aviso de certificado na primeira ligação (verifique a impressão digital do certificado se a segurança for crítica) e introduza a sua palavra-passe.

A Partir de macOS

A aplicação oficial da Microsoft Microsoft Remote Desktop (disponível gratuitamente na Mac App Store) é o cliente recomendado.

  1. Abra a aplicação e clique no botão +, depois em Adicionar PC.
  2. Introduza o IP do servidor em Nome do PC.
  3. Em Conta de Utilizador, clique em Adicionar Conta de Utilizador e introduza as suas credenciais.
  4. Opcionalmente, configure as definições de Ecrã e o redirecionamento de Dispositivos e Áudio.
  5. Faça duplo clique na ligação guardada para iniciar a sessão.

A Partir de Linux

Existem duas opções maduras no Linux:

Remmina (baseado em GTK, recomendado para ambientes de ambiente de trabalho):

sudo apt install remmina remmina-plugin-rdp   # Debian/Ubuntu
sudo dnf install remmina remmina-plugin-rdp   # RHEL/Fedora

Lance o Remmina, crie uma nova ligação, selecione RDP como protocolo, introduza o IP do servidor, as credenciais e ligue.

FreeRDP (linha de comandos, ideal para scripts ou clientes sem interface gráfica):

sudo apt install freerdp2-x11
xfreerdp /v:YOUR_SERVER_IP /u:Administrator /p:'YourPassword' /cert:ignore /dynamic-resolution

O sinalizador /cert:ignore suprime o aviso de certificado — aceitável num ambiente controlado, mas deve ser substituído por fixação adequada de certificados em produção.

Comparação de Clientes RDP

FuncionalidadeWindows (mstsc)macOS (MS RD App)Linux (FreeRDP)Linux (Remmina)
Suporte NLASimSimSimSim
Redirecionamento de UnidadesSimSimSimSim
Partilha de Área de TransferênciaSimSimSimSim
Redirecionamento de ÁudioSimSimSim (plugin)Sim (plugin)
Multi-MonitorSimSimSim (`/multimon`)Limitado
RemoteFX / GPUSimParcialSimParcial
Autenticação por Smart CardSimNãoSimNão
Sinalizadores de Linha de ComandosSimNãoSim (completo)Não
CustoGratuito (incorporado)GratuitoGratuito (código aberto)Gratuito (código aberto)

Passo 4: Fortalecer o RDP Contra Ameaças do Mundo Real

O RDP é um dos serviços mais ativamente visados na internet. O Shodan indexa consistentemente milhões de endpoints RDP expostos, e campanhas automatizadas de força bruta funcionam 24/7. As medidas seguintes não são opcionais para qualquer servidor em produção.

Alterar a Porta de Escuta Predefinida

Mudar de 3389 para uma porta não padrão elimina a grande maioria dos scanners automatizados. Edite o registo:

$newPort = 54321  # Replace with your chosen port
Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' `
    -Name "PortNumber" -Value $newPort -Type DWord

# Update firewall rule
New-NetFirewallRule -DisplayName "RDP Custom Port" -Direction Inbound `
    -Protocol TCP -LocalPort $newPort -Action Allow

# Disable the default rule
Disable-NetFirewallRule -DisplayName "Remote Desktop - User Mode (TCP-In)"

Restart-Service TermService

Lembre-se de atualizar o seu grupo de segurança na cloud para permitir a nova porta e bloquear 3389.

Restringir Acesso por Endereço IP

Se a sua estação de trabalho administrativa tiver um IP estático, restrinja o RDP apenas a esse IP:

Set-NetFirewallRule -DisplayName "RDP Custom Port" `
    -RemoteAddress "YOUR_ADMIN_IP"

Aplicar Política de Bloqueio de Conta

Previna ataques de força bruta configurando um limiar de bloqueio de conta. Na Política de Grupo (gpedit.msc):

  • Limiar de bloqueio de conta: 5 tentativas inválidas
  • Duração do bloqueio de conta: 30 minutos
  • Repor contador de bloqueio de conta após: 15 minutos

Ou via PowerShell:

net accounts /lockoutthreshold:5 /lockoutduration:30 /lockoutwindow:15

Implementar uma VPN ou Túnel SSH como Gateway

A abordagem mais robusta é não expor o RDP à internet pública de todo. Coloque o RDP atrás de uma VPN (WireGuard ou OpenVPN) ou de um túnel SSH. Os administradores ligam-se primeiro à VPN e depois fazem RDP para o IP privado do servidor. Isto elimina completamente a superfície de ataque.

Ativar o Windows Defender Credential Guard

No Windows Server 2016 e posterior, o Credential Guard isola os hashes de credenciais num enclave de segurança baseado em virtualização, prevenindo ataques pass-the-hash que podem pivotar a partir de uma sessão RDP comprometida.

Auditar e Registar Sessões RDP

Ative a auditoria via Política de Grupo em Configuração do Computador > Definições do Windows > Definições de Segurança > Configuração Avançada de Política de Auditoria > Início/Fim de Sessão. Registe eventos de sucesso e falha. Encaminhe os registos para um SIEM ou, no mínimo, reveja regularmente Event ID 4624 (início de sessão bem-sucedido) e Event ID 4625 (início de sessão falhado) no Visualizador de Eventos.

Passo 5: Resolução de Problemas Comuns de Ligação RDP

Ligação Recusada (Código de Erro 0x204 / “O computador remoto não pode ser alcançado”)

Isto é quase sempre um problema de firewall ou encaminhamento.

# Test from the client machine (replace with your server IP and port)
Test-NetConnection -ComputerName YOUR_SERVER_IP -Port 3389

Se TcpTestSucceeded devolver False, a porta está bloqueada. Verifique:

  1. A firewall do SO no servidor (Get-NetFirewallRule -DisplayGroup "Remote Desktop")
  2. O grupo de segurança ou ACL do fornecedor de cloud
  3. Qualquer firewall de hardware intermédio entre o cliente e o servidor

Erro de Autenticação (“Ocorreu um erro de autenticação. A função solicitada não é suportada.”)

Isto normalmente significa que o cliente não suporta a versão do Credential Security Support Provider (CredSSP) exigida pelo servidor, surgindo frequentemente após uma atualização de segurança do Windows (patch CVE-2018-0886). Corrija no servidor:

# Temporary workaround — update the client instead when possible
Set-ItemProperty -Path 'HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters' `
    -Name "AllowEncryptionOracle" -Value 2 -Type DWord

A correção permanente é atualizar o cliente RDP para uma versão com patch que suporte o protocolo CredSSP atualizado.

“A sessão remota foi desligada porque não existem Servidores de Licenças de Ambiente de Trabalho Remoto disponíveis”

Isto ocorre quando a função Remote Desktop Session Host (RDSH) do servidor está instalada mas nenhum servidor de Licenciamento RD está configurado. Para acesso administrativo simples (não implementações RDSH multi-utilizador), remova a função RDSH ou configure um período de tolerância de 120 dias:

# Check licensing mode
(Get-WmiObject -Namespace root/CIMV2/TerminalServices -Class Win32_TerminalServiceSetting).LicensingType

Um valor de 2 significa Por Dispositivo, 4 significa Por Utilizador. Para acesso apenas de administrador, o valor deve ser 5 (não configurado / período de tolerância).

Ecrã Negro Após Início de Sessão

Um ecrã negro numa ligação RDP normalmente indica uma de três causas:

  • Falha do Explorer.exe: Pressione Ctrl + Alt + End para abrir o Gestor de Tarefas, depois execute explorer.exe a partir de Ficheiro > Executar Nova Tarefa.
  • Conflito de driver de ecrã: Desative a aceleração de hardware na sessão RDP via Política de Grupo.
  • Problema de remoting GPU: Em servidores com GPUs dedicadas (relevante para cargas de trabalho de GPU Hosting), certifique-se de que o adaptador RemoteFX vGPU está corretamente configurado.

Sessão RDP Lenta ou com Atraso

Otimize o desempenho ajustando as definições de experiência de ligação em mstsc:

mstsc /v:YOUR_SERVER_IP /f

No separador Experiência, selecione LAN (10 Mbps ou superior) e desative Fundo do ambiente de trabalho, Suavização de tipos de letra e Composição do ambiente de trabalho para máxima capacidade de resposta em ligações com alta latência.

RDP vs. Protocolos Alternativos de Acesso Remoto

CritérioRDPSSH (com X11/XRDP)VNCTeamViewer
ProtocoloProprietário (Microsoft)Padrão abertoPadrão abertoProprietário
EncriptaçãoTLS 1.2/1.3AES-256 (ChaCha20)Opcional (túnel TLS)AES-256
AutenticaçãoNLA / Kerberos / Smart CardPar de chaves / Palavra-passePalavra-passeBaseada em conta
DesempenhoAlto (GDI comprimido)Alto (CLI), Baixo (GUI)Baixo-MédioMédio
Multi-SessãoSim (RDSH)SimSimSim
Suporte Nativo WindowsIncorporadoRequer OpenSSHRequer clienteRequer instalação
Traversal de FirewallPorta única (3389)Porta única (22)Porta única (5900)Baseado em relay
Caso de Uso IdealAdministração de servidor WindowsAdministração Linux/UnixGUI multiplataformaSuporte/helpdesk

Para administração de Windows Server, o RDP continua a ser a escolha superior em termos de desempenho, integração nativa e profundidade de funcionalidades. O SSH é o protocolo preferido para ambientes de VPS Hosting baseados em Linux.

Gerir Múltiplas Sessões RDP e Credenciais Guardadas

Guardar Ficheiros de Ligação RDP

O mstsc suporta ficheiros de configuração .rdp, que são ficheiros de texto simples que pode controlar por versão:

full address:s:YOUR_SERVER_IP:3389
username:s:Administrator
prompt for credentials:i:1
audiomode:i:0
redirectdrives:i:0
redirectclipboard:i:1

Guarde como server.rdp e faça duplo clique para lançar, ou invoque via:

mstsc server.rdp

Gestor de Credenciais

No Windows, as credenciais RDP guardadas são armazenadas no Gestor de Credenciais (control keymgr.dll). Para scripts automatizados ou pipelines CI/CD que necessitem de acesso RDP, use o utilitário cmdkey:

cmdkey /generic:YOUR_SERVER_IP /user:Administrator /pass:YourPassword
mstsc /v:YOUR_SERVER_IP
cmdkey /delete:YOUR_SERVER_IP

Elimine as credenciais imediatamente após a utilização para evitar exposição persistente de credenciais.

Lista de Verificação de Pontos-Chave Práticos

Use isto como uma matriz de verificação pré-implementação e pós-incidente:

Configuração Inicial

  • RDP ativado via fDenyTSConnections = 0 no registo
  • NLA aplicado (UserAuthentication = 1)
  • TermService definido como Automático e em execução
  • Regra de firewall ativa para a porta correta

Rede e Controlo de Acesso

  • Porta predefinida 3389 alterada para uma porta não padrão
  • Grupo de segurança na cloud atualizado para refletir a nova porta
  • Lista de permissões de IP configurada na regra de firewall
  • RDP não exposto diretamente à internet (gateway VPN preferido)

Autenticação e Fortalecimento

  • Política de bloqueio de conta configurada (5 tentativas / bloqueio de 30 minutos)
  • Palavra-passe forte e única para todas as contas com acesso RDP
  • Credential Guard ativado no Windows Server 2016+
  • Acesso RDP limitado ao grupo de Administradores incorporado ou a um grupo RDP dedicado

Monitorização

  • Política de auditoria ativada para eventos de Início/Fim de Sessão
  • Alertas Event ID 4625 configurados para falhas repetidas
  • Registos de sessão revistos periodicamente ou encaminhados para um SIEM

Lado do Cliente

  • Cliente RDP atualizado para a versão mais recente
  • Ficheiros .rdp armazenados de forma segura e não submetidos a repositórios públicos
  • Credenciais guardadas no Gestor de Credenciais revistas e eliminadas regularmente

Perguntas Frequentes

Que porta usa o RDP e pode ser alterada?

O RDP escuta na porta TCP 3389 por defeito. Pode alterá-la modificando o valor DWORD PortNumber em HKLM:SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp e reiniciando o serviço TermService. Atualize as suas regras de firewall para corresponder.

O que é a Autenticação ao Nível da Rede (NLA) e deve estar sempre ativada?

A NLA exige que o cliente se autentique via CredSSP antes de o servidor criar uma sessão de ambiente de trabalho completa. Isto impede que utilizadores não autenticados cheguem ao ecrã de início de sessão do Windows, reduzindo significativamente a exposição a ataques de preenchimento de credenciais e negação de serviço. Deve estar sempre ativada em servidores de produção, a menos que tenha um requisito específico de compatibilidade com clientes legados.

Por que razão a minha ligação RDP cai após um período de inatividade?

Os tempos limite de sessão são controlados pela Política de Grupo em Configuração do Computador > Modelos Administrativos > Componentes do Windows > Serviços de Ambiente de Trabalho Remoto > Anfitrião de Sessão de Ambiente de Trabalho Remoto > Limites de Tempo de Sessão. As políticas relevantes são Definir limite de tempo para sessões desligadas e Definir limite de tempo para sessões de Serviços de Ambiente de Trabalho Remoto ativas mas inativas. Defina-as de acordo com os seus requisitos operacionais em vez de as deixar nos valores predefinidos.

Podem múltiplos utilizadores ligar-se a um Windows Server via RDP simultaneamente?

Uma instalação padrão do Windows Server suporta duas sessões RDP administrativas simultâneas. Para mais utilizadores simultâneos, necessita da função Remote Desktop Session Host (RDSH) e de Licenças de Acesso de Cliente de Serviços de Ambiente de Trabalho Remoto (RDS CALs) válidas. Sem licenciamento adequado, o servidor entra num período de tolerância de 120 dias antes de recusar ligações.

É seguro expor o RDP diretamente na internet pública?

Não. Expor diretamente o RDP na porta 3389 à internet convida ataques automatizados de força bruta, campanhas de entrega de ransomware (o RDP é o principal vetor de acesso inicial para ransomware) e exploração de vulnerabilidades sem patch. Coloque sempre o RDP atrás de uma VPN, restrinja o acesso por IP, altere a porta predefinida e aplique NLA e políticas de bloqueio de conta como linha de base mínima.

15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar