カテゴリー:匿名手法
プロキシーサーバーへの接続には成功しましたが、接続したプロキシーサーバーが匿名かどうかをチェクしなければなりません。
プロキシーサーバーは中継を行いますが、"ど"のような中継を行うかは設置した管理者の設定次第なので、利用しているユーザーのIPアドレスを接続先に通知するものがあります。匿名としては役に立ちませんが本来はこういった設定で使われるものです。
では、匿名プロキシーサーバーではないプロキシーサーバーの例を診断君で見てみましょう。

先ほどとなにかが違いますね。「判定」欄には「漏れ判定:1 箇所に漏れている疑いがあります。」と表示されています。よく見ると
HTTP_X_FORWARDED_FOR . 210.179.17.239
なんと、あなたがプロバイダから割り当てられたIPアドレスが表示されてます。

これは俗に「漏れプロキシー」と呼ばれるプロキシーサーバーで、匿名プロキシーサーバーではありません。
診断くんの判定でも「総合評価:D」自己主張の強い proxy です。キャッシュとしての能力に期待しましょう。」と匿名ではない事が指摘されています。
最初のプロキシーサーバーの判定が「総合評価:?(A 以上 or 生 IP。下記参照)疑惑 0%:proxy の兆候は全く見られません。」とは大違いです。
このように、ユーザーのIPアドレスを隠し、自身もプロキシーサーバーである兆候が全くないものを「完全匿名串(プロキシー)」と呼んでいます。英語圏では「Anonymous proxy」などと呼ばれます。
一般の方のプロバイダ契約は、ADSLや光などのブロードバンド回線と、モデムによるダイアルアップに大別されます。
どの契約方法でも接続する際割り当てられるIPアドレスは12桁の数字で、1つの番号部分は "0~255" のいずれかとなります。その為、全部で43億個しかありません。インターネットに接続されているPCは、それぞれ違ったIPアドレスが割り振られますので、自ずと割り振りに限度があり、プロバイダ一社が全てを占有しているわけではありませんので、プロバイダはサービスのために確保したIPアドレスを使い回しています。
つまり同じプロバイダに加入しているユーザーAに一度割り振られたIPアドレスは、ユーザーAが使用しなくなると新たに接続を開始したユーザーBに割り当てられます。
誤って、IPアドレスが公開される掲示板などに書き込んでしまった場合、気持ちが悪いからIPアドレスを変更したいと思った場合、一度接続を切り、再度接続すれば前回とは違うIPアドレスが割り振られるはずです。
実際、モデムによるダイアルアップや以前普及していたISDN回線の時代はそのように再接続の度に変わりました。
しかし、ADSLや光などのブロードバンド回線は勝手が違います。
常時接続が前提となっているため、プロバイダはユーザーの接続が一瞬切れても切れる前に使用されていたIPアドレスをデータベースに記録しておりもう一度割り振ってきます。
少々時間を置いても結果は同じです。
これは、ブロードバンド回線の増加に伴いプロバイダ側が多くのIPアドレスを確保し、ユーザー一人につき一つのIPアドレスを割り当てる状況に近くなってきたということです。しかし固定IP契約とは違いますので長い期間の間には変わるのも事実です。
ブロードバンド契約の場合プロバイダでは、あるユーザに一度割り当てたIPアドレスをデータベースに記録してある程度保持しています。その期間は短くて数分、長い場合では10日以上です。
この期間は、接続が一旦切れてもまた同じIPアドレスを割り振ってきます。
この期間を過ぎると、他のユーザが使用可能となりますが、使用されないままになっているとまた同じIPアドレスを割り振ってくるプロバイダもあります。YahooBBなどは半固定と言われるほど変化しません。
将来的にはこの傾向は更に高くなり、変わらない保証がないだけの事実上固定IPアドレスといった状態になるかも知れません。自宅サーバを運用する方には朗報ですが、通常のブラウジングだけの方には別の危険が高まる状態とも言えます。
このような形になっているために、匿名プロキシーの需要が増えている側面もあるのです。
匿名と呼ばれることが多いプロキシーサーバーですが、所詮中継に過ぎませんので原理的には逆に辿れば、必ずあなたに到達することになります。
それでは意味がないと考えるのは正解で、追ってくる相手が司直であった場合は高確率で突き止められる事になります。
しかし、プロキシーと判明しそこまで追ってくる段階の前にプロキシーサーバーからログが消えていたり、またプロキシーサーバーが海外であったりした場合は、照会するのも一苦労となります。
個人で追うにはかなり大変な作業となりますし、中東のイスラム圏の国だったりすると照会メール一本作成するだけでも日が暮れてしまうでしょう。
このように、時間稼ぎと司直が本気で追ってこないような場面で使うのが本来であり、犯罪行為の隠蔽まで完全に出来るものではありません。
それでも、追跡が困難になることは間違いないので、荒らしや自作自演者はプロキシーサーバーを使用するのです。
筆者が以前に、問い合わせた時の経験で言えば、プロクシーサーバーの開設者が個人であった場合は比較的簡単に接続元のIPアドレスを教えて頂けましたが、それでも返信を頂ける割合は2割前後でした。これはアメリカのサーバーでしたのでまだ比較的優しい英文メールでよかったのですが、他の言語圏ではお手上げです。
プロキシーサーバーを利用する場合に最も簡単なブラウザに設定する方法をご紹介しました。
初めてプロキシーサーバーを使った感想はいかがでしょうか。
なにか違和感を感じたと思います。
そうですプロキシーサーバーを経由するとページの表示が遅くなるというデメリットがあるのです。
国内のサイトを閲覧するのに、海外のプロキシーサーバーを経由するわけですから単純に伝送距離は途方もなく長くなっているのであり、到達するまでに経る機器の数も増えていますのでレスポンスが低下するのは避けられません。
当初は反応の早いプロキシーサーバーでも使用するユーザーが増えれば更に速度が低下していきます。
いくら自身の回線が高速でもボトルネックがプロキシーサーバーになるので快適なブラウジングというわけにはいきません。
また、使っている内に突然サーバーの設定が変わりプロキシーサーバーとして使用できなくなるケースもままあります。
さて、こういった場合に、なるべく快適に使用するにはどうしたらよいのでしょうか。
理想的には、常に高速なプロキシーサーバーを選択し使用し続け、使用できなくなったプロキシーサーバーなどはスキップしてくれるようなチェンジャーがあればよいことになります。
・MultiProxy を利用する。
プロキシーサーバー切り替えツール。複数のプロキシーサーバーをランダムに使ったり、反応速度の速い順に使用したり、またプロキシーサーバの使用可否をチェックしたりと機能は多彩。
特筆すべきポイントは、使用不可になっているプロキシーサーバに当たっても設定時間を超えて反応がなければ試行を中止し次のプロキシーに動作を移していく際のレスポンスが良好である。後述するProxomitronと併用すると、ブラウザから送出されるhttpヘッダーを書き換え、尚かつ複数のプロキシーも切り替えながらブラウズが可能となる。
・Home of MultiProxy and Anonymous proxy list
http://www.multiproxy.org/
日本語化パッチ配布サイト
http://www7.plala.or.jp/miyake/patch.html
p2などと同様、ホスティングサービスに設置するタイプのプロキシーである。公開されている場合もあるが大抵は荒らしに使われた後で使い物にならない場合が多いので、自分専用のプロキシーを立てることをお奨めする。
PerlやPHPで記述されており、以前は仲介する事に徹しているものが多かったが、クッキーを渡すか、リファラを渡すかなどを任意に選べるスクリプトもある。
・CGIProxy
http://www.jmarshall.com/tools/cgiproxy/
1ファイルのスクリプトで動作する。設置が最も簡単で、他のWEBサーバーと通信するSoketさえ使用可能であれば動作する。
スタートページにURLを入れてブラウズをスタートする。読み込まれたページのリンクは全てこのスクリプトが経由でアクセスするように書き換えるので、後は通常のWEBブラウズと同様にページ内のリンクを辿って行くことができる。
匿名性を高めるためのリファラ、とクッキーの送出をオンオフでき、JavaScript、バナー、などのオンオフも可能になっている。
サーバーがSSLに対応していればSSLページの閲覧も可能。殆どの掲示板の読み書きが出来る。
スタートページ

