O maior portal de MU Online do Brasil — desde 2003
Tutorial Avançado Infraestrutura

Como fazer o hardening do Windows Server para MU Online

Blinde o Windows Server do seu MU Online: RDP seguro, contas endurecidas, superfície de portas mínima, SQL protegido, logs e monitoramento contra invasões.

GA Gabriel · Atualizado em 14 jul 2024 · ⏱ 17 min de leitura
Resposta rápida

Servidores de MU Online são alvos frequentes — de scanners automatizados que varrem a internet atrás de RDP e SQL expostos, e de rivais que atacam para tirar a concorrência do ar. Um Windows Server que sobe funcional depois da instalação ainda está longe de estar seguro: portas abertas demais, conta

Servidores de MU Online são alvos frequentes — de scanners automatizados que varrem a internet atrás de RDP e SQL expostos, e de rivais que atacam para tirar a concorrência do ar. Um Windows Server que sobe funcional depois da instalação ainda está longe de estar seguro: portas abertas demais, contas com nomes previsíveis, RDP escancarado e SQL sem restrição são convites para invasão. Hardening é o processo de reduzir essa superfície de ataque ao mínimo necessário para o jogo funcionar. Este guia cobre RDP, contas, firewall, SQL, atualizações, logs e monitoramento, sempre com o cuidado de não perder o acesso durante o processo. Portas, nomes e caminhos são exemplos e variam por ambiente e versão.

Pré-requisitos

  • Windows Server já instalado e com o MuServer funcional (veja o guia de como criar um servidor de MU Online se ainda não chegou aqui).
  • Acesso Administrador via RDP.
  • Acesso ao console/VNC do provedor da VPS — essencial para recuperar o acesso caso uma regra de firewall bloqueie o RDP.
  • Capacidade de fazer um snapshot da máquina antes de começar.
  • Um IP administrativo fixo (o seu, de onde você gerencia o servidor) para restringir o RDP e o SQL.
  • SSMS instalado para as etapas de proteção do SQL Server.
Atenção: Antes de tocar em qualquer regra de firewall, confirme que você consegue acessar a máquina pelo console do provedor. É a sua rede de segurança: se fechar o RDP por engano, é por lá que você recupera o acesso. Faça também um snapshot.

Parte 1 — Endurecer o acesso remoto (RDP)

O RDP é o ponto de entrada mais atacado em um Windows Server público. As tentativas de força bruta na porta 3389 são constantes.

Passo 1: Restringir o RDP ao seu IP administrativo

A defesa mais eficaz é permitir RDP apenas da sua rede. Substitua o IP de exemplo pelo seu IP fixo:

# Remover a regra genérica de RDP (se existir) e criar uma restrita
Remove-NetFirewallRule -DisplayName "RDP-Custom" -ErrorAction SilentlyContinue

New-NetFirewallRule -DisplayName "RDP-Admin-Only" `
  -Direction Inbound -Protocol TCP -LocalPort 3389 `
  -RemoteAddress "203.0.113.10" -Action Allow

# Bloquear RDP de qualquer outra origem
New-NetFirewallRule -DisplayName "RDP-Block-All" `
  -Direction Inbound -Protocol TCP -LocalPort 3389 `
  -Action Block

Se seu IP for dinâmico, use uma VPN com IP fixo ou um serviço de DDNS combinado a um script que atualize a regra.

Passo 2: Ativar Network Level Authentication (NLA)

O NLA exige autenticação antes de estabelecer a sessão, cortando muitos ataques cedo:

# Exigir NLA para conexões RDP
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" `
  -Name "UserAuthentication" -Value 1

Passo 3: Trocar a porta do RDP (ofuscação complementar)

Mudar a porta não é segurança de verdade, mas reduz o volume de ruído dos scanners. Faça-o junto com a restrição por IP, nunca no lugar dela:

# Mudar a porta do RDP para uma porta alta (exemplo: 33890)
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" `
  -Name "PortNumber" -Value 33890

