Windows

將 NTLM 身份驗證從本地代理伺服器轉發到公司代理

  • December 15, 2020

我有一個 Python 腳本,它應該可以訪問從我們的伺服器到網際網路的各種 Web API。問題是,在支持 NTLM 身份驗證方面,我所看到的 Python 支持非常差。這導致我們的公司代理伺服器總是返回 HTTP 程式碼 407。我最初的想法是使用 IIS 和應用程序請求路由模組設置一個本地代理伺服器,它會在處理 NTLM 身份驗證時將所有請求轉發到我們的公司代理。這種方法的問題是它似乎沒有轉發我的 NTLM 憑據,目前使用者正在從中執行 Python 腳本。

這種方法會奏效嗎?如果是這樣,我該如何實施?

你看過這些嗎?

NTLM 授權代理伺服器

Python NTLM

可能有點晚了,但還是想提一下。毫無疑問,在您的腳本中支持 NTLM 會很棒,但這會增加複雜性而不會帶來大的回報。最好使用 NTLMAps、Cntlm 或 Px。

NTLMAps 和 Cntlm 是作為中間代理執行 NTLM 身份驗證的代理。但是,它們都需要使用者/通行證,因為它們主要針對 Linux 使用者。我以前在 Windows 上使用過這些工具,但對每次更改密碼時都必須向它們提供憑據並更新的相同要求感到惱火。

因此,我為 Windows 編寫了 Px,它是與上述兩個類似的 HTTP 代理,但使用 SSPI 來管理公司代理所需的身份驗證。您需要配置的只是代理伺服器和埠。

為了開發您自己的應用程序,程式碼還應該有助於弄清楚如何在 Python 以及其他可以訪問 SSPI 的語言中做到這一點。但是您寧願隔離 NTLM 混亂而不是乾涉它。

引用自:https://serverfault.com/questions/630884