Freigeben über


AuthZ schlägt mit einem Fehler "Zugriff verweigert" fehl, wenn eine Anwendung auf Überprüfungen in Windows Server zugreift.

Dieser Artikel enthält eine Lösung für ein Problem, bei dem AuthZ mit einem Fehler "Zugriff verweigert" fehlschlägt, wenn eine Anwendung auf Die Überprüfungen in Windows Server zugreift.

Ursprüngliche KB-Nummer: 4055652

Problembeschreibung

Stellen Sie sich folgendes Szenario vor:

  • Sie arbeiten in einer Active Directory-Umgebung, die auf Windows Server 2008 R2 oder einer höheren Version basiert.
  • Sie führen eine Anwendung aus, die die Autorisierungsschnittstelle (AuthZ) verwendet. Zu diesen Anwendungen gehören Microsoft Exchange 2016 und Microsoft Exchange 2013.

Wenn die Anwendung in diesem Szenario versucht, eine Zugriffsüberprüfung zu durchführen, schlägt AuthZ fehl und gibt eine Fehlermeldung "Zugriff verweigert" zurück.

Ursache

Dieses Problem tritt auf, da der Netzwerkzugriff: Clients, die Remoteanrufe an SAM-Richtlinie tätigen dürfen, sind aktiviert. Die Richtlinie steuert, welche Benutzer Benutzer und Gruppen in der lokalen SAM-Datenbank (Security Accounts Manager) und in Active Directory aufzählen können.

Diese Richtlinie wird eingeführt, nachdem die folgenden Versionen von Windows- oder Windows-Updates installiert wurden:

Richtlinien- und Registrierungsnamen

Name Beschreibung
Richtlinienname Netzwerkzugriff: Clients einschränken, die Remoteaufrufe an SAM ausführen dürfen
Location Sicherheitseinstellungen\für Computerkonfiguration\für Windows-Einstellungen\– Lokale Richtlinien\– Sicherheitsoptionen
Registrierungsunterschlüssel HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\RestrictRemoteSam
Registrierungstyp REG_SZ
Registrierungswert Eine Zeichenfolge, die die SDDL des zu bereitstellenden Sicherheitsdeskriptors enthält.

Beschränken Sie Clients, die Remoteanrufe an SAM-Richtlinieneinstellung vornehmen dürfen.

Wenn Sie die Richtlinie mithilfe der Windows Server 2016-Verwaltungstools definieren, besteht die Standardeinstellung darin, nur Administratoren Zugriff auf diese Schnittstelle zu gewähren.

Der im Abschnitt "Symptome" erwähnte Fehler tritt auf, wenn die folgenden Bedingungen zutreffen:

  • Die Richtlinie ist auf den Domänencontrollern aktiviert.
  • Das Konto für den Server, auf dem Exchange Server ausgeführt wird, darf die Schnittstelle nicht verwenden.

Lösung

Verwenden Sie eine der folgenden Methoden, um dieses Problem zu beheben.

Methode 1: Aktualisieren der Richtlinie, um den Zugriff zuzulassen

In der Gruppe werden die Server, die auf die Schnittstelle zugreifen müssen, als Mitglieder hinzugefügt.

Die universelle Gruppe "Exchange-Server" erfordert z. B. diesen Zugriff.

Wenn die Anwendung nicht über eine Gruppe verfügt, die die erforderlichen Konten enthält, müssen Sie möglicherweise eine solche Gruppe erstellen und verwalten. Dies ist die empfohlene Lösung, da sie Zugriff auf eine Gruppe bietet, die für die Aufgabe spezifisch ist.

Methode 2: Deaktivieren der Richtlinie

Löschen Sie den Registrierungseintrag RestrictRemoteSAM , oder entfernen Sie die Richtlinie.

Notiz

Auf Domänencontrollern können Sie berechtigungen pro Objekt definieren, um die Sichtbarkeit der Konten zu steuern. Diese Berechtigungen werden von den REMOTE-SAM-RPC-Aufrufen berücksichtigt. Dies ist für die Konten von Mitgliedern oder eigenständigen Computern nicht möglich.