表示例

・WebProxy
http://www.age.jp/~lunar/lunar-night.lab/jump-dl_webproxy/lang-ja
国産Perlプロキシーの先駆け、WebProxyとブラウザとの通信をDES暗号化したりと匿名性の高い高機能なスクリプトだ。
ブラウズに関してはURLの書き換え判定で一部難がみられるが匿名性の点では最も評価が高く、FTPプロキシーとしても動作する美点は他にはないものだ。殆どの掲示板の読み書きが出来るが、URLの書き換え判定で一部書き込めない掲示板がある。

WebProxy2(国産)
http://www.age.jp/~lunar/lunar-night.lab/jump-dl_webproxy2/lang-ja
クライアントモジュールとしてローカルプロキシーを動作させ、サーバーに設置したPerlプロキシーと通信する。
その為、ブラウザにプロキシーアドレスを設置場合と同じように、通常のWEBブラウジングと同じ感覚で使用できる。
ローカルPC上で動作させるクライアントモジュールはJAVA版とWindows版の2つが使用でき、プOSラットフォームを選ばない。
また他のCGIプロキシーと比較して、URLの書き換えなどhtmlの解析を行わないので動作は軽快である。
但し、筆者の環境では読み込むページによってローカルPC側のCPUが時々高負荷となる場面があった。
殆どの掲示板の読み書きが出来る。

