- 数年前、私はかなり大きな会社に就職しました。そこでは、一般的にプロキシと、特に権限のあるプロキシと会い、そのような環境でのOperaの妨害について知りました。
- 管理者は、ドメイン\プロキシのパスワードを頻繁に変更するように強制します
- Habréに同様の記事はありませんでした:)-この情報が誰かに役立つことを願っています
背景
新しい職場に物を散らし、コンピューターを自由に使えるようになったので、すぐに通常のソフトウェアのセットを散らかし始めました。もちろん、Operaも含まれていました。
上司がくれた新しくて強力なコンピューターを喜ぶ時間がないので、Operaは開いている各タブのプロキシログイン/パスワードの入力を強制することがわかりました...
最初、私は単に驚きました。そして、私たちの会社であるInternet ExplorerのIT部門によって正式にサポートされて
Googleおじさんは、このテーマについて私に多くの興味深い新しいことを教えてくれました...そして、Operaユーザーがそれについて不平を言っているのはどれくらい前か、そしてある種の "fox"をインストールするだけでそれを修正する方法について:)
さらに、NTLM認証があり、OperaがNTLM認証に特に馴染みがないことを認識しました。
新しくできた同僚は、「あまり人気のないブラウザ」を見せびらかしてはいけないことを喜んでアドバイスしてくれました。
しかし。 この状況は私には適さず、私になじみのあるブラウザをどうにかして変えたいという欲求は生じませんでした。 したがって、私はこの迷惑な問題の解決策を見つけることを試みることにしました(当然、私の自由な時間に)。
ソリューションを検索する
推奨事項のほとんどは、OperaでEnableNTLMチェックボックスをプルする必要があるという事実に基づいています(opera:config-> Network-> EnableNTLM)。
残念ながら、私の場合、このオプションを使用してもブラウザとの統一感は得られませんでした。
- EnableNTLM = 1- >タブごとに1つのパスワード要求を取得します
- EnableNTLM = 0- >リクエストは1つだけですが、ドメイン認証を必要とするすべての内部リソースは落ちます:
私はこれ以上効率的なものを見つけることができなかったので、より基本的な解決策を試さなければなりませんでした-私自身のプロキシは、企業のプロキシで承認されます。
それから私はNTLMAPSだけを見つけました。
しばらくの間、私はこのプロキシを使用しました-一般に、それはその機能を実行しますが、いくつかの不快な瞬間がありました:
- 特に多数の同時リクエストの場合、ネットワーク速度がかなり低下します。
- かなり顕著なCPU負荷
- サービスとして働くための定期的な能力の欠如(追加的にsrvanyを使用する必要がありました )
- 構成ファイルでパスワードを明確に保つ必要性
- パスワードなどで特殊文字を使用できない
結果とパン
おそらく誰もが、価値のある便利なNTLMAPSの代替品がまだあると推測しているので、これについてお話したいと思います。 彼女の名前はCNTLMです。
ここ数年、職場で使用しているのはこのプロキシです(Linuxで作業している同僚もCNTLMを選択しました)。 それから多くの時間が経ちました...最初は、squid、ISA、およびその他の何かを使用したことが判明しました...その後、無許可で秘密の透過プロキシが登場しました。 しかし、私はまだCNTLMを使用しています。
したがって、まず、NTLMAPSと比較したCNTLMの利点を説明します。
- ほぼ(「絶対に」書くのが怖い)速度のわずかな低下(記事の終わりを参照)
- 顕著なCPU負荷の不足と低メモリ消費(記事の終わりを参照)
- サービスモード操作
- パスワード自体ではなく、設定にハッシュを保存する機能
- 一度に複数の親プロキシを指定する機能
- ゲートウェイモードなどを有効にする機能
- NoProxyリソース(つまり、プロキシをまったく使用する必要がないリソース-ローカルリソースなど)を指定する機能
- ...
このソリューションはどのように役立ちますか:
- Operaはユーザー名/パスワードを要求しなくなりました-任務完了:)
- すべてのソフトウェアは、CNTLMを介してインターネットに接続されます。 終末日が来ると、パスワード変更日はCNTLM構成でのみ変更するのに十分です。
以前は、これを大量の場所で実行しなければなりませんでした。たとえば、真空の球状IT専門家のコンピューターを取り上げます。3つのブラウザー、ドロップボックス、ハマチ、チームビューアー、ミランダ、スカイプ、DM、ウイルス対策、キティなど +更新を確認するためにインターネットを必要とする多くのアプリケーション。
さらに、パスワードを変更した後、すべてのソフトウェアは古いパスワードでインターネットにクラッシュし続けます。これにより、プロキシが一時的に禁止されることになります。すでに明確になっていることを願っています。 - 判明したように、最新のプログラムのすべてが承認されたプロキシを介してインターネットにアクセスできるわけではありません。 CNTLMはこの状況で本当に役立ちます
- LAN内のすべての仮想マシンと必要なマシンは、CNTLMを介してインターネットにアップロードすることもできます(設定でゲートウェイモードをオンにします)
- メインの企業プロキシは定期的に削除する習慣があるとしましょう。 使用可能なすべてのプロキシを構成に挿入します。メインプロキシが失敗した場合、CNTLMは透過的にリスト内のプロキシを繰り返します。
これは、私の頭に浮かんだアプリケーションのリストです。 多くの人が他の何かを思いつくことができると確信しています。
はじめに
Windowsでは、サービスを作成し、適切な場所にファイルを解凍する、すべてをうまく実行するインストーラーが提供されます。
それにもかかわらず、あなたはまだあなたの手で作業する必要があります。
- データを%PROGRAMFILES%\ Cntlm \ cntlm.iniに格納します。
一般的に、次のパラメーターに関心があります。
ユーザー名 ->プロキシまたはドメインログイン
ドメイン ->ドメイン名
プロキシ -> IPアドレス\親プロキシ名+ポート
聞く -> CNTLMが両手を広げて私たちを待っているローカルポート
必要なデータを指定して、CNTLMサービスを再起動します。 - 企業プロキシの「方言」の詳細を調べ、パスワード\ハッシュを目的の構成パラメーターに入力します。
この情報は管理者から取得できますが、CNTLMでこの問題を解決することができます。 これを行うには、-Iおよび-Mキーと外部サイトのアドレスを指定してCNTLMを実行します。
cntlm.exe -I -M ya.ru
、手でパスワードを操作すると、次のような出力が表示されます。
Auth NTLMv2
PassNTLMv2 4AC6525378DF8C69CF6B6234532943AC
これは、NTLMv2が使用されていることを示しています。 さらに、CNTLMは入力されたパスワードのハッシュをすぐに表示します。
そのため、最後に欠落したPassNTLMv2パラメーターを取得しました。
これをCNTLM構成に貼り付けて、サービスを再起動します。
- ブラウザ\ ICQ \ ...プロキシlocalhost:Xでドライブします。ここで、Xは設定で指定されたローカルポートです。
軟膏で飛ぶ
CNTLMはCygwinを使用するため、デフォルトではイベントがイベントログに流出するため、アプリケーションログに大量のゴミがあります(各HTTPリクエストのイベント-イベントID 0ソースCygwinによる):
ソースCygwinからのイベントID 0の説明が見つかりません。 このイベントを発生させるコンポーネントがローカルコンピューターにインストールされていないか、インストールが破損しています。 ローカルコンピューターにコンポーネントをインストールまたは修復できます。
イベントが別のコンピューターで発生した場合、表示情報をイベントとともに保存する必要がありました。
次の情報がイベントに含まれていました。
127.0.0.1 GET s.w3bsit3-dns.com/forum/style_emoticons/default/thank_you.gif
もちろん、これで生きることはできますが、ログで本当に役立つものを見つけるのは非常に困難です。
誰かがエレガントなソリューションを促した場合-私は感謝します。
これまでに発生した唯一のことは、ソース内のすべてのsyslog()呼び出しを削除することです。
PS
NTLMAPSとパフォーマンスの約束を比較します(これらのデータは、以前CNTLM Webサイトで示されていましたが、最近削除されました)。図 1. wgetでリクエストの実行時間を確認します。 NTLMAPSを使用する場合、1回目以降のリクエストの時間はほぼ同じ(約2秒)であることに注意してください。 CNTLMの場合-最初の要求は5倍速く、次の要求-すでに15倍-接続キャッシュがあります。
図2。 50の並列接続でのCPUとRAMの消費量を調べます。