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:prepare-http [2020/04/06 15:11] – [Testen der Verbindung Apache --> Tomcat] Silke Meyerde:shibidp:prepare-http [2022/07/07 10:02] (aktuell) – Abschnitt zu Backchannel-Kommunikation und Seltsamkeiten bei Zertifikatsvalidierung Silke Meyer
Zeile 1: Zeile 1:
-====== IdP-Vorarbeiten: HTTP-Server ======+<de:shibidp:prepare-zert|Vorarbeiten: Zertifikate ^ de:shibidp:uebersicht|Überblick: Tutorial zur IdP-Inbetriebnahme ^ de:shibidp:install|IdP-Installation ->
  
-<callout type="danger" title="Firewall"> +====== IdP-Vorarbeiten: Webserver ====== 
-Die TCP-Ports 443 und 8443 müssen auf dem IdP für eingehende Zugriffe geöffnet sein!+ 
 +<callout color="#ff9900" title="Firewall"> 
 +Die TCP-Ports 443 und 8443 müssen auf dem IdP für eingehende Zugriffe geöffnet sein! Die Verwendung des Backchannels auf Port 8443 wird im [[https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1265631506/SecurityAndNetworking#Back-Channel-Support|Shibboleth-Wiki]] erklärt.
 </callout> </callout>
  
Zeile 9: Zeile 11:
 ==== Installation ==== ==== Installation ====
  
-=== Debian 10 ===+=== Debian 10/11 ===
  
 <code bash> <code bash>
Zeile 18: Zeile 20:
  
 <code bash> <code bash>
-yum -y install httpd mod_ssl+root@idp:~# yum -y install httpd mod_ssl
 </code> </code>
  
Zeile 28: Zeile 30:
  
 <code bash> <code bash>
-root@idp:~# a2enmod ssl +root@idp:~# a2enmod ssl headers proxy proxy_ajp
-root@idp:~# a2enmod headers +
-root@idp:~# a2enmod proxy +
-root@idp:~# a2enmod proxy_ajp+
 </code> </code>
  
Zeile 270: Zeile 269:
 </LocationMatch> </LocationMatch>
 </code> </code>
 +
 +===== Besonderheiten bei Backchannel Requests =====
 +Der Backchannel auf Port 8443 für die Server-to-Server-Kommunikation ist für eine funktionierende IdP-Konfiguration heutzutage nicht mehr zwingend nötig. Die obige Webserver-Konfiguration zeigt den Standardfall, in dem auf Port 8443 dasselbe Zertifikat verwendet wird wie auf Port 443. Diese Webserver-Konfiguration kann bei manchen Service Providern zu Problemen führen, wenn für die SAML-Kommunikation beim IdP ein abweichendes Zertifikat verwendet wird (getestet nur mit Shibboleth SP):
 +
 +Wenn ein Shibboleth Service Provider eine [[https://shibboleth.atlassian.net/wiki/spaces/SP3/pages/2065335187/ExplicitKeyTrustEngine|explizite Key Trust Engine]] gesetzt hat, dann holt er das IdP-Zertifikat, dem er vertraut, direkt aus den IdP-Metadaten. Dort findet er das Zertifikat, dass für die SAML-Kommunikation mit dem IdP verwendet werden soll. Wenn nun das Webserver- und das SAML-Zertifkat nicht identisch sind, sondern wenn z.B. für die SAML-Kommunikation ein selbstsigniertes Zertifikat verwendet wird, kommt es bei der Zertifikatsvalidierung zu einem Fehler, wenn
 +  * eine Attribute Query auf Port 8443 gestellt wird oder
 +  * ein Single Logout Request via SOAP auf Port 8443 gestellt wird.
 +Stellt derselbe SP die beiden Anfragen an Port 443, so ignoriert er das fehlende Vertrauen und baut eine Verbindung zum IdP auf, obwohl das Zertifikat am Webserver dem in den Metadaten publizierten Zertifikat nicht entspricht.
 +
 +Um sicherzustellen, dass ein Shibboleth SP mit gesetzter Key Trust Engine auch die genannten Backchannel-Requests absetzen kann, können Sie am Backchannel das Zertifikat einsetzen, das für die SAML-Kommunikation in den Metadaten publiziert ist.
 +
 +
 +<file apache /etc/apache2/sites-enabled/idp.uni-beispiel.de.conf>
 +<VirtualHost IDP-IP-ADRESSE:443 [IDP-IPv6-ADRESSE]:443>
 +  ServerName              idp.uni-beispiel.de
 +
 +  SSLEngine on
 +  SSLCertificateFile      /etc/ssl/localcerts/idp.uni-beispiel.crt.pem
 +  SSLCertificateKeyFile   /etc/ssl/private/idp.uni-beispiel.key.pem
 +  
 +  # REST WIE OBEN
 +
 +</VirtualHost>
 + 
 +################################################
 +
 +<VirtualHost IDP-IP-ADRESSE:8443 [IDP-IPv6-ADRESSE]:8443>
 +  # Hier muss der Port im Servername genannt werden, 
 +  # damit das abweichende Zertifikat genutzt wird.
 +  ServerName              idp.uni-beispiel.de:8443
 +
 +  SSLEngine on
 +  SSLCertificateFile      /etc/ssl/localcerts/idp.saml-cert.crt.pem
 +  SSLCertificateKeyFile   /etc/ssl/private/idp.saml-cert.key.pem
 +
 +  # REST WIE OBEN
 +
 +</VirtualHost>
 +
 +</file>
  
 ===== Testen der Verbindung Apache --> Tomcat ===== ===== Testen der Verbindung Apache --> Tomcat =====
Zeile 289: Zeile 328:
     * [[https://www.ssllabs.com/ssltest/]]     * [[https://www.ssllabs.com/ssltest/]]
  
-Weiter geht es mit [[de:shibidp:install|Installation Shibboleth IdP]]+{{tag>idp4 tutorial apache webserver included-in-ansible}}
  • Zuletzt geändert: vor 4 Jahren