Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In Windows Filtering Platform (WFP) implementeert de BFE-service (Base Filtering Engine) het standaardmodel Windows-toegangsbeheermodel op basis van toegangstokens en beveiligingsdescriptors.
Model voor toegangsbeheer
Beveiligingsdescriptors kunnen worden opgegeven bij het toevoegen van nieuwe WFP-objecten, zoals filters en sublagen. Beveiligingsdescriptors worden beheerd met behulp van de WFP-beheerfuncties Fwpm*GetSecurityInfo0 en Fwpm*SetSecurityInfo0, waarbij * staat voor de naam van het WFP-object. Deze functies zijn semantisch identiek aan de functies Van Windows GetSecurityInfo en SetSecurityInfo.
Notitie
De Fwpm*SetSecurityInfo0--functies kunnen niet worden aangeroepen vanuit een expliciete transactie.
Notitie
De functies Fwpm*SetSecurityInfo0 kunnen alleen worden aangeroepen vanuit een dynamische sessie als ze worden gebruikt voor het beheren van een dynamisch object dat in dezelfde sessie is gemaakt.
De standaardbeveiligingsdescriptor voor de filterengine (het hoofdengineobject in het onderstaande diagram) is als volgt.
- Ververleent GENERIC_ALL (GA) toegangsrechten voor de ingebouwde groep Administrators.
- Ververleent GENERIC_READ (GR) GENERIC_WRITE (GW) GENERIC_EXECUTE (GX) toegangsrechten voor netwerkconfiguratieoperators.
- Verken GRGWGX- toegangsrechten voor de volgende servicebeveiligings-id's (SSID's): MpsSvc (Windows Firewall), NapAgent (Network Access Protection Agent), PolicyAgent (IPsec Policy Agent), RpcSs (Remote Procedure Call) en WdiServiceHost (Diagnostic Service Host).
- Geef FWPM_ACTRL_OPEN en FWPM_ACTRL_CLASSIFY aan iedereen. (Dit zijn WFP-specifieke toegangsrechten, zoals beschreven in de onderstaande tabel.)
De resterende standaardbeveiligingsdescriptors worden afgeleid via overname.
Er zijn enkele toegangscontroles, zoals voor Fwpm*Add0, Fwpm*CreateEnumHandle0, Fwpm*SubscribeChanges0 functie-aanroepen, die niet op objectniveau kunnen worden uitgevoerd. Voor deze functies zijn er containerobjecten voor elk objecttype. Voor de standaardobjecttypen (bijvoorbeeld providers, bijschriften, filters), worden de bestaande Fwpm*GetSecurityInfo0 en functies Fwpm*SetSecurityInfo0 overbelast, zodat een null-GUID- parameter de gekoppelde container identificeert. Voor de andere objecttypen (bijvoorbeeld netwerk gebeurtenissen en IPsec-beveiligingskoppelingen), zijn er expliciete functies voor het beheren van de beveiligingsgegevens van de container.
BFE biedt ondersteuning voor automatische overname van toegangscontrole-ingangen (ACE's) van de Discretionary Access Control List (DACL). BFE biedt geen ondersteuning voor SACL (System Access Control List) ACE's. Objecten nemen ACE's over van hun container. Containers erven ACE's van de filterengine. De overdrachtsbanen worden weergegeven in het onderstaande diagram.
Voor de standaardobjecttypen dwingt BFE alle algemene en standaardtoegangsrechten af. Daarnaast definieert WFP de volgende specifieke toegangsrechten.
| WFP-toegangsrechten | Beschrijving |
|---|---|
|
FWPM_ACTRL_ADD |
Vereist om een object toe te voegen aan een container. |
|
FWPM_ACTRL_ADD_LINK |
Vereist voor het maken van een koppeling naar een object. Als u bijvoorbeeld een filter wilt toevoegen dat verwijst naar een callout, moet de oproeper ADD_LINK toegang hebben tot de callout. |
|
FWPM_ACTRL_BEGIN_READ_TXN |
Vereist om een expliciete leestransactie te starten. |
|
FWPM_ACTRL_BEGIN_WRITE_TXN |
Vereist om een expliciete schrijftransactie te starten. |
|
FWPM_ACTRL_CLASSIFY |
Vereist om te classificeren op basis van een gebruikersmoduslaag. |
|
FWPM_ACTRL_ENUM |
Vereist om de objecten in een container op te sommen. De enumerator retourneert echter alleen objecten waartoe de aanroeper FWPM_ACTRL_READ toegang heeft. |
|
FWPM_ACTRL_OPEN |
Vereist voor het openen van een sessie met BFE. |
|
FWPM_ACTRL_READ |
Vereist om de eigenschappen van een object te lezen. |
|
FWPM_ACTRL_READ_STATS |
Vereist voor het lezen van statistieken. |
|
FWPM_ACTRL_SUBSCRIBE |
Vereist om u te abonneren op meldingen. Abonnees ontvangen alleen meldingen voor objecten waartoe ze FWPM_ACTRL_READ toegang hebben. |
|
FWPM_ACTRL_WRITE |
Het is vereist om motoropties in te stellen. |
BFE slaat alle toegangscontroles voor bellers in de kernelmodus over.
Om te voorkomen dat beheerders zichzelf uit BFE vergrendelen, krijgen leden van de ingebouwde beheerdersgroep altijd FWPM_ACTRL_OPEN tot het engineobject. Een beheerder kan dus weer toegang krijgen via de volgende stappen.
- Schakel de SE_TAKE_OWNERSHIP_NAME-bevoegdheid in.
- Roep FwpmEngineOpen0aan. De aanroep slaagt omdat de aanroeper lid is van Ingebouwde Beheerders.
- Verantwoordelijkheid nemen voor het motorobject. Dit lukt omdat de beller de bevoegdheid SE_TAKE_OWNERSHIP_NAME heeft.
- Werk de DACL bij. Dit lukt omdat de eigenaar altijd WRITE_DAC toegang heeft
Omdat BFE eigen aangepaste controle ondersteunt, worden er geen algemene objecttoegangscontroles gegenereerd. De SACL wordt dus genegeerd.
WFP Vereiste toegangsrechten
In de onderstaande tabel ziet u de toegangsrechten die zijn vereist voor de functies WFP om toegang te krijgen tot verschillende filterplatformobjecten. De functies FwpmFilter* worden weergegeven als voorbeeld voor toegang tot de standaardobjecten. Alle andere functies die toegang hebben tot standaardobjecten, volgen het FwpmFilter* functions-toegangsmodel.
| Functie | Object gecontroleerd | Toegang vereist |
|---|---|---|
| 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 | Containerleverancier Laag Sub-Layer Opmerking Providercontext |
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 | VERWIJDEREN |
|
FwpmFilterGetById0 FwpmFilterGetByKey0 |
Filter | FWPM_ACTRL_READ |
| FwpmFilterCreateEnumHandle0 | Containerfilter |
FWPM_ACTRL_ENUMFWPM_ACTRL_READ |
| FwpmFilterSubscribeChanges0 | Container | FWPM_ACTRL_SUBSCRIBE |
| FwpmFilterSubscriptionsGet0 | Container | 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 DB | VERWIJDEREN |
| 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 | VERWIJDEREN |
| IkeextSaGetById0 | IKE SA DB | FWPM_ACTRL_READ |
| IkeextSaCreateEnumHandle0 | IKE SA DB | FWPM_ACTRL_ENUM & FWPM_ACTRL_READ |
| FwpmNetEventCreateEnumHandle0 | Container | FWPM_ACTRL_ENUM |
|
FwpmIPsecTunnelAdd0 FwpmIPsecTunnelDeleteByKey0 |
Geen aanvullende toegangscontroles buiten die voor de afzonderlijke filters en providercontexten |