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:shibidp3prepare-http [2017/06/01 11:50]
Raoul Gunnar Borenius [IdP 3.x Vorarbeiten: HTTP-Server]
de:shibidp3prepare-http [2020/01/27 15:26] (aktuell)
Silke Meyer
Zeile 1: Zeile 1:
 ===== IdP 3.x Vorarbeiten:​ HTTP-Server ===== ===== IdP 3.x Vorarbeiten:​ HTTP-Server =====
  
-** WICHTIG: ​unabhägig ​vom Betriebsystem dürfen Sie nicht vergessen die beiden TCP-Port 443 und 8443 für eingehende Zugriffe auf Ihrer vorgelagerten Firewall weltweit aufzumachen!** +** WICHTIG: ​Unabhängig ​vom Betriebsystem dürfen Sie nicht vergessendie beiden TCP-Port 443 und 8443 für eingehende Zugriffe auf Ihrer vorgelagerten Firewall weltweit aufzumachen!** 
- +====Installation des Apache Webserver ==== 
-====RHEL 6====+===Debian 8/​9/​10 ​===
  
 <code bash> <code bash>
-yum install ​httpd mod_ssl+root@idp:~# apt-get ​install ​apache2
 </​code>​ </​code>​
  
-====SLES 11/12====+===RHEL 6/CentOS 7===
  
-Da Apache 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.+<code bash> 
 +yum -y install httpd mod_ssl 
 +</code>
  
-====Debian 8====+===SLES 11/12, OpenSUSE Leap 15.1===
  
-<code bash> +Da Apache als Frontend vor Tomcat via AJP verwendet wirdin ''​/etc/​sysconfig/​apache2''​ muss bei APACHE_MODULES proxy vor proxy_ajp stehen (ggfs. so editieren), weiterhin APACHE_SERVER_FLAGS="​SSL"​ setzen.
-root@idp:~# apt-get install apache2 +
-</code>+
  
-Module aktivieren:+==== Apache-Module aktivieren ​====
  
 <code bash> <code bash>
 root@idp:~# a2enmod ssl root@idp:~# a2enmod ssl
 root@idp:~# a2enmod headers root@idp:~# a2enmod headers
 +root@idp:~# a2enmod proxy
 root@idp:~# a2enmod proxy_ajp root@idp:~# a2enmod proxy_ajp
 </​code>​ </​code>​
Zeile 32: Zeile 33:
 </​code>​ </​code>​
  