こちらも1ファイルで動作する。PHPのSocketが動作するサーバであれば動作する。
リファラは設定ページで最初に入力したものが有効なので、リファラチェックを厳密に行っているページなどでは支障が出る。
リファラチェックをおこなっている掲示板には書き込めない等の支障が出る。

しかしまだ問題あります、ブラウザのバージョンやOSの種類、どこからやって来たのかを示すリファラなどを隠すにはどうしたらよいのでしょう。出来れば悪質なページからも身を守りたいといった場合は。
この機能はProxomitronが対応しています。
・リファラを操作する
・Proxomitronを立ち上げ、「ヘッダ」ボタンをクリック、HTTPヘッダ・フィルタ設定画面に入ります。
・「Referer: Hide where we've been (Out)」を探しチェックします。(デフォルトでチェックが入っています)置換するテキストの項に「\u」と記入されていますが、これはクリックして要求するページと同じURLをリファラにセットするという意味です。空欄にすればなにも送りませんが、サイトによっては何も送ってこない場合にアクセスを拒否するサーバーがありますのでデフォルトのままでよいでしょう。
・「OK」を押してオプション画面を終了します。

・ユーザーエージェント(ブラウザやOSのバージョン)を操作する
・Proxomitronを立ち上げ、「ヘッダ」ボタンをクリック、HTTPヘッダ・フィルタ設定画面に入ります。
・User-Agent~~で始まる行を探します。「ヘッダ」欄には以下の設定が並んでいます。
User-Agent: Netscape BEOS (out)
User-Agent: Netscape Linux (out)
Mozilla/3.01Gold (Macintosh; I; 68K)
Opera/5.02 (Windows 98; U) [en]
Space Bison/0.02 [fu] (Win67; X; SK)
上記の中から任意の設定をチェックします。置換するテキストの項にそれぞれ書かれているだけですので、他の設定も任意に増やすことができます。空欄にすればなにも送りませんが。
・「OK」を押してオプション画面を終了します。

