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
Nächste ÜberarbeitungBeide Seiten der Revision
de:shibidp3prepare [2016/10/26 13:35] Raoul Gunnar Boreniusde:shibidp3prepare [2017/02/24 14:59] Raoul Gunnar Borenius
Zeile 2: Zeile 2:
  
 **NB** Bei den Konfigurationsbeispielen bitte nicht die kompletten Dateien mit den Konfigurationsschnipseln ersetzen, i.d.R. handelt es sich nur um Auszüge. Bitte nur die angezeigten Zeilen übernehmen bzw. entsprechend ergänzen! \\ **NB** Bei den Konfigurationsbeispielen bitte nicht die kompletten Dateien mit den Konfigurationsschnipseln ersetzen, i.d.R. handelt es sich nur um Auszüge. Bitte nur die angezeigten Zeilen übernehmen bzw. entsprechend ergänzen! \\
-{{de:idp3_installation_freebsd_tu_freiberg_teil1.txt|Hier eine Anleitung für FreeBSD von den Kollegen aus Freiberg}}. 
  
-=====Java=====+[[de:shibidp3prepare-java|Java]]
  
-Auch wenn die Shibboleth-Entwickler Oracle-Java empfehlen (weil die IdP-Software darunter entwickelt wird) setzen wir +[[de:shibidp3prepare-tomcat|Tomcat]]
-auf den DFN-IdPs durchgängig OpenJDK ein. Es ist bei Debian/Ubuntu Teil des Betriebssystems und dadurch sehr leicht zu +
-installieren und up-to-date zu halten. Wir haben damit keine Probleme im Betrieb festgestellt und können es uneingeschränkt +
-empfehlen.+
  
-====Debian 7, 8, Ubuntu 14.x, 15.x====+[[de:shibidp3prepare-http|HTTP Server]]
  
-===OpenJDK===+[[de:shibidp3prepare-zert|Zertifikate]]
  
