Überblick
In einer Active Directory-Umgebung ermöglicht die Verwendung der integrierten Windows-Authentifizierung (Kerberos) den Benutzern, dieselben Anmeldeinformationen zu verwenden, die sie auch zum Anmelden bei Windows verwenden.Automatisches Single Sign-On (SSO) für CAMServer ohne zusätzliche Anmeldung bei C&M. dürfen.
Bisher erforderte dieses System den Aufbau mit IIS/ASP.NET, doch mit dieser Funktion übernimmt CAMServer die Kerberos-Authentifizierung direkt. Dies ermöglicht eine einfachere Konfiguration von SSO mittels integrierter Windows-Authentifizierung, ohne dass zusätzliche Server wie IIS benötigt werden.
SSO-Ablauf
SSO-Verarbeitungsablauf
- Zugriff auf CAMServer
Der Benutzer greift über einen Browser auf CAMServer zu. Beim Zugriff wird ein temporäres Token für die Anwendung per POST gesendet. - Authentifizierungsanfrage
Nach der Überprüfung des temporären Tokens fordert CAMServer vom Browser die Windows-Authentifizierung (Negotiate) an. - Kerberos-Ticketkauf
Der Browser verwendet Windows-Anmeldeinformationen.
Besorgen Sie sich ein Kerberos-Dienstticket vom Active Directory KDC. - Senden eines Kerberos-Tickets
Der Browser verwendet das erworbene Kerberos-Ticket.
Der HTTP-Header wird hinzugefügt und die Nachricht wird erneut an den CAMServer gesendet. - Ticketprüfung
CAMServer verwendet Keytabs zur Überprüfung von Kerberos-Tickets. Bei erfolgreicher Überprüfung ruft er den im Ticket enthaltenen Kerberos-Principal ab. - LDAP-Suche und CAM-Benutzerabgleich
Das System führt eine LADP-Suche mit dem abgerufenen Kerberos-Prinzipal durch, um Benutzerinformationen aus Active Directory zu erhalten und diese mit dem in CAMServer registrierten Benutzer zu vergleichen. Bei Übereinstimmung wird die Anmeldung zugelassen. - Anmeldung abgeschlossen
CAMServer stellt eine Anmeldesitzung her.
Benutzer können CAMServer nutzen, ohne dass der Anmeldebildschirm angezeigt wird.
Wenn Sie über einen anderen Domänennamen als den für die Windows-Authentifizierung verwendeten FQDN auf die Website zugreifen oder wenn Sie von einem PC aus darauf zugreifen, der nicht der Domäne angehört, wird die Anmeldeauthentifizierung auf dem Command and Management Server (C&M) durchgeführt.
Betriebsanforderungen
Für die Nutzung dieser Funktion ist folgende Umgebung erforderlich.
Active Directory-Umgebung
- Es muss eine Active Directory-Domäne eingerichtet werden.
CAMServer
- Ultimativer PlanVerwendung
- Der CAMServer muss über seinen vollqualifizierten Domänennamen (FQDN) erreichbar sein.
- Der Windows Server, auf dem CAMServer ausgeführt wird, muss einer Active Directory-Domäne beigetreten sein.
Um zu überprüfen, welchen Domänen ein vorhandener Windows Server angehört, gehen Sie zu „Server-Manager“ → klicken Sie im linken Menü auf „Lokaler Server“ → klicken Sie auf „Computername“ und sehen Sie im Feld „Domäne“ nach.
Benutzer
- Der PC des Benutzers muss einer Domäne beigetreten sein und über die Domäne bei Windows angemeldet sein.
- SSO-berechtigte Benutzer sind diejenigen, deren Benutzer-ID lautet Benutzerprinzipalname (Sie müssen bei CAMServer im UPN-Format vorregistriert sein (z. B. benutzer@camtest.com)).
Unterstützte Browser
Die Windows-Authentifizierung (SSO) ist in den folgenden Browsern verfügbar.
- Microsoft Edge
- Google Chrome
- Kamera
Bezüglich der Load-Balancer-Konfiguration
Die Windows-Authentifizierung (Kerberos) ist eine Authentifizierungsmethode, die HTTP-Authentifizierungsheader zur Aushandlung verwendet. Daher muss CAMServer auf Port 443 laufen und der Load Balancer muss L4 (TLS-Passthrough) sein.
Empfohlene Konfiguration
Benutzer ──HTTPS──▶ L4 Load Balancer (TLS-Passthrough) ──HTTPS──▶ CAMServer(443)
NG-Konfiguration
Benutzer──HTTPS──▶ L7 Load Balancer (SSL-Terminierung) ──HTTP──▶ CAMServer(8080)
Bauverfahren
Die folgende Vorgehensweise zur Einrichtung wird anhand des „Konfigurationsbeispiels“ erläutert.
Konfigurationsbeispiel
- FQDN für die Windows-Authentifizierung:
https://test.chat-messenger.com - Active Directory-Domänenname:
camtest.com - Dienstkonto:
cam-svc@camtest.com(CAMTEST\cam-svc)
SPN-Registrierungsübersicht
SPN (Service Principal Name) ist ein Name, der einen bestimmten Dienst im Active Directory bei der Kerberos-Authentifizierung eindeutig identifiziert. Wenn Sie über einen FQDN auf den Dienst zugreifen, ermöglicht die Registrierung eines SPN dem Client, erfolgreich ein Kerberos-Ticket für den Dienst anzufordern, auf den Sie zugreifen.
Zum Beispiel https://test.chat-messenger.com Beim Zugriff auf den Dienst fordert der Client (Browser) ein Ticket von Active Directory an, das besagt: „Ich möchte eine Verbindung zum Dienst HTTP/test.chat-messenger.com herstellen.“ Active Directory prüft, welchem Konto der SPN zugeordnet ist, und stellt das entsprechende Service-Ticket aus. Ist der SPN nicht korrekt registriert, schlägt die Kerberos-Authentifizierung fehl.
Dienstkonto
Erstellen Sie ein Dienstkonto für die Kerberos-Authentifizierung. Dies ist zwar auch mit einem Domänenbenutzer möglich, es wird jedoch generell empfohlen, Benutzer- und Dienstkonten zu trennen, um versehentliche Fehler zu vermeiden und den Geltungsbereich der Kennwortrichtlinie zu verdeutlichen.OU=Dienstkonten Wie, OU Benutzer Active Directory-Domänencontroller,cam-svc Erstellen Sie ein
Bitte überprüfen Sie Folgendes in Ihren Kontoeinstellungen.
- Sorgen Sie dafür, dass Ihr Passwort niemals abläuft.
- Dieses Konto unterstützt die Kerberos AES 256-Bit-Verschlüsselung.
SPN mit Dienstkonto registrieren
setspn -S HTTP/test.chat-messenger.com CAMTEST\cam-svcRegistrieren Sie den SPN mit dem oben erstellten Dienstkonto.
- Jedes Gerät, das Teil der Domäne ist, kann verwendet werden, es sind jedoch Domänenadministratorrechte erforderlich.
・SPN wird auch in der HTTPS-Kommunikation verwendetHTTP/HostnameSie müssen sich im folgenden Format registrieren:
Verwenden Sie den folgenden Befehl, um zu überprüfen, ob der SPN registriert ist.
setspn -L CAMTEST\cam-svcKeytab erstellen
Um CAMServer die Validierung von Kerberos-Tickets zu ermöglichen, erstellen Sie eine Keytab-Datei für das Dienstkonto. Führen Sie dazu folgenden Befehl auf dem Active Directory-Verwaltungsserver aus:
ktpass /out CAMServer\config\windowsAuth\cam.keytab /princ HTTP/test.chat-messenger.com@CAMTEST.COM /mapuser CAMTEST\cam-svc /ptype KRB5_NT_PRINCIPAL /crypto AES256-SHA1 /pass "*******"CAMServer-Einstellungen
Um die Windows-Authentifizierung zu verwenden, fügen Sie Folgendes zur CAMServer-Konfigurationsdatei (boot.ini) hinzu. Bitte ersetzen Sie die einzelnen Werte entsprechend Ihrer Umgebung.
# Kerberos レルム(通常は Active Directory ドメイン名を大文字で指定)
# 例: camtest.com ドメイン → CAMTEST.COM
cam.windowsAuth.realm=CAMTEST.COM
# Windows認証を行うFQDN
cam.windowsAuth.FQDN=test.chat-messenger.com
# Kerberos KDC
# 通常は Active Directory のドメインコントローラのFQDN。ポートTCP/UDP 88 は Kerberos 標準ポートでリッスンされている
cam.windowsAuth.kdc=ad.camtest.com:88
Internetoptionen einstellen
Fügen Sie den FQDN des CAMServers zur Intranetzone hinzu.
Wählen Sie „Internetoptionen“, klicken Sie auf die Registerkarte „Sicherheit“ und wählen Sie „Lokales Intranet“. Klicken Sie auf die Schaltfläche „Sites“, wählen Sie „Erweitert“ und fügen Sie die URL der Website hinzu (https://test.chat-messenger.com).
Überprüfen Sie die automatische Anmeldung
Klicken Sie auf „Stufe anpassen“ und stellen Sie unter „Benutzerauthentifizierung“ → „Anmeldung“ sicher, dass „Automatisch in der Intranetzone anmelden“ ausgewählt ist.
Migration von SSO mit IIS-integrierter Windows-Authentifizierung
- Deinstallieren von IIS-Funktionen (Server-Manager > Verwaltung > Rollen und Features entfernen)
- Deinstallieren des ASP.NET Core Hosting-Bundles
- Das Servicekonto istDieses Konto unterstützt die Kerberos AES 256-Bit-Verschlüsselung."überprüfen
- Keytab erstellen
- Fügen Sie in den Internetoptionen den FQDN von CAMServer zur Intranetzone hinzu (falls er noch nicht hinzugefügt wurde).
- Wenn der Load Balancer auf L7 mit CAMServer verbunden war, platzieren Sie ein SSL-Zertifikat auf CAMServer und stellen Sie die Verbindung auf L4 her.
