# Habilitação Segura do WinRM

### Visão Geral

O **Windows Remote Management (WinRM)** é um protocolo baseado em WS-Management utilizado para execução remota de comandos e coleta de informações em sistemas Windows.

No contexto do **PAM DataDike (DataDike)**, o WinRM pode ser utilizado para:

* Execução remota segura de comandos
* Coleta de inventário e auditoria
* Integração com ativos Windows sem agente
* Automação de tarefas administrativas

> ⚠️ **Importante:** A habilitação do WinRM deve seguir boas práticas de segurança para evitar exposição indevida.

***

### Requisitos

* Sistemas Windows Server 2012 ou superior (recomendado)
* Permissões administrativas
* Ambiente em domínio (para uso via GPO)
* Firewall configurado adequadamente

***

## Boas Práticas de Segurança

Antes de configurar, garanta:

* Uso de **HTTPS (porta 5986)** ao invés de HTTP (5985)
* Restrição de acesso por IP (allowlist)
* Uso de contas com privilégio mínimo (least privilege)
* Auditoria habilitada
* Integração com cofre de credenciais do PAM

***

## Método 1: Habilitação via PowerShell (Manual)

### 1. Habilitar WinRM

```
winrm quickconfig
```

Ou de forma silenciosa:

```
Enable-PSRemoting -Force
```

***

### 2. Configurar WinRM para HTTPS (Recomendado)

#### Criar ou utilizar certificado

```
New-SelfSignedCertificate -DnsName "hostname" -CertStoreLocation Cert:\LocalMachine\My
```

#### Obter Thumbprint do certificado

```
Get-ChildItem -Path Cert:\LocalMachine\My
```

#### Criar listener HTTPS

```
winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="hostname"; CertificateThumbprint="THUMBPRINT"}
```

***

### 3. Restringir acesso (Security Hardening)

#### Permitir apenas IPs específicos

```
Set-Item WSMan:\localhost\Service\AllowUnencrypted $false
Set-Item WSMan:\localhost\Service\Auth\Basic $false
```

#### Configurar Trusted Hosts (se necessário)

```
Set-Item WSMan:\localhost\Client\TrustedHosts "IP_DO_SERVIDOR_PAM"
```

***

### 4. Configurar Firewall

```
New-NetFirewallRule -Name "WinRM HTTPS" -DisplayName "WinRM HTTPS" -Protocol TCP -LocalPort 5986 -Action Allow
```

***

### 5. Validar conectividade

```
Test-WsMan hostname
```

***

## Método 2: Habilitação via GPO (Recomendado para escala)

### 1. Criar nova GPO

No **Group Policy Management**:

* Nome: `GPO - Enable WinRM Secure`

***

### 2. Configurar WinRM Service

Caminho:

```
Computer Configuration
→ Policies
→ Administrative Templates
→ Windows Components
→ Windows Remote Management (WinRM)
→ WinRM Service
```

#### Ativar:

* **Allow remote server management through WinRM**

Configuração:

```
IPv4 filter: IP_DO_SERVIDOR_PAM
IPv6 filter: ::
```

***

### 3. Configurar Listener

Caminho:

```
Computer Configuration
→ Policies
→ Administrative Templates
→ Windows Components
→ Windows Remote Management (WinRM)
→ WinRM Service
```

Ativar:

* **Allow automatic configuration of listeners**

***

### 4. Configurar Firewall via GPO

Caminho:

```
Computer Configuration
→ Policies
→ Windows Settings
→ Security Settings
→ Windows Defender Firewall
→ Inbound Rules
```

Criar regra:

* Porta: **5986**
* Protocolo: TCP
* Ação: Allow
* Escopo: restringir ao IP do PAM

***

### 5. Configurar autenticação segura

Caminho:

```
Computer Configuration
→ Policies
→ Administrative Templates
→ System
→ Credentials Delegation
```

Configurar conforme necessidade:

* Permitir apenas métodos seguros (Kerberos recomendado)
* Evitar Basic Authentication

***

### 6. Aplicar GPO

```
gpupdate /force
```

***

## Validação após GPO

No host:

```
winrm enumerate winrm/config/listener
```

Teste remoto:

```
Test-WsMan HOSTNAME -UseSSL
```

***

## Recomendações para uso com DataDike PAM

Para integração segura com o PAM DataDike:

* Armazene credenciais no cofre seguro (DataDike)
* Utilize contas dedicadas por ativo
* Evite uso de contas administrativas globais
* Ative rotação automática de credenciais
* Monitore sessões via auditoria do PAM

***

## Erros Comuns

* Usar HTTP (5985) em produção
* Não restringir IP de origem
* Habilitar Basic Auth sem necessidade
* Não configurar firewall corretamente
* Certificados inválidos ou expirados


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.datadike.com/expert-insights/habilitacao-segura-do-winrm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
