Windows Server 2008 上のローカル システムとしての NTLM プロキシ認証

Windows Server 2008 上のローカル システムとしての NTLM プロキシ認証

ローカル ドメイン コントローラに対して NTLM 認証のみをサポートするプロキシ経由で HTTP 要求を送信する必要のあるアプリケーションがあります。要求を送信するために libcurl SSPI ビルドを使用していますが、これは Windows 7+ ではローカル システムとして、Windows Server 2008 ではドメイン ユーザーとして動作します。

しかし、S2008 でローカル システム ユーザーとしてアプリケーションを実行すると、プロキシによる認証が失敗します。NTLM ハンドシェイクを検査すると、次のことがわかります。

  • 「匿名交渉」フラグはS2008クライアントによって設定され、
  • ユーザー詳細は送信されません。

Windows 7 以降では匿名認証は使用されず、代わりにコンピュータ ID 資格情報が使用されます。一部の調査によると、匿名 NTLM 認証の代わりにコンピュータ資格情報を使用するのは Windows 7 以降の新機能です (テックネットを参照) この場合、匿名認証を成功させるために、ドメイン コントローラーまたはプロキシで匿名認証を有効にする方法はありますか?

私は、winbind と Windows Server 2012 R2 ドメイン コントローラーを備えた Squid 3.2.8 プロキシを使用しています。

答え1

Windows Server 2008 での認証に関するこれらの問題は、Windows 7 / Windows Server 2008 R2 + の NTLM 機能の違いが原因です。

これらのレガシー オペレーティング システムの認証を有効にするには、次の 3 つのグループ ポリシー設定を有効にして構成する必要がありますComputer Configuration/Policies/Windows Settings/Security Settings/Local Policies/Security Options

  • ネットワーク セキュリティ: NTLM SSP ベース (セキュア RPC を含む) クライアントの最小セッション セキュリティ - 「128 ビット暗号化が必要」をクリア
  • ネットワーク セキュリティ: NTLM SSP ベース (セキュア RPC を含む) サーバーの最小セッション セキュリティ - 「128 ビット暗号化が必要」をクリアします
  • ネットワーク セキュリティ: ローカル システムが NTLM のコンピューター ID を使用できるようにする - このポリシーを有効にする

これらの変更を適用すると、従来のオペレーティング システムはプロキシを正常に認証して通過できるようになります。

関連情報