-==== Konfiguration ====+==== VHost-Konfiguration ==== 
 + 
 +Eine Anleitung zur Erstellung einer Zertifikatskette (s.u. SSLCACertificateFile) findet sich [[de:​certificates#​die_ssl-zertifikatskette_auf_ihrem_webserver|hier]]. 
 + 
 +Im Mozilla-Wiki finden Sie Empfehlungen für eine [[https://​wiki.mozilla.org/​Security/​Server_Side_TLS|sichere SSL-Konfiguration]]. Wir empfehlen Ihnen, mittels der Seite SSLLabs Ihren fertigen Webserver zu testen. Falls Sie Ihrem IdP später das [[de:​entity_attributes#​sirtfi_security_incident_response_trust_framework_for_federated_identity|Sirtfi Entity Attribut]] geben möchten, prüfen wir mit SSLLabs Ihre Apache-Konfiguration.
  
 <file apache /​etc/​apache2/​sites-enabled/​idp.uni-beispiel.de.conf>​ <file apache /​etc/​apache2/​sites-enabled/​idp.uni-beispiel.de.conf>​
Zeile 67: Zeile 72:
  
   SSLEngine on   SSLEngine on
 +  # Die Zertifikatsdatei enthält die vollständige Kette, vgl.
 +  # http://​httpd.apache.org/​docs/​current/​mod/​mod_ssl.html#​sslcertificatechainfile
   SSLCertificateFile ​     /​etc/​ssl/​localcerts/​idp.uni-beispiel.crt.pem   SSLCertificateFile ​     /​etc/​ssl/​localcerts/​idp.uni-beispiel.crt.pem
   SSLCertificateKeyFile ​  /​etc/​ssl/​private/​idp.uni-beispiel.key.pem   SSLCertificateKeyFile ​  /​etc/​ssl/​private/​idp.uni-beispiel.key.pem
-  SSLCACertificateFile ​   /​etc/​ssl/​chains/​uni-beispiel-chain.pem 
  
   AddDefaultCharset UTF-8   AddDefaultCharset UTF-8
Zeile 100: Zeile 106:
 # https://​idp.beispiel-uni.de:​8443/​idp/​profile/​SAML1/​SOAP/​AttributeQuery # https://​idp.beispiel-uni.de:​8443/​idp/​profile/​SAML1/​SOAP/​AttributeQuery
 # #
 +
 +# Wenn Sie den Port 8443 nicht bereits an anderer Stelle angeschaltet haben,
 +# (z.B. bei Debian in /​etc/​apache2/​ports.conf,​ bei openSUSE in /​etc/​apache2/​listen.conf)
 +# können Sie das hier manuell machen:
 Listen IDP-IP-ADRESSE:​8443 Listen IDP-IP-ADRESSE:​8443
 Listen [IDP-IPv6-ADRESSE]:​8443 Listen [IDP-IPv6-ADRESSE]:​8443
Zeile 107: Zeile 117:
  
   SSLEngine on   SSLEngine on
 +  # Die Zertifikatsdatei enthält die vollständige Kette, vgl.
 +  # http://​httpd.apache.org/​docs/​current/​mod/​mod_ssl.html#​sslcertificatechainfile
   SSLCertificateFile ​     /​etc/​ssl/​localcerts/​idp.uni-beispiel.crt.pem   SSLCertificateFile ​     /​etc/​ssl/​localcerts/​idp.uni-beispiel.crt.pem
   SSLCertificateKeyFile ​  /​etc/​ssl/​private/​idp.uni-beispiel.key.pem   SSLCertificateKeyFile ​  /​etc/​ssl/​private/​idp.uni-beispiel.key.pem
-  SSLCACertificateFile ​   /​etc/​ssl/​chains/​uni-beispiel-chain.pem + 
- +
-  # 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   # Diese drei SSL-Optionen sind zwingend notwendig
   # damit SP-Abfragen auf diesen Port funktionieren!   # damit SP-Abfragen auf diesen Port funktionieren!
Zeile 144: Zeile 150:
 === Testen der Verbindung Apache --> Tomcat === === Testen der Verbindung Apache --> Tomcat ===
  
-Liest der Apache seine Config ohne Fehler ein testen Sie bitte als nächstes die Weiterleitung von Apache auf den Tomcat indem Sie folgende URL aufrufen:+Liest der Apache seine Config ohne Fehler eintesten Sie bitte als nächstes die Weiterleitung von Apache auf den Tomcat indem Sie folgende URL aufrufen:
 <​code>​ <​code>​
 https://​HOSTNAME/​idp/​ https://​HOSTNAME/​idp/​
 </​code>​ </​code>​
  
-Funktioniet ​die Weiterleitung,​ dann bekommen Sie eine Fehlermeldung "HTTP Status 404 - /idp/" oder (je nach Tomcat-Version) eine weisse ​Seite vom Tomcat zu sehen da das IdP-Servlet im Tomcat noch nicht aktiv ist. Die Weiterleitung ist damit aber erfolgreich getestet!+Funktioniert ​die Weiterleitung,​ dann bekommen Sie eine Fehlermeldung "HTTP Status 404 - /idp/" oder (je nach Tomcat-Version) eine weiße ​Seite vom Tomcat zu sehenda das IdP-Servlet im Tomcat noch nicht aktiv ist. Die Weiterleitung ist damit aber erfolgreich getestet!
 Kommt eine Apache-Fehlermeldung (diese sollte dann auch im obigen Apache-Log erscheinen) dann stimmt die Apache-Configuration noch nicht! Bitte dann nochmal obige Punkte sorgfältig durchgehen. Kommt eine Apache-Fehlermeldung (diese sollte dann auch im obigen Apache-Log erscheinen) dann stimmt die Apache-Configuration noch nicht! Bitte dann nochmal obige Punkte sorgfältig durchgehen.
  
Zeile 155: Zeile 161:
   * 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]]).   * 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 Apache-SSL-Konfiguration aktuellen Sicherheitsstandards entspricht! Details dazu übersteigen den Rahmen diese Anleitung. Hilfreiche Seiten:   * stellen Sie sicher dass die Apache-SSL-Konfiguration aktuellen Sicherheitsstandards entspricht! Details dazu übersteigen den Rahmen diese Anleitung. Hilfreiche Seiten:
-    * [[https://bettercrypto.org/]]+    * [[https://ssl-config.mozilla.org/]]
     * [[https://​www.dfn-cert.de/​]]     * [[https://​www.dfn-cert.de/​]]
     * https://​blog.pki.dfn.de/​2015/​03/​mehr-privacy-fuer-den-nutzer-ocsp-stapling/​]]     * https://​blog.pki.dfn.de/​2015/​03/​mehr-privacy-fuer-den-nutzer-ocsp-stapling/​]]
Zeile 263: Zeile 269:
 SSLRandomSeed connect builtin SSLRandomSeed connect builtin
  
-SSLProtocol ​All -SSLv3 +SSLProtocol ​HIER INFORMIEREN SIE SICH BITTE ÜBER EINE STATE-OF-THE-ART-KONFIGURATION 
-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+SSLCipherSuite ​HIER INFORMIEREN SIE SICH BITTE ÜBER EINE STATE-OF-THE-ART-KONFIGURATION 
 +# Nützliche Quellehttps://​wiki.mozilla.org/​Security/​Server_Side_TLS
 SSLHonorCipherOrder On SSLHonorCipherOrder On
  
  • Zuletzt geändert: vor 3 Jahren