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.
Um dos desafios de segurança que os administradores de rede enfrentam é configurar um dispositivo corretamente após uma alteração de rede.
As alterações de rede podem ocorrer frequentemente. As operações necessárias para recategorizar a rede após uma alteração e aplicar as políticas de segurança corretas num dispositivo não são úteis e podem exigir um tempo de CPU considerável. Este requisito por operações é especialmente verdadeiro para dispositivos que fazem parte de um domínio. O atraso na aplicação de políticas de segurança durante a recategorização de rede pode ser explorado para vulnerabilidades.
Para contrariar a potencial exploração, a Firewall do Windows coloca uma interface em quarentena até que o sistema recategorize com êxito a rede e a Plataforma de Filtragem do Windows (WFP) tem os filtros corretos aplicados para a configuração da interface atualizada. Durante a quarentena, todas as novas ligações de entrada sem exceções são bloqueadas.
Este documento descreve a funcionalidade de quarentena e explica porque é que o tráfego da aplicação pode ser bloqueado pela quarentena.
Filtros de quarentena
A funcionalidade de quarentena cria filtros que podem ser divididos em três categorias:
- Colocar em quarentena o filtro de bloco de entrada predefinido
- Filtros de exceção predefinidos de quarentena
- Filtros nãoquarantinos da interface
Estes filtros são adicionados na FWPM_SUBLAYER_MPSSVC_QUARANTINE
subcaminha e estas camadas são:
FWPM_LAYER_ALE_AUTH_CONNECT_V4
FWPM_LAYER_ALE_AUTH_CONNECT_V6
FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4
FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6
Observação
As regras de firewall adicionadas pelas definições de política não afetam os filtros na subcamadas de quarentena. Os filtros das regras da firewall são adicionados na FWPM_SUBLAYER_MPSSVC_WF
subcaminha. Por outras palavras, não pode adicionar os seus próprios filtros de exceção para impedir que os pacotes sejam avaliados pelos filtros de quarentena.
Para obter mais informações sobre as camadas e subcamada WFP, veja Operação WFP.
Colocar em quarentena o filtro de bloco de entrada predefinido
O filtro de bloco de entrada predefinido de quarentena bloqueia quaisquer novas ligações de entrada nãoloopback, a menos que o pacote não seja explicitamente permitido por outro filtro na subcamada de quarentena.
Filtros de exceção predefinidos de quarentena
Quando a interface está no estado de quarentena, os filtros de exceção predefinidos de quarentena permitem novas ligações de entrada, uma vez que cumprem as condições de um filtro de exceção. Um exemplo dos filtros de exceção é o filtro de exceção de loopback de entrada predefinido de quarentena. Este filtro de exceção permite todos os pacotes de loopback quando a interface está no estado de quarentena.
Filtro nãoquarantino da interface
Os filtros não consoante a interface permitem todos os pacotes nãoloopback se a interface for categorizada com êxito.
Fluxo de quarentena
Os seguintes eventos descrevem o fluxo geral de quarentena:
- Existem algumas alterações na interface de rede atual
- Os filtros nãoquarantinos da interface não permitem novas ligações de entrada. A interface está agora no estado de quarentena
- Todas as ligações de entrada nãoloopback são permitidas pelos filtros de exceção predefinidos de quarentena ou removidas pelo filtro de bloco de entrada predefinido de quarentena
- Os filtros WFP aplicáveis ao estado de interface antigo são removidos
- Os filtros WFP aplicáveis ao novo estado de interface são adicionados, que incluem os filtros nãoquarantinos para esta interface. Estes filtros são atualizados para corresponder ao estado atual da interface
- A interface saiu do estado de quarentena, uma vez que os filtros nãoquarantinos da interface permitem novos pacotes nãoloopback
Diagnóstico de quarentena
Existem dois métodos para identificar as remoção de pacotes do filtro de bloco de entrada predefinido de quarentena.
Dado que o problema de conectividade de rede é reproduzível, os rastreios de diagnóstico podem ser recolhidos ao executar o seguinte numa linha de comandos administrativa:
Netsh wfp cap start
<Reproduce network connectivity issue>
Netsh wfp cap stop
Estes comandos geram um wfpdiag.cab. Dentro da .cab existe uma wfpdiag.xml, que contém a remoção netEvents
e os filtros que existiam durante essa reprodução.
Dentro da wfpdiag.xml, procure netEvents
que tenham FWPM_NET_EVENT_TYPE_CLASSIFY_DROP
como tipo netEvent
. Para localizar os eventos de remoção relevantes, procure os eventos de remoção com o endereço IP de destino correspondente, o SID do pacote ou o nome do ID da aplicação.
Os carateres no nome do ID da aplicação são separados por períodos:
<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>
Contém netEvent
mais informações sobre o pacote removido, incluindo informações sobre as suas capacidades, o filtro que deixou cair o pacote e muito mais.
Se o filtro que deixou cair esse pacote for pelo filtro de bloco de entrada predefinido de quarentena, a remoção netEvent
contém filterOrigin
como Quarantine Default
.
O código seguinte é um exemplo netEvent
com 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>
Em alternativa, se a auditoria de falha da Ligação da Plataforma de Filtragem estiver ativada, o evento de remoção é registado no Windows Visualizador de Eventos.
Para ativar as auditorias de Ligação da Plataforma de Filtragem, execute o seguinte comando numa linha de comandos administrativa:
Auditpol /set /category:"System" /SubCategory:"Filtering Platform Connection" /success:enable /failure:enable
Auditoria de remoção de exemplo com filterOrigin
como Quarantine Default
.
Assim que a origem do filtro da remoção tiver sido identificada como o filtro de bloco de entrada predefinido de quarentena, a interface deve ser investigada mais aprofundadamente. Para localizar a interface relevante, utilize o InterfaceIndex
valor da auditoria de netEvent
evento ou no seguinte comando do PowerShell para gerar mais informações sobre a interface:
Get-NetIPInterface -InterfaceIndex <Interface Index>
Get-NetIPInterface -InterfaceIndex 5
Com a ajuda do nome da interface, o visualizador de eventos pode ser procurado por quaisquer alterações relacionadas com a interface.
Para ativar mais eventos de auditoria de rede, veja Ativar Eventos de Auditoria da Firewall do Windows e IPsec.
Muitas vezes, as remoção de pacotes do filtro de bloco de entrada predefinido de quarentena são transitórias e não significam nada mais do que uma alteração de rede na interface.