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:shibslohttpd:configuration:normal [2015/12/09 09:49] Schreiterer, Frankde:shibslohttpd:configuration:normal [2015/12/09 11:33] (aktuell) – [Schutz der Anwendung] Schreiterer, Frank
Zeile 7: Zeile 7:
 Das Skript [[ |checker.php]], welches von Shibd beim Login einmal über den SessionHook aufgerufen wird, muss auch in einem komplett durch Shibboleth geschützten Verzeichnis liegen. Die Konfiguration darf nur bei den Anwendungsszenarien [[de:shibslohttpd:introduction#anwendungsszenarien|normal und lazy]] erfolgen, nicht bei [[de:shibslohttpd:introduction#anwendungsszenarien|mixedLazy]]! Das Skript [[ |checker.php]], welches von Shibd beim Login einmal über den SessionHook aufgerufen wird, muss auch in einem komplett durch Shibboleth geschützten Verzeichnis liegen. Die Konfiguration darf nur bei den Anwendungsszenarien [[de:shibslohttpd:introduction#anwendungsszenarien|normal und lazy]] erfolgen, nicht bei [[de:shibslohttpd:introduction#anwendungsszenarien|mixedLazy]]!
  
-Konfiguration **Apache:**+Konfiguration **Apache 2.4:**
 <code Apache httpd.conf> <code Apache httpd.conf>
 <Location /checker> <Location /checker>
-authType shibboleth +   authType shibboleth 
-ShibRequestSetting requireSession true +   ShibRequestSetting requireSession true 
-ShibUseHeaders on +   ShibUseHeaders on 
-RewriteEngine On +   RewriteEngine On 
-#den Wert der Anwendungssession merken um die Anwendungssession sauber zerstören zu können +   #den Wert der Anwendungssession merken um die Anwendungssession sauber zerstören zu können 
-RewriteCond %{HTTP:Cookie} APPSESSIONNAME=([^;]+) +   RewriteCond %{HTTP:Cookie} APPSESSIONNAME=([^;]+) 
-RewriteRule .* - [E=appsid:%1] +   RewriteRule .* - [E=appsid:%1] 
-  +    
-#Test der Werte mit RewriteMap-Skript ohne mixedLazy  +   #Test der Werte mit RewriteMap-Skript ohne mixedLazy 
-RewriteCond ${shibchecker:sessionHook,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie}} ^doLogout$ +   RewriteCond ${shibchecker:sessionHook,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie}} ^doLogout$ 
-RewriteRule .* https://sp.beispiel-uni.de/eviluse/SESSIONREMOVER.php?appsid=%{ENV:appsid} +   RewriteRule .* https://sp.beispiel-uni.de/Path/To/remsess.php?appsid=%{ENV:appsid} 
-  +    
-#mit mixedLazy darf der Aufruf nicht erfolgen, da in diesem Modus das Einschleusen einer Anwendungssession vor der Shib-Anmeldung nicht zu verhindern ist. +   #mit mixedLazy darf der Aufruf nicht erfolgen, da in diesem Modus das Einschleusen einer Anwendungssession 
-#Es wird jedoch vom shibchecker geprüft, ob die Anwendungssession bereits vergeben war. +   #vor der Shib-Anmeldung nicht zu verhindern ist. 
-#FALSCH bei mixedLazy +   #Es wird jedoch vom shibchecker geprüft, ob die Anwendungssession bereits vergeben war. 
-#RewriteCond ${shibchecker:sessionHook,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie},mixedLazy} ^doLogout$ +   #FALSCH bei mixedLazy 
 +   #RewriteCond ${shibchecker:sessionHook,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie},mixedLazy} ^doLogout$
 </Location> </Location>
  
Zeile 39: Zeile 40:
 ==== Schutz der Anwendung ==== ==== Schutz der Anwendung ====
  
-Konfiguration **Apache:**+Konfiguration **Apache 2.4:**
  
 <code Apache httpd.conf> <code Apache httpd.conf>
 <Location /NORMALAPPLICATION> <Location /NORMALAPPLICATION>
