IIS 8.5 靜默客戶端憑證請求

IIS 8.5 靜默客戶端憑證請求

我的客戶有一個請求,內容如下:

這是一個公共網站一些該機構僱員的資料。我的客戶希望在首頁上有一個僅向員工顯示的彈出視窗。

該機構使用 CAC 卡進行身份驗證,這些卡上有多個證書。在內部站點上,這非常簡單,相應地設定 IIS,然後與 AD 進行比較。

但是,由於這是一個外部站點,所以我不想對其本身進行身份驗證。我希望 IIS 默默地檢查 CAC/證書是否存在,如果存在,則運行彈出邏輯,如果不存在則忽略它。第二部分是所有編碼,但我需要知道 IIS 是否可以默默地嘗試尋找 CAC/Certs

我最初的想法是將請求IP 與我們的內部IP 範圍進行比較,但我的伺服器位於負載平衡器後面,當它到達我的伺服器時,請求將具有負載平衡器IP,並且每個請求都在範圍內。

這是一個複雜的情況,到目前為止我所做的所有挖掘都表明這是不可能完成的,但我想問

先致謝

答案1

Web 伺服器無法「檢視」客戶端的智慧卡 – 這就是完全由網頁瀏覽器完成。 IIS 影響這一點的唯一方法是發送「可接受的」憑證頒發者 DN 清單(我認為這在 TLSv1.3 中也不再可能)。但如果瀏覽器認為需要顯示證書列表,那麼它將要顯示證書清單。

大多數網站,甚至那些使用 CAC 或其他用戶端憑證驗證的網站,都有一個需要憑證驗證的專用登入 URL,但係統的其餘部分則不需要。相反,「登入」狀態是透過傳統的 cookie/會話進行的。這允許系統提供幾種不同的身份驗證方法。 (我不知道 IIS 是否支援按 URL 憑證驗證;您可能必須為「登入」頁面使用單獨的子網域。)

一個例子是 的「登入」頁面https://account.cern.ch/account/,它實際上似乎透過 Microsoft ADFS 處理所有事情。

或者,您可以將整個 Web 應用程式託管在兩個不同的子網域上:一個用於公共訪問,另一個需要身份驗證。 (https://public.cyber.mil/這是我最近看到的一個例子。)

相關內容