Weitere Informationen:

Weitere Informationen finden Sie im folgenden Artikel:
Netzwerkzugriff: Clients einschränken, die Remoteaufrufe an SAM ausführen dürfen

Problembeispiel in Exchange Server

Nehmen Sie das folgende Szenario als Beispiel:

  • Sie führen Active Directory zusammen mit Windows Server 2008 R2 oder einer höheren Version aus.
  • Sie führen Microsoft Exchange 2016 oder Microsoft Exchange 2013 als E-Mail-Plattform für die Zusammenarbeit aus.

Notiz

Obwohl in diesem Beispiel Exchange Server angegeben wird, gilt dieses Problem auf ähnliche Weise für andere Anwendungen, die AuthZ verwenden.

In diesem Szenario schlägt die Generierung des Offlineadressbuchs (OAB) auf dem Server, auf dem Exchange Server 2016 ausgeführt wird, fehl.

Außerdem wird ein Eintrag für Ereignis 17004 (Quelle: MSExchange Mailbox Assistants Provider) angezeigt, der wie folgt aussieht. Dieser Eintrag wird im Anwendungsprotokoll auf dem Server protokolliert, auf dem das Vermittlungspostfach "SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}" gespeichert ist, das zum Generieren des OAB verwendet wird.

Fehler bei der Generierung von OAB "\Standard-Offlineadressbuch".
Dn: CN=Standard-Offlineadressbuch,CN=Offlineadresslisten,CN=Adresslisten
Container,CN=Companyname,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=company,DC=com ObjectGuid: 543b7f18-2750-4969-9afd-e333a0542406
Statistiken:
S:Exp=Microsoft.Exchange.Security.Authorization.AuthzException: AuthzInitializeContextFromSid failed for User SID: S-1-5-21-.... ---> System.ComponentModel.Win32Exception: Access is denied
--- Ende der inneren Ausnahme für Stapelüberwachung ---
at
Microsoft.Exchange.Security.Authorization.ClientSecurityContext.InitializeContextFromSecurityAccessToken(AuthzFlags Flags)
at Microsoft.Exchange.Security.Authorization.ClientSecurityContext.. ctor(ISecurityAccessToken securityAccessToken, AuthzFlags flags)
at Microsoft.Exchange.MailboxAssistants.Assistants.OABGenerator.PropertyManager.. ctor(OfflineAddressBook offlineAddressBook, SecurityIdentifier userSid, String userDomain, Boolean habEnabled, Boolean ordinalSortedMultivaluedProperties, Int32 httpHomeMdbFixRate, IOABLogger logger)
at Microsoft.Exchange.MailboxAssistants.Assistants.OABGenerator.OABGenerator.Initialize()
at Microsoft.Exchange.MailboxAssistants.Assistants.OABGenerator.OABGeneratorAssistant. BeginProcessingOAB(AssistantTaskContext assistantTaskContext)
at Microsoft.Exchange.MailboxAssistants.Assistants.OABGenerator.OABGeneratorAssistant.<>c__DisplayClass12.<SafeExecuteOabTask>b__e()
at Microsoft.Exchange.Common.IL.ILUtil.DoTryFilterCatch(Action tryDelegate, Func'2 filterDelegate, Action'1 catchDelegate)
at Microsoft.Exchange.MailboxAssistants.Assistants.OABGenerator.OABGeneratorAssistant.SafeExecuteOabTask(OABGeneratorTaskContext context)
at Microsoft.Exchange.MailboxAssistants.Assistants.OABGenerator.OABGeneratorAssistant.<>c__DisplayClassc.<ProcessAssistantStep>b__9()
at Microsoft.Exchange.Common.IL.ILUtil.DoTryFilterCatch(Action tryDelegate, Func'2 filterDelegate, Action'1 catchDelegate)

Wenn das Offlineadressbuch generiert wird, überprüft Exchange, ob der Postfach-Assistent die Aufgabe ausführen darf. Das SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c} -Systempostfach ist ein deaktiviertes Benutzerkonto im Benutzercontainer der Stammdomäne der Gesamtstruktur. Exchange verwendet das AuthZ-Modul von Windows für diese Aufgabe.