-<code bash> +Nach dem abarbeiten obiger Punkte geht es weiter mit der [[de:shibidp3install|Installation]].
-root@idp:~# apt-get install openjdk-7-jdk +
-</code> +
- +
-Für den Fall, dass mehrere Java Runtime Environments (JRE) vorhanden sind, muss das soeben zusammen mit dem JDK installierte JRE aktiviert werden: +
-<code bash> +
-root@idp:~# update-alternatives --config java +
-</code> +
- +
-====CentOS 6, 7==== +
- +
-Siehe https://panovski.me/install-tomcat-8-on-centos-7/ +
- +
-====RHEL==== +
- +
-===OpenJDK=== +
- +
-<code bash> +
-yum install java-1.7.0-openjdk +
-update-alternatives --config java +
-</code> +
- +
-====SLES 11, 12==== +
- +
-Install IBM Java @ SLES 11 SP 3 +
- +
-<code bash> +
-zypper install java-1_7_0-ibm +
-</code> +
- +
-==== Java Cryptography Extension (JCE) installiert?==== +
- +
-Bei Verwendung von OpenJDK (Debian/Ubuntu) ist alles nötige enthalten! +
-Bei anderen Systemen muss u.U. nachgearbeitet werden, siehe dazu [[de:shibidp3jce|JCE]] +
- +
- +
-=====Zertifikat(e)======  +
- +
-Für HTTP Server sowie IdP (Signierung, Verschlüsselung) ein Zertifikat erstellen, beim Beantragen bitte das Profil "Shibboleth IdP SP" auswählen, damit das Zertifikat für alle SAML-Funktionen eingesetzt werden kann. +
-Zur Erstellung eines Zertifikatrequests siehe die [[https://www.pki.dfn.de/faqpki/faqpki-allgemein/#c15083|FAQ der DFN-PKI]]. +
- +
-=====HTTP Server==== +
- +
-====Apache 2.2==== +
- +
-===RHEL 6=== +
- +
-<code bash> +
-yum install httpd mod_ssl +
-</code> +
- +
-====Apache 2.4==== +
- +
-===SLES 11/12=== +
- +
-Falls Apache 2.4 als Frontend vor Tomcat 7.0 via AJP verwendet wird: in /etc/sysconfig/apache2 muss bei APACHE_MODULES proxy vor proxy_ajp stehen (ggfs. so editieren), weiterhin APACHE_SERVER_FLAGS="SSL" setzen. +
- +
-===Debian 8=== +
- +
-<code bash> +
-root@idp:~# apt-get install apache2 +
-</code> +
- +
-Für einen sicheren Betrieb werden weiterhin einige Module benötigt, die nicht in allen Fällen per default aktiv sind: +
- +
-<code bash> +
-root@idp:~# a2enmod ssl +
-root@idp:~# a2enmod headers +
-root@idp:~# a2enmod proxy_ajp +
-</code> +
- +
-Abschließend muss der Web Server neu gestartet werden +
-<code bash> +
-root@idp:~# service apache2 restart +
-</code> +
- +
- +
-=== Konfiguration === +
- +
-<file apache /etc/apache2/sites-enabled/idp.uni-beispiel.de.conf> +
-################################################ +
-+
-# Bitte im Folgenden 'IDP-IP-ADRESSE' und ggf. 'IDP-IPv6-ADRESSE' +
-# jeweils durch die entsprechende IP und 'idp.uni-beispiel.de' durch  +
-# den FQDN Ihres IdPs ersetzen! +
-+
-# Die Angabe der Portnummer bei 'ServerName' ist wichtig falls +
-# für den SSO auf Port 443 ein anderes Zertifikat verwendet werden +
-# soll als für die Attribute Authority auf Port 8443 +
-+
-+
-# SingleSignOnService +
-+
-# https://idp.uni-beispiel.de/idp/profile/SAML2/POST/SSO +
-# https://idp.uni-beispiel.de/idp/profile/SAML2/Redirect/SSO +
-# https://idp.uni-beispiel.de/idp/profile/Shibboleth/SSO +
-+
-# Sofern der Port 443 nicht von der Distribution angeschaltet wird +
-# (bei Debian in /etc/apache2/ports.conf, bei openSUSE in /etc/apache2/listen.conf) +
-# können Sie das hier manuell machen: +
-+
-# Listen 443 +
-+
- +
-################################################ +
-+
-# SingleSignOnService auf Port 443 +
-+
-<VirtualHost IDP-IP-ADRESSE:443 [IDP-IPv6-ADRESSE]:443> +
-  ServerName              idp.uni-beispiel.de:443 +
- +
-  SSLEngine on +
-  SSLCertificateFile      /etc/ssl/localcerts/idp.uni-beispiel.crt.pem +
-  SSLCertificateKeyFile   /etc/ssl/private/idp.uni-beispiel.key.pem +
-  SSLCACertificateFile    /etc/ssl/chains/uni-beispiel-chain.pem +
- +
-  AddDefaultCharset UTF-8 +
- +
-  <Location /idp> +
-    Require all granted +
-    ProxyPass ajp://localhost:8009/idp +
-    # "SAMEORIGIN" vermeidet etwaige Fehlermeldungen im Browser beim Logout über mehrere SPs,  +
-    # da hierbei mit iframes gearbeitet wird +
-    Header always append X-FRAME-OPTIONS "SAMEORIGIN" +
-  </Location> +
- +
-</VirtualHost> +
-  +
-################################################ +
-+
-# ArtifactResolutionService und AttributeService +
-+
-# https://idp.beispiel-uni.de:8443/idp/profile/SAML2/SOAP/ArtifactResolution +
-# https://idp.beispiel-uni.de:8443/idp/profile/SAML1/SOAP/ArtifactResolution +
-+
-# https://idp.beispiel-uni.de:8443/idp/profile/SAML2/SOAP/AttributeQuery +
-# https://idp.beispiel-uni.de:8443/idp/profile/SAML1/SOAP/AttributeQuery +
-+
-Listen IDP-IP-ADRESSE:8443 +
-Listen [IDP-IPv6-ADRESSE]:8443 +
- +
-<VirtualHost IDP-IP-ADRESSE:8443 [IDP-IPv6-ADRESSE]:8443> +
-  ServerName              idp.uni-beispiel.de:8443 +
- +
-  SSLEngine on +
-  SSLCertificateFile      /etc/ssl/localcerts/idp.uni-beispiel.crt.pem +
-  SSLCertificateKeyFile   /etc/ssl/private/idp.uni-beispiel.key.pem +
-  SSLCACertificateFile    /etc/ssl/chains/uni-beispiel-chain.pem +
-  SSLCACertificatePath    /etc/ssl/certs +
- +
-  # hier muss wegen veralteten SP-Clients (z.B. Thomson Reuters) eine etwas weniger strikte Konfiguration genommen +
-  # werden als von bettercrypto.org empfohlen wird: +
-  SSLCipherSuite 'EECDH+ECDSA+AESGCM+AES128:AES128:EECDH+ECDSA+AESGCM+AES256:AES256:!aNULL:!eNULL:!PSK:!SRP:!DH' +
-   +
-  # Diese drei SSL-Optionen sind zwingend notwendig damit SP-Abfragen auf diesen Port funktionieren! +
-  # Details siehe Shibboleth-Wiki +
-  SSLVerifyClient       optional_no_ca +
-  SSLVerifyDepth        10 +
-  SSLOptions            +StdEnvVars +ExportCertData +
- +
-  <Location /idp> +
-    Require all granted +
-    ProxyPass ajp://localhost:8009/idp +
-  </Location> +
- +
-</VirtualHost> +
- +
-</file> +
-Nach jeder Änderung die Konfiguration des HTTP Servers neu laden: +
-<code bash> +
-root@idp:~# service apache2 reload +
-</code> +
- +
-Anmerkungen: +
-  * Achten Sie bitte darauf, dass sich die SSL-Direktiven tatsächlich in einem VirtualHost-Kontext befinden und **nicht** im Location-Kontext. (Mehr dazu im [[https://www.aai.dfn.de/aktuelles/newsansicht/article/emfohlene-konfigurationsaenderung-fuer-den-shibboleth-idp-83/|Archiv]]). +
-  * stellen Sie sicher dass die grundsätzliche Apache-Konfiguration aktuellen Sicherheitsstandards entspricht! Details dazu übersteigen den Rahmen diese Anleitung. Hilfreiche Seiten: +
-    * [[https://bettercrypto.org/]] +
-    * [[https://www.dfn-cert.de/]] +
-    * https://blog.pki.dfn.de/2015/03/mehr-privacy-fuer-den-nutzer-ocsp-stapling/]] +
-    * [[https://blog.pki.dfn.de/]] +
-    * [[https://www.ssllabs.com/ssltest/]] +
- +
-===Windows=== +
- +
-Beispiel für eine Minimal-Konfiguration unter Windows (bereitgestellt von Thomas Glatzer, Uni Mainz): +
- +
-<code apache conf/httpd.conf> +
-+
-# This is the main Apache HTTP server configuration file.  It contains the +
-# configuration directives that give the server its instructions. +
-# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information. +
-# In particular, see  +
-# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html> +
-# for a discussion of each configuration directive. +
-+
- +
-# ServerRoot: The top of the directory tree under which the server'+
-# configuration, error, and log files are kept. +
-+
-# Do not add a slash at the end of the directory path.  If you point +
-# ServerRoot at a non-local disk, be sure to specify a local disk on the +
-# Mutex directive, if file-based mutexes are used.  If you wish to share the +
-# same ServerRoot for multiple httpd daemons, you will need to change at +
-# least PidFile. +
-+
-ServerRoot "C:/Program Files/Apache/Apache24" +
- +
- +
-+
-# Dynamic Shared Object (DSO) Support +
-+
-LoadModule authn_core_module modules/mod_authn_core.so +
-LoadModule authz_core_module modules/mod_authz_core.so +
- +
-LoadModule headers_module modules/mod_headers.so +
-LoadModule reqtimeout_module modules/mod_reqtimeout.so +
-LoadModule log_config_module modules/mod_log_config.so +
-LoadModule mime_module modules/mod_mime.so +
- +
-LoadModule proxy_module modules/mod_proxy.so +
-#LoadModule proxy_http_module modules/mod_proxy_ajp.so +
-LoadModule proxy_http_module modules/mod_proxy_http.so +
- +
-LoadModule ssl_module modules/mod_ssl.so +
-LoadModule socache_shmcb_module modules/mod_socache_shmcb.so +
- +
-# 'Main' server configuration +
-ServerAdmin glatzert@uni-mainz.de +
-ServerName shib.uni-mainz.de +
- +
-+
-# Deny access to the entirety of your server's filesystem. You must +
-# explicitly permit access to web content directories in other  +
-# <Directory> blocks below. +
-+
-<Directory /> +
-    AllowOverride none +
-    Require all denied +
-</Directory> +
- +
-DocumentRoot "c:/inetpub/shib.uni-mainz.de" +
-<Directory "c:/inetpub/shib.uni-mainz.de"> +
-    Options None +
- +
-    AllowOverride None +
-    Require all granted +
-</Directory> +
- +
-<Files ".ht*"> +
-    Require all denied +
-</Files> +
- +
-ErrorLog "C:/inetpub/logs/apache/error.log" +
-TransferLog "C:/inetpub/logs/apache/access.log" +
-LogLevel warn +
- +
-<IfModule mime_module> +
-    TypesConfig conf/mime.types +
- +
-    AddType application/x-compress .Z +
-    AddType application/x-gzip .gz .tgz +
-</IfModule> +
- +
-Include conf/extra/httpd-ssl.conf +
-Include conf/extra/shib-sp.conf +
-Include conf/extra/shib-idp.conf +
-</code>  +
-<code apache conf/extra/httpd-ssl.conf> +
-## +
-##  SSL Global Context +
-## +
-##  All SSL configuration in this context applies both to +
-##  the main server and all SSL-enabled virtual hosts. +
-## +
- +
-+
-#   Some MIME-types for downloading Certificates and CRLs +
-+
-AddType application/x-x509-ca-cert .crt +
-AddType application/x-pkcs7-crl    .crl +
- +
-SSLRandomSeed startup builtin +
-SSLRandomSeed connect builtin +
- +
-SSLProtocol All -SSLv3 +
-SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:ECDH+3DES:DH+3DES:RSA+3DES:!aNULL:!eNULL:!LOW:!RC4:!MD5:!EXP:!PSK:!DSS:!SEED:!ECDSA:!CAMELLIA +
-SSLHonorCipherOrder On +
- +
-SSLUseStapling off +
-SSLStaplingCache "shmcb:c:/inetpub/logs/apache/ssl_stapling(512000)" +
-SSLStaplingReturnResponderErrors off +
- +
-SSLSessionCache "shmcb:c:/inetpub/logs/apache/ssl_scache(512000)" +
-SSLSessionCacheTimeout  300 +
- +
-SSLCertificateFile "C:/inetpub/shibboleth/idp/credentials/shib.uni-mainz.de.crt" +
-SSLCertificateKeyFile "C:/inetpub/shibboleth/idp/credentials/shib.uni-mainz.de.key" +
-</code> +
-<code apache conf/extra/shib-idp.conf> +
-################################################ +
-+
-# SingleSignOnService +
-+
- +
-Listen 443 +
- +
-<VirtualHost _default_:443> +
-  DocumentRoot "C:/inetpub/shib.uni-mainz.de" +
-  ServerAdmin glatzert@uni-mainz.de +
- +
-  SSLEngine on +
-  Header add Strict-Transport-Security "max-age=15768000" +
-   +
-  <Proxy http://localhost:8080/idp/*> +
-    Require all granted +
-  </Proxy> +
-  ProxyPass /idp/ http://localhost:8080/idp/ +
-</VirtualHost> +
- +
-################################################ +
-+
-# ArtifactResolutionService und AttributeService +
-+
- +
-Listen 8443 +
- +
-<VirtualHost _default_:8443> +
-  DocumentRoot "C:/inetpub/shib.uni-mainz.de" +
-  ServerAdmin glatzert@uni-mainz.de +
-   +
-  SSLEngine on +
-  Header add Strict-Transport-Security "max-age=15768000" +
-   +
-  <Proxy http://localhost:8080/idp/*> +
-    Require all granted +
-  </Proxy> +
-  ProxyPass /idp/ http://localhost:8080/idp/ +
-</VirtualHost> +
-</code> +
-<code apache conf/extra/shib-sp.conf> +
-# https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApacheConfig +
- +
-LoadModule mod_shib C:/inetpub/shibboleth/sp/lib64/shibboleth/mod_shib_24.so +
- +
-<Location /Shibboleth.sso> +
-  AuthType None +
-  Require all granted +
-</Location> +
- +
-<LocationMatch "(/idp/(.*)/SSO)|(/idp/Authn)"> +
-  AuthType shibboleth +
-  ShibRequestSetting requireSession 1 +
-  Require shibboleth +
-</LocationMatch> +
-</code> +
- +
-=====SQL DBMS===== +
-Optional, um die Informationen zu User Consent (ehemals uApprove) und persistentId dauerhaft zu speichern. Siehe [[de:shibidp3storage|Storage]]. +
- +
-====MySQL==== +
- +
-===Debian 8=== +
-<code bash> +
-root@idp:~# apt-get install mysql-server mysql-client libmysql-java  +
-</code> +
- +
-====PostgreSQL==== +
- +
-Siehe hierzu einstweilen die [[https://www.switch.ch/aai/guides/idp/installation/#sqldatabase|Anleitung der Schweizer Kolleg(inn)en]].  +
-Hierzu jedenfalls die entsprechende Java JDBC Komponente installieren (Debian/Ubuntu): +
-<code bash> +
-root@idp:~#  apt-get install libpostgresql-jdbc-java +
-</code> +
-===RHEL=== +
-<code bash> +
-yum install postgresql-server postgresql +
-</code> +
-=====Servlet Container===== +
-====Tomcat 8===== +
-===CentOS 7=== +
-Siehe https://panovski.me/install-tomcat-8-on-centos-7/ +
-===Debian 8=== +
-Die Tomcat-Version in Debian 8 leidet unter einem Bug, der in der Backports-Version behoben wurde. Wir empfehlen daher die Installation aus den Backports: +
-<code bash> +
-root@idp:~# apt-get install -t jessie-backports tomcat8 tomcat8-admin \ +
-           tomcat8-docs libservlet3.1-java +
-</code> +
-Der IdP läuft als Teil von Tomcat natürlich auch mit der Unix-ID des Tomcat-Users. Sofern Sie SSL-Credentials (RSA-Private- und Public-Key) - wie unter Debian/Ubuntu üblich - nach /etc/ssl/private bzw. /etc/ssl/certs legen wollen, müssen Sie den Tomcat-User berechtigen, den RSA-Private-Key unter /etc/ssl/private zu lesen: +
-<code bash> +
-root@idp:~# usermod -aG ssl-cert tomcat8 +
-</code> +
-Einige globale Java-Parameter müssen beim Tomcat-Start festgelegt werden. Das IdP-Servlet braucht Zugriff auf das Filesystem und benötigt mehr Speicher, als gemäß den Voreinstellungen vorgesehen ist. Weiterhin lohnt es sich, den Tomcat-Start durch einige zusätzliche Maßnahmen zu beschleunigen, siehe hierzu die entsprechende Seite der [[https://wiki.apache.org/tomcat/HowTo/FasterStartUp#Entropy_Source|Tomcat-Dokumentation]] und die [[https://wiki.shibboleth.net/confluence/display/IDP30/ApacheTomcat8#ApacheTomcat8-SlowStartup|diesbezüglichen Empfehlungen im Shibboleth Wiki]]. +
-<file bash /etc/default/tomcat8> +
-JAVA_OPTS="-Djava.awt.headless=true -Xms1024m -Xmx2048m -XX:+UseConcMarkSweepGC -Djava.security.egd=file:/dev/urandom -Djdk.tls.trustNameService=true" +
-</file> +
- +
-Anmerkungen: +
-  * Sofern Ihr IdP nicht unter /opt/shibboleth-idp installiert wird (nicht emphohlen!) können Sie JAVA_OPTS durch "-Didp.home=/pfad/zur/installation" ergänzen. Details und Alternativen siehe [[https://wiki.shibboleth.net/confluence/display/IDP30/ApacheTomcat8#ApacheTomcat8-RequiredConfigurationChanges|Dokumentation im Shibboleth Wiki]]. +
-Die Liste der "jarsToSkip" in catalina.properties zu erweitern bringt nicht allzu viel Performance-Gewinn beim Tomcat8-Start. Wirklich entscheidend für einen schnellen Start ist, dass in idp.xml im Tomcat-localhost-Context (siehe unten) keinesfalls unpackWAR="false" gesetzt ist und bei JAVA_OPTS das Random-Seed-File wie oben gezeigt gesetzt wird. +
-<file properties /etc/tomcat8/catalina.properties> +
-# falls MySQL inklusive libmysql-java installiert wurde (s.o.), die Pfade entsprechend ergänzen, bei Postgres JDBC Treiber analog verfahren: +
-common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/common/classes","${catalina.home}/common/*.jar","/usr/share/java/postgresql.jar","/usr/share/java/mysql.jar" +
-# [...] +
-# Beschleunigung des Tomcat-Starts: +
-tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\ +
-activation-1.1.jar,+
-antlr-2.7.7.jar,+
-aopalliance-1.0.jar,+
-bcprov-jdk15on-1.51.jar,+
-c3p0-0.9.2.1.jar,+
-commons-codec-1.10.jar,+
-commons-collections-3.2.1.jar,+
-commons-compiler-2.7.8.jar,+
-commons-lang-2.4.jar,+
-cryptacular-1.0.jar,+
-dom4j-1.6.1.jar,+
-guava-18.0.jar,+
-hibernate-commons-annotations-4.0.4.Final.jar,+
-hibernate-core-4.3.5.Final.jar,+
-hibernate-entitymanager-4.3.5.Final.jar,+
-hibernate-jpa-2.1-api-1.0.0.Final.jar,+
-httpclient-4.3.6.jar,+
-httpclient-cache-4.3.6.jar,+
-httpcore-4.3.3.jar,+
-idp-attribute-api-3.1.1.jar,+
-idp-attribute-filter-api-3.1.1.jar,+
-idp-attribute-filter-impl-3.1.1.jar,+
-idp-attribute-filter-spring-3.1.1.jar,+
-idp-attribute-resolver-api-3.1.1.jar,+
-idp-attribute-resolver-impl-3.1.1.jar,+
-idp-attribute-resolver-spring-3.1.1.jar,+
-idp-authn-api-3.1.1.jar,+
-idp-authn-impl-3.1.1.jar,+
-idp-cas-api-3.1.1.jar,+
-idp-cas-impl-3.1.1.jar,+
-idp-consent-3.1.1.jar,+
-idp-core-3.1.1.jar,+
-idp-profile-api-3.1.1.jar,+
-idp-profile-impl-3.1.1.jar,+
-idp-profile-spring-3.1.1.jar,+
-idp-saml-api-3.1.1.jar,+
-idp-saml-impl-3.1.1.jar,+
-idp-schema-3.1.1.jar,+
-idp-session-api-3.1.1.jar,+
-idp-session-impl-3.1.1.jar,+
-idp-ui-3.1.1.jar,+
-jandex-1.1.0.Final.jar,+
-janino-2.7.8.jar,+
-javassist-3.18.1-GA.jar,+
-java-support-7.1.1.jar,+
-javax.json-1.0.4.jar,+
-javax.json-api-1.0.jar,+
-jboss-logging-3.1.3.GA.jar,+
-jboss-logging-annotations-1.2.0.Beta1.jar,+
-jboss-transaction-api_1.2_spec-1.0.0.Final.jar,+
-jcl-over-slf4j-1.7.10.jar,+
-jcommander-1.47.jar,+
-joda-time-2.7.jar,+
-jsr305-3.0.0.jar,+
-ldaptive-1.0.6.jar,+
-logback-classic-1.1.2.jar,+
-logback-core-1.1.2.jar,+
-mail-1.4.7.jar,+
-mchange-commons-java-0.2.3.4.jar,+
-ognl-2.6.11.jar,+
-opensaml-core-3.1.1.jar,+
-opensaml-messaging-api-3.1.1.jar,+
-opensaml-messaging-impl-3.1.1.jar,+
-opensaml-profile-api-3.1.1.jar,+
-opensaml-profile-impl-3.1.1.jar,+
-opensaml-saml-api-3.1.1.jar,+
-opensaml-saml-impl-3.1.1.jar,+
-opensaml-security-api-3.1.1.jar,+
-opensaml-security-impl-3.1.1.jar,+
-opensaml-soap-api-3.1.1.jar,+
-opensaml-soap-impl-3.1.1.jar,+
-opensaml-storage-api-3.1.1.jar,+
-opensaml-storage-impl-3.1.1.jar,+
-opensaml-xmlsec-api-3.1.1.jar,+
-opensaml-xmlsec-impl-3.1.1.jar,+
-slf4j-api-1.7.10.jar,+
-spring-aop-4.1.5.RELEASE.jar,+
-spring-beans-4.1.5.RELEASE.jar,+
-spring-binding-2.4.1.RELEASE.jar,+
-spring-context-4.1.5.RELEASE.jar,+
-spring-context-support-4.1.5.RELEASE.jar,+
-spring-core-4.1.5.RELEASE.jar,+
-spring-expression-4.1.5.RELEASE.jar,+
-spring-extensions-5.1.1.jar,+
-spring-jdbc-4.1.5.RELEASE.jar,+
-spring-js-2.4.1.RELEASE.jar,+
-spring-js-resources-2.4.1.RELEASE.jar,+
-spring-orm-4.1.5.RELEASE.jar,+
-spring-tx-4.1.5.RELEASE.jar,+
-spring-web-4.1.5.RELEASE.jar,+
-spring-webflow-2.4.1.RELEASE.jar,+
-spring-webmvc-4.1.5.RELEASE.jar,+
-spymemcached-2.11.4.jar,+
-stax2-api-3.1.4.jar,+
-stax-api-1.0-2.jar,+
-velocity-1.7.jar,+
-woodstox-core-asl-4.4.1.jar,+
-xml-apis-1.0.b2.jar,+
-xmlsec-2.0.3.jar +
-</file> +
- +
-In server.xml  +
- +
-  * aus Sicherheitsgründen den Default-Port 8080 abschalten +
-  * auf Port 2009 den AJP-Connector aktivieren über den der Webserver Anfragen weiterleitet +
- +
-<file xml /etc/tomcat8/server.xml> +
-<Server port="8005" shutdown="SHUTDOWN"> +
-   <!-- ... --> +
-  <Service name="Catalina"> +
-    <!-- ... --> +
-    <!-- non-SSL/TLS HTTP/1.1 Connector on port 8080 abschalten --> +
-    <!-- <Connector port="8080" protocol="HTTP/1.1" +
-               connectionTimeout="20000" +
-               redirectPort="8443" /> --> +
-    <!-- ... --> +
-    <!-- Define an AJP 1.3 Connector on port 8009 --> +
-    <Connector port="8009" +
-               address="127.0.0.1" +
-               protocol="AJP/1.3" +
-               redirectPort="8443" +
-               enableLookups="false" +
-               useIPVHosts="true" +
-               maxPostSize="100000" +
-               URIEncoding="UTF-8" /> +
-    <!-- ... --> +
-  </Service>  +
-  <!-- ... --> +
-</Server> +
-</file>  +
-Außerdem ("Sessions, wollt Ihr ewig leben?"): +
-<file xml /etc/tomcat8/context.xml> +
-<Context> +
-    <!-- ... --> +
-    <!-- Uncomment this to disable session persistence across Tomcat restarts --> +
-    <Manager pathname="" /> +
-    <!-- ...--> +
-</Context> +
-</file> +
-Um das IdP-Servlet in Tomcat zu aktivieren, erstellen Sie folgende Datei im Tomcat-localhost-Context: +
-<code xml /etc/tomcat8/Catalina/localhost/idp.xml> +
-<Context docBase="/opt/shibboleth-idp/war/idp.war" +
-         privileged="true" +
-         unpackWAR="true" +
-         antiResourceLocking="false" +
-         swallowOutput="true" /> +
-</code> +
- +
- +
-====Tomcat 7===== +
- +
-Wir empfehlen Tomcat8, siehe oben. Falls Sie noch Tomcat7 einsetzen ist das folgende vielleicht hilfreich: +
- +
-Sollte es beim Neustart nach Installation und Konfiguration des IdP folgender Fehlermeldung kommen:\\ +
-> "Resource specification not allowed here for source level below 1.7"\\ +
-... so muss die Tomcat-eigene web.xml angepasst werden. Siehe hierzu http://www.censore.blogspot.in/2015/04/how-to-set-tomcat-7-source-level-to.html \\ +
-Bei Debian/Ubuntu liegt diese Datei unter /etc/tomcat7/web.xml, bei SLES 12 unter /usr/share/tomcat/conf/web.xml +
- +
-===RHEL=== +
-EPEL installieren +
- +
-RHEL/CentOS 6 32-Bit +
-<code bash> +
-wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm +
-rpm -ivh epel-release-6-8.noarch.rpm +
-</code> +
-RHEL/CentOS 6 64-Bit +
-<code bash> +
-wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm +
-rpm -ivh epel-release-6-8.noarch.rpm +
-</code> +
-EPEL verifizieren +
-<code bash> +
-yum repolist +
-</code> +
-EPEL aktivieren +
-<code bash> +
-yum-config-manager --enable epel  +
-</code> +
-<code bash> +
-yum install tomcat +
-</code> +
-=====Kleinkram===== +
-====Debian 8==== +
-Um die Signatur der Föderationsmetadaten validieren zu können müssen Sie das entsprechende Zertfikat von [[https://www.aai.dfn.de/fileadmin/metadata/dfn-aai.pem|DFN-AAI Portal]] herunterladen und z.B. unter /etc/ssl/aai/dfn-aai.pem ablegen. Der (SHA2) Fingerprint ist unter https://www.aai.dfn.de/teilnahme/metadaten/ dokumentiert +
-<code bash> +
-root@idp:~# mkdir /etc/ssl/aai/ +
-root@idp:~# cd /etc/ssl/aai/ +
-root@idp:~# wget https://www.aai.dfn.de/fileadmin/metadata/dfn-aai.pem +
-</code> +
-Falls noch nicht geschehen, OpenSSL installieren (um später Zertifkat auf dem System verwalten zu können): +
-<code bash> +
-root@idp:~# apt-get install openssl +
-</code> +
-Wer keine Lust hat, später bei jedem install JAVA_HOME neu zu setzen, kann dies auch im jeweiligen home Verzeichnis in .bashrc definieren: +
-<file bash /home/userxy/.bashrc> +
-# ... +
-export JAVA_HOME=/usr +
-</file> +
-(oder für alle User in /etc/profile.d/java.sh) +
- +
-=====Shibboleth Identity Provider===== +
-====Debian 8==== +
-Shib IdP herunterladen, Signatur überprüfen und entpacken. Die aktuelle IdP-Version findet sich stets unter http://shibboleth.net/downloads/identity-provider/latest/ +
-<code bash> +
-root@idp:~# mkdir /opt/install +
-root@idp:~# cd /opt/install +
-root@idp:~# wget http://shibboleth.net/downloads/identity-provider/latest/shibboleth-identity-provider-3.x.x.zip +
-root@idp:~# wget http://shibboleth.net/downloads/identity-provider/latest/shibboleth-identity-provider-3.x.x.zip.asc +
-root@idp:~# wget https://shibboleth.net/downloads/PGP_KEYS +
-root@idp:~# gpg --import PGP_KEYS +
-root@idp:~# gpg --verify shibboleth-identity-provider-3.x.x.zip.asc shibboleth-identity-provider-3.x.x.zip +
-root@idp:~# unzip shibboleth-identity-provider-3.x.x.zip +
-</code> +
-Falls geplant ist, mehrere IdPs parallel zu betreiben, empfiehlt es sich, pro Instanz ein eigenes Installations-Quell-Verzeichnis anzulegen: +
-<code bash> +
-root@idp:~# cp -ar shibboleth-identity-provider-3.x.x shibboleth-identity-provider-3.x.x-idp.uni-beispiel.de +
-</code> +
- +
-**Vor Installation und Konfiguration lohnt sich ein Blick auf die [[https://wiki.shibboleth.net/confluence/display/IDP30/ReleaseNotes|Release Notes]]** +
- +
-Weiter geht es mit der [[de:shibidp3install|Installation]].+