- Visão geral
- Convenções de variáveis
- Etapa 1: Entender os perfis e o plano de aplicação
- Etapa 2: Definir políticas básicas (comportamento padrão)
- Etapa 3: Operar e gerenciar regras do firewall
- Etapa 4: Coleta de logs e auditoria
- Etapa 5: Gerenciamento central via GPO
- Etapa 6: Verificações periódicas e troubleshooting
- Conclusão
Visão geral
Este artigo explica como configurar o Windows Defender Firewall (antigo Windows Firewall) no Windows Server. Cobrimos diretrizes de design para os perfis Domínio, Privado e Público, otimização de políticas de entrada/saída, coleta e análise de logs e administração centralizada por GPO e scripts para operação prática.
Convenções de variáveis
| Variável | Exemplo | Descrição |
|---|---|---|
<<SERVER_NAME>> |
SRV-CORE01 |
Nome do servidor alvo |
<<LOG_PATH>> |
C:\FirewallLogs\pfirewall.log |
Caminho do arquivo de log do firewall |
<<OU_NAME>> |
Servers |
Nome da OU |
Etapa 1: Entender os perfis e o plano de aplicação
O Windows Defender Firewall possui três perfis:
| Perfil | Uso | Ambiente típico |
|---|---|---|
| Domínio | Redes ingressadas no Active Directory | LAN corporativa, VPN |
| Privado | Rede confiável e isolada | Testes, redes fechadas |
| Público | Rede não confiável | Wi-Fi público, ambientes de laboratório/VM |
Cada perfil pode ser configurado individualmente e alterna automaticamente conforme o identificador de rede.
Comando de verificação:
# Verificar estado e políticas padrão de cada perfil
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction, DefaultOutboundAction
Etapa 2: Definir políticas básicas (comportamento padrão)
Por padrão, o Windows Defender Firewall bloqueia entrada e permite saída.
Mantenha isso ou introduza controle explícito de saída conforme a necessidade.
# Definir explicitamente a política padrão
Set-NetFirewallProfile -Profile Domain,Private,Public `
-DefaultInboundAction Block `
-DefaultOutboundAction Allow `
-NotifyOnListen True
Nota: Em ambientes de alta segurança, use
-DefaultOutboundAction Blocke permita apenas o tráfego de saída necessário (ex.: DNS, NTP, WSUS) — abordagem de lista branca.
Etapa 3: Operar e gerenciar regras do firewall
Listar e filtrar regras
# Todas as regras
Get-NetFirewallRule
# Procurar regras cujo nome contenha "RDP"
Get-NetFirewallRule | Where-Object DisplayName -Like "*RDP*"
# Apenas regras habilitadas
Get-NetFirewallRule | Where-Object Enabled -eq "True"
Criar novas regras
# Permitir entrada RDP (TCP/3389) apenas no perfil de Domínio
New-NetFirewallRule -DisplayName "Allow RDP (Domain)" `
-Direction Inbound -Protocol TCP -LocalPort 3389 `
-Action Allow -Profile Domain
# Permitir saída NTP (UDP/123)
New-NetFirewallRule -DisplayName "Allow NTP Outbound" `
-Direction Outbound -Protocol UDP -LocalPort 123 `
-Action Allow -Profile Domain,Private,Public
Tabela de parâmetros (exemplos e formatos)
| Item | Parâmetro | Exemplo | Formatos/valores aceitos |
|---|---|---|---|
| Direção | -Direction |
Inbound / Outbound |
Inbound ou Outbound |
| Ação | -Action |
Allow / Block |
Allow, Block |
| Protocolo | -Protocol |
TCP / UDP / ICMPv4 / ICMPv6 / Any |
TCP, UDP, ICMPv4, ICMPv6, Any (detalhar ICMP com -IcmpType quando necessário) |
| Porta local | -LocalPort |
80 / 1024-2048 / 80,443,8080 |
Porta única, intervalo (ex.: 1024-2048), lista separada por vírgulas |
| Porta remota | -RemotePort |
53 / 1000-2000 / 53,67,68 |
Porta única, intervalo, ou lista |
| Endereço remoto | -RemoteAddress |
192.168.1.1 / 192.168.0.0/24 / 192.168.1.1-192.168.1.255 / 192.168.1.1,10.0.0.1 / Any |
IP único, CIDR, intervalo, lista, Any |
| Endereço local | -LocalAddress |
10.0.0.1 / 10.0.0.0/16 / 10.0.0.1-10.0.0.255 / Any |
IP único, CIDR, intervalo, lista, palavras-chave especiais, Any |
| Programa | -Program |
C:\Program Files\App\App.exe |
Caminho completo do executável |
| Serviço | -Service |
W32Time |
Nome do serviço do Windows |
| Perfil | -Profile |
Domain,Private |
Combinações de Domain, Private, Public |
| Tipo de interface | -InterfaceType |
Ethernet / Wireless / RemoteAccess |
Tipos suportados |
Ex.: permitir HTTP apenas de um IP confiável
New-NetFirewallRule -DisplayName "Allow HTTP from Trusted IP" `
-Direction Inbound -Protocol TCP -LocalPort 80 `
-RemoteAddress 192.168.1.100 `
-Action Allow -Profile Domain,Private
Ex.: permitir saída para um programa específico
New-NetFirewallRule -DisplayName "Allow Outbound for App.exe" `
-Direction Outbound -Program "C:\Program Files\App\App.exe" `
-Action Allow -Profile Domain,Private,Public
Ex.: permitir entrada para um serviço específico
New-NetFirewallRule -DisplayName "Allow Service XYZ Inbound" `
-Direction Inbound -Service "W32Time" `
-Action Allow -Profile Domain,Private
Ex.: bloquear saída via interface sem fio
New-NetFirewallRule -DisplayName "Block Outbound on Wireless" `
-Direction Outbound -InterfaceType Wireless `
-Action Block -Profile Public
Alterar, desabilitar/habilitar regras
# Desabilitar regra
Disable-NetFirewallRule -DisplayName "Allow RDP (Domain)"
# Habilitar regra
Enable-NetFirewallRule -DisplayName "Allow RDP (Domain)"
# Alterar (ex.: limitar a Domain e Private)
Set-NetFirewallRule -DisplayName "Allow RDP (Domain)" -Profile Domain,Private
Remover regras
Remove-NetFirewallRule -DisplayName "Allow RDP (Domain)"
Exportar/Importar conjunto de regras
# Exportar política do firewall
netsh advfirewall export "C:\Backup\FirewallPolicy.wfw"
# Importar política do firewall
netsh advfirewall import "C:\Backup\FirewallPolicy.wfw"
Etapa 4: Coleta de logs e auditoria
Registrar permissões/negações e monitorar anomalias.
# Registrar allow e block, limite de 32 MB
Set-NetFirewallProfile -Profile Domain,Private,Public `
-LogAllowed True -LogBlocked True `
-LogFileName "<<LOG_PATH>>" -LogMaxSizeKilobytes 32767
Verificação de logs:
Get-Content "<<LOG_PATH>>" -Tail 20 -Wait
Atenção:
LogAllowed=Trueaumenta o volume de logs. Em produção, considere ativar apenas em perfis críticos (ex.: Público) e implemente rotação/arquivamento.
O parâmetro-LogMaxSizeKilobytestem limite de 32767 KB; valores acima geram erro.
Etapa 5: Gerenciamento central via GPO
É possível editar e automatizar as configurações do firewall por GPO usando os cmdlets do módulo GroupPolicy.
Principais cmdlets: Set-GPRegistryValue, Get-GPO, New-GPO, New-GPLink, Set-GPInheritance.
Criar um GPO e aplicar configurações de log do perfil de Domínio
-
Criar ou obter o GPO
$gpo = New-GPO -Name "Firewall-Policy-Domain"Para editar GPO existente:
Get-GPO -Name "<NOME_DO_GPO>". -
Aplicar valores via chaves de registro do GPO
# Ativar logging no perfil de Domínio Set-GPRegistryValue -Name $gpo.DisplayName ` -Key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile" ` -ValueName "EnableLogging" -Type DWord -Value 1 # Caminho e tamanho do log Set-GPRegistryValue -Name $gpo.DisplayName ` -Key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\Logging" ` -ValueName "LogFilePath" -Type String -Value "%systemroot%\system32\logfiles\firewall\pfirewall.log" Set-GPRegistryValue -Name $gpo.DisplayName ` -Key "HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\Logging" ` -ValueName "LogFileSize" -Type DWord -Value 32767
Essas definições terão efeito quando o GPO for vinculado a uma OU com
New-GPLink.
Vincular à OU (New-GPLink)
Forneça o DN da OU (ou o DN do domínio) em -Target.
Import-Module ActiveDirectory
$gpo = Get-GPO -Name "Firewall-Policy-Domain"
# Localizar a OU por nome e obter o DN
$ou = Get-ADOrganizationalUnit -LDAPFilter '(name=<<OU_NAME>>)' `
-SearchBase (Get-ADDomain).DistinguishedName -SearchScope Subtree |
Select-Object -First 1
$ouDn = $ou.DistinguishedName
# Vincular o GPO à OU (habilitado; Enforced opcional)
New-GPLink -Name $gpo.DisplayName -Target $ouDn -LinkEnabled Yes -Enforced No
Requisitos: módulos ActiveDirectory e GroupPolicy (RSAT) instalados na estação de administração.
Etapa 6: Verificações periódicas e troubleshooting
# Regras efetivamente ativas
Get-NetFirewallRule | Where-Object {$_.Enabled -eq "True"} |
Select-Object DisplayName, Direction, Action, Profile
# Teste de conectividade de porta
Test-NetConnection -ComputerName <<SERVER_NAME>> -Port 3389
Conclusão
O Windows Defender Firewall oferece defesa robusta no Windows Server. Ao combinar controle explícito de tráfego de entrada/saída, análise de logs e gestão central/automatizada via GPO e PowerShell, você obtém visibilidade e segurança alinhadas ao hardening para a era zero-trust.