Wenn Sie die Netzwerkablaufverfolgung des Servers untersuchen, auf dem Exchange Server ausgeführt wird, stellen Sie fest, dass eine fehlerhafte Kerberos-S4U-Anforderung wie folgt aussieht:

KerberosV5 10.10.10.11 16268 10.10.10.10 Kerberos(88) KRB_TGS_REQ, Bereich: UND. CORP, Sname: XXXXX

PADataType PA-FOR-USER (129) 12408 48 Int64

UserRealm AND 296 56 String

UserName SM_0ddc5cc213b943a5b 16 280 KerberosV5.PrincipalName

->Dies teilt Ihnen mit, dass AuthZ Kerberos S4U versucht.

2017-10-27T16:34:52.1334577 0.0041316 10772 15016 KerberosV5 10.10.10.10 Kerberos(88) 10.10.10.10.11 16268 KRB_ERROR, KDC_ERR_CLIENT_REVOKED: Clients-Anmeldeinformationen wurden widerrufen, Status:
STATUS_ACCOUNT_DISABLED

->Dies ist nicht angegeben, da das Systempostfachkonto deaktiviert ist.

AuthZ versucht, die Wiederherstellung von diesem Fehler durch Abfragen des tokenGroupsGlobalAndUniversal-Attributs des Systempostfachs und anschließendes Aufzählen der domänenlokalen Gruppen auszuführen. Die LDAP-Sitzung ist verschlüsselt. Daher wird das Ergebnis in einer Netzwerkablaufverfolgung nicht angezeigt.

Der nächste Schritt besteht darin, die domänenlokalen Gruppen abzurufen. AuthZ verwendet SAM RPC, um diese Gruppenmitgliedschaften abzurufen. Wenn das Programm eine Verbindung mit dem Domänencontroller herstellt, erhalten Sie einen Fehlerhinweis, der wie folgt aussieht:

12035 SAMR 10.10.10.11 6457 10.10.10.16 SMB(445) _SamrConnect5Request{ServerName=\\Cont-DC1.company.com,DesiredAccess=32,InVersion=1,InRevisionInfo=SAMPR_REVISION_INFO{V1=SAMPR_REVISION_INFO_V1{Revision=3,SupportedFeatures=0}}}
FileId Persistent = 0x0000002800008761, Volatile = 0x0000002800000005 576 128 SMB2. SMB2Fileid

Dies schlägt fehl und gibt die folgende Meldung zurück:

12036 MSRPCE 0 10.10.10.16 SMB(445) 10.10.10.11 6457 RpcconnFaultHdrT, Anruf: 0x00000002, Kontext:
0x0001, Status: ERROR_ACCESS_DENIED, Abgebrochen: 0x00
SMB2 0 10.10.10.16 SMB(445) 10.10.10.11 6457 IoctlResponse, Status: Success, FileName:
samr@# 0x0000002800008761, CtlCode: FSCTL_PIPE_TRANSCEIVE

Im Systemereignisprotokoll des Domänencontrollers wird "Ereignis 16969" wie folgt protokolliert:

Protokollname: System
Quelle: Microsoft-Windows-Directory-Services-SAM
Ereignis-ID: 16969
Ebene: Warnung
Beschreibung:
8 Remoteaufrufe an die SAM-Datenbank wurden in den letzten 900 Sekunden Drosselungsfenster verweigert.
Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?LinkId=787651.

Wenn die Einschränkung deaktiviert ist, wird für jeden Zugriffsverweigerungsvorfall zusammen mit den Clientinformationen ein 16965-Ereignis angezeigt.

Datensammlung

Wenn Sie Unterstützung vom Microsoft-Support benötigen, empfehlen wir Ihnen, die Informationen zu sammeln, indem Sie die unter " Sammeln von Informationen" genannten Schritte unter Verwendung von TSS für Gruppenrichtlinienprobleme ausführen.