2015-05-21 35 views
1

這個問題聽起來很奇怪,但我有一個最壞的情況。在應用程序級別檢查shibboleth SP會話

我的應用程序服務器在http://10.10.10.10/app(說它是app-server),http-apache服務器在http://some.dns.com/app(說它是http-server)。兩者都是不同的系統服務器。

我知道app-server不應該公開地直接訪問,但我們假設它是可公開訪問的。現在Shibboleth安裝在http-server上,安全路徑http://some.dns.com/app/secure。雖然一個servlet被映射爲從路徑/secure獲取屬性。

如果有人設法創建假的http-apache-server(比如fake-http-server),那也指向app-server。因此這裏fake-http-server可以直接訪問/secure路徑,該服務器可以手動發送類似shibboleth的屬性,並且可以在沒有保護的情況下登錄系統。

我在這裏的問題是,是否有Shibboleth的一種機制,在那裏我可以在我的應用程序檢查陳詞濫調會議 - 不僅是在HTTP層

回答

1

默認情況下,mod_shib Apache模塊設置環境變量。這些變量不能被代理Apache服務器欺騙。

docs

最安全機制,並允許它服務器的默認, 是使用環境變量。該術語有點通用 ,因爲環境變量不一定意味着傳統意義上的實際過程環境,因爲 通常沒有單獨的過程。它實際上是指一組受控的 數據元素,Web服務器提供給應用程序,並且 不能以任何方式從Web服務器外部操作。 具體來說,客戶沒有發言權。

如果你不信任的Apache網絡服務器,您可以分析代碼中的SAML斷言和使用使得SAML斷言由身份提供商(IDP)提供的證書驗證簽名的斷言。但檢查簽名非常困難,您需要處理諸如密鑰輪換和如何處理IdP使用的新證書等情況。 Shibboleth爲您處理這些非常困難和重要的任務。

相關問題