Delen via


Activeringsbeveiliging uitschakelen

Normaal gesproken maakt activering gebruik van standaardbeveiligingsinstellingen. U kunt de activeringsbeveiliging echter beheren door een COAUTHINFO- structuur op te geven, die lid is van de COSERVERINFO structuur die wordt doorgegeven aan de activeringsfuncties. Als de client een verificatieniveau van RPC_C_AUTHN_LEVEL_NONE opgeeft in de COAUTHINFO- structuur, wordt er geen verificatiepoging uitgevoerd. Anders wordt een veilige activering geprobeerd en als de authenticatie mislukt, mislukt ook de activering.

Als de client geen expliciete COAUTHINFO structuur opgeeft en in plaats daarvan de aanwijzer instelt op NULL-, probeert COM de client te verifiëren. Als de client niet kan worden geverifieerd, controleert COM de beveiligingsdescriptor van de startmachtiging om te zien of er een NULL- DACL is, of een ACL die toegang tot iedereen toestaat. Als deze controle slaagt, wordt de server gestart. Zelfs als de client geen COAUTHINFOstructuur opgeeft, kan onbeveiligde activering plaatsvinden wanneer de server dit toestaat.

Notitie

Als u niet-geverifieerde netwerkgebruikers wilt toestaan om een COM-toepassing uit te voeren, moeten de toepassingsrollen de anonieme gebruiker bevatten. Vanaf Windows Server 2003 is de anonieme gebruiker standaard niet opgenomen in de groep Iedereen.

 

Waarom zou een client activeringsbeveiliging expliciet willen uitschakelen, ook al vindt er uiteindelijk een onbeveiligde activering plaats als de server dit toestaat? Omdat het expliciet uitschakelen van de activeringsbeveiliging de prestaties verhoogt wanneer de client geen beveiligingscontroles wil of nodig heeft.

De volgende dingen moeten worden gedaan om de activeringsbeveiliging expliciet uit te schakelen:

  • De client moet een verificatieniveau van RPC_C_AUTHN_LEVEL_NONE opgeven in de COAUTHINFO structuur die lid is van de COSERVERINFO structuur die aan de activeringsfunctie wordt geleverd.
  • De client moet een imitatieniveau van RPC_C_IMP_LEVEL_IMPERSONATE opgeven in de COAUTHINFO structuur die onderdeel is van de COSERVERINFO structuur die aan de activeringsfunctie is verstrekt. Als deze waarde niet wordt doorgegeven, krijgt u RPC_S_SERVER_UNAVAILABLE.
  • De server moet Iedereen opgeven voor standaard opstartrechten. De aanbevolen manier om deze taak uit te voeren, is als volgt Dcomcnfg.exe te gebruiken:
    1. Voer Dcomcnfg.exeuit.
    2. Selecteer op de pagina Toepassingen de toepassing die de server vertegenwoordigt. Klik op de knop Eigenschappen (of dubbelklik op de geselecteerde toepassing).
    3. Klik op de eigenschappenpagina Security op de knop Aangepaste opstartmachtigingen gebruiken.
    4. Klik op de knop Bewerken in het gebied Startmachtigingen.
    5. Klik in het dialoogvenster Registerwaardemachtigingen op de knop toevoegen.
    6. Selecteer de vermelding voor Iedereen in het lijstvak.
    7. Kies in de keuzelijst Type Toegang de optie Starten toestaan.
    8. Klik op de knop OK.

Notitie

In Windows Server 2003 bevat de verificatiemogelijkheid voor de COM+-systeemtoepassing de waarde EOAC_DISABLE_AAA. Deze waarde, waarmee activeringen van activate-as-activator (AAA) worden uitgeschakeld, wordt gebruikt in de CoInitializeSecurity-aanroep bij het starten van de systeemtoepassing. Door de authenticatiefunctie in te stellen op EOAC_DISABLE_AAA kan een toepassing die wordt uitgevoerd onder een geprivilegieerd account, zoals LocalSystem, helpen voorkomen dat de identiteit ervan wordt gebruikt om niet-vertrouwde componenten te starten.

 

Oproepbeveiliging uitschakelen