Freigeben über


Configuration Manager-Clients können nicht mit CMG kommunizieren

Dieser Artikel enthält Lösungen für häufige Probleme, wenn Configuration Manager-Clients nicht mit einem Cloud Management Gateway (CMG) kommunizieren können.

Ursprüngliche Produktversion: Configuration Manager (Current Branch)
Ursprüngliche KB-Nummer: 4503442, 4495265

Fehlercode 403 (CMGConnector_Clientcertificaterequired)

In den folgenden Protokolldateien werden Fehlermeldungen protokolliert, die den folgenden Einträgen ähneln:

LocationServices.log

[CCMHTTP] ERROR: URL=https://cmgsccm.contoso.com/CCM_PROXY_MUTUALAUTH/3456/SMS_MP/.sms_aut?SITESIGNCERT, Port=443, Options=31, Code=0, Text=CCM_E_BAD_HTTP_STATUS_CODE  
[CCMHTTP] ERROR INFO: StatusCode= 403 StatusText= CMGConnector_Clientcertificaterequired

SMS_Cloud_ProxyConnector.log

Forwarding proxy message \<message ID> to URL: `https://InternalMP.contoso.com/SMS_MP/.sms_aut?SITESIGNCERT`  
Web exception for message \<message ID>: System.Net.WebException: **The remote server returned an error: (403) Forbidden**.~~  at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)~~  at Microsoft.ConfigurationManager.CloudConnection.ProxyConnector.ConnectionBase.InternalResponseCallBack(IAsyncResult asynchronousResult)  
Received response `https://InternalMP.contoso.com/SMS_MP/.sms_aut?MPLIST2&CM1` for message \<message ID>: HTTP/1.1 403 CMGConnector_Clientcertificaterequired

Ursache

Der CMG-Verbindungspunkt erfordert ein Serverauthentifizierungszertifikat , um Clientanforderungen sicher an einen HTTPS-Verwaltungspunkt weiterzuleiten. Wenn das Serverauthentifizierungszertifikat fehlt, falsch konfiguriert oder ungültig ist, wird statuscode 403 zurückgegeben. In Szenarien, in denen der Verwaltungspunkt (MP) im erweiterten HTTP-Modus mit tokenbasierter Authentifizierung arbeitet, ist das Zertifikat nicht erforderlich, wird jedoch immer empfohlen.

Lösung

Um dieses Problem zu beheben, generieren Sie ein Serverauthentifizierungszertifikat für den CMG-Verbindungspunkt.

Hinweis

Im Zertifikat müssen Computer einen eindeutigen Wert im Feld "Antragstellername" oder "Alternativer Antragstellername" aufweisen.

So überprüfen Sie, ob die CMG über ein Serverzertifikat verfügt

Nachdem Sie die ausführliche Protokollierung aktiviert haben, zeigt die datei SMS_Cloud_ProxyConnector.log die Liste der verfügbaren Zertifikate auf dem Server an. Um zu überprüfen, ob ein gültiges Serverauthentifizierungszertifikat zum Herstellen der Kommunikation zwischen dem CMG-Verbindungspunkt und dem Verwaltungspunkt vorhanden ist, überprüfen Sie die Anzahl der Zertifikate in der Gefilterten Zertifikatanzahl mit Clientauthentifizierung: Zeile. Ein Beispiel finden Sie im folgenden Protokoll:

SMS_Cloud_ProxyConnector.log

Filtered cert count with digital signature: 7
Not allowed cert: <certificate>
Not allowed cert: <certificate>
No private key cert: <certificate>
Not allowed cert: <certificate>
Filtered cert count with allowed root CA: 3
Filtered cert count with private key: 3
Not client auth cert: <certificate>
Not client auth cert: <certificate>
Not client auth cert: <certificate>
Filtered cert count with client auth: 0
Maintaining connections...

Fehlercode 403 (CMGConnector_Forbidden)

In der folgenden Protokolldatei werden Fehlermeldungen protokolliert, die den folgenden Einträgen ähneln:

LocationServices.log

[CCMHTTP] ERROR: URL=https://cmgsccm.contoso.com/CCM_PROXY_MUTUALAUTH/3456/SMS_MP/.sms_aut?SITESIGNCERT, Port=443, Options=31, Code=0, Text=CCM_E_BAD_HTTP_STATUS_CODE  \
[CCMHTTP] ERROR INFO: StatusCode= 403 StatusText= CMGConnector_Forbidden

