Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
I Windows Filtering Platform (WFP) implementerar tjänsten Base Filtering Engine (BFE) standardmodellen Windows-åtkomstkontroll baserat på åtkomsttoken och säkerhetsbeskrivningar.
Åtkomstkontrollmodell
Säkerhetsbeskrivningar kan anges när du lägger till nya WFP-objekt, till exempel filter och underlager. Säkerhetsbeskrivningar hanteras med hjälp av WFP-hanteringsfunktionerna Fwpm*GetSecurityInfo0 och Fwpm*SetSecurityInfo0, där * står för WFP-objektets namn. Dessa funktioner är semantiskt identiska med funktionerna i Windows GetSecurityInfo och SetSecurityInfo.
Not
Funktionerna Fwpm*SetSecurityInfo0 kan inte anropas inifrån en explicit transaktion.
Notera
Funktionerna Fwpm*SetSecurityInfo0 kan bara anropas inifrån en dynamisk session om de används för att hantera ett dynamiskt objekt som skapats i samma session.
Standardsäkerhetsbeskrivningen för filtermotorn (rotmotorobjektet i diagrammet nedan) är följande.
- Bevilja åtkomstbehörighet för GENERIC_ALL (GA) till den inbyggda gruppen Administratörer.
- Bevilja GENERIC_READ (GR) GENERIC_WRITE (GW) GENERIC_EXECUTE (GX) åtkomsträttigheter till nätverkskonfigurationsoperatorer.
- Bevilja GRGWGX åtkomstbehörigheter till följande tjänstesäkerhetsidentifierare (SSID): MpsSvc (Windows-brandvägg), NapAgent (Network Access Protection Agent), PolicyAgent (IPsec Policy Agent), RpcSs (Fjärrproceduranrop), och WdiServiceHost (diagnostiktjänstvärd).
- Ge FWPM_ACTRL_OPEN och FWPM_ACTRL_CLASSIFY till alla. (Det här är WFP-specifika åtkomsträttigheter som beskrivs i tabellen nedan.)
De återstående standardsäkerhetsbeskrivningarna härleds genom arv.
Det finns vissa åtkomstkontroller, till exempel för Fwpm*Add0, Fwpm*CreateEnumHandle0, Fwpm*SubscribeChanges0 funktionsanrop, som inte kan göras på den enskilda objektnivån. För dessa funktioner finns det containerobjekt för varje objekttyp. För standardobjekttyperna (till exempel leverantörer, utrop, filter) överlagras de befintliga funktionerna Fwpm*GetSecurityInfo0 och Fwpm*SetSecurityInfo0, så att en null-GUID- parameter identifierar den associerade containern. För de andra objekttyperna (till exempel nätverkshändelser och IPsec-säkerhetsassociationer) finns det explicita funktioner för att hantera containerns säkerhetsinformation.
BFE stöder automatiskt arv av DACL-åtkomstkontrollposter (Discretionary Access Control List) (ACL). BFE har inte stöd för ACE:er (System Access Control List). Objekt ärver ACE:er från deras container. Behållare ärver ACE:er från filtermotorn. Spridningssökvägarna visas i diagrammet nedan.
För standardobjekttyperna tillämpar BFE alla allmänna och standardåtkomsträttigheter. WFP definierar dessutom följande specifika åtkomsträttigheter.
| WFP-åtkomsträtt | Beskrivning |
|---|---|
|
FWPM_ACTRL_ADD |
Krävs för att lägga till ett objekt i en container. |
|
FWPM_ACTRL_ADD_LINK |
Krävs för att skapa en association till ett objekt. Om du till exempel vill lägga till ett filter som refererar till en callout måste anroparen ha ADD_LINK-åtkomst till callouten. |
|
FWPM_ACTRL_BEGIN_READ_TXN |
Krävs för att påbörja en explicit lästransaktion. |
|
FWPM_ACTRL_BEGIN_WRITE_TXN |
Krävs för att påbörja en explicit skrivtransaktion. |
|
FWPM_ACTRL_CLASSIFY |
Krävs för att klassificera mot ett användarlägeslager. |
|
FWPM_ACTRL_ENUM |
Krävs för att räkna upp objekten i en container. Uppräknaren returnerar dock bara objekt som anroparen har FWPM_ACTRL_READ åtkomst till. |
|
FWPM_ACTRL_OPEN |
Krävs för att öppna en session med BFE. |
|
FWPM_ACTRL_READ |
Krävs för att läsa ett objekts egenskaper. |
|
FWPM_ACTRL_READ_STATS |
Krävs för att läsa statistik. |
|
FWPM_ACTRL_SUBSCRIBE |
Krävs för att prenumerera på meddelanden. Prenumeranter får endast meddelanden om objekt som de har FWPM_ACTRL_READ åtkomst till. |
|
FWPM_ACTRL_WRITE |
Krävs för att ange motoralternativ. |
BFE hoppar över alla åtkomstkontroller för anropare i kernelläge.
För att förhindra att administratörer låser sig från BFE beviljas alltid medlemmar i den inbyggda administratörsgruppen FWPM_ACTRL_OPEN till motorobjektet. Därför kan en administratör återfå åtkomsten genom följande steg.
- Aktivera SE_TAKE_OWNERSHIP_NAME behörighet.
- Anropa FwpmEngineOpen0. Samtalet lyckas eftersom anroparen är medlem i inbyggda administratörer.
- Ta över ägarskapet för motorobjektet. Detta lyckas eftersom anroparen har SE_TAKE_OWNERSHIP_NAME behörighet.
- Uppdatera DACL. Detta lyckas eftersom ägaren alltid har WRITE_DAC åtkomst
Eftersom BFE stöder sin egen anpassade granskning genererar den inte allmänna objektåtkomstgranskningar. Därför ignoreras SACL.
Nödvändiga åtkomsträttigheter för WFP
Tabellen nedan visar de åtkomsträttigheter som krävs av WFP-funktionerna för att få åtkomst till olika filtreringsplattformsobjekt. Funktionerna FwpmFilter* visas som ett exempel för åtkomst till standardobjekten. Alla andra funktioner som har åtkomst till standardobjekt följer FwpmFilter* funktionsåtkomstmodell.
| Funktion | Objekt kontrollerat | Åtkomst krävs |
|---|---|---|
| FwpmEngineOpen0 | Motor | FWPM_ACTRL_OPEN |
| FwpmEngineGetOption0 | Motor | FWPM_ACTRL_READ |
| FwpmEngineSetOption0 | Motor | FWPM_ACTRL_WRITE |
| FwpmSessionCreateEnumHandle0 | Motor | FWPM_ACTRL_ENUM |
| FwpmTransactionBegin0 | Motor | FWPM_ACTRL_BEGIN_READ_TXN & FWPM_ACTRL_BEGIN_WRITE_TXN |
| FwpmFilterAdd0 | Containerleverantör Lager Sub-Layer Callout Providerkontext |
FWPM_ACTRL_ADDFWPM_ACTRL_ADD_LINK FWPM_ACTRL_ADD_LINK FWPM_ACTRL_ADD_LINK FWPM_ACTRL_ADD_LINK FWPM_ACTRL_ADD_LINK |
|
FwpmFilterDeleteById0 FwpmFilterDeleteByKey0 |
Filter | DELETE |
|
FwpmFilterGetById0 FwpmFilterGetByKey0 |
Filter | FWPM_ACTRL_READ |
| FwpmFilterCreateEnumHandle0 | Containerfilter |
FWPM_ACTRL_ENUMFWPM_ACTRL_READ |
| FwpmFilterSubscribeChanges0 | Behållare | FWPM_ACTRL_SUBSCRIBE |
| FwpmFilterSubscriptionsGet0 | Behållare | FWPM_ACTRL_READ |
| IPsecGetStatistics0 | IPsec SA DB | FWPM_ACTRL_READ_STATS |
|
IPsecSaContextCreate0 IPsecSaContextGetSpi0 IPsecSaContextAddInbound0 IPsecSaContextAddOutbound0 |
IPsec SA DB | FWPM_ACTRL_ADD |
|
IPsecSaContextDeleteById0 IPsecSaContextExpire0 |
IPsec SA-databas | DELETE |
| IPsecSaContextGetById0 | IPsec SA DB | FWPM_ACTRL_READ |
|
IPsecSaContextCreateEnumHandle0 IPsecSaCreateEnumHandle0 |
IPsec SA DB | FWPM_ACTRL_ENUM & FWPM_ACTRL_READ |
| IkeextGetStatistics0 | IKE SA DB | FWPM_ACTRL_READ_STATS |
| IkeextSaDeleteById0 | IKE SA DB | DELETE |
| IkeextSaGetById0 | IKE SA DB | FWPM_ACTRL_READ |
| IkeextSaCreateEnumHandle0 | IKE SA DB | FWPM_ACTRL_ENUM & FWPM_ACTRL_READ |
| FwpmNetEventCreateEnumHandle0 | Behållare | FWPM_ACTRL_ENUM |
|
FwpmIPsecTunnelAdd0 FwpmIPsecTunnelDeleteByKey0 |
Inga ytterligare åtkomstkontroller utöver dem för de enskilda filtren och providerkontexterna |