図2 プロキシ・サーバーの役割
「プロキシ」とは「代理」の意味。プロキシ・サーバーはクライアントからの接続要求を受け取って,クライアントの代わりに目的のサーバーへアクセスしたり,自分の持っているデータを返答する。この代理応答機能をファイアウォール(セキュリティの確保)やキャッシュ・サーバー(Webアクセスの高速化)として使う。

セキュリティとキャッシュで威力

 次に,プロキシ・サーバーの「代理応答する」という働きが,どのような場面で活用されているかを考えてみよう。活躍の場面は一つではなく,複数ある(図2[拡大表示])。

 一つは,セキュリティを確保するために使う。プロキシ・サーバーを経由すると,実際にWebサーバーへアクセスするのはプロキシ・サーバーとなり,Webサーバーがデータを返信する相手はクライアントではなくプロキシ・サーバーになる。つまり,Webサーバーから見ると,プロキシ・サーバーがアクセスしてきたように見え,クライアントの姿は見えない。インターネットから社内クライアントを隠ぺいできるのである。ファイアウォール製品の中には,このプロキシの特徴を備えたものもある。

 二つ目は,Webサーバーのデータをクライアントの近くに一定期間保存しておくキャッシュとしての役割である。それは,一度アクセスしたWebページのデータは,プロキシ・サーバーがローカルのハードディスクなどに保持しておく。そして,再度クライアントがそのデータを要求したときには,プロキシ・サーバーが保持するデータを返信する。こうすれば,クライアントへの応答が速くなるし,プロキシ・サーバーから先へ出ていくトラフィックも削減できる。

 三つ目は,IPアドレスを効率的に利用するために使う。複数のクライアントがインターネットへ直接アクセスできるようにするには,その数だけのグローバルIPアドレスが必要である。プロキシ・サーバーを使えば,複数のクライアントの要求を代行して処理できる。つまり,実際にインターネットへアクセスするのはプロキシ・サーバーだけなので,用意するグローバルIPアドレスは一つだけで済む。

 これは,SOHOルーターなどに搭載されているIPアドレス変換機能と似た使い方である。ただ,SOHOルーターは,IPパケットのあて先や送信元のIPアドレス(あるいはポート番号)を機械的につけ替えるだけだ。これに対して,プロキシ・サーバーはIPパケット内のデータを読み出して内容を理解してから,その内容に合わせてIPパケットを送信する。

 とくに今はキャッシュ・サーバーとしての利用が多いようだ。インターネットからの不正アクセスを防御するためには,よりセキュリティに特化したファイアウォール製品に任せる。そしてプロキシ・サーバーをファイアウォールの内側(社内LAN側)に設置し,ファイアウォールを通過できるのは,プロキシ・サーバーだけに設定しておく。こうしておけば,ファイアウォールは,プロキシ・サーバーからのアクセスだけを受け付ければよいので,ファイアウォールの保守・管理が楽になる。