# Abrir a nova porta apenas para seu IP e reiniciar o serviço depois
New-NetFirewallRule -DisplayName "RDP-Alt-Admin" -Direction Inbound `
  -Protocol TCP -LocalPort 33890 -RemoteAddress "203.0.113.10" -Action Allow
Dica: Depois de mudar a porta, teste a nova conexão em uma segunda sessão antes de fechar a atual. Se algo der errado, você ainda tem a janela original aberta para corrigir.

Parte 2 — Endurecer contas e senhas

Passo 4: Renomear e desativar contas previsíveis

O nome Administrator é o primeiro alvo de qualquer ataque. Renomeie-o e crie um administrador nomeado:

# Renomear a conta Administrator embutida
Rename-LocalUser -Name "Administrator" -NewName "adm_mu_root"

# Desativar a conta Guest, se estiver ativa
Disable-LocalUser -Name "Guest"

Passo 5: Aplicar política de senha forte e bloqueio de conta

Defina exigências mínimas e bloqueio após tentativas falhas para frear força bruta:

# Tamanho mínimo, complexidade e histórico via net accounts
net accounts /minpwlen:14 /maxpwage:90 /uniquepw:5

# Bloqueio após 5 tentativas, por 30 minutos
net accounts /lockoutthreshold:5 /lockoutduration:30 /lockoutwindow:30

Habilite a complexidade em secpol.mscPolíticas de Conta → Política de Senha → "A senha deve satisfazer a requisitos de complexidade" = Habilitada.

Passo 6: Princípio do menor privilégio

Não rode tarefas do dia a dia como administrador. Crie uma conta separada para operações rotineiras (reiniciar serviços, ler logs) sem poderes administrativos totais, e reserve a conta admin para mudanças estruturais.

Parte 3 — Minimizar a superfície de portas

Passo 7: Auditar o que está exposto

Antes de fechar portas, veja o que está realmente ouvindo e em quais interfaces:

# Listar portas em escuta e o processo dono de cada uma
Get-NetTCPConnection -State Listen |
  Select-Object LocalAddress, LocalPort, OwningProcess |
  Sort-Object LocalPort

Cruze cada porta com o processo esperado. Qualquer porta ouvindo em 0.0.0.0 que não seja do MU (44405, faixa do GameServer, painel web) ou do RDP restrito é candidata a ser fechada.

Passo 8: Manter apenas o essencial aberto

A tabela abaixo é um exemplo de superfície mínima para um servidor de MU típico. Portas exatas variam por pacote.

PortaServiçoExposição recomendada
33890 (RDP alt.)Acesso remotoApenas IP administrativo
44405ConnectServerPública
55901-55910GameServerPública
55960DataServerPública (ou local, se possível)
80 / 443Painel webPública
1433SQL ServerNunca pública — apenas local
# Garantir que o SQL nunca aceite conexões externas: bloquear a 1433 de fora
New-NetFirewallRule -DisplayName "SQL-Block-External" -Direction Inbound `
  -Protocol TCP -LocalPort 1433 -RemoteAddress Any -Action Block

Lembre-se de replicar a política de mínimo no firewall do provedor, no painel da VPS.

Parte 4 — Proteger o SQL Server

O SQL guarda contas, itens e economia do servidor — comprometê-lo é comprometer tudo.

Passo 9: Desativar ou renomear o login sa

O sa é o alvo padrão de ataques ao SQL. Se o servidor usa um login dedicado (como recomendado), desative o sa:

-- Desativar o login sa (use um login dedicado no MuServer)
ALTER LOGIN sa DISABLE;
GO

-- Se precisar mantê-lo, ao menos renomeie
ALTER LOGIN sa WITH NAME = [adm_sql_bkp];
GO

Passo 10: Reforçar autenticação e permissões

Garanta que o login do MuServer tenha apenas as permissões necessárias e que senhas sigam a política:

-- Forçar a política de senha no login do servidor
ALTER LOGIN muserver_user WITH CHECK_POLICY = ON;
GO

-- Revisar quem tem papéis de servidor perigosos (sysadmin)
SELECT p.name, p.type_desc, r.name AS role_name
FROM sys.server_role_members m
JOIN sys.server_principals p ON m.member_principal_id = p.principal_id
JOIN sys.server_principals r ON m.role_principal_id = r.principal_id
WHERE r.name = 'sysadmin';
GO

Passo 11: Confiar apenas em conexões locais

Se o GameServer e o SQL estão na mesma máquina, force o SQL a escutar apenas em 127.0.0.1 no SQL Server Configuration Manager, ou mantenha o bloqueio externo da 1433 do passo 8. Assim, mesmo que a senha vaze, não há como conectar de fora.

Parte 5 — Atualizações, logs e monitoramento

Passo 12: Manter o sistema atualizado sem quedas

Falhas de segurança conhecidas são exploradas em massa. Aplique atualizações, mas controle o reinício para não derrubar jogadores:

# Verificar updates pendentes (requer módulo PSWindowsUpdate)
# Aplique em janela de manutenção anunciada aos jogadores
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10

Configure o Windows Update para baixar e notificar, reiniciando manualmente em horário de baixo movimento.

Passo 13: Ativar auditoria de logon

Habilite o registro de tentativas de logon para enxergar ataques:

# Auditar sucesso e falha de logon
auditpol /set /category:"Logon/Logoff" /success:enable /failure:enable

Passo 14: Revisar logs de segurança periodicamente

Monitore picos de falha de logon (evento 4625), que indicam força bruta:

