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/03/24 11:16]
Raoul Gunnar Borenius
de:shibidp3ecp [2020/05/14 09:24] (aktuell)
Silke Meyer [ECP für BWSync&Share]
Zeile 1: Zeile 1:
-====== Enhanced Client ​and Proxy (ECP) ======+====== Enhanced Client ​or Proxy (ECP) ======
  
-ECP ist im IdP 3.x out-of-the box aktiv.+Die grundlegenden [[https://​wiki.shibboleth.net/​confluence/​display/​CONCEPT/​ECP|Konzepte]] und die [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​ECPConfiguration|Konfiguration von ECP]] sind im Shibboleth Wiki dokumentiert. 
 +ECP ist im IdP standardmäßig ​aktiv.
  
-Achten Sie nur darauf dass das ECP-SSO-Binding des IdPs in den DFN-AAI-Metadaten ​auch angegeben ist:+Achten Sie daraufdass das ECP-SSO-Binding des IdPs in den DFN-AAI-Metadaten angegeben ist. Fehlt es, finden ECP-Clients den IdP nicht, wenn Sie sich anmelden wollen.
  
 {{de:​ecp.png}} {{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'​]]. Zum Testen eignet sich das vom CILogon Projekt bereitgestellte [[http://​www.cilogon.org/​ecp#​TOC-A-Basic-ECP-IdP-Test-Script|Testscript '​testecp.sh'​]].
  
 +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]].
  
-Siehe auch die [[https://​wiki.shibboleth.net/​confluence/​display/​IDP30/​ECPConfiguration|Dokumentation im Shibboleth Wiki]].+===== ECP für BWSync&​Share =====
  
-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]].+Viele BW-Sync&​Share-Clients kommen mit der ECP-Variante des Shibboleth IdP nicht zurecht. Der ECP-Endpunkt muss für diese Clients ​noch explizit mit Basic-Auth geschützt werdenDies kann mithilfe von Apache oder Tomcat gemacht werdenWir empfehlen die deutlich einfachere Apache-Variante.
  
-Vor allem die Sync&​Share-Dienste in der DFN-AAI gehen offenbar von einer anderen ​ECP-Configuration am IdP aus+==== Basic-Auth mithilfe von Apache ==== 
-Um dieses nutzbare ​zu machen müssen noch weitere Configurationen gemacht ​werden, siehe dazu die SP-Seiten ​in + 
-diesem Wiki!+ECP-Endpoint per Basic-Auth schützen:​ 
 + 
 +<file html /​etc/​apache2/​sites-available/​idp.hochschule-XY.de.conf>​ 
 +
 +# Definition des LDAP-Server-Root-CA-Zertifikates 
 +
 +# ACHTUNG: 
 +
 +# - kann nicht innerhalb des VirtualHost stehen 
 +# - hier im Beispiel von der DFN-PKI Generation 2, muss zur ROOT-CA des LDAP-Server- 
 +#   ​Zertifikates passen! 
 +# - stellen Sie sicher dass in /​etc/​ldap/​ldap.conf kein anderes ROOT-CA-Zertifikat 
 +#   ​eingetragen ist welches 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. 
 + 
 +===== 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 ===== ===== ECP einschränken auf einzelne SPs =====
  
-Wer die ECP-Unterstützung auf einzelne SPs einschränken möchte (nicht empfohlen, ​aber falls jemand ein +Aus unserer Sicht ist es nicht nötig, ​die ECP-Unterstützung auf einzelne SPs einzuschränken. Der Vollständigkeit halber sei hier aber erwähnt, wie das geht: 
-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ügenDas funktioniert analog zur  + 
-[[de:​shibidp3storage|eingeschränkten Freigabe der PersistentID]]. \\ Hier ein Beispiel für bwIDM:+Kommentieren Sie ''/​opt/​shibboleth-idp/​conf/​relying-party.xml''​ im Abschnitt DefaultRelyingParty die Referenz auf das Bean ''​SAML2.ECP'' ​aus. Fügen Sie in der Liste der RelyingPartyOverrides eine Konfiguration für diese SPs hinzu
 + 
 +Hier ein Beispiel für bwIDM:
  
 <file xml /​opt/​shibboleth-idp/​conf/​relying-party.xml>​ <file xml /​opt/​shibboleth-idp/​conf/​relying-party.xml>​
Zeile 72: Zeile 132:
 </​file>​ </​file>​
  
 +{{tag>​idp3 idp4 fixme}}
  • Zuletzt geändert: vor 3 Jahren