インターネットに接続する際に、情報の届け先を決めるためにプロバイダはある特定の識別番号を接続したあなたのPCに割り当てます。これがIPアドレスです(IPはインターネットプロトコルの略です。プロトコルとはその通信方法です)
IPアドレスはドットで区切った12桁の数字"123.456.789.012"で重複することはありません。
しかし、"123.456.789.012"では電話番号のようで扱いにくいので、IPアドレスに対応した文字列名を割り当てます。この名前がリモートホストです。
IPアドレスとリモートホストは1:1で対応しており、この相互変換する仕組みをDNS(Domain Name System)と呼んでいます。
厳密には異なりますが、識別するための情報として電話番号か住所かという違いと考えてもいいでしょう。
インターネット上の情報は、情報にこのIPアドレスという番号を荷札をとしてつけて送っています。サーバーはこの番号を見て仕分けを行っています。
このIPアドレスは国内においては社団法人日本ネットワークインフォメーションセンター(JPNIC)が管理してます。
実際に、IPアドレスに対応したリモートホスト名は"eaca0130kanagawa.sample.ne.jp"と言った命名になっており、一部地名が表示されるプロバイダ、また企業等でしたら、"xxxx.co.jp"といった企業名になっていることがほとんどです。
ここまででおわかりのように、一意の識別番号ですから、これが知られると言うことは、インターネット上のPCの位置がわかり、契約プロバイダや会社名が判明するということなので、その先にある個人や組織の特定に役立つ情報と言えます。
その先と申しましたが、リモートホストが知られたからと言って、それだけで判明するのは上記程度ですから、個人情報が知られるわけではありません。
しかし、この程度の所在地情報や、企業名程度とはいえ判明しますし、犯罪事件などの際は、このIPアドレス、リモートホストを元に捜査などが行われ、プロバイダに契約者情報の開示を行わせる事もありますので、個人情報に直結した情報ともいえます。
実際にプロキシーサーバーを利用してみましょう。
まず、プロキシーサーバのアドレスを入手しなければなりません。
プロキシーサーバーは様々なところで公開されています。
国内、海外で公開しているサイトを紹介しておきます
~プロキシーリストサイト~
CyberSyndrome - The Proxy Search Engine
http://www.cybersyndrome.net/
PROXY List: Free Anonymous Public Proxy server, Hide IP Address, Online Privacy
http://www.proxyblind.org/
The Best Proxy and Socks List ever - Proxy, Socks4, Socks5 - www.proxy-web.com
http://www.proxy-web.com/
Xroxy.Com - Fresh HTTP Proxy Lists
http://www.xroxy.com/
Public Proxy Servers
http://www.publicproxyservers.com/index.html
Links
http://www.proxylist.com.ru/links.html
Proxy list ~ Fresh Proxies ~
http://www.proxylist.blogspot.com/
PROXY lists
http://www.samair.ru/proxy/
Proxy 4 free - Free Public Proxy Servers: Home
http://www.proxy4free.com/index.html
MRP Proxylist
http://proxylist.sakura.ne.jp/
Proxy Lists
http://www.proxy-list.net/
上記のサイトで「Proxy list」等と表示されているページを表示すると
以下のようなリストが掲載されています。この一つ一つがそれぞれプロキシーサーバーのアドレスです。
書式は「xxxx.xxxx.xxxx.xxxx:8080」といった表記がされています。末尾の「8080」といった数字は、ポート番号です。ポート番号とはそのPCの接続窓口を表しており、通常のWEBサーバーなら80です。
プロキシーサーバーは主に「8080」ポートが使われますが、変則的に別の番号が使われている場合もあります。
220.228.23.7:8080
content.idc.tfn.net.tw:8080
61.194.203.34:3128
219.166.101.118:3128
casper.gimasystem.jp:8080
58.20.97.19:808
brf-ce07-g2-0.tm.net.my:553
207.30.229.130:8002
203.115.25.135:8080
203.172.179.36:8080
実際にプロキシーサーバーを利用してみましょう。
普段使っている、ブラウザに設定する方法を解説します。
---Internet Explorerに設定する
・「ツール」-「インターネットオプション」-「接続」-タブを選択します

・「LANの設定」ボタンをクリックします
・プロキシーサーバーの項をチェックします
・アドレスの欄に先ほどプロキシーリストサイトより取得したアドレスとポート番号を入力します。

・以上で設定は終了です。[OK]ボタンを押しブラウザの通常画面に戻ります。
・接続できているか、チェックしてみましょう。以下のサイトのどれかにアクセスして見て下さい。
これらのサイトは、接続してきたユーザーの環境変数を表示してくれます。
・診断君(http://www.taruo.net/e/?)
・確認君(http://www.ugtop.com/spill.shtml)
・REMOTE_HOST 、REMOTE_ADDR 現在接続している場所(現IP)等と書かれている所に、先ほど設定したプロキシーサーバーのアドレスが表示されていれば接続成功です。あなたは今、表示されているアドレスのプロキシーサーバーを経由してアクセスできています。
