Änderungen von Dokument Einmalanmeldung
Änderungskommentar:
Neues Bild single_sign_on_ntlm_en.png hochladen
Zusammenfassung
-
Seiteneigenschaften (5 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 4 hinzugefügt, 2 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 - $services.localization.render("PT.Main.NTLMMenue")1 +Einmalanmeldung - Übergeordnete Seite
-
... ... @@ -1,1 +1,1 @@ 1 - Main.Setup1 +Formcycle.SystemSettings.UserInterface.WebHome - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. gru1 +XWiki.nlo - Tags
-
... ... @@ -1,0 +1,1 @@ 1 +SSO|Single-Sign-On|Single|NTLM|Kerberos - Inhalt
-
... ... @@ -1,16 +1,20 @@ 1 +Die //Einmalanmeldung// für {{smallcaps}}Ntlm{{/smallcaps}} und Kerberos ist ein kostenpflichtiges {{formcycle/}} Zusatzmodul. 2 + 1 1 {{content/}} 2 2 3 -{{figure image="ntlm" width="300"/}} 5 +{{figure image="single_sign_on_ntlm_de.png" width="600"}} 6 +Nutzeroberfläche für die Einstellungen zu {{smallcaps}}Ntlm{{/smallcaps}}. Sie ist nur verfügbar, wenn die Lizenz dies erlaubt. 7 +{{/figure}} 4 4 5 -N TLMwird für die Authentifizierung von Formularbenutzern verwendet. Ein typisches Einsatzszenario sind Formulare, die intern von Mitarbeitern eines Unternehmens aufgerufen werden. Über NTLMkann das Formular auf die Benutzerdaten des angemeldeten ActiveDirectory zugreifen.9 +{{smallcaps}}Ntlm{{/smallcaps}} wird für die Authentifizierung von Formularbenutzern verwendet. Ein typisches Einsatzszenario sind Formulare, die intern von Mitarbeitern eines Unternehmens aufgerufen werden. Über {{smallcaps}}Ntlm{{/smallcaps}} kann das Formular auf die Benutzerdaten des angemeldeten ActiveDirectory zugreifen. 6 6 7 7 {{info}} 8 -N TLMist nur verfügbar, wenn die Lizenz dies erlaubt.12 +{{smallcaps}}Ntlm{{/smallcaps}} ist nur verfügbar, wenn die Lizenz dies erlaubt. 9 9 {{/info}} 10 10 11 11 == NTLM nutzen == 12 12 13 -Mit diesem Schalter lässt sich die N TLM-Benutzerauthentifizierung für Formulare aktivieren bzw. deaktivieren17 +Mit diesem Schalter lässt sich die {{smallcaps}}Ntlm{{/smallcaps}}-Benutzerauthentifizierung für Formulare aktivieren bzw. deaktivieren 14 14 15 15 === Mit {{fserver/}} synchronisieren === 16 16 ... ... @@ -18,21 +18,21 @@ 18 18 19 19 === Domain-Controller Host === 20 20 21 -Host (FQN) des ActiveDirectory Controller für die N TLM-Authentifizierung eines Benutzers und die anschließende Ermittlung dessen Daten über LDAP.25 +Host (FQN) des ActiveDirectory Controller für die {{smallcaps}}Ntlm{{/smallcaps}}-Authentifizierung eines Benutzers und die anschließende Ermittlung dessen Daten über {{smallcaps}}Ldap{{/smallcaps}}. 22 22 23 -{{code}} 27 +{{code language="none"}} 24 24 Beispiel: domain.example.de 25 25 {{/code}} 26 26 27 27 == NTLM-Authentifizierung == 28 28 29 -Die folgenden Einstellungen sind für die Authentifizierung eines Benutzers mittels N TLMnotwendig:33 +Die folgenden Einstellungen sind für die Authentifizierung eines Benutzers mittels {{smallcaps}}Ntlm{{/smallcaps}} notwendig: 30 30 31 31 === Hostname des Domain-Controller Hosts === 32 32 33 33 Hostname des Active-Directory-Controller. 34 34 35 -{{code}} 39 +{{code language="none"}} 36 36 Beispiel: domain 37 37 {{/code}} 38 38 ... ... @@ -40,7 +40,7 @@ 40 40 41 41 Hier können je nach AD verschiedene Schreibweisen des Domainnamen verwendet werden. 42 42 43 -{{code}} 47 +{{code language="none"}} 44 44 Beispiel: example.de oder example0 45 45 {{/code}} 46 46 ... ... @@ -60,7 +60,7 @@ 60 60 Ein Computer-Account ist am '$'-Zeichen im Domain-Namen erkennbar. z.B. example$@domain.de 61 61 {{/info}} 62 62 63 -Beschreibung für die Vorgehensweise zur Erzeugung eines Computer-Accounts im //Active Directory Server// (externer Link): [[Creating a Computer Account for NTLM Authentication>> url:https://wiki.ca.com/display/GATEWAY83/Creating+a+Computer+Account+for+NTLM+Authentication||rel="__blank" title="Creating a Computer Account for NTLM Authentication"]]67 +Beschreibung für die Vorgehensweise zur Erzeugung eines Computer-Accounts im //Active Directory Server// (externer Link): [[Creating a Computer Account for NTLM Authentication>>https://techdocs.broadcom.com/content/broadcom/techdocs/us/en/ca-enterprise-software/layer7-api-management/api-gateway/9-3/policy-assertions/assertion-palette/access-control-assertions/require-ntlm-authentication-credentials-assertion/creating-a-computer-account-for-ntlm-authentication.html||rel="__blank" title="Creating a Computer Account for NTLM Authentication"]] 64 64 65 65 === Computerkontopasswort === 66 66 ... ... @@ -68,15 +68,15 @@ 68 68 69 69 == LDAP-Benutzersuche == 70 70 71 -Die folgenden Einstellungen sind für eine Nutzersuche nach erfolgter N TLM-Authentifizierung notwendig:75 +Die folgenden Einstellungen sind für eine Nutzersuche nach erfolgter {{smallcaps}}Ntlm{{/smallcaps}}-Authentifizierung notwendig: 72 72 73 73 === Port === 74 74 75 -Der zu verwende Port für die Verbindung mit dem L DAP-Server zur Nutzersuche79 +Der zu verwende Port für die Verbindung mit dem {{smallcaps}}Ldap{{/smallcaps}}-Server zur Nutzersuche 76 76 77 77 === SSL-Verbindung === 78 78 79 -Ermöglich das Aktivierung der SSL-verschlüsselten Kommunikation mit dem L DAP-Server83 +Ermöglich das Aktivierung der SSL-verschlüsselten Kommunikation mit dem {{smallcaps}}Ldap{{/smallcaps}}-Server. 80 80 81 81 === Verweis-Sprünge === 82 82 ... ... @@ -84,9 +84,9 @@ 84 84 85 85 === Nutzerkonto (mit Domainangabe) === 86 86 87 -Konto für die Benutzersuche innerhalb des L DAP-Servers. Dieses Konto muss entsprechende Rechte für eine Nutzersuche besitzen.91 +Konto für die Benutzersuche innerhalb des {{smallcaps}}Ldap{{/smallcaps}}-Servers. Dieses Konto muss entsprechende Rechte für eine Nutzersuche besitzen. 88 88 89 -{{code}} 93 +{{code language="none"}} 90 90 Beispiel: ldap@example.de 91 91 {{/code}} 92 92 ... ... @@ -96,8 +96,211 @@ 96 96 97 97 === BaseDN für Suche === 98 98 99 -L DAPBaseDN unter der die zu authentifizierten Benutzer gesucht werden sollen.103 +{{smallcaps}}Ldap{{/smallcaps}} BaseDN unter der die zu authentifizierten Benutzer gesucht werden sollen. 100 100 101 -{{code}} 105 +{{code language="none"}} 102 102 Beispiel: ou="users", dc="example", dc="de" 103 103 {{/code}} 108 + 109 +== Einstellungen für Kerberos Authentifizierung == 110 + 111 +{{figure image="single_sign_on_kerberos_de.png" width="600"}} 112 +Nutzeroberfläche für die Einstellungen zu Kerberos. Nur verfügbar, wenn die Lizens dies erlaubt. 113 +{{/figure}} 114 + 115 +Kerberos wird für die Authentifizierung von Formularbenutzern verwendet. Ein typischen Einsatzszenario sind Formulare, die "intern" von Mitarbeitern eines Unternehmens aufgerufen werden. In einem nachgeordneten Schritt kann das Formular dann Benutzerdaten des angemeldeten Nutzers aus dem ActiveDirectory bereitstellen. 116 + 117 +Kerberos muss als Lizenz-Option freigeschaltet sein! 118 +Ist dies der Fall, können folgende Einstellungen bearbeitet werden: 119 + 120 +=== Kerberos nutzen === 121 + 122 +Mit diesem Schalter lässt sich die Kerberos-Benutzerauthentifizierung für Formulare aktivieren/deaktivieren 123 + 124 +=== Mit {{fserver/}} synchronisieren === 125 + 126 +Wenn dieser Schalter aktiviert ist, wird beim Speichern der Einstellungen die aktuelle Konfiguration auf alle (erreichbaren) {{fserver number="plural"/}} übertragen. 127 + 128 +=== Nutzername === 129 + 130 +Windows Domain Account, welcher für den Zugriff auf das Key Distribution Center (KDC) benötigt wird, um den nachfolgenden Authentifizierungsprozess einzuleiten. 131 +In den meisten Fällen ist dies ein User-Account aus dem AD, welcher als Service-Account fungiert und nicht zur Anmeldung an einer Workstation gedacht ist. 132 + 133 +{{info}} 134 +Es wird ein Nutzername mit Domainangabe (FQDN) benötigt, wenn in der **krb5.conf** Datei, unter dem Abschnitt //[libdefaults]//, kein **default_realm** definiert ist. 135 +//Beispiel: user@EXCAMPLE.COM // 136 +{{/info}} 137 + 138 +{{info}} 139 +Diesem Benutzer müssen z.B. im Active Directory die zu verwendeten Domians als ServiePrincipalName beginnend mit der Serviceklasse HTTP registriert werden. Mehr dazu finden Sie [[hier>>https://social.technet.microsoft.com/wiki/contents/articles/717.service-principal-names-spn-setspn-syntax.aspx||target="_blank"]] oder [[hier>>https://docs.microsoft.com/en-us/windows-server/networking/sdn/security/kerberos-with-spn||target="_blank"]]. 140 +{{/info}} 141 + 142 +(% class="wikigeneratedid" %) 143 +=== Passwort === 144 + 145 +Passwort des oben genannten Service-Accounts 146 + 147 +=== Datei krb5.conf === 148 + 149 +Hier wird der Inhalt der **krb5.conf** Datei definiert, in welcher die Konfiguration für Kerberos festgelegt werden. 150 +Unter anderem werden hier die vom System unterstützten Verschlüsselungsverfahren aufgeführt, sowie der aktuell zu verwendende Realm (Administrationsbereich) und deren Mapping zu einem KDC. 151 + 152 +==== Dateistruktur ==== 153 + 154 +Die zu verwendende Schreibweise innerhalb der Datei orientiert sich an Windows INI-Dateien, das heißt, einzelne Abschnitte werden mit 155 +einen Abschnittsnamen (in eckigen Klammern) versehen. Jeder Abschnitt enthält keine oder mehrere Zuordnungen, 156 +die in folgender Form definiert werden können: 157 + 158 +{{code language="java" title=""}} 159 +foo = bar 160 +{{/code}} 161 + 162 +oder 163 + 164 +{{code language="java" title=""}} 165 +foobar = { 166 + foo = bar 167 + some = input 168 +} 169 +{{/code}} 170 + 171 +==== Abschnittsnamen ==== 172 + 173 +* //[libdefaults]//: Enthält die Einstellungen die von der Kerberos V5-Bibliothek verwendet werden 174 +* //[realms]//: Realm-spezifische Kontaktinformationen und Einstellungen 175 +* //[domain_realm]// Definiert die Zuordnung von Server Host-Namen zu Kerberos Realms 176 + 177 +===== [libdefaults] ===== 178 + 179 +Der Abschnitt //[libdefaults]// kann folgende Zuordnungen enthalten: 180 + 181 +* **default_realm**: Definiert den standardmäßig zu verwendenden Kerberos Administrationsbereich. 182 +* **default_tkt_enctypes**: Definiert eine Liste von unterstützten Sitzungsschlüssel-Verschlüsselungstypen, die der Client anfordern sollte, wenn ein AS (Authentication Server)-Request durchgeführt wird. Die Reihenfolge der einzelnen Typen entspricht ihrer Präferenz vom höchsten zum niedrigsten. Die Werte innerhalb der Liste können mit Komma oder Leerzeichen getrennt werden. 183 +* **default_tgs_enctypes**: Definiert eine Liste von unterstützten Sitzungsschlüssel-Verschlüsselungstypen, die der Client anfordern sollte, wenn ein TGS (Ticket Granting Server)-Request durchgeführt wird. Die Reihenfolge der einzelnen Typen entspricht ihrer Präferenz vom höchsten zum niedrigsten. Die Werte innerhalb der Liste können mit Komma oder Leerzeichen getrennt werden. 184 +* **permitted_enctypes**: Definiert alle Verschlüsselungstypen, die für den Einsatz in Sitzungsschlüssel-Verschlüsselung erlaubt sind. 185 + 186 +Eine beispielhafte Konfiguration für den //[libdefaults]//-Abschnitt kann folgendermaßen aussehen: 187 + 188 +{{code language="java" title=""}} 189 +[libdefaults] 190 + default_realm = EXAMPLE.COM 191 + default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 des3-cbc-sha1 arcfour-hmac-md5 camellia256-cts-cmac camellia128-cts-cmac des-cbc-crc des-cbc-md5 des-cbc-md4 rc4-hmac 192 + default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 des3-cbc-sha1 arcfour-hmac-md5 camellia256-cts-cmac camellia128-cts-cmac des-cbc-crc des-cbc-md5 des-cbc-md4 rc4-hmac 193 + permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 des3-cbc-sha1 arcfour-hmac-md5 camellia256-cts-cmac camellia128-cts-cmac des-cbc-crc des-cbc-md5 des-cbc-md4 rc4-hmac 194 +{{/code}} 195 + 196 +===== [realms] ===== 197 + 198 +Jeder Tag im Abschnitt //[realms]// ist der Name eines Kerberos-Administrationsbereichs (auch 'Realm' genannt). Der Wert der Variablen ist eine Auflistung von Zuordnungen, die die Eigenschaften eines bestimmten Realms definieren. Für jeden Realm können die folgenden Zuordnungen definiert werden: 199 + 200 +* **kdc**: Definiert den Namen oder die Adresse eines Rechners auf dem ein KDC (Key Distribution Center) für diesen Administrationsbereich läuft (Meist ist dies der Server, unter dem das Active Directory erreichbar ist). Es kann eine optionale Port-Nummer, getrennt mit Doppelpunkt, angegeben werden. 201 + 202 +Eine beispielhafte Konfiguration für den //[realms]//-Abschnitt kann folgendermaßen aussehen: 203 + 204 +{{code language="java" title=""}} 205 +[realms] 206 + EXAMPLE.COM = { 207 + kdc = domain.example.com 208 + } 209 +{{/code}} 210 + 211 +===== [domain_realm] ===== 212 + 213 +Der //[domain_realm]// Abschnitt enthält eine Zuordnung von einem Domain-Namen oder den Hostnamen zu einem Kerberos-Realm-Namen. Der Tag-Name kann ein Host oder Domain-Name sein, wobei Domain-Namen mittels Punkt (.) als Vorzeichen gekennzeichnet sind. Als Wert wird der Name eines Kerberos-Realm für diesen bestimmten Host oder die Domäne erwartet. Host- oder Domain-Namen sollten klein geschrieben werden. 214 + 215 +Eine beispielhafte Konfiguration für den //[domain_realm]//-Abschnitt kann folgendermaßen aussehen: 216 + 217 +{{code language="java" title=""}} 218 +[domain_realm] 219 + .example.com = EXAMPLE.COM 220 +{{/code}} 221 + 222 +=== Datei login.conf === 223 + 224 +Hier wird der Inhalt der **login.conf** Datei definiert und damit welche Authentifizierungstechnologie für Client und Server zu verwenden ist. 225 + 226 +Eine beispielhafte Konfiguration kann folgendermaßen aussehen: 227 + 228 +{{code language="java" title=""}} 229 +spnego-client { 230 + com.sun.security.auth.module.Krb5LoginModule required; 231 +}; 232 + 233 +spnego-server { 234 + com.sun.security.auth.module.Krb5LoginModule required 235 + refreshKrb5Config=true 236 + storeKey=true 237 + isInitiator=false; 238 +}; 239 +{{/code}} 240 + 241 +=== Client-Modulname === 242 + 243 +Der Name, welcher in der //login.conf// Datei für die Definition der Clients verwendet wird. 244 + 245 +=== Name des Server-Moduls === 246 + 247 +Der Name, welcher in der //login.conf// Datei für die Definition des Servers verwendet wird. 248 + 249 +{{error}} 250 +Sollte es bei aktiviertem Kerberos vereinzelt oder dauerhaft zu Fehlern beim Formular-Aufruf kommen (HTTP-Status 400), so überschreitet das Kerberos-Ticket die standardmäßige Größenlimitierung des HTTP-Headers durch den Anwendungsserver (z.B. Tomcat). Eine Lösung bringt die Erhöhung dieser Limitierung welche [[hier>>doc:Formcycle.SystemSettings.TomcatSettings.LimitHTTPHeader]] beschrieben wird. 251 +{{/error}} 252 + 253 +== LDAP Benutzersuche == 254 + 255 +Die nachfolgenden Einstellungen sind notwendig, um Benutzerinformationen vom authentifizierten Nutzer über LDAP (MS Active Directory) zu beziehen. 256 +Die ermittelten Benutzer-Stammdaten stehen anschließend im Formular zur Verfügung. 257 + 258 +=== Domain-Controller Host* === 259 + 260 +FQN (Full Qualified Name) und Port des Active-Directory Controllers. 261 +Beispiel: domain.example.com Port: 389 262 + 263 +=== SSL-Verbindung === 264 + 265 +Mit diesem Schalter lässt sich festlegen, ob SSL für den Kommunikation mit dem LDAP-Server verwendet werden soll. 266 + 267 +=== Verweis-Sprünge* === 268 + 269 +Gibt die maximale Anzahl von durchzuführenden Verweis-Sprüngen (Referrels-Hops) auf dem LDAP-Server an. 270 +Ein Wert von 0 deaktiviert ein Folgen von Verweisen. 271 + 272 +=== Nutzer-Account (mit Domainangabe)* === 273 + 274 +Dieser Account muss das Recht haben, Suchanfragen (Benutzerobjekt) an das Active-Directory zu senden. 275 + 276 +{{info}} 277 +Es wird ein Nutzername mit Domainangabe (FQDN) benötigt. 278 +//Beispiel: user@EXCAMPLE.COM // 279 +{{/info}} 280 + 281 +=== Nutzer-Account Passwort* === 282 + 283 +Passwort für den oben genannten Nutzer-Account. 284 + 285 +=== BaseDn für Suche* === 286 + 287 +LDAP BaseDN unter der der authentifizierte Benutzer gesucht wird. 288 +Beispiel: ou="intern", dc="example", dc="com" 289 + 290 +== Ausgelesene LDAP-Nutzerdaten im Designer verarbeiten == 291 + 292 +Die zum authentifizierten Nutzer ermittelten Eigenschaften aus dem LDAP werden im **XFC_METADATA**-Objekt abgelegt und stehen dadurch im Formular zur Verfügung. Am JSON-Objekt **user** befindet sich die Eigenschaft **rawData**, welche die ermittelten Daten als JSON-Struktur beinhaltet. 293 + 294 +{{info}} 295 +Welche Daten die JSON-Struktur unter der **rawData **Eigenschaft beinhaltet, hängt maßgeblich von den Leserechten des LDAP-Accounts ab, 296 +welcher die Nutzersuche im LDAP-System durchführt. 297 +{{/info}} 298 + 299 +Das nachfolgende JS-Codeschnipsel zeigt einen Zugriff auf die LDAP-Eigenschaft //userPrincipalName// mittels JS im Designer: 300 + 301 +{{code language="javascript"}} 302 +try { 303 + // Auslesen der Property und Anzeige in einem Label 304 + var elem = $('[name=txt1]'); 305 + var ldap = XFC_METADATA.user.rawData; 306 + if(ldap.hasOwnProperty('userPrincipalName')) { 307 + elem.html(ldap.userPrincipalName); 308 + } 309 +} catch (err) {} 310 +{{/code}}
- FCSnapshot27.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.gru - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -59.5 KB - Inhalt
- ntlm.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.gru - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -70.1 KB - Inhalt
- single_sign_on_kerberos_de.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.nlo - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +35.0 KB - Inhalt
- single_sign_on_kerberos_en.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.nlo - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +32.1 KB - Inhalt
- single_sign_on_ntlm_de.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.nlo - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +35.8 KB - Inhalt
- single_sign_on_ntlm_en.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.nlo - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +33.4 KB - Inhalt