Ursache

Es besteht ein Konflikt zwischen den Internetinformationsdienste -Bindungen (IIS) und dem Verwaltungspunkt im HTTP-Modus. Wenn der Verwaltungspunkt vom HTTPS-Modus in den erweiterten HTTP-Modus verschoben wird, ohne die Bindungen zu bereinigen, kann der Konfigurationsverwaltungsclient möglicherweise kein SMS-Rollen-SSL-Zertifikat konfigurieren, das im erweiterten HTTP-Modus verwendet wird. In anderen Situationen ist ein falsches Zertifikat (abgelaufen oder widerrufen) in den IIS-Bindungen vorhanden und muss bereinigt werden.

Lösung

  1. Öffnen Sie den IIS-Manager (inetmgr).

  2. Erweitern Sie im Bereich "Verbindungen" den Computernamen, erweitern Sie "Websites", und wählen Sie dann "Standardwebsite" aus.

  3. Wählen Sie im rechten Bereich "Bindungen" aus.

  4. Wählen Sie im Dialogfeld "Websitebindungen " die 443 Portbindung und dann " Bearbeiten" aus.

  5. Wählen Sie im Dialogfeld "Websitebindung bearbeiten" das Zertifikat entsprechend aus:

    • Erweitertes HTTP: SSL-Zertifikat für SMS-Rolle

    • HTTPS: Ein gültiges PKI-Serverauthentifizierungszertifikat (Public Key Infrastructure)

Fehlercode 0x2f8f (ERROR_WINHTTP_SECURE_FAILURE)

In der folgenden Protokolldatei wird eine Fehlermeldung protokolliert, die dem folgenden Eintrag ähnelt:

LocationServices.log

[CCMHTTP] ERROR: URL=https://CMG.CONTOSO.COM/CCM_Proxy_ServerAuth/72057594037928017/CCM_STS, Port=443, Options=63, Code=12175, Text=ERROR_WINHTTP_SECURE_FAILURE

Vor der Fehlermeldung werden möglicherweise auch andere Ereignisse protokolliert:

[CCMHTTP] AsyncCallback():

[CCMHTTP] AsyncCallback(): WINHTTP_CALLBACK_STATUS_SECURE_FAILURE Encountered
[CCMHTTP] : dwStatusInformationLength is 4
[CCMHTTP] : lpvStatusInformation is 0x9
[CCMHTTP] : WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED is set
[CCMHTTP] : WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA is set
[CCMHTTP] : WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID is set

Hinweis

  • WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED gibt an, dass der /NoCRLCheck Parameter im CCMSetup Befehl fehlt und die Zertifikatsperrliste (Certificate Revocation List, CRL) nicht im Internet veröffentlicht wird.

  • WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA gibt an, dass das zum Überprüfen des Serverauthentifizierungszertifikats für eine CMG erforderliche Zertifikat der Stammzertifizierungsstelle (Root Certificate Authority, CA) fehlt.

  • WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID gibt an, dass der Hostname im gemeinsamen Zertifikatnamen falsch ist.

Ursache

Dieses Problem tritt auf, wenn mindestens eine der folgenden Bedingungen zutrifft:

  • Der Client verfügt nicht über die erforderliche PKI-Stammzertifizierungsstelle, um das Serverauthentifizierungszertifikat zu überprüfen.
  • Das dem Client angezeigte Zertifikat ist falsch.
  • Die CRL, die das Zertifikat enthält, wird nicht im Internet veröffentlicht, und der Client wird gezwungen, die CRL zu überprüfen.

Lösung

