web-dev-qa-db-ja.com

プロキシサーバーを介したNTLM

  • SquidをHTTPプロキシとして使用します(必要に応じて、その構成を変更できます)。
  • 認証にntlmを使用するWebサイトにアクセスしたい
  • イカを介してウェブサイトにアクセスすると、空白のページが表示されます
  • DSLボックスを介してWebサイトにアクセスすると、認証ポップアップが表示されます(望ましい結果)

NTLMについてはよくわかりません...混乱した想像力...くだらないプロトロール... grmbl grmbl:D:D:D

このスレッドはそれができないと言っています: http://www.squid-cache.org/mail-archive/squid-users/200708/0578.html

解決策や回避策を提供できる第一人者はいますか?

目的のWebサイトのポート80でのTelnet出力は次のとおりです。

Trying 111.222.333.444...
Connected to www.extranet-example.com (111.222.333.444).
Escape character is '^]'.
GET /index.htm HTTP/1.1
Host: www.extranet-example.com

HTTP/1.1 401 Unauthorized
Server: Microsoft-IIS/7.5
SPRequestGuid: 2764478a-b14a-4541-9110-27ebf4281e84
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 14.0.0.4762
Date: Mon, 25 Nov 2013 14:25:26 GMT
Content-Length:
0 

ボーナス:2つのチェーンプロキシ(squid-2.6 rhel5)サーバーを使用します

編集:NTLMを使用してsquid認証を行うことは、私たちが達成しようとしていることではありません。

編集2:私たちが到達しようとしているウェブサイトは私たちの会社の外、私たちのネットワークの外にあります。実際、これはパブリックIPを備えたパブリックWebサイトです。このWebサイトをプロキシ構成から除外すると、ワークステーションにインターネットへのルートも直接接続もないため、機能しません。

1
user130370

NTLMは接続指向であり、プロキシを使用するときにWebサーバーとの間に直接接続がないため、NTLMは失敗します。 (あなたとプロキシの間には接続があり、プロキシとWebサイトの間には2番目の接続があります。)

たとえばKerberos認証にアップグレードできない場合、最善の策は、クライアント構成(PACファイル?)のプロキシ除外リストにWebサーバーを追加することです。通常、企業イントラネット上の内部サーバー(NTLM認証が期待される場所)はこの理由でプロキシから除外され、クライアントは直接接続します。

[〜#〜]編集[〜#〜]

どうやらSquidにはNTLMパススルー認証用のオプションがあります: 接続の固定 。 Squidバージョン2.6以降および3.1以降から利用できます。

http_port ... connection-auth[=on|off]
https_port ... connection-auth[=on|off]
5
HBruijn

提供された情報に基づいて、どういうわけか「箱から出して」行かずにインターネット経由でSquid経由でNTLMを使用する回避策を作成することはできないと思います。

考えられる提案は、HAproxy(TCPリバースプロキシを実行)を使用して、リクエストを相手側のサイトにパイプするローカルURLをネットワークに作成することです。2つの異なる方法を実行する必要がある場合ホップ(つまり、Squidを実行している2台のマシン)の場合、2つのインスタンスを設定する必要があります。

構成は次の行になります。

listen localsite 0.0.0.0:80
    mode tcp
    balance roundrobin
    option  tcplog

    server upstream1 1.2.3.4:80

別のアプリケーションを実行する必要がありますが、HAproxyは非常に簡単です(単一のパッケージ、10行の構成ファイル、ほとんど0の構成、0のメンテナンスをインストールします)。

もう1つのオプションは、システムの構成を変更して、ある種のSSOを有効にしてから、ローカルNTLMオーセンティケーターを使用してアップストリームシステムへのセッションを開始することです。これは、システムの開発と変更を意味する場合があります。

NTLMがインターネットで使用されているのを見たことがないと思いますが、一般的にLANで使用されています。状況を拡大すれば、別の戦略を提案できるかもしれません。

2
GomoX