環境変数&プロキシ講座

プロキシとは?

プロキシとは、HTTPアクセスを代行するシステムの総称である。現在インターネット上ではいくつかの理由から広く使われている。

アクセス効率を上げるため。
プロキシには以前アクセスしたホームページを蓄積し、再度のアクセス要求に対して実際にそのホームページがあるサーバにアクセスするのではなくて、手持ちのホームページを返す機能がある。これを一般に「キャッシュ」と呼ぶ。インターネットの混雑緩和に有効である。このタイプのプロキシサービスはほとんどHTTPに関するもののみの場合が多い。

ファイアウォールを越えるため。
セキュリティ上の配慮から、LAN内部とインターネットの接続を認めないLANの設定がある。これをファイアウォールと呼ぶ。しかし、LAN内部からインターネット上での情報が得られないのは困るので、LAN内部からはLANとインターネットの境界上にある特定のマシンに接続し、このマシンに自分の代わりにインターネット上でのアクセスを代行してもらうやり方がある。これもプロキシの重要な機能の一つである。このタイプのプロキシサービスは、HTTPだけではなくDNSやftp、電子メールでもよく採用される。

アクセス者の身元を隠す。
これが一番問題の多いプロキシの使われ方である。プロキシの設定によっては、本来設定されているユーザ情報がプロキシによって削除されてそれ以降に伝わらなくなることがある。これを悪用すると、身元不明のアクセスが可能になる。このタイプのプロキシを「匿名プロキシ(匿名串)」と呼ぶ。身元不明のアクセスをアタッカーに利用させるために悪意で設置されている匿名プロキシもインターネット上には数多く存在するが、管理者の能力不十分や無関心、多段階のプロキシ接続を経由する場合などに、結果として匿名となって、善意であっても存在するケースも多い。また、善意の匿名プロキシの場合は、そのLANからのアクセスしかできないことが多いので、比較的問題が少ない場合も多い。

知らなくて困る人もいるだろうから、プロキシ越しにLAN内部からアクセスする方法を述べておこう。要するに、ブラウザなどで「プロキシの設定」をすると、次のようなHTTPプロトコルが発行されるのである。

% telnet proxy.mydomain.ac.jp 80
Trying 192.168.99.99...
Connected to localhost.
Escape character is '^]'.
GET http://target.domain.co.jp HTTP/1.0

HTTP/1.1 200 OK
Date: Tue, 18 Feb 2003 18:34:27 GMT
..........(レスポンス)
Connection closed by foreign host.

プロキシを介さない場合には、当然次のように発行する。

% telnet target.domain.co.jp 80
Trying 133.36.34.145
Connected to localhost.
Escape character is '^]'.
GET / HTTP/1.0

HTTP/1.1 200 OK
Date: Tue, 18 Feb 2003 18:34:27 GMT
..........(レスポンス)
Connection closed by foreign host.

要するに、

のがポイントである。



copyright by K.Sugiura, 1996-2006