
- HTTP プロキシとして squid を使用します (必要に応じて設定を変更できます)。
- 認証にntlmを使用するWebサイトにアクセスしたい
- Squid経由でウェブサイトにアクセスすると空白のページが表示されます
- DSLボックス経由でウェブサイトにアクセスすると、認証ポップアップが表示されます(望ましい結果)
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: アクセスしようとしている Web サイトは、当社の社外、当社のネットワーク外にあります。実際、これはパブリック IP を持つパブリック Web サイトです。この Web サイトをプロキシ構成から除外すると、ワークステーションにインターネットへのルートも直接接続もないため、機能しません。
答え1
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]
答え2
提供された情報に基づくと、何らかの「既成概念にとらわれない」方法でインターネット経由で Squid を介して NTLM を使用する回避策を作成することはできないと思います。
考えられる提案としては、HAproxy (TCP リバース プロキシを実行する) を使用して、ネットワーク内にローカル URL を作成し、その 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 は非常に簡単です (1 つのパッケージ、10 行の構成ファイルをインストールし、構成はほとんど必要なく、メンテナンスも必要ありません)。
もう 1 つのオプションは、システムの設定を変更して何らかの SSO を有効にし、ローカル NTLM 認証子を使用してアップストリーム システムへのセッションを開始することです。これは、システムの開発と変更を意味する可能性があります。
ただし、NTLM がインターネットで使用されているのを見たことはありません。NTLM は一般的に LAN で使用されます。状況を詳しく教えていただければ、別の戦略を提案できるかもしれません。