web-dev-qa-db-ja.com

Squid、認証、Outlook Anywhere、Windows7およびHTTP1.1 = NIGHTMARE

ドメインユーザーに認証されたWebアクセスを許可するために、Samba3.5.4を搭載したLinuxCentOS 5.4でSquidプロキシ(最新バージョン、3.1.4)を実行しています。すべてが正常に動作し、Windows7クライアントも完全にサポートされています。認証はドメインユーザーに対して透過的ですが、非ドメインユーザーに対しては明示的に要求され、ユーザーが有効なドメイン資格情報を提供できる場合に機能します。すべて素敵で良い。

次に、Outlook Anywhereが起動し、痛みと苦しみが続きます。

Outlook(2007年でも2010年でもかまいません)がWindows XPクライアントで実行されると、Squidプロキシを介してリモートExchangeサーバーに正常に接続します。

Windows 7で実行する場合、実行しません。

認証要件がプロキシから解除された場合、すべてがWindows 7でも機能するため、問題は明らかにSquidを使用したNTLM認証に関連しています。

さらに深く掘り下げてみると(WireShark)、OutlookAnywhereはWindows7で実行するとHTTP1.1を使用し、WindowsXPではHTTP1.0を使用することがわかりました。そして、Squidは、最新のバージョンであっても、HTTP 1.1を適切に処理する上で深刻な問題を抱えているようです特に SSLの場合とプロキシ認証が混在しています。

SquidがHTTP1.1を完全かつ公式にサポートするのを待っている間(そしてこれにはかなり長い時間がかかるようです)、私は次のいずれかを探しています次の解決策:

  • 可能であれば、Squidにこれを正しく処理させます。
  • Outlook Anywhere接続を識別し、Squidがそれらの認証を必要としないようにします。しかし、それは簡単ではありません。繰り返しになりますが、Windows XPとWindows7で実行すると、Outlookの動作は異なります。WindowsではXP Outlookは、実際に「MSRPC」の素敵なユーザーエージェント文字列、Windows 7では何も送信しません(なぜ?[〜#〜]なぜ[〜#〜]?!?)。
  • Windows7で実行している場合でもOutlookAnywhereにHTTP1.0の使用を強制します。いいえ、これはInternetExplorerで[HTTP1.1を使用]の選択を解除するほど簡単ではありません。Outlookはその設定を無視し、使用するプロトコルを独自に選択するようです。
  • 特定の宛先Exchangeサーバーのホワイトリストへの登録を伴わないその他の実行可能なソリューション。これは、私が避けようとしている最後の手段です。
5
Massimo

Windows 7、Server 2008、そしてVistaでさえデフォルトでNTLMv1をサポートしていないと思います。 XPで動作しているが、Windows 7では動作していない場合は、NTLMv1を有効にして、問題が解決するかどうかを確認することから始めます。これは私が同様の問題を抱えていたときに私を助けた投稿です。 Windows7-「指定されたネットワークパスワードが正しくありません。」パスワードが実際に正しい場合

1
Chris Hupman

3.1.4はSquidの最新バージョンではありません。3.1ブランチの現在のアップストリームリリースは3.1.16であり、変更ログにはHTTP1.1コンプライアンスに関連する多くの変更があります。新しいバージョンを試す必要があるかもしれません。

squid-usersからのこの投稿 少なくとも1月には、最新の3.1.xを使用しても十分ではなく、必要なHTTP1.1サポートの修正は3.2ベータ版のみでした。

0
Sergey Vlasov