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:shibidp3ecp [2017/09/01 12:15] Raoul Gunnar Boreniusde:shibidp:ecp [2023/03/02 14:40] (aktuell) – Inhalt jetzt nur noch unter de:shibidp:config-ecp Silke Meyer
Zeile 1: Zeile 1:
-====== Enhanced Client and Proxy (ECP) ====== 
- 
-ECP ist im IdP 3.x out-of-the box aktiv. 
- 
-Achten Sie nur darauf dass das ECP-SSO-Binding des IdPs in den DFN-AAI-Metadaten auch angegeben ist: 
- 
-{{de:ecp.png}} 
- 
-Fehlt dies, finden ECP-Clients den IdP nicht wenn Sie sich anmelden wollen. 
-  
-Zum Testen eignet sich das vom CILogon Projekt bereitgestellte [[http://www.cilogon.org/ecp#TOC-A-Basic-ECP-IdP-Test-Script|Testscript 'testecp.sh']]. 
- 
- 
-Siehe auch die [[https://wiki.shibboleth.net/confluence/display/IDP30/ECPConfiguration|Dokumentation im Shibboleth Wiki]]. 
- 
-Ob die IdP-seitigen Voreinstellungen für den ECP-Support ausreichen, hängt letztlich vom Verhalten der eingesetzten Clients ab, siehe hierzu die [[https://wiki.shibboleth.net/confluence/display/IDP30/PasswordAuthnConfiguration#PasswordAuthnConfiguration-UserInterface|Dokumentation im Shibboleth Wiki]]. 
- 
-===== ECP für BWSync&Share ===== 
- 
-Die Im Moment gängigen BW-Sync&Share-Clients kommen mit der default-ECP-Variante wie sie der Shibboleth IdP 
-mitbringt leider nicht zurecht (Ausnahme: der Powerfolder Iphone-Client scheint zu funktionieren). 
-Der ECP-Endpunkt muss für diese Clients noch explizit mit Basic-Auth geschützt werden. 
-Dies kann mithilfe von Apache oder Tomcat gemacht werden, wobei die Apache-Variante aus unserer Sicht 
-deutlich simpler ist (die Tomcat-Variante finden Sie rechts im Index falls Sie Tomcat ohne Apache betreiben): 
- 
-==== Basic-Auth mithilfe von Apache ==== 
- 
-ECP-Endpoint per Basic-Auth schützen: 
- 
-<file html /etc/apache2/sites-available/idp.hochschule-XY.de.conf> 
-# Definition des Root-CA-Zertifikates, im Beispiel von der DFN-PKI Generation 2 
-# 
-# Achtung: stellen Sie sicher dass in /etc/ldap/ldap.conf kein anderes 
-# ROOT-CA-Zertifikat eingetragen ist welche diesen Eintrag überschreiben würde! 
-# 
-LDAPTrustedGlobalCert CA_BASE64 /etc/ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem 
-<VirtualHost *:443> 
-  ServerName              idp.hochschule-XY.de:443 
-  ... 
-   
-  # ECP-Config für Sync&Share-Clients 
-  <Location /idp/profile/SAML2/SOAP/ECP> 
-    AuthType Basic 
-    AuthName "idp.hochschule-XY.de - ECP profile" 
-    AuthBasicProvider ldap 
-    AuthLDAPURL "ldaps://ldap.hochschule-XY.de/ou=people,dc=hochschule-xy,dc=de?uid?sub" 
-    AuthLDAPBindDN "cn=idp,cn=systemusers,dc=hochschule-xy,dc=de" 
-    AuthLDAPBindPassword "geheim007" 
-    Require valid-user 
-  </Location> 
-</VirtualHost> 
-</file> 
- 
-Authentifizierung per LDAP im Apache aktivieren: 
- 
-<code bash> 
-root@idp:~# a2enmod authnz_ldap 
-root@idp:~# systemctl reload apache2 
-</code> 
- 
-Da dieser Endpunkt weltweit erreichbar sein muss können hier auch Brute-Force-Passwort-Angriffe auftreten. 
-Diesen sollten ebenfalls mithilfe von fail2ban begegnet werden, siehe die fail2ban-Seite in diesem Wiki. 
- 
-==== Probleme mit Sync&Share seit Version 3.3.x ==== 
- 
-Ältere Powerfolder-Clients haben Problem bei der ECP-Kommunikation mit dem IdP 3.3.1. 
- 
-Powerfolder hat hier im Juni 2017 nachgebesssert, Bitte achten Sie darauf dass Sie den 
-neuesten Client im Einsatz haben damit der Zugriff funktioniert. 
- 
-==== Probleme mit bwLehrppol seit Version 3.3.x ==== 
- 
-Auch der bwLehrpool-Client hatte Probleme mit der Kommuniktaion zum IdP 3.3.1 weil ein falschen Content-Type verwendet wurde (http://shibboleth.1660669.n2.nabble.com/ECP-issue-with-current-opensaml-soap-impl-td7629351.html) 
- 
-Sofern Sie noch nicht den neuesten Client in Verwendung haben wenden Sie sich bitte an [[https://www.bwlehrpool.de/|bwLehrpool]]. 
-===== Funktionstest ===== 
- 
-Um die grundsätzliche Funktionalität zu testen kann einer der aus der Shibboleth Community bereitgestellten Clients verwendet werden, siehe die [[https://wiki.shibboleth.net/confluence/display/SHIB2/Contributions#Contributions-simplebash|Contributions-Seite]] im Shibboleth Wiki. Das folgende Beispiel bezieht sich auf ecp.sh: 
- 
-Zunächst die Dokumentation in den ersten Zeilen des Skripts durchlesen und unter ecp_endpoints einen Alias für den zu testenden IdP setzen, z.B. 
- 
-<code> 
-["Campus01"]="https://idp.example.org/idp/profile/SAML2/SOAP/ECP" 
-</code> 
- 
-Dann kann der Client mit einem beliebigen (Test-)User (hier: "tuser") verwendet werden: 
- 
-<code> 
-user@idp:~# ./ecp.sh -d Campus01 https://testsp3.aai.dfn.de/ecp-test/index.txt tuser 
-</code> 
- 
-Beim danach erscheinenden Passwort-Prompt das Passwort des (Test-)Users eingeben. Wenn alles funktioniert, wird im Anschluss an allerlei Debug-Output ein "ok" zurückgegeben. 
- 
-===== ECP einschränken auf einzelne SPs ===== 
- 
-Wer die ECP-Unterstützung auf einzelne SPs einschränken möchte (aus unserer Sicht nicht nötig und hier nur der Vollstándigkeit halber erwähnt, aber falls jemand ein Szenario kennt in dem das sinnvoll ist, bitte melden ;-), muss in ''/opt/shibboleth-idp/conf/relying-party.xml'' im Abschnitt DefaultRelyingParty die Referenz auf das Bean ''SAML2.ECP'' auskommentieren und in der Liste der RelyingPartyOverrides eine Konfiguration für diese SPs hinzufügen. Das funktioniert analog zur  
-[[de:shibidp3storage|eingeschränkten Freigabe der PersistentID]]. \\ Hier ein Beispiel für bwIDM: 
- 
-<file xml /opt/shibboleth-idp/conf/relying-party.xml> 
-    
-<bean id="shibboleth.DefaultRelyingParty" parent="RelyingParty"> 
-  <property name="profileConfigurations"> 
-    <list> 
-        <bean parent="Shibboleth.SSO"  
-              p:postAuthenticationFlows="#{{'terms-of-use', 'attribute-release'}}" 
-              p:includeAttributeStatement="true" /> 
-          <ref bean="SAML1.AttributeQuery" /> 
-          <ref bean="SAML1.ArtifactResolution" /> 
-          <bean parent="SAML2.SSO" 
-                p:nameIDFormatPrecedence="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"  
-                p:postAuthenticationFlows="#{{'terms-of-use', 'attribute-release'}}" /> 
-          <ref bean="SAML2.Logout" /> 
-          <ref bean="SAML2.ArtifactResolution" /> 
-    </list> 
-  </property> 
-</bean> 
-    
-<util:list id="shibboleth.RelyingPartyOverrides"> 
-  
- <bean parent="RelyingPartyByTag"> 
-   <constructor-arg name="candidates"> 
-     <list> 
-        <bean parent="TagCandidate" c:name="http://macedir.org/entity-category" 
-              p:values="http://aai.dfn.de/category/bwidm-member"/> 
-     </list> 
-   </constructor-arg> 
-   <property name="profileConfigurations"> 
-     <list> 
-        <ref bean="SAML2.ECP" /> 
-        <ref bean="SAML2.AttributeQuery" /> 
-        <bean parent="SAML2.SSO"  
-              p:postAuthenticationFlows="#{{'terms-of-use', 'attribute-release'}}" 
-              p:nameIDFormatPrecedence="#{{'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent', 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient'}}" 
-                   /> 
-        <ref bean="SAML2.Logout" /> 
-        <ref bean="SAML2.ArtifactResolution" /> 
-     </list> 
-   </property> 
- </bean> 
-    
-</util:list> 
- 
-</file> 
  
  • Zuletzt geändert: vor 7 Jahren