2011年11月11日金曜日

NTLM認証プロキシサーバーの突破

私の職場では社内LANは当然のごとく整備されており、
ご多分に漏れずインターネットへの接続はプロキシサーバに依存しています。
このプロキシサーバ、認証がNTLMになっており、
Windowsからアクセスする分にはとりあえず不自由ないのですが、
仕事柄リアル・バーチャル共にLinuxを多用するということもあり、
Linuxからの接続時に非常に困ってしまいます。

実はこういうときのためにntlmapsという
オープンソースなフリーソフトがあり、
非常に重宝しております。
pythonで書かれているためWindowsでもLinuxでも動作するはずです。
ちなみに私はWindows上でしか動かしたことがありません。

このntlmapsは、NTLM認証が必要なプロキシサーバに対するプロキシサーバで、
本来ブラウザなどのクライアントソフトが処理すべき認証処理だけを
肩代わりしてくれます。
クライアントソフトからは
認証なしのプロキシサーバにアクセスしているように見えます。

Windowsでの設定方法を以下に紹介します。
最初にpythonをインストールしなくてはならないのですが、
フルインストールしたcygwinに入っていますので
それを利用することにします。
そしてntlmapsのサイトから
"ntlmaps-0.9.9.0.1.zip"のようなファイルをダウンロードしてきて展開し、
中身をcygwinの"/usr/local/ntlmaps"にコピーします。
エクスプローラでは通常"C:\cygwin\usr\local\ntlmaps"フォルダになります。
次いで設定ファイル"/usr/local/ntlmaps/server.cfg"を編集します。
編集するのは以下の表のとおりです。









セクションアイテム説明設定値例
[GENERAL]LISTEN_PORTブラウザに提供するプロキシ機能のポート番号8080
[GENERAL]PARENT_PROXYNTLM認証の必要なプロキシサーバの名前かIPアドレス192.168.1.1
[GENERAL]PARENT_PROXY_PORTNTLM認証の必要なプロキシサーバのポート番号8080
[GENERAL]ALLOW_EXTERNAL_CLIENTSプロキシ機能を他のPCにも提供するなら'1'1
[NTLM_AUTH]NT_DOMAINNTドメインのドメイン名headquater
[NTLM_AUTH]USERNTドメインのアカウント名ttanimu
[NTLM_AUTH]PASSWORDNTドメインのアカウントのパスワードpassword

プロキシサーバを立ち上げたいときはcygwinのbashを開いて

$ cd /usr/local/ntlmaps
$ python main.py

を実行すればいいだけです。

0 件のコメント:

コメントを投稿