Compartir a través de


Comportamiento de cuarentena

Uno de los desafíos de seguridad a los que se enfrentan los administradores de red es configurar un dispositivo correctamente después de un cambio de red.

Los cambios de red pueden producirse con frecuencia. Las operaciones necesarias para recategorizar la red después de un cambio y aplicar las directivas de seguridad correctas en un dispositivo no sontriales y pueden requerir un tiempo de CPU considerable. Este requisito por operaciones es especialmente cierto para los dispositivos que forman parte de un dominio. El retraso en la aplicación de directivas de seguridad durante la recategorización de red se puede aprovechar para detectar vulnerabilidades.

Para contrarrestar la posible explotación, Firewall de Windows pone en cuarentena una interfaz hasta que el sistema recategoriza correctamente la red y la Plataforma de filtrado de Windows (WFP) tiene los filtros correctos aplicados para la configuración de interfaz actualizada. Durante la cuarentena, se bloquean todas las nuevas conexiones entrantes sin excepciones.

En este documento se describe la característica de cuarentena y se explica por qué la cuarentena podría bloquear el tráfico de la aplicación.

Filtros de cuarentena

La característica de cuarentena crea filtros que se pueden dividir en tres categorías:

  • Filtro de bloque de entrada predeterminado de cuarentena
  • Cuarentena de filtros de excepciones predeterminados
  • Filtros de descuarantes de interfaz

Estos filtros se agregan en la FWPM_SUBLAYER_MPSSVC_QUARANTINE subcapa y estas capas son:

  1. FWPM_LAYER_ALE_AUTH_CONNECT_V4
  2. FWPM_LAYER_ALE_AUTH_CONNECT_V6
  3. FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4
  4. FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6

Nota

Las reglas de firewall agregadas por la configuración de directiva no afectan a los filtros de la subcapa de cuarentena. Los filtros de las reglas de firewall se agregan en la FWPM_SUBLAYER_MPSSVC_WF subcapa. En otras palabras, no puede agregar sus propios filtros de excepción para evitar que los filtros de cuarentena evalúen los paquetes.

Para obtener más información sobre las capas y subcapas de WFP, consulte Operación de WFP.

Filtro de bloque de entrada predeterminado de cuarentena

El filtro de bloque de entrada predeterminado de cuarentena bloquea las nuevas conexiones entrantes que no son de reserva, a menos que otro filtro de la subcapa de cuarentena no permita explícitamente el paquete.

Cuarentena de filtros de excepciones predeterminados

Cuando la interfaz está en estado de cuarentena, los filtros de excepciones predeterminados de cuarentena permiten nuevas conexiones entrantes, dado que cumplen las condiciones de un filtro de excepción. Un ejemplo de los filtros de excepciones es el filtro de excepción de bucle invertido de entrada predeterminado de cuarentena. Este filtro de excepción permite todos los paquetes de bucle invertido cuando la interfaz está en estado de cuarentena.

Filtro de descuarantes de interfaz

Los filtros de unquarantine de la interfaz permiten todos los paquetes que no son de reserva si la interfaz se clasifica correctamente.

Flujo de cuarentena

Los eventos siguientes describen el flujo general de cuarentena:

  1. Hay algún cambio en la interfaz de red actual
  2. Los filtros de desquarantine de la interfaz no permiten nuevas conexiones entrantes. La interfaz está ahora en estado de cuarentena
  3. Todos los filtros de excepción predeterminados de cuarentena permiten todas las conexiones entrantes que no son de reserva o se quitan mediante el filtro de bloque de entrada predeterminado de cuarentena.
  4. Se quitan los filtros de WFP aplicables al estado de la interfaz antigua.
  5. Se agregan los filtros de WFP aplicables al nuevo estado de la interfaz, que incluyen los filtros de unquarantine para esta interfaz. Estos filtros se actualizan para que coincidan con el estado actual de la interfaz.
  6. La interfaz ha salido ahora del estado de cuarentena, ya que los filtros de no ecuanina de la interfaz permiten cualquier nuevo paquete no inactivo.

Diagnósticos de cuarentena

Hay dos métodos para identificar las caídas de paquetes del filtro de bloque de entrada predeterminado de cuarentena.

Dado que el problema de conectividad de red es reproducible, los seguimientos de diagnóstico se pueden recopilar mediante la ejecución de lo siguiente en un símbolo del sistema administrativo:

Netsh wfp cap start
<Reproduce network connectivity issue>
Netsh wfp cap stop

Estos comandos generan un wfpdiag.cab. Dentro de la .cab existe un wfpdiag.xml, que contiene la colocación netEvents y los filtros que existían durante esa reproducción.

Dentro de la wfpdiag.xml, busque netEvents que tienen FWPM_NET_EVENT_TYPE_CLASSIFY_DROP como netEvent tipo. Para buscar los eventos de colocación pertinentes, busque los eventos de colocación con la dirección IP de destino, el SID de paquete o el nombre del identificador de aplicación coincidentes.

Los caracteres del nombre del identificador de aplicación se separan por puntos:

 <asString>         \\.d.e.v.i.c.e.\\.h.a.r.d.d.i.s.k.v.o.l.u.m.e.1.\\.w.i.n.d.o.w.s.\\.s.y.s.t.e.m.3.2.\\.s.v.c.h.o.s.t...e.x.e... </asString>

