Iis
區分 lan 和 wan 端使用者的兩個因素機制
我的客戶希望根據以下規則進行 2 因素身份驗證(例如登錄並接收帶有訪問 URL 的電子郵件):
- 如果使用者在 LAN 上,則不需要 2 級身份驗證(AD 憑據)。
- 如果使用者不在區域網路上,需要2級認證>>使用使用者名/密碼登錄(可以是AD,也可以是其他,我們已經創建了自己的SSO解決方案)然後接收到指定的電子郵件郵件地址。
我們的主要問題是很難弄清楚使用者來自哪裡。原因是前面的 ISA 伺服器基本上剝離了有關客戶端的所有資訊。在執行應用程序的 ISS 上接收到的資訊返回 CLIENT_IP 資訊中的 ISA 伺服器地址。
那麼 - 當所有流量都通過同一個 ISA 伺服器時,我們如何確定使用者來自哪裡?
一種解決方案是創建一個只能從 LAN 訪問的資源,並且基本上說“如果您無法訪問此資源,那麼您實際上不在 LAN 上”。但是 - 這可能再次對超時產生影響 - 例如“嘗試查找資源但 3 秒後超時”。這可能會減慢應用程序的速度,並且我們可能會遇到問題,因為有幾名員工在世界其他地方工作,在訪問生產伺服器時線路不好(例如,區域網路上的人通過固定線路訪問伺服器可能會遇到沒有到達資源,即使它們實際上在 LAN 上)。
我也在 stackoverflow 上問過這個問題,但是當我們得知 ISA 伺服器剝離了所有資訊時,解決方案有點擱淺。
(我猜這篇文章總結了我的問題的根源:http ://www.redline-software.com/eng/support/articles/isaserver/security/x-forwarded-isa-track.php )
我們總結了創建一種機制,該機制將在 LAN 上向客戶端發布加密的秘密。如果客戶端電腦無法獲得此機密,則他實際上在 LAN 之外。我們看到它有一些漏洞,但我們將專注於嚴格的加密和短壽命以降低風險。