Projeto Hardening RDP
SRV-APP @ WALTERCON.LOCAL
Resumo do Plano de Ação
Definição de escopo e objetivos para o domínio waltercon.local.
INFO Servidor Alvo
- Hostname: SRV-APP
- IP Sugerido: 192.168.1.150 (Estático)
- Função: RDP Application Server
- OS: Windows Server 2019 Std
CRÍTICO Restrições Mandatórias
- ✅ Ocultar Disco Local (C:)
- ✅ Bloquear CMD e PowerShell
- ✅ Remover Menus do Explorer/Painel de Controle
- ✅ Bloquear Instalação de Software
- ✅ Bloquear Edição de Rede (IP)
⚠️ Nota de Exceção
As restrições listadas acima devem ser aplicadas estritamente para os grupos GG_HOMEOFFICE e Domain Users. Membros do grupo Domain Admins devem ter acesso irrestrito para manutenção.
Fluxo de Implementação
Arquitetura de Diretório (AD)
Para aplicar as políticas corretamente sem afetar outros servidores, precisamos de uma estrutura de Unidades Organizacionais (OU) isolada.
Conceito Chave: GPO Loopback
Como as restrições são de Usuário (User Configuration) mas queremos que elas aconteçam apenas quando eles logarem neste Servidor específico, precisamos ativar o Loopback Processing Mode em modo "Merge" ou "Replace" na GPO vinculada à OU do Servidor.
Ações Necessárias:
- Criar OU "WALTERCON_CORP".
- Criar Sub-OU "SERVIDORES_RDP".
- Mover o objeto do computador SRV-APP para "SERVIDORES_RDP".
- Criar Grupos de Segurança Global: GG_HOMEOFFICE.
- Vincular a nova GPO de Hardening na OU "SERVIDORES_RDP".
Configuração das GPOs
Explore as configurações específicas que compõem a política de segurança. Clique em cada item para ver o caminho técnico no Editor de GPO.
Caminho da GPO:
User Configuration > Policies > Administrative Templates > Windows Components > File Explorer
Configuração:
"Hide these specified drives in My Computer"
Valor:
Enabled -> "Restrict A, B, C and D drives only"
Caminho da GPO:
User Configuration > Policies > Administrative Templates > System
Setting 1: Bloquear CMD
- "Prevent access to the command prompt" -> Enabled
- Option: "Disable the command prompt script processing also?" -> Yes
Setting 2: Bloquear Executáveis Específicos (Incluindo PowerShell)
- "Don't run specified Windows applications" -> Enabled
- List of allowed applications: Adicionar powershell.exe, powershell_ise.exe, cmd.exe
Caminho da GPO:
User Configuration > Administrative Templates > Network > Network Connections
Configurações Críticas (Habilitar todas):
- ✅ Prohibit access to properties of a LAN connection
- ✅ Ability to change properties of an all user remote access connection
- ✅ Prohibit TCP/IP advanced configuration
- ✅ Prohibit access to the Advanced Settings item on the Advanced menu
Caminho da GPO:
Computer Configuration > Administrative Templates > Windows Components > Windows Installer
Desabilitar Windows Installer
Configure "Turn off Windows Installer" -> Enabled -> "Always".
Isso impede que arquivos .msi sejam executados por qualquer usuário não administrativo.
Recomendação Adicional: AppLocker
Para bloquear .exe portáteis, configure AppLocker em Computer Configuration > Windows Settings > Security Settings > Application Control Policies para permitir apenas executáveis em C:\Windows\* e C:\Program Files\*.
🔒 Filtragem de Segurança (Vital!)
Para garantir que os Administradores NÃO sejam bloqueados, a GPO deve ser configurada da seguinte forma na aba "Scope" > "Security Filtering":
Quem recebe a GPO?
- ✅ GG_HOMEOFFICE
- ✅ Domain Users
Quem tem "Deny Apply"?
Na aba Delegation > Advanced, adicione o grupo Admin e marque "Deny" em "Apply Group Policy".
- ⛔ Domain Admins
- ⛔ Enterprise Admins
Automação PowerShell
Utilize o script abaixo para criar a estrutura base de OUs e Grupos no servidor Controlador de Domínio (DC).
# Configuração de Variáveis
$DomainDN = "DC=waltercon,DC=local"
$RootOUName = "WALTERCON_CORP"
$ServerOUName = "SERVIDORES_RDP"
$UsersOUName = "USUARIOS_RESTRITOS"
$GroupName = "GG_HOMEOFFICE"
# 1. Criar OU Raiz
Write-Host "Criando OU Raiz..." -ForegroundColor Cyan
New-ADOrganizationalUnit -Name $RootOUName -Path $DomainDN -ProtectedFromAccidentalDeletion $true
# 2. Criar Sub-OUs
$RootPath = "OU=$RootOUName,$DomainDN"
Write-Host "Criando Sub-OUs em $RootPath..." -ForegroundColor Cyan
New-ADOrganizationalUnit -Name $ServerOUName -Path $RootPath
New-ADOrganizationalUnit -Name $UsersOUName -Path $RootPath
# 3. Criar Grupo de Segurança
$UsersPath = "OU=$UsersOUName,$RootPath"
Write-Host "Criando Grupo $GroupName..." -ForegroundColor Cyan
New-ADGroup -Name $GroupName -GroupScope Global -GroupCategory Security -Path $UsersPath
# 4. Criar GPO Placeholder (A configuração das políticas deve ser manual ou via importação)
Write-Host "Criando Objeto GPO..." -ForegroundColor Cyan
$GPO = New-GPO -Name "GPO_Hardening_RDP_SrvApp" -Comment "Bloqueios para srv-app"
# 5. Linkar GPO na OU de Servidores
$ServerOUPath = "OU=$ServerOUName,$RootPath"
Write-Host "Vinculando GPO à $ServerOUPath..." -ForegroundColor Cyan
New-GPLink -Name $GPO.DisplayName -Target $ServerOUPath -LinkEnabled Yes
# 6. Configurar Loopback Processing (Chave de Registro via Powershell na GPO é complexo, sugerido fazer via GUI)
Write-Host "Estrutura Base Criada com Sucesso!" -ForegroundColor Green
Write-Host "PRÓXIMOS PASSOS:" -ForegroundColor Yellow
Write-Host "1. Abra o Editor de GPO."
Write-Host "2. Edite 'GPO_Hardening_RDP_SrvApp'."
Write-Host "3. Ative 'Configure user Group Policy loopback processing mode' em Computer Config."
Write-Host "4. Configure as restrições de Usuário."
Nota sobre Edição de Registro e Drivers
Para bloqueios profundos como "Impedir instalação de drivers", além das GPOs de usuário, recomenda-se configurar a política de computador:
Computer Configuration > Administrative Templates > System > Device Installation > Prevent installation of devices not described by other policy settings.