Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Firewall do Windows inclui uma funcionalidade chamada palavras-chave dinâmicas, que simplifica a configuração e o gerenciamento do Firewall do Windows.
Com palavras-chave dinâmicas, você pode definir um conjunto de intervalos de endereços IP, FQDNs (nomes de domínio totalmente qualificados) e opções de resolução automática , aos quais uma ou mais regras de firewall podem se referir.
Configurar palavras-chave dinâmicas
Para configurar palavras-chave dinâmicas, você pode usar:
- CSP de firewall, que pode ser usado com uma solução de Gerenciamento de Dispositivos Móveis (MDM), como o Microsoft Intune
- Windows PowerShell
Dica
O Microsoft Intune oferece uma experiência de gerenciamento simplificada chamada grupos de configurações reutilizáveis. Para obter mais informações, consulte Adicionar grupos de configurações reutilizáveis a perfis para regras de firewall.
Este artigo descreve como configurar palavras-chave dinâmicas usando o Windows PowerShell.
Palavras-chave dinâmicas e FQDN (Nomes de Domínio Totalmente Qualificados)
As palavras-chave dinâmicas podem ser configuradas definindo um conjunto de intervalos de endereços IP ou FQDNs. Aqui estão coisas importantes a serem consideradas ao usar FQDNs:
- O suporte ao FQDN é para reduzir a sobrecarga do gerenciamento de regras IP em que os endereços IP são dinâmicos e mudam com frequência
- Os FQDNs não substituem os endereços IP em todos os cenários. Os endereços IP devem ser usados sempre que possível, por motivos de segurança e desempenho
- As regras FQDN podem afetar o desempenho no ponto de extremidade, causadas pela latência DNS e outros fatores
- O FQDN não é um serviço DNS seguro. A resolução FQDN usa a configuração DNS padrão do ponto de extremidade
- Uma regra FQDN requer que uma consulta DNS aconteça para que esse FQDN seja resolvido para um endereço IP. O tráfego para endereços IP deve gerar uma consulta DNS para regras FQDN
- As limitações incluem: sites acessados via proxy, serviços DNS seguros, determinadas configurações de túnel VPN, IPs armazenados em cache no ponto de extremidade
- Embora os PQDNs (Nomes de Domínio Parcialmente Qualificados) sejam permitidos, os FQDNs são preferenciais. Há suporte para curingas
*para hosts, por exemplo*.contoso.com
Dois exemplos de regras FQDN são:
- Bloqueie todas as entradas e saídas por padrão e permita tráfego de saída específico
- Bloquear todas as entradas por padrão e bloquear algum tráfego de saída específico
Observação
As regras FQDN de entrada não têm suporte nativo. No entanto, é possível usar scripts de pré-hidratação para gerar entradas IP de entrada para as regras.
Cuidado
A configuração padrão de Regras bloqueadas para saída pode ser considerada para determinados ambientes altamente seguros. No entanto, a configuração da regra de entrada nunca deve ser alterada de uma maneira que permita o tráfego por padrão.
Em ambientes de alta segurança, um inventário de todos os aplicativos deve ser mantido. Os registros devem incluir se um aplicativo requer conectividade de rede. Os administradores devem criar novas regras específicas para cada aplicativo que precisa de conectividade de rede e efetuar push dessas regras centralmente, usando uma solução de gerenciamento de dispositivos.
Funções e limitações conhecidas
O recurso FQDN do Firewall do Windows usa o driver de texto explicativo externo de Proteção de Rede para inspecionar as respostas DNS nas quais a consulta DNS corresponde às regras FQDN. Algumas funções e limitações importantes do recurso são:
- O componente de proteção de rede não executa consultas DNS periodicamente. Requer um aplicativo para executar uma consulta DNS
- O Firewall do Windows libera todos os endereços IP resolvidos armazenados na reinicialização do dispositivo
- A proteção de rede não inspeciona a resposta DNS de forma síncrona, pois não mantém o pacote UDP durante a inspeção. O resultado é uma condição potencial em que um aplicativo, depois de receber a resposta DNS, tenta se conectar, mas é bloqueado se for mais rápido do que a atualização da regra de firewall
- Geralmente, os aplicativos têm lógica de repetição para uma conexão inicial com falha e, como resultado, o problema fica transparente para o usuário final
- Ocasionalmente, um componente pode não ter lógica de repetição em caso de falha na conexão inicial. O que é resolvido de duas maneiras:
- O usuário pode clicar em atualizar no aplicativo que está usando e ele deve se conectar com êxito
- Os administradores podem usar os scripts de pré-hidratação com tato, quando essa condição está ocorrendo em seu ambiente
Requisitos do Recurso FQDN
A seguir estão os requisitos do recurso FQDN:
- O Microsoft Defender Antivírus deve estar ativado e executando a versão
4.18.2209.7da plataforma ou posterior.- Para verificar, abra a Segurança do Windows e selecione Configurações>Sobre
- A Proteção de Rede deve estar no modo de bloqueio ou auditoria . Para obter mais informações, consulte Verificar se a proteção de rede está habilitada.
- O DoH (DNS sobre HTTPS) deve ser desabilitado. Para configurar seu navegador preferido, use as seguintes configurações:
- As configurações de resolução DNS padrão do dispositivo se aplicam. Esse recurso não fornece alterações de segurança ou funcionalidade de DNS
Dica
Você também pode baixar o arquivo ADMX de lá, seguir as instruções e configurá-lo via gpedit.msc para testes locais.
Gerenciar palavras-chave dinâmicas com o Windows PowerShell
Esta seção fornece alguns exemplos de como gerenciar palavras-chave dinâmicas usando o Windows PowerShell. Algumas coisas importantes a serem consideradas ao usar palavras-chave dinâmicas são:
- Todos os objetos de palavra-chave dinâmica devem ter um identificador único (GUID) para representá-los
- Uma regra de firewall pode usar palavras-chave dinâmicas em vez de definir explicitamente endereços IP para suas condições
- Uma regra de firewall pode usar palavras-chave dinâmicas e intervalos de endereços definidos estaticamente
- Um objeto de palavra-chave dinâmico pode ser reutilizado em várias regras de firewall
- Se uma regra de firewall não tiver endereços remotos configurados, a regra não será imposta. Por exemplo, se uma regra for configurada apenas
AutoResolvecom objetos que ainda não foram resolvidos - Se uma regra usar várias palavras-chave dinâmicas, a regra será aplicada a todos os endereços resolvidos no momento . A regra é imposta mesmo que haja objetos não resolvidos. Quando um endereço de palavra-chave dinâmico é atualizado, todos os objetos de regra associados têm seus endereços remotos atualizados
- O Windows não impõe nenhuma dependência entre uma regra e um endereço de palavra-chave dinâmico, e qualquer um dos objetos pode ser criado primeiro. Uma regra pode fazer referência a IDs de palavra-chave dinâmica que ainda não existem, caso em que a regra não é imposta
- Você pode excluir um endereço de palavra-chave dinâmico, mesmo que esteja sendo usado por uma regra de firewall
Permitir Saída
Aqui está um script de exemplo para permitir um FQDN do PowerShell. Substitua o valor da $fqdn variável pelo FQDN que você deseja bloquear (linha #1):
$fqdn = 'contoso.com'
$id = '{' + (new-guid).ToString() + '}'
New-NetFirewallDynamicKeywordAddress -id $id -Keyword $fqdn -AutoResolve $true
New-NetFirewallRule -DisplayName "allow $fqdn" -Action Allow -Direction Outbound -RemoteDynamicKeywordAddresses $id
Endereços de palavra-chave dinâmicos podem ser criados com o AutoResolve parâmetro definido como $true ou $false. Se AutoResolve estiver definido como $true, o Windows tentará resolver a palavra-chave para um endereço IP.
Bloquear Saída
Aqui está um script de exemplo para bloquear um FQDN do PowerShell. Substitua o valor da $fqdn variável pelo FQDN que você deseja bloquear (linha #1):
$fqdn = 'contoso.com'
$id = '{' + (new-guid).ToString() + '}'
New-NetFirewallDynamicKeywordAddress -id $id -Keyword $fqdn -AutoResolve $true
New-NetFirewallRule -DisplayName "block $fqdn" -Action Block -Direction Outbound -RemoteDynamicKeywordAddresses $id
Exibir regras de resolve automática e endereços IP resolvidos associados
Este exemplo mostra como exibir todos os endereços de palavra-chave dinâmicos que têm o AutoResolve parâmetro definido como $true e os endereços IP resolvidos associados.
Get-NetFirewallDynamicKeywordAddress -AllAutoResolve
Observação
Os endereços IP não serão preenchidos até que a consulta DNS seja observada.
Regras FQDN para Hidratar
Os scripts de exemplo a seguir leem a configuração atual do Firewall do Windows, extraem regras baseadas em FQDN e executam a resolução DNS em cada domínio. O resultado é que os endereços IP para essas regras são "pré-hidratados".
Get-NetFirewallDynamicKeywordAddress -AllAutoResolve |`
ForEach-Object {
if(!$_.Keyword.Contains("*")) {
Write-Host "Getting" $_.Keyword
resolve-dnsname -Name $_.Keyword -DNSOnly | out-null
}
}
Um script semelhante pode ser usado para executar a resolução DNS usando nslookup.exe:
Get-NetFirewallDynamicKeywordAddress -AllAutoResolve |`
ForEach-Object {
if(!$_.Keyword.Contains("*")) {
Write-Host "Getting" $_.Keyword
nslookup $_.Keyword
}
}
Se estiver usando nslookup.exeo , você deverá criar uma regra de firewall de saída ao usar a postura bloquear todas as saídas . Aqui está o comando para criar a regra de saída para nslookup.exe:
$appName = 'nslookup'
$appPath = 'C:\Windows\System32\nslookup.exe'
New-NetFirewallRule -DisplayName "allow $appName" -Program $appPath -Action Allow -Direction Outbound -Protocol UDP -RemotePort 53
Bloquear toda a saída e permitir alguns FQDNs
No exemplo a seguir, uma lista de aplicativos é analisada para avaliação do FQDN. Os FQDNs listados nos scripts foram observados ao inspecionar o tráfego na primeira inicialização do Microsoft Edge.
Importante
Esta não é uma lista completa nem uma recomendação. É um exemplo de como um aplicativo deve ser avaliado para garantir a conectividade e a função adequadas.
Para saber mais sobre os requisitos do Microsoft Edge para conectividade com a Internet, consulte lista de permissões para pontos de extremidade do Microsoft Edge.
$domains = @(
'*.microsoft.com',
'*.msftconnecttest.com',
'assets.msn.com',
'client.wns.windows.com',
'config.edge.skype.com',
'ctldl.windowsupdate.com',
'dns.msftncsi.com',
'login.live.com',
'ntp.msn.com'
)
foreach ($domain in $domains) {
$id = '{' + (New-Guid).ToString() + '}'
New-NetFirewallDynamicKeywordAddress -Id $id -Keyword $domain -AutoResolve $true
New-NetFirewallRule -DisplayName "allow $domain" -Action Allow -Direction Outbound -RemoteDynamicKeywordAddresses $id
}
Para obter mais informações sobre os cmdlets do PowerShell usados para gerenciar palavras-chave dinâmicas, consulte:
- Get-NetFirewallDynamicKeywordAddress
- New-NetFirewallDynamicKeywordAddress
- Remove-NetFirewallDynamicKeywordAddress
- Update-NetFirewallDynamicKeywordAddress
Para obter informações sobre a estrutura da API, consulte Palavras-chave dinâmicas do firewall.