Wenn Sie ein PKI-Serverauthentifizierungszertifikat verwenden, führen Sie die folgenden Schritte aus:

  1. Stellen Sie sicher, dass das dem Client angezeigte Zertifikat den erwarteten CMG-Namen aufweist. Wenn Sie nicht Microsoft-Dienste verwenden, die das anheftende Zertifikat verwenden und das angezeigte Zertifikat ändern, können die Clients das Serverzertifikat nicht überprüfen.

    Um zu überprüfen, welches Zertifikat angezeigt wird, öffnen Sie die folgende URL in einem Webbrowser:

    https://<CMGFQDN>/CCM_Proxy_MutualAuth/ServiceMetadata

    Ersetzen Sie den <CMGFQDN> Platzhalter durch ihren öffentlichen vollqualifizierten CMG-Domänennamen (FQDN).

  2. Stellen Sie sicher, dass der Client über das Zertifikat im zertifikatspeicher der lokalen vertrauenswürdigen Stammzertifizierungsstellen verfügt. Andernfalls vertraut der Client der CMG nicht, auch wenn Microsoft Entra oder tokenbasierte Authentifizierung verwendet wird. Diese moderne Authentifizierungsmethode ist nur für die CMG verfügbar, um die Serverauthentifizierung zu überprüfen, aber nicht für die Antworten, die von der CMG an den Client gesendet werden. Wenn Sie ein Nicht-Microsoft-Zertifikat für die Authentifizierung verwenden, kann der Client in der Regel die öffentliche Stammzertifizierungsstelle über das Internet überprüfen.

  3. Wenn die CRL nicht im Internet veröffentlicht wird, stellen Sie sicher, dass die Website keine Clients erzwingt, die CRL zu überprüfen und die CRL-Überprüfung für Clients zu deaktivieren:

    1. Navigieren Sie in der Configuration Manager-Konsole zum Verwaltungsarbeitsbereich .

    2. Erweitern Sie die Standortkonfiguration, und wählen Sie dann den Knoten "Websites " aus.

    3. Wählen Sie den zu konfigurierenden primären Standort aus.

    4. Wählen Sie im Menüband "Eigenschaften" aus.

    5. Deaktivieren Sie auf der Registerkarte "Kommunikationssicherheit " das Kontrollkästchen "Clients überprüfen die Zertifikatsperrliste (Certificate Revocation List, CRL) für Websitesysteme ".

    Hinweis

    Stellen Sie beim Installieren von Clients aus dem Internet sicher, dass der /NoCRLCheck Parameter im CCMSetup Befehl enthalten ist.

Fehlercode 401 (CMGService_Invalid_Token)

Der Client hat nicht länger als 30 Tage mit der Website (über cmG oder MP) kommuniziert, oder der CCMSetup Befehl versucht, ein abgelaufenes Token mit dem /regtoken Parameter zu verwenden. In den folgenden Protokolldateien werden Fehlermeldungen protokolliert, die den folgenden Einträgen ähneln:

Ccmsetup.log

[CCMHTTP] ERROR: URL=https://CMGSERVER.CLOUDAPP.NET/CCM_Proxy_ServerAuth/ServiceMetadata , Port=443, Options=224, >Code=0, Text=CCM_E_BAD_HTTP_STATUS_CODE
[CCMHTTP] ERROR INFO: StatusCode=401 StatusText=CMGService_Invalid_Token

CCM_STS.log

Return code: 401, Description: PreAuth token validation failed, System.IdentityModel.Tokens.SecurityTokenExpiredException:
IDX10223: Lifetime validation failed. The token is expired.
ValidTo: '10/01/2020 22:03:24'
Current time: '10/28/2020 13:05:05'.
   at System.IdentityModel.Tokens.Validators.ValidateLifetime....

Ursache

Dieses Problem tritt auf, da das Token abgelaufen ist oder nicht ordnungsgemäß hinzugefügt wurde.

Lösung

Um das abgelaufene Token zu verlängern, verbinden Sie den Client direkt mit dem internen MP, oder installieren Sie den Client mithilfe eines neuen Massenregistrierungstokens neu.

Weitere Informationen

Gehen Sie zur weiteren Problembehandlung wie folgt vor:

  • Überprüfen Sie die IIS-Protokolle am Verwaltungspunkt.

    Im folgenden Beispielprotokoll gibt die 403 7 Antwort an, dass das Serverzertifikat nicht gefunden werden kann:

    <Datumszeit>><<IP_address_of_MP> GET /SMS_MP/.sms_aut SITESIGNCERT 443 - <IP_address_of_CMG_connectionpoint> SMS+CCM+5.0 - 403 7 0 5573 11

  • Aktivieren Sie die ausführliche Protokollierung für die SMS_Cloud_ProxyConnector.log-Datei , indem Sie den VerboseLogging Registrierungseintragswert 1 unter dem folgenden Registrierungsschlüssel festlegen und dann den SMS_EXECUTIVE Dienst neu starten.

    HKLM\SOFTWARE\MICROSOFT\SMS\SMS_CLOUD_PROXYCONNECTOR