netEvent contiene más información sobre el paquete eliminado, incluida información sobre sus capacidades, el filtro que quitó el paquete y mucho más.

Si el filtro que quitó ese paquete era por el filtro de bloque de entrada predeterminado de cuarentena, la eliminación netEvent contiene filterOrigin como Quarantine Default.

El código siguiente es un ejemplo netEvent con filterOrigin como Quarantine Default.

<netEvent>
    <header>
        <timeStamp>2020-10-07T01:03:56.281Z</timeStamp>
        <flags numItems="9">
            <item>FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET</item>
            <item>FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET</item>
            <item>FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET</item>
            <item>FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET</item>
            <item>FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET</item>
            <item>FWPM_NET_EVENT_FLAG_APP_ID_SET</item>
            <item>FWPM_NET_EVENT_FLAG_USER_ID_SET</item>
            <item>FWPM_NET_EVENT_FLAG_IP_VERSION_SET</item>
            <item>FWPM_NET_EVENT_FLAG_PACKAGE_ID_SET</item>
        </flags>
        <ipVersion>FWP_IP_VERSION_V4</ipVersion>
        <ipProtocol>17</ipProtocol>
        <localAddrV4>255.255.255.255</localAddrV4>
        <remoteAddrV4>10.195.33.252</remoteAddrV4>
        <localPort>21</localPort>
        <remotePort>61706</remotePort>
        <scopeId>0</scopeId>
        <appId>
            <data>5c00640065006d00330032005c0073007600630068006f00730074002e006500780065000000</data>
            <asString>\.d.e.v.i.c.e.\.h.a.r.d.d.i.s.k.v.o.l.u.m.e.1.\.w.i.n.d.o.w.s.\.s.y.s.t.e.m.3.2.\.s.v.c.h.o.s.t...e.x.e...</asString>
        </appId>
        <userId>S-1-5-19</userId>
        <addressFamily>FWP_AF_INET</addressFamily>
        <packageSid>S-1-0-0</packageSid>
        <enterpriseId/>
        <policyFlags>0</policyFlags>
        <effectiveName/>
    </header>
    <type>FWPM_NET_EVENT_TYPE_CLASSIFY_DROP</type>
    <classifyDrop>
        <filterId>66241</filterId>
        <layerId>44</layerId>
        <reauthReason>0</reauthReason>
        <originalProfile>0</originalProfile>
        <currentProfile>0</currentProfile>
        <msFwpDirection>MS_FWP_DIRECTION_OUT</msFwpDirection>
        <isLoopback>false</isLoopback>
        <vSwitchId/>
        <vSwitchSourcePort>0</vSwitchSourcePort>
        <vSwitchDestinationPort>0</vSwitchDestinationPort>
    </classifyDrop>
    <internalFields>
        <internalFlags numItems="1">
            <item>FWPM_NET_EVENT_INTERNAL_FLAG_FILTER_ORIGIN_SET</item>
        </internalFlags>
        <capabilities/>
        <fqbnVersion>0</fqbnVersion>
        <fqbnName/>
        <terminatingFiltersInfo numItems="3">
            <item>
                <filterId>66241</filterId>
                <subLayer>FWPP_SUBLAYER_INTERNAL_FIREWALL_QUARANTINE</subLayer>
                <actionType>FWP_ACTION_BLOCK</actionType>
            </item>
            <item>
                <filterId>74045</filterId>
                <subLayer>FWPP_SUBLAYER_INTERNAL_FIREWALL_WSH</subLayer>
                <actionType>FWP_ACTION_BLOCK</actionType>
            </item>
            <item>
                <filterId>73602</filterId>
                <subLayer>FWPP_SUBLAYER_INTERNAL_FIREWALL_WF</subLayer>
                <actionType>FWP_ACTION_BLOCK</actionType>
            </item>
        </terminatingFiltersInfo>
        <filterOrigin>Quarantine Default</filterOrigin>
         <interfaceIndex>5</interfaceIndex>
    </internalFields>
</netEvent>

Como alternativa, si la auditoría de errores de conexión de la plataforma de filtrado está habilitada, el evento drop se registra en Windows Visor de eventos.

Para habilitar las auditorías de conexión de la plataforma de filtrado, ejecute el siguiente comando en un símbolo del sistema administrativo:

Auditpol /set /category:"System" /SubCategory:"Filtering Platform Connection" /success:enable /failure:enable

Ejemplo de eliminación de auditoría con filterOrigin como Quarantine Default.

Valor predeterminado de cuarentena.

Una vez que el origen del filtro de la colocación se ha identificado como el filtro de bloque de entrada predeterminado de cuarentena, se debe investigar aún más la interfaz. Para buscar la interfaz pertinente, use el InterfaceIndex valor de la netEvent auditoría de eventos o en el siguiente comando de PowerShell para generar más información sobre la interfaz:

Get-NetIPInterface -InterfaceIndex <Interface Index>
Get-NetIPInterface -InterfaceIndex 5

Con la ayuda del nombre de la interfaz, se puede buscar en el visor de eventos cualquier cambio relacionado con la interfaz.

Para habilitar más eventos de auditoría de redes, consulte Habilitar eventos de auditoría de IPsec y Firewall de Windows.

Las caídas de paquetes del filtro de bloque de entrada predeterminado de cuarentena suelen ser transitorias y no significan nada más que un cambio de red en la interfaz.