Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:shibidp:config-idm [2020/10/14 10:37] – [Troubleshooting] Silke Meyerde:shibidp:config-idm [2024/11/27 12:00] (aktuell) – [Troubleshooting] Doreen Liebenau
Zeile 14: Zeile 14:
 Der Pfad zum Root-Zertifikat der verwendeten PKI muss angegeben werden. So können Sie ihn vorab überprüfen: Der Pfad zum Root-Zertifikat der verwendeten PKI muss angegeben werden. So können Sie ihn vorab überprüfen:
 <code bash> <code bash>
-root@idp:~# openssl s_client -connect ldap.uni-beispiel.de:ldaps -showcerts -CAfile /etc/ssl/certs/Deutsche_Telekom_Root_CA_2.pem+root@idp:~# openssl s_client -connect ldap.uni-beispiel.de:ldaps -showcerts -CAfile /etc/ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem
 </code> </code>
  
Zeile 36: Zeile 36:
  
 <file properties /opt/shibboleth-idp/conf/ldap.properties> <file properties /opt/shibboleth-idp/conf/ldap.properties>
-# Beispielkonfiguration, die für OpenLDAP und AD funktionieren kann:+# Beispielkonfiguration, die für OpenLDAP funktionieren kann:
 idp.authn.LDAP.authenticator                    = bindSearchAuthenticator idp.authn.LDAP.authenticator                    = bindSearchAuthenticator
 idp.authn.LDAP.ldapURL                          = ldaps://ldap.hochschule-XY:636 idp.authn.LDAP.ldapURL                          = ldaps://ldap.hochschule-XY:636
 idp.authn.LDAP.useStartTLS                      = false idp.authn.LDAP.useStartTLS                      = false
-idp.authn.LDAP.useSSL                           = true 
 idp.authn.LDAP.sslConfig                        = certificateTrust idp.authn.LDAP.sslConfig                        = certificateTrust
 +
 +# Wenn Ihr IdM den Aufbau eines LDAP-Connection-Pools nicht unterstützt, können Sie den Pool global abschalten,
 +# in dem Sie diese Zeile einfügen und das Kommentarzeichen entfernen:
 +# idp.authn.LDAP.disablePooling = true
  
 # DFN-PKI: # DFN-PKI:
-idp.authn.LDAP.trustCertificates                = /etc/ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem+#idp.authn.LDAP.trustCertificates                = /etc/ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem 
 +# Sectigo-Zertifikat: 
 +idp.authn.LDAP.trustCertificates                 = /etc/ssl/certs/USERTrust_RSA_Certification_Authority.pem
 # lokales CA-Zertifikat: # lokales CA-Zertifikat:
 #idp.authn.LDAP.trustCertificates                = /etc/ssl/certs/beispiel-hs_local_ca_cert.pem #idp.authn.LDAP.trustCertificates                = /etc/ssl/certs/beispiel-hs_local_ca_cert.pem
Zeile 52: Zeile 57:
  
 idp.authn.LDAP.baseDN                           = ou=people,dc=hochschule-XY,dc=de idp.authn.LDAP.baseDN                           = ou=people,dc=hochschule-XY,dc=de
-# statt "(uid={user})" nehmen Sie bei AD üblicherweise "(cn={user})" oder "(sAMAccountName={user})" 
 idp.authn.LDAP.userFilter                       = (uid={user}) idp.authn.LDAP.userFilter                       = (uid={user})
 idp.authn.LDAP.bindDN                           = cn=idp,cn=systemusers,dc=hochschule-XY,dc=de idp.authn.LDAP.bindDN                           = cn=idp,cn=systemusers,dc=hochschule-XY,dc=de
-sofern die User im LDAP in Sub-Bäumen verteilt sind bitte das hier aktivieren:+Sofern die Useraccounts im LDAP in Sub-Bäumen verteilt sindaktivieren Sie bitte dies:
 #idp.authn.LDAP.subtreeSearch                    = true #idp.authn.LDAP.subtreeSearch                    = true
 </file> </file>