# Contar falhas de logon recentes (evento 4625)
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625; StartTime=(Get-Date).AddHours(-24)} `
  -ErrorAction SilentlyContinue | Measure-Object | Select-Object Count

Um volume anormal a partir de um mesmo IP é sinal de ataque; combine a restrição de firewall com bloqueio desse endereço. Considere também scripts que banem automaticamente IPs com muitas falhas.

Passo 15: Backup regular e testado

Segurança inclui recuperação. Mantenha backups automáticos do banco em local separado da VPS (armazenamento externo ou nuvem), e teste a restauração periodicamente — backup que nunca foi restaurado não é backup, é esperança.

Erros comuns e soluções

ErroRiscoSolução
Fechar RDP sem acesso alternativoPerda total de acessoGarantir console do provedor e snapshot antes
Só trocar a porta do RDPFalsa sensação de segurançaRestringir por IP + NLA + senha forte
Deixar sa ativo com senha fracaSQL invadidoDesativar/renomear sa, usar login dedicado
Expor a 1433 à internetVazamento do bancoBloquear 1433 externamente, escutar em local
Desligar o antivírusMineradores e backdoorsManter Defender com exclusões pontuais
Não atualizar o WindowsExploração de falhas conhecidasAtualizar mensalmente em janela de manutenção
Ignorar logs de logonAtaques passam despercebidosAtivar auditoria e revisar evento 4625
Backup só na própria VPSPerda total em incidenteBackup externo e restauração testada

Checklist de lançamento

  • Snapshot e acesso ao console do provedor garantidos
  • RDP restrito ao IP administrativo
  • NLA ativado no RDP
  • Porta do RDP alterada (complemento) e testada
  • Conta Administrator renomeada e Guest desativada
  • Política de senha forte e bloqueio de conta aplicados
  • Conta de operação sem privilégios totais criada
  • Portas em escuta auditadas
  • Superfície de portas reduzida ao mínimo (Windows e provedor)
  • Porta 1433 bloqueada externamente
  • Login sa desativado ou renomeado
  • Permissões do SQL revisadas
  • Windows Update em modo baixar e notificar
  • Auditoria de logon ativada
  • Rotina de revisão de logs definida
  • Backup externo automático e restauração testada

Conclusão

Hardening não é uma tarefa que se faz uma vez e esquece — é a disciplina de manter a superfície de ataque pequena enquanto o servidor cresce. Ao restringir o RDP ao seu IP, endurecer contas e senhas, fechar toda porta que não seja essencial, blindar o SQL Server e manter olhos nos logs, você tira o seu MU Online da lista de alvos fáceis que scanners e rivais exploram diariamente. Aplique cada etapa com cuidado, sempre com uma via de recuperação aberta, faça um snapshot antes de mexer no firewall e trate atualizações, revisão de logs e backups como rotina contínua. Um servidor seguro é aquele que continua de pé no dia em que o ataque chega — e ele sempre chega.

Perguntas frequentes

Devo mudar a porta padrão do RDP?

Mudar a 3389 para uma porta alta reduz o ruído de scanners automatizados, mas é apenas ofuscação, não segurança real. O que realmente protege é restringir o RDP por IP no firewall, exigir senha forte, ativar o Network Level Authentication e, idealmente, colocar o acesso atrás de uma VPN. A porta customizada é um complemento, não a defesa principal.

Preciso de antivírus se já fiz o hardening?

Sim. Hardening reduz a superfície de ataque, mas não substitui a detecção de malware. Mantenha o Windows Defender ativo com exclusões apenas para as pastas do MuServer. Desligar o antivírus para 'evitar falso positivo' é um erro comum que abre a porta para mineradores e backdoors em VPS públicas.

Como bloquear ataques de força bruta no RDP e no SQL?

Restrinja os dois por IP no firewall para que só sua rede administrativa alcance essas portas. Para o RDP, ative bloqueio de conta após tentativas falhas via política de senha. Para o SQL, nunca exponha a 1433 à internet e desative o login sa ou renomeie-o. Monitore o Event Viewer em busca de picos de logon negado.

O hardening pode derrubar meu servidor por engano?

Pode, se você aplicar tudo de uma vez sem testar. O risco maior é fechar a porta do RDP e perder o acesso. Sempre garanta o acesso via console do provedor antes de mexer no firewall, aplique as mudanças em etapas e valide a conexão a cada passo. Faça um snapshot antes de começar.

Com que frequência devo revisar a segurança do servidor?

Aplique atualizações de segurança mensalmente, revise as regras de firewall e contas a cada mudança de equipe e leia os logs de logon semanalmente. Após qualquer incidente ou pico anormal de tentativas de acesso, faça uma revisão completa. Segurança é manutenção contínua, não uma tarefa única de lançamento.

GA
Editor de guias e builds

Gabriel cobre gameplay, builds de classes, PvP e progressão. Testa cada estratégia em servidor antes de publicar.

Continue lendo

Artigos relacionados