プロキシ(Proxy)について考えてみた

PC・Server
自宅サーバーが辛い季節になりました。

プロキシと言えばアングラ臭がする言葉ですが、最近ではTorなんていうP2P技術を使ったProxyが主流となっていることから、SquidやApache等で構築していた旧来のプロキシは、もはやレガシーな技術なのかも知れません。

しかしながらそれが故に、旧来のプロキシの本来の役目や使い方、そしてややアングラ寄りの用途での使い方のポイント等、最近ではあまりそういうハウツー記事を目にする事が減ってきた様な気がします。

昨日記した、米国内にしかサービスを提供していないGoogle Play Musicに日本からアクティベートする方法として、一般的に知られているのがこのプロキシ(Proxy)を介しての通信により、あたかもus(The United States of America)からのアクセスであるかの様に偽装する方法ですが、多くのサイトで手法をサラッと流してくれているのでスムーズにできる人は簡単にできちゃうのですが、ちょっとした解釈違いや要点を見落とした人は躓いてしまうこともある様です。

インターネットというネットワークの世界では、IPアドレスという番号の羅列で、ネットワークの判別が出来るようになっています。詳しいことは省略しますが、このIPアドレス(グローバルIPアドレス)は、各国毎に割り当てらが決められているので、IPアドレスの割り当てデータベースに照会すれば、どこの国からアクセスして来てるのかは簡単に判別出来ます。

つまり、我々日本に済む日本人は、米国のネットワークに接続されているサーバー経由でGoogle Play Musicにアクセスする事で、Googleを騙している訳で、一応Googleはアメリカからのアクセスだとして(容認)してくれているのです。Googleレベルの技術力を持っている組織であれば、プロキシを噛ました位では本当は日本からのアクセスだとバレバレだと思います・・(w

つまりいつまでもこの方法で日本からアクティベートが成功するという保証は全く無い訳です。Googleが大目にみてくれているからこそ、日本国内からでも一応利用させてもらえるという程度の認識はしておいた方が良いでしょう。いつそれが出来なくなるかもGoogle次第でしょう。

余談ながらプロキシ以外の方法では、USサイトでスルーしてくれるVPNを通すという方法もあります。現状はGoogleのサーバーに、us割り当てのIPアドレスからのアクセスだと認識させれば受け入れてもらえるという基本的な考えはProxyでもVPNでも同じです。

私がパソコンやインターネットを覚え始めた頃、当時勤めていた会社では社内ネットワークから外部(インターネット)にアクセスする場合は、必ずプロキシサーバーを経由する必要がありました。直接社外のネットワークに出て行くことが出来ませんでした。FTPも規制されていたので、FTP Proxy経由で大きなファイル(LinuxのISOファイル等)をダウンロードしていてネットワークに負荷をかけている事が情報システム部にバレて説教されたことがあります。帯域を制限してチョロチョロと水を流す様にダウンロードしてたんですけど異常に時間がかかったのでバレたみたい(w

企業などの団体でプロキシサーバーの利用を強制する目的は、トラフィックの軽減(キャッシュの有効活用)、監査(アクセス先のログを記録)が主となるでしょう。特に後者はなにか問題が起きた時に、どの端末から問題行動をとったかが一目瞭然となります。もちろん多段串という手も有りますので、社内でも悪用する悪知恵を考えつく人は、他の社員のPCにプロキシとして動作するアプリを常駐させて踏み台にして痕跡を隠すという方法もあります。この手の目的を果たすには「オミトロン」が最も手軽だったと記憶しています。もちろんオミトロンはその様な目的で作られた訳ではありませんが。

つまり、どれだけ優れたアプリケーションで有っても、悪用できる余地があれば、それは悪意の有る人にとって有効な悪いツールにもなってしまう訳です。その最たる例は、どうしてもプロキシサーバーになってしまいます。

本来は、速度が遅いネットワークからのアクセスを中継して安定させてくれたり、キャッシュによるレスポンスの改善する等が目的のハズなのですが、やはりそれなりの端末数をかかえる企業や団体での利用でなければ、悪い方での利用が目立ってしまうのがプロキシの悲しい性なのかも知れません。

過去にはいちいちWebブラウザの接続設定に、Proxy経由で接続を設定し、Proxyサーバーのアドレスを静的に設定したりしていたものですが、最近はWebブラウザも高度になって、自動でプロキシサーバーの情報を取得してきて、活性のあるプロキシサーバーのみを有効にしてくれる便利なプラグインを装備したりすることが出来ます。ほぼオートマチックなので非常にお手軽です。

しかし、このお手軽さ故に、これからネットワーク的な事を学ぼうとする人達にとっては、ブラックボックス的なものとなってしまっていると強く感じます。ブラックボックス的な構造は、目的が果たせれば良いという考え方では合理的ですが、上手く事が運ばない時にはその原因を追跡することが出来ません。そこまで考える必要が無い様に作られているからです。

しかし、完璧なツール等あるはずがありません。かならず例外的な事は起こるものです。私もちょっとしたツール程度は自分でプログラミングして作りますが、完璧を求めていたらいつまでたっても終わりは無いのです。こだわって作ったとしても、とんでもなく肥大したアプリになってしまうと思います。それはナンセンスだと考えているので、私は自分が使うなら(理解しているので)ここは妥協して良いという部分を端折って作ります。それでも十分便利だから良いのです。

ネット上で手に入るツールの多くは非常に有用なものが多いです。プロキシ関係で言えば、FirefoxやGoogle Chromeで使用できるStelthyというプラグインもその一例です。しかしプラグインの挙動を全て把握しているのは、作者と、興味をもって解析をする極わずかな人に過ぎないと思います。私は単なるユーザーですがStelthyも完璧に作りこまれているという事はあり得ないハズです。

プロキシを活用するには、やはり自分の目で確認するという事が必要だと思います。私もStelthyを使うことがありますが、必ず診断サイトでプロキシサーバーの稼働状態をチェックしてから目的のアクセスを行います。(スマートフォンからアクセスすると更に理解が深まるでしょう)

診断くん
http://taruo.net/e/

アクセス先にはこちらがどう見えているのか?本当にプロキシサーバーは機能しているのか?(スルーしてるだけじゃないのか?)等を確認出来ます。プロキシサーバーを使う目的はそこにある訳ですから、プロキシサーバーを経由する効果が期待できるかどうかを確認するのは必須の手順だと私は思っています。

プロキシサーバーを使う目的や、プロキシサーバーの活性リストの取得までほとんどの情報が日本語で手に入るのが、大御所の「サイバーシンドローム」です。プロキシってなに?という方はまず読むべきですね。

CyberSyndrome – The Proxy Search Engine
http://www.cybersyndrome.net/

サイバーシンドロームはHTTPでプロキシサーバー情報を公開してくれているので、ちょっとしたスクリプト言語や、Windowsアプリを作ればプロキシサーバーリストの取得や、Webブラウザにプロキシを自動設定するスクリプト(JavaScripts)を作ることも可能だったりします。プロキシに関する情報が沢山あるかかせない情報サイトの一つだと思います。

最近はGETTER PROXYなんてのもあるんですね。今は使う必要は無いけど覚えて置こうっと。

ゲッタープロキシ|最新の匿名プロキシリストを無料公開中
http://www.getproxy.jp/

コメント

タイトルとURLをコピーしました