Zeile 69: Zeile 73:
 </code> </code>
  
-Siehe auch im Shibboleth Wiki unter [[https://wiki.shibboleth.net/confluence/display/IDP4/LDAPAuthnConfiguration|LDAPAuthnConfiguration]].+Siehe auch im Shibboleth Wiki unter [[https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3199505688/LDAPAuthnConfiguration]].
  
 ==== LDAP-Abfrage 2: User-Attribute ==== ==== LDAP-Abfrage 2: User-Attribute ====
 +
 +<file properties /opt/shibboleth-idp/conf/ldap.properties>
 +idp.attribute.resolver.LDAP.searchFilter        = (uid=$resolutionContext.principal)
 +</file>
 +
 +Triggern Sie das Einlesen der neuen Einstellungen:
 +<code bash>
 +root@idp:~# touch /opt/shibboleth-idp/war/idp.war
 +</code>
 +
 +==== AD-Abfrage 1: User-Authentisierung ====
 +
 +<file properties /opt/shibboleth-idp/conf/ldap.properties>
 +# Beispielkonfiguration, die für AD funktionieren kann:
 +idp.authn.LDAP.authenticator                    = adAuthenticator
 +idp.authn.LDAP.ldapURL                          = ldaps://ldap.hochschule-XY:636
 +idp.authn.LDAP.useStartTLS                      = false
 +idp.authn.LDAP.sslConfig                        = certificateTrust
 +
 +# Wenn Ihr IdM den Aufbau eines LDAP-Connection-Pools nicht unterstützt, können Sie den Pool global abschalten,
 +# in dem Sie diese Zeile einfügen und das Kommentarzeichen entfernen:
 +# idp.authn.LDAP.disablePooling = true
 +
 +# DFN-PKI:
 +#idp.authn.LDAP.trustCertificates                = /etc/ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem
 +# Sectigo-Zertifikat:
 +idp.authn.LDAP.trustCertificates                 = /etc/ssl/certs/USERTrust_RSA_Certification_Authority.pem
 +# lokales CA-Zertifikat:
 +#idp.authn.LDAP.trustCertificates                = /etc/ssl/certs/beispiel-hs_local_ca_cert.pem
 +
 +# Wenn festgestellt werden soll, ob der Account aktiv ist, müssen die entsprechenden Attribute geholt werden
 +idp.authn.LDAP.returnAttributes                 = passwordExpirationTime,loginGraceRemaining
 +
 +idp.authn.LDAP.baseDN                           = ou=people,dc=hochschule-XY,dc=de
 +# statt "(uid={user})" nehmen Sie bei AD üblicherweise "(cn={user})" oder "(sAMAccountName={user})"
 +idp.authn.LDAP.userFilter                       = (uid={user})
 +idp.authn.LDAP.bindDN                           = cn=idp,cn=systemusers,dc=hochschule-XY,dc=de
 +# Format DN resolution, used by directAuthenticator, adAuthenticator
 +idp.authn.LDAP.dnFormat.                        = %s@domain.com
 +# Sofern die Useraccounts im LDAP in Sub-Bäumen verteilt sind, aktivieren Sie bitte dies:
 +#idp.authn.LDAP.subtreeSearch                    = true
 +</file>
 +
 +Passwörter werden ab IdPv4 standardmäßig in der besser geschützen Datei ''./credentials/secrets.properties'' gespeichert. Hier hinterlegen Sie das Bind-Passwort.
 +<file properties /opt/shibboleth-idp/credentials/secrets.properties>
 +idp.authn.LDAP.bindDNCredential                 = geheim007
 +</file>
 +
 +Laden Sie das Servlet neu:
 +<code bash>
 +root@idp:~# touch /opt/shibboleth-idp/war/idp.war
 +</code>
 +
 +Siehe auch im Shibboleth Wiki unter [[https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3199505688/LDAPAuthnConfiguration]].
 +
 +==== AD-Abfrage 2: User-Attribute ====
  
 <file properties /opt/shibboleth-idp/conf/ldap.properties> <file properties /opt/shibboleth-idp/conf/ldap.properties>
Zeile 83: Zeile 143:
 root@idp:~# touch /opt/shibboleth-idp/war/idp.war root@idp:~# touch /opt/shibboleth-idp/war/idp.war
 </code> </code>
 +
  
 ===== Test der LDAP-Verbindung ===== ===== Test der LDAP-Verbindung =====
Zeile 96: Zeile 157:
   * Wenn Sie den Fehler ''opensaml::SecurityPolicyException'' bekommen, sehen Sie bitte auf der [[de:shibidp:troubleshooting#opensamlsecuritypolicyexception|Troubleshooting]]-Seite nach.   * Wenn Sie den Fehler ''opensaml::SecurityPolicyException'' bekommen, sehen Sie bitte auf der [[de:shibidp:troubleshooting#opensamlsecuritypolicyexception|Troubleshooting]]-Seite nach.
   * Beim LDAP-Fehler ''Invalid Credentials'' stellen Sie bitte sicher, dass Sie in ''./conf/ldap.properties'' bzw. ''./credentials/secrets.properties'' **bei den Zugangsdaten des Bind-Accounts keine Leerzeichen an den Zeilenenden** stehen haben. Das Passwort steht //nicht// in Hochkommata oder Anführungszeichen.   * Beim LDAP-Fehler ''Invalid Credentials'' stellen Sie bitte sicher, dass Sie in ''./conf/ldap.properties'' bzw. ''./credentials/secrets.properties'' **bei den Zugangsdaten des Bind-Accounts keine Leerzeichen an den Zeilenenden** stehen haben. Das Passwort steht //nicht// in Hochkommata oder Anführungszeichen.
 +  * Bei der Fehlermeldung ''Login Failure: javax.net.ssl.SSLException: Could not initialize SSL context'' stellen Sie bitte sicher, dass in ''./conf/ldap.properties'' beim **Pfad zum Zertifikat kein Leerzeichen am Zeilenende** steht. 
   * Sollten Sie nicht erfolgreich zum Test-SP zurückgeleitet werden, achten Sie darauf, von welchem System die Fehlermeldung im Browser generiert wird: Entsteht sie am IdP oder an unserem Test-SP? Schauen Sie bitte in der Logdatei ''./logs/idp-process.log'' oder im [[https://wiki.shibboleth.net/confluence/display/IDP4/Troubleshooting|Shibboleth-Wiki]] nach möglichen Ursachen.   * Sollten Sie nicht erfolgreich zum Test-SP zurückgeleitet werden, achten Sie darauf, von welchem System die Fehlermeldung im Browser generiert wird: Entsteht sie am IdP oder an unserem Test-SP? Schauen Sie bitte in der Logdatei ''./logs/idp-process.log'' oder im [[https://wiki.shibboleth.net/confluence/display/IDP4/Troubleshooting|Shibboleth-Wiki]] nach möglichen Ursachen.
   * Sollten Sie damit nicht weiterkommen, senden Sie uns bitte einen Screenshot der Fehlermeldung und den genauen Zeitpunkt, zu dem der Fehler aufgetreten ist, damit wir mithilfe unseres SP-Logs die Ursache bestimmen können.   * Sollten Sie damit nicht weiterkommen, senden Sie uns bitte einen Screenshot der Fehlermeldung und den genauen Zeitpunkt, zu dem der Fehler aufgetreten ist, damit wir mithilfe unseres SP-Logs die Ursache bestimmen können.
Zeile 101: Zeile 163:
 Erst wenn der Login funktioniert, sollten Sie weitermachen. Erst wenn der Login funktioniert, sollten Sie weitermachen.
  
-{{tag>idp4 tutorial}}+{{tag>tutorial ldap idm included-in-ansible}}
  • Zuletzt geändert: vor 5 Jahren