-authType shibboleth +   authType shibboleth 
-ShibRequestSetting requireSession true +   ShibRequestSetting requireSession true 
-ShibUseHeaders on +   ShibUseHeaders on 
-<RequireAll>  +   <RequireAll> 
-   Require shib-attr eppn ~ ^foo*@beispiel-uni.de$ +      Require shib-attr eppn ~ ^foo*@beispiel-uni.de$ 
-   Require shib-attr eduPersonEntitlement ~ ^urn:beispiel-uni.de:foobar$ +      Require shib-attr eduPersonEntitlement ~ ^urn:beispiel-uni.de:foobar$ 
-</RequireAll>  +   </RequireAll> 
-#prüfen, ob die Anfrage gültig ist und ggf. das Logout durchführen +   #prüfen, ob die Anfrage gültig ist und ggf. das Logout durchführen 
-#ACHTUNG: Erst die Anwendungssession zerstören und das das Shibboleth-Logout! +   #ACHTUNG: Erst die Anwendungssession zerstören und das das Shibboleth-Logout! 
-RewriteEngine On +   RewriteEngine On 
-RewriteCond ${shibchecker:normal,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie}} ([^;]+) +   RewriteCond ${shibchecker:normal,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie}} ([^;]+) 
-#Um die Aufrufe zu minimieren, wird das Ergebnis in einer Umgebungsvariable gespeichert und dann können die verschiedenen Rückgabewerte wieder in einzelnen Bedingungen ausgewertet werden +   #Um die Aufrufe zu minimieren, wird das Ergebnis in einer Umgebungsvariable gespeichert und dann können  
-RewriteRule .* - [E=shibcheckertype:%1] +   #die verschiedenen Rückgabewerte wieder in einzelnen Bedingungen ausgewertet werden 
-  +   RewriteRule .* - [E=shibcheckertype:%1] 
-#Anwendungssession bekannt machen? - Anwendungssession muss noch initialisiert (shibchecker bekannt gemacht werden) werden, damit das Anwendungs-Cookie nicht verändert werden kann +    
-#bevorzugt +   #Anwendungssession bekannt machen? - Anwendungssession muss noch initialisiert (shibchecker bekannt  
-RewriteCond %{ENV:shibcheckertype} ^doAppSession$ +   #gemacht werden) werden, damit das Anwendungs-Cookie nicht verändert werden kann 
-#über ein extra Skript, wenn ohne weiteres die Anwendungssession initialisiert werden kann +   #bevorzugt 
-RewriteRule .* https://sp.beispiel-uni.de/initsess/initsess.php +   RewriteCond %{ENV:shibcheckertype} ^doAppSession$ 
- +   #über ein extra Skript, wenn ohne weiteres die Anwendungssession initialisiert werden kann 
-#oder über Refresh-Header, falls man das Initialisieren der Anwendungssession nicht selbst triggern kann +   RewriteRule .* https://sp.beispiel-uni.de/Path/To/initsess.php 
-#RewriteCond %{ENV:shibcheckertype} ^doAppSession$ +    
-#RewriteRule .* - [E=doAppSession:1]  +   #oder über Refresh-Header, falls man das Initialisieren der Anwendungssession nicht selbst triggern kann 
-#Header set Refresh "0" env=doAppSession +   #RewriteCond %{ENV:shibcheckertype} ^doAppSession$ 
-  +   #RewriteRule .* - [E=doAppSession:1] 
-#Logout?  +   #Header set Refresh "0" env=doAppSession 
-RewriteCond %{ENV:shibcheckertype} ^doLogout$ +    
-RewriteRule .* https://sp.beispiel-uni.de/eviluse/SESSIONREMOVER.php?appsid=%{ENV:appsid}+   #Logout? 
 +   RewriteCond %{ENV:shibcheckertype} ^doLogout$ 
 +   RewriteRule .* https://sp.beispiel-uni.de/Path/To/remsess.php?appsid=%{ENV:appsid}
 </Location> </Location>
 </code> </code>
  
  
  • Zuletzt geändert: vor 8 Jahren