Compartir a través de


Palabras clave dinámicas de Firewall de Windows

Importante

En este artículo se describen las características o la configuración que están en versión preliminar. El contenido está sujeto a cambios y puede tener dependencias en otras características o servicios en versión preliminar.

Firewall de Windows incluye una funcionalidad denominada palabras clave dinámicas, que simplifica la configuración y administración de Firewall de Windows.

Con las palabras clave dinámicas, puede definir un conjunto de intervalos de direcciones IP, nombres de dominio completos (FQDN) y opciones de autoresolution , a los que puede hacer referencia una o varias reglas de firewall.

Configuración de palabras clave dinámicas

Para configurar palabras clave dinámicas, puede usar:

  • CSP de firewall, que se puede usar con una solución de mobile Administración de dispositivos (MDM) como Microsoft Intune
  • Windows PowerShell

Sugerencia

Microsoft Intune ofrece una experiencia de administración simplificada denominada grupos de configuración reutilizables. Para obtener más información, consulte Incorporación de grupos de configuración reutilizables a perfiles para reglas de firewall.

En este artículo se describe cómo configurar palabras clave dinámicas mediante Windows PowerShell.

Palabras clave dinámicas y nombres de dominio completos (FQDN)

Las palabras clave dinámicas se pueden configurar definiendo un conjunto de intervalos de direcciones IP o FQDN. Estos son aspectos importantes a tener en cuenta al usar FQDN:

  • La compatibilidad con FQDN es para reducir la sobrecarga de la administración de reglas ip donde las direcciones IP son dinámicas y cambian con frecuencia.
  • Los FQDN no reemplazan las direcciones IP en todos los escenarios. Las direcciones IP deben usarse siempre que sea posible, por motivos de seguridad y rendimiento
    • Las reglas de FQDN pueden afectar al rendimiento en el punto de conexión, causado por la latencia de DNS y otros factores
    • FQDN no es un servicio DNS seguro. La resolución FQDN usa la configuración dns predeterminada del punto de conexión.
  • Una regla FQDN requiere que se produzca una consulta DNS para que ese FQDN se resuelva en una dirección IP. El tráfico a direcciones IP debe generar una consulta DNS para las reglas de FQDN.
    • Entre las limitaciones se incluyen: sitios web a los que se accede a través de proxy, servicios DNS seguros, determinadas configuraciones de túnel VPN, direcciones IP almacenadas en caché en el punto de conexión
  • Aunque se permiten nombres de dominio parcialmente calificados (PQDN), se prefieren los FQDN. * Se admiten caracteres comodín para hosts, por ejemplo*.contoso.com

Dos ejemplos de reglas de FQDN son:

  • Bloquear todo el tráfico saliente y entrante de forma predeterminada y permitir el tráfico saliente específico
  • Bloquear todo el tráfico entrante de forma predeterminada y bloquear algún tráfico de salida específico

Nota

Las reglas de FQDN de entrada no se admiten de forma nativa. Sin embargo, es posible usar scripts de hidratación previa para generar entradas IP de entrada para las reglas.

Precaución

La configuración predeterminada de Bloqueado para reglas de salida se puede tener en cuenta para determinados entornos altamente seguros. Sin embargo, la configuración de la regla de entrada nunca debe cambiarse de forma que permita el tráfico de forma predeterminada.

En entornos de alta seguridad, se debe mantener un inventario de todas las aplicaciones. Los registros deben incluir si una aplicación requiere conectividad de red. Los administradores deben crear nuevas reglas específicas para cada aplicación que necesite conectividad de red e insertar esas reglas de forma centralizada mediante una solución de administración de dispositivos.

Funciones y limitaciones conocidas

La característica FQDN del Firewall de Windows usa el controlador de llamada externo protección de red para inspeccionar las respuestas DNS donde la consulta DNS coincide con las reglas de FQDN. Algunas funciones y limitaciones importantes de la característica son:

  • El componente Protección de red no ejecuta consultas DNS periódicamente. Requiere que una aplicación ejecute una consulta DNS.
  • Firewall de Windows vacía todas las direcciones IP resueltas almacenadas al reiniciar el dispositivo
  • La protección de red no inspecciona sincrónicamente la respuesta DNS, ya que no contiene el paquete UDP durante la inspección. El resultado es una condición potencial en la que una aplicación, después de recibir la respuesta DNS, intenta conectarse, pero se bloquea si es más rápida que la actualización de la regla de firewall.
    • Por lo general, las aplicaciones tienen lógica de reintento para una conexión con errores iniciales y, como resultado, el problema es transparente para el usuario final.
    • En ocasiones, es posible que un componente no tenga lógica de reintento en un error de conexión inicial. Esto se resuelve de dos maneras:
      • El usuario puede realizar la actualización en la aplicación que está usando y debe conectarse correctamente.
      • Los administradores pueden usar los scripts de prehidratación de forma práctica, donde esta condición se produce en su entorno.

Requisitos de características de FQDN

