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:shibsp [2020/04/07 17:31]
Wolfgang Pempe
de:shibsp [2021/02/09 17:22] (aktuell)
Raoul Gunnar Borenius
Zeile 1: Zeile 1:
-~~NOTOC~~ 
 ====== Shibboleth SP ====== ====== Shibboleth SP ======
-{{INLINETOC 2}} 
  
 ===== Installation und allgemeine Dokumentation ===== ===== Installation und allgemeine Dokumentation =====
 Siehe hierzu die betreffenden Seiten   Siehe hierzu die betreffenden Seiten  
   * im [[https://wiki.shibboleth.net/confluence/display/SP3/Home|Shibboleth Wiki]] und   * im [[https://wiki.shibboleth.net/confluence/display/SP3/Home|Shibboleth Wiki]] und
-  * bei [[https://www.switch.ch/aai/guides/sp/|SWITCH]]+  * bei [[https://www.switch.ch/aai/guides/sp/|SWITCH]]; dort auch viele [[https://www.switch.ch/aai/guides/sp/access-rules/|Konfigurationsbeispiele für Autorisierung und Zugriffskontrolle (Access Rules)]]
  
 ===== Konfigurationsbeispiel ===== ===== Konfigurationsbeispiel =====
Zeile 44: Zeile 42:
    <MetadataProvider type="XML" url="http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-test-metadata.xml"    <MetadataProvider type="XML" url="http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-test-metadata.xml"
          validate="true" backingFilePath="dfn-aai-test-metadata.xml" reloadInterval="3600">          validate="true" backingFilePath="dfn-aai-test-metadata.xml" reloadInterval="3600">
-       <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.g2.pem"/>+       <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem"/>
    </MetadataProvider>    </MetadataProvider>
    ...    ...
Zeile 60: Zeile 58:
 Wenn der vom SP geschützte Dienst nur von Angehörigen bestimmter Einrichtungen genutzt werden soll, können anhand bestimmter Kriterien sogenannte [[https://wiki.shibboleth.net/confluence/display/SP3/MetadataFilter|Metadata Filter]] im SP konfiguriert werden. Dies hat zwei Vorteile: Wenn der vom SP geschützte Dienst nur von Angehörigen bestimmter Einrichtungen genutzt werden soll, können anhand bestimmter Kriterien sogenannte [[https://wiki.shibboleth.net/confluence/display/SP3/MetadataFilter|Metadata Filter]] im SP konfiguriert werden. Dies hat zwei Vorteile:
   - Der SP arbeitet intern nur mit dem gefilterten, in der Regel deutlich reduzierten Metadatensatz   - Der SP arbeitet intern nur mit dem gefilterten, in der Regel deutlich reduzierten Metadatensatz
-  - Ist im SP der entsprechende Discovery Feed Handler konfiguriert (''<Handler type="DiscoveryFeed" Location="/DiscoFeed"/>'') sorgt der Embedded Discovery Service (s.u.) dafür, dass nur die IdPs bzw. Einrichtungen angezeigt werdendie in diesen gefilterten Metadaten enthalten sind. Der entsprechende Parameter in ''idpselect_config.js'' muss hierfür folgendermaßen belegt werden:\\ ''this.dataSource '/Shibboleth.sso/DiscoFeed''' +  - der Embedded Discovery Service zeigt nur diejenigen IdPs bzw. Einrichtungen anwelche in diesen gefilterten Metadaten enthalten sind. In shibboleth2.xml muss ''<Handler type="DiscoveryFeed" Location="/DiscoFeed"/>'' aktiv sein, bitte überprüfen sie das zur Sicherheit!). 
-Im folgenden ein Beispiel für eine **Whitelist**:+ 
 +Die Whitelist wird dann folgendermassen konfiguriert:
  
 <file xml /etc/shibboleth/shibboleth2.xml> <file xml /etc/shibboleth/shibboleth2.xml>
Zeile 67: Zeile 66:
 ... ...
    <MetadataProvider type="XML"     <MetadataProvider type="XML" 
-         uri="https://www.aai.dfn.de/fileadmin/metadata/DFN-AAI-Basic-metadata.xml" +         url="http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-basic-metadata.xml" 
-         backingFilePath="DFN-AAI-Basic-metadata.xml"  +         validate="true" backingFilePath="dfn-aai-basic-metadata.xml" reloadInterval="3600"> 
-         minRefreshDelay="240" reloadInterval="300"+      <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem" />
-      <MetadataFilter type="RequireValidUntil" maxValidityInterval="604800"/+
-      <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.g2.pem" />+
       <MetadataFilter type="Whitelist">       <MetadataFilter type="Whitelist">
          <Include>https://idp.uni-beispiel1.de/idp/shibboleth</Include>          <Include>https://idp.uni-beispiel1.de/idp/shibboleth</Include>
Zeile 82: Zeile 79:
 </file> </file>
  
-Für ein Beispiel eine Metadata Filters anhand einer [[de:entity_attributes#entity_categories|Entity Category]] siehe die Dokumentation des bwIDM-Projekts unter https://www.bwidm.de/teilnahme/dienstanbieter/ (Abschnitt 1.2 - Technische Voraussetzungen)+Für ein Beispiel eines Metadata Filters anhand einer [[de:entity_attributes#entity_categories|Entity Category]] siehe die Dokumentation des bwIDM-Projekts unter https://www.bwidm.de/teilnahme/dienstanbieter/ (Abschnitt 1.2 - Technische Voraussetzungen)
  
 Nach allen Änderungen in ''shibboleth2.xml'' muss der shibd Service neu gestartet werden: Nach allen Änderungen in ''shibboleth2.xml'' muss der shibd Service neu gestartet werden:
Zeile 93: Zeile 90:
  
 Fallweise kann es passieren, dass der Webserver aus dem Tritt kommt, z.B. nach mehreren shibd-Restarts. In solchen Fällen muss auch dieser neu gestartet werden: Fallweise kann es passieren, dass der Webserver aus dem Tritt kommt, z.B. nach mehreren shibd-Restarts. In solchen Fällen muss auch dieser neu gestartet werden:
-<code>root@host:~# systemctl restart apache2</code>+<code bash>root@host:~# systemctl restart apache2</code>
  
 ==== Shibboleth EDS (Embedded Discovery Service)==== ==== Shibboleth EDS (Embedded Discovery Service)====
-Siehe hierzu die [[https://wiki.shibboleth.net/confluence/display/EDS10/Embedded+Discovery+Service|Dokumentation im Shibboleth-Wiki]] 
  
 === Installation === === Installation ===
  
-Siehe hierzu die betreffende [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation|Seite im Shibboleth Wiki]]. Für RPM-basierte Linux-Varianten bieten die Shibboleth-Entwickler ein [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation|RPM-Paket]] an. Für andere Systeme gibt es ein [[https://shibboleth.net/downloads/embedded-discovery-service/latest/|tar-File]] zum Download.+(Im Folgenden eine Kurzanleitung zur Installation, eine ausführlichere finden Sie auf den [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation|Seiten im Shibboleth Wiki]].)
  
-<wrap info>Das RPM legt die Dateien des EDS nach /etc/shibboleth-ds/. Daher geht die folgende Anleitung davon aus dass auch auf nicht-RPM-Systemen die Dateien aus dem tar-File nach /etc/shibboleth-dsausgepackt wurden.</wrap>+  * CentOS/RedHat/SuSE 
 + 
 +Für RPM-basierte Linux-Varianten bieten die Shibboleth-Entwickler ein [[https://wiki.shibboleth.net/confluence/display/EDS10/2.+Installation|RPM-Paket]] an. 
 + 
 +  * Debian/Ubuntu/etc. 
 + 
 +Laden Sie das aktuelle [[https://shibboleth.net/downloads/embedded-discovery-service/latest/|tar-File]] herunter, packen Sie es aus und installieren Sie es: 
 + 
 +<code> 
 +root@server:~# wget https://shibboleth.net/downloads/embedded-discovery-service/latest/shibboleth-embedded-ds-1.2.2.tar.gz 
 +root@server:~# tar -xzf shibboleth-embedded-ds-1.2.2.tar.gz 
 +root@server:~# cd shibboleth-embedded-ds-1.2.2 ; make install 
 +</code>
  
 \\ \\
  
 === Konfiguration === === Konfiguration ===
 +
 Damit der EDS die Arbeit aus Sicherheitsgründen nicht verweigert, muss der eigene Vhost-Namen in die "Return White List" eingetragen werden: Damit der EDS die Arbeit aus Sicherheitsgründen nicht verweigert, muss der eigene Vhost-Namen in die "Return White List" eingetragen werden:
  
-<file ini /etc/shibboleth-ds/idpselect_config.js>+<file javascript /etc/shibboleth-ds/idpselect_config.js>
   ...   ...
   this.returnWhiteList = [ "^https:\/\/meinvhost\.meinedomain\.de\/Shibboleth\.sso\/Login.*$" ];   this.returnWhiteList = [ "^https:\/\/meinvhost\.meinedomain\.de\/Shibboleth\.sso\/Login.*$" ];
Zeile 115: Zeile 124:
 </file> </file>
 <wrap warning>Achten Sie auf die korrekte Syntax, der Eintrag muss in Form einer Regular Expression gemacht werden!</wrap> <wrap warning>Achten Sie auf die korrekte Syntax, der Eintrag muss in Form einer Regular Expression gemacht werden!</wrap>
 +
 +Verifizieren Sie in der gleichen Datei, daß der Parameter ''this.dataSource'' den Wert '''/Shibboleth.sso/DiscoFeed''' hat damit das Zusammenspiel zwischen SP und EDS funktioniert.
  
 \\ \\
 +Damit ist der EDS grundsätzlich einsatzbereit. Weitere Hinweise und Informationen (z.B. zur Anpassung des Layouts) finden sich in den Kommentaren der Konfigurationsdatei(en) sowie im 
 +[[https://wiki.shibboleth.net/confluence/display/EDS10/Embedded+Discovery+Service|Shibboleth-Wiki]].
  
 === Konfiguration für den Produktivbetrieb === === Konfiguration für den Produktivbetrieb ===
Zeile 123: Zeile 136:
 <code>https://wayf.aai.dfn.de/DFN-AAI-Basic/wayf?entityID=https%3A%2F%2Fmyvhost.mydomain.de%2Fshibboleth&return=https%3A%2F%2Fmyvhost.mydpmain.de%2FShibboleth.sso%2FLogin%3FSAMLDS%3D1</code> <code>https://wayf.aai.dfn.de/DFN-AAI-Basic/wayf?entityID=https%3A%2F%2Fmyvhost.mydomain.de%2Fshibboleth&return=https%3A%2F%2Fmyvhost.mydpmain.de%2FShibboleth.sso%2FLogin%3FSAMLDS%3D1</code>
  
-Damit ist der EDS grundsätzlich einsatzbereit. Weitere Hinweise und Informationen finden sich in den Kommentaren der Konfigurationsdatei(en) sowie im [[https://wiki.shibboleth.net/confluence/display/EDS10/Embedded+Discovery+Service|Shibboleth-Wiki]].+
 ====Apache Webserver==== ====Apache Webserver====
  
Zeile 159: Zeile 172:
   Alias /shibboleth-sp/main.css /usr/share/shibboleth/main.css   Alias /shibboleth-sp/main.css /usr/share/shibboleth/main.css
   #######################################################   #######################################################
- 
-   
   #   #
   # Vom SP zu schützende Location   # Vom SP zu schützende Location
Zeile 168: Zeile 179:
     ShibRequestSetting requireSession true     ShibRequestSetting requireSession true
     Require valid-user     Require valid-user
-  </Location> +  </Location>  
-  +
 </VirtualHost> </VirtualHost>
 </file> </file>
Zeile 182: Zeile 192:
   * **Zertifikate** ''CredentialResolver''   * **Zertifikate** ''CredentialResolver''
     * Siehe unter [[de:certificates|Zertifikate]]     * Siehe unter [[de:certificates|Zertifikate]]
-  * **Metadaten** (und dfn-aai.g2.pem zur Verifikation der Signatur) ''MetadataProvider''+  * **Metadaten** (und dfn-aai.pem zur Verifikation der Signatur) ''MetadataProvider''
     * Siehe unter [[de:metadata|Metadaten]] und [[de:production#metadataprovider|Produktivbetrieb]]     * Siehe unter [[de:metadata|Metadaten]] und [[de:production#metadataprovider|Produktivbetrieb]]
   * **Discovery Service** ''SSO/@discoveryURL''   * **Discovery Service** ''SSO/@discoveryURL''
Zeile 192: Zeile 202:
 </callout> </callout>
  
 +{{tag>sp}}
  • Zuletzt geändert: vor 11 Monaten