使用LOGON32_LOGON_NETWORK_CLEARTEXT的安全性如何?使用LOGON32_LOGON_NETWORK_CLEARTEXT的令牌代表團
我們有以下情形:
Web服務器是使用Win32 LogonUser的。然後它需要在服務器B上調用一個asmx方法。
如果使用的登錄類型是LOGON32_LOGON_INTERACTIVE,則效果很好。然而,客戶拒絕這個,因爲它需要交互式訪問。
如果我們使用LOGON32_LOGON_NETWORK這不允許令牌委託給遠程服務器,並且我們得到401(根據MSDN的預期)。
試圖使用DuplicateToken將令牌「升級」爲交互式失敗。這種嘗試是基於這篇文章上它指出:
「當你請求一個交互式登錄,LogonUser的返回主 令牌允許你創建流程,同時冒充當 你要求網絡登錄,LogonUser的回報。模擬令牌 可用於訪問本地資源,但不能創建 進程如果需要,可以通過調用Win32 DuplicateToken函數將模擬令牌轉換爲 主令牌。
但是,如果我們使用LOGON32_LOGON_NETWORK_CLEARTEXT,如this old thread中所述,代理工作。但它的使用有多安全?根據MSDN:
「這種登錄類型保留在認證 包,它允許服務器進行連接到其他網絡 服務器,同時模擬客戶端用戶名和密碼的服務器可以接受來自明文 憑據。一個客戶端,調用LogonUser,驗證用戶可以通過網絡訪問系統,並且仍然與其他 服務器進行通信。「
在這種格式中使用的證書是否可用於嗅探器(我們使用Windows集成安全性,有時使用SSL但不總是)。
請指教。
我的疑慮基本上是兩個:無論如何,當服務器A連接到服務器B(如原始問題中所述)時,是否可以嗅探憑證,以及流程轉儲是否可能會透露它們。網絡嗅探困擾我更多。我非常失望,MS沒有提供有關此令牌的其他信息(或者至少我找不到有關此令牌的任何信息)。 – ewolfman 2015-04-23 17:19:22
有線協議的安全性是一個正交的問題。如果服務器需要明文密碼,那麼如果要進行身份驗證,則不需要執行任何操作。但即使這樣做,您也可以使用TLS加密整個頻道。如果您無法控制服務器,您至少可以與供應商討論其需求。如果您可以否決發送您的憑證,那將會很好,但是我不能想到這是一個值得關注的現實情況 - 如果您不信任服務器,您爲什麼要對其進行身份驗證? – bmm6o 2015-07-16 16:42:57