A continuación se indican los requisitos de la característica FQDN:

  • Microsoft Defender Antivirus debe estar activado y ejecutar la versión 4.18.2209.7 de la plataforma o posterior.
  • Network Protection debe estar en modo de bloque o auditoría . Para obtener más información, consulte Comprobación de si la protección de red está habilitada.
  • Dns a través de HTTPS (DoH) debe estar deshabilitado. Para configurar el explorador que prefiera, puede usar los siguientes valores:
  • Se aplica la configuración de resolución DNS predeterminada del dispositivo. Esta característica no proporciona cambios en la seguridad o la funcionalidad de DNS.

    Sugerencia

    También puede descargar el archivo ADMX desde allí, seguir las instrucciones y configurarlo a través de gpedit.msc para las pruebas locales.

Administración de palabras clave dinámicas con Windows PowerShell

En esta sección se proporcionan algunos ejemplos de cómo administrar palabras clave dinámicas mediante Windows PowerShell. Algunos aspectos importantes a tener en cuenta al usar palabras clave dinámicas son:

  • Todos los objetos de palabra clave dinámica deben tener un identificador único (GUID) para representarlos
  • Una regla de firewall puede usar palabras clave dinámicas en lugar de definir explícitamente direcciones IP para sus condiciones
  • Una regla de firewall puede usar tanto palabras clave dinámicas como intervalos de direcciones definidos estáticamente
  • Un objeto de palabra clave dinámica se puede reutilizar en varias reglas de firewall
  • Si una regla de firewall no tiene ninguna dirección remota configurada, no se aplica la regla. Por ejemplo, si una regla está configurada solo AutoResolve con objetos que aún no se han resuelto
  • Si una regla usa varias palabras clave dinámicas, la regla se aplica a todas las direcciones que se resuelven actualmente . La regla se aplica incluso si hay objetos sin resolver. Cuando se actualiza una dirección de palabra clave dinámica, todos los objetos de regla asociados tienen sus direcciones remotas actualizadas.
  • Windows no aplica ninguna dependencia entre una regla y una dirección de palabra clave dinámica, y cualquiera de los objetos se puede crear primero. Una regla puede hacer referencia a identificadores de palabras clave dinámicas que aún no existen, en cuyo caso no se aplica la regla.
  • Puede eliminar una dirección de palabra clave dinámica, incluso si está en uso mediante una regla de firewall.

Permitir salida

Este es un script de ejemplo para permitir un FQDN desde PowerShell. Reemplace el valor de la $fqdn variable por el FQDN que desea bloquear (línea 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

Las direcciones de palabras clave dinámicas se pueden crear con el AutoResolve parámetro establecido en $true o $false. Si AutoResolve se establece en $true, Windows intenta resolver la palabra clave en una dirección IP.

Bloquear salida

Este es un script de ejemplo para bloquear un FQDN de PowerShell. Reemplace el valor de la $fqdn variable por el FQDN que desea bloquear (línea 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

Mostrar reglas de resolución automática y direcciones IP resueltas asociadas

En este ejemplo se muestra cómo mostrar todas las direcciones de palabras clave dinámicas que tienen el AutoResolve parámetro establecido $true en y las direcciones IP resueltas asociadas.

Get-NetFirewallDynamicKeywordAddress -AllAutoResolve

Nota

Las direcciones IP no se rellenarán hasta que se observe la consulta DNS.

Hidratar reglas de FQDN

Los siguientes scripts de ejemplo leen la configuración actual de Firewall de Windows, extraen reglas basadas en FQDN y realizan la resolución DNS en cada dominio. El resultado es que las direcciones IP de esas reglas se "hidratan previamente".

Get-NetFirewallDynamicKeywordAddress -AllAutoResolve |`
ForEach-Object {
  if(!$_.Keyword.Contains("*")) {
    Write-Host "Getting" $_.Keyword
    resolve-dnsname -Name $_.Keyword -DNSOnly | out-null
  }
}

Se puede usar un script similar para realizar la resolución DNS mediante nslookup.exe:

Get-NetFirewallDynamicKeywordAddress -AllAutoResolve |`
ForEach-Object {
  if(!$_.Keyword.Contains("*")) {
    Write-Host "Getting" $_.Keyword
    nslookup $_.Keyword
  }
}

Si usa nslookup.exe, debe crear una regla de firewall de salida cuando use la posición de bloqueo de salida. Este es el comando para crear la regla de salida 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 todas las salidas y permitir algunos FQDN

En el ejemplo siguiente, se analiza una lista de aplicaciones para la evaluación del FQDN. Los FQDN enumerados en los scripts se observaron al inspeccionar el tráfico en el primer inicio de Microsoft Edge.

Importante

Esta no es una lista completa ni una recomendación. Es un ejemplo de cómo se debe evaluar una aplicación para garantizar una conectividad y una función adecuadas.

Para más información sobre los requisitos de Microsoft Edge para la conectividad a Internet, consulte allowlist for Microsoft Edge endpoints (Lista de permitidos para puntos de conexión de 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 obtener más información sobre los cmdlets de PowerShell que se usan para administrar palabras clave dinámicas, consulte:

Para obtener información sobre la estructura de API, consulte Palabras clave dinámicas de firewall.