運用

Windows 2000 LAN防衛術
ISA Server 2000によるWeb Proxy&ファイアウォール実践構築テクニック

第2回 ファイアウォール・アーキテクチャとISA Server

デジタルアドバンテージ
2001/09/15


ISA Serverのアーキテクチャについて

 前回はMicrosoft Internet Security and Acceleration Server 2000(以下ISA Serverと省略)のインストールと最小限の設定だけを行った。これだけでもNATによるインターネットアクセスや、WebのProxy/キャッシング機能は利用できるのだが、より踏み込んで活用するためには、その内部的なアーキテクチャから正しく理解しておく必要がある。今回は、ISA Serverの内部的なアーキテクチャと、サポートされている3種類のクライアントの種類についてみておこう。

ISA Serverのアーキテクチャ
ISA Serverは、ファイアウォール/NAT機能に、WebのProxy機能を組み合わせたものである。ISA Serverに入るパケットは必ず「パケット・フィルタ」でフィルタリングされてから、NATやWeb Proxyなどのサービスへ送られる。その後、やはりパケット・フィルタを通過して外部のインターネットなどへ送られることになる。それぞれのサービスに付属している「フィルタ」は(例「Webフィルタ」や「SMTP」フィルタなど)、各プロトコル固有の処理を行うために追加される機能。一般のパケットはファイアウォール・サービスで処理されるが、HTTP/FTPプロトコルについては、「HTTPリダイレクタ」によって特別にWeb Proxyサービスへとルーティングされ、キャッシングなどの処理が行われる。「Webフィルタ」は、HTTPプロトコルに固有な処理、例えば特定の有害なサイトへのアクセスを禁止するなどの機能を実現するためのアドオンであり、主にサードパーティから提供される。

 ISAサーバには、大きく分けて「Web Proxy機能」と「ファイアウォール機能」の2つがあり、それぞれが上図のように密接に結びついて機能している。

Web Proxy機能

 Web Proxy(Webキャッシング)機能とは、LAN上のクライアント・マシンからのHTTPGopherFTPのアクセス結果をキャッシュしておいて、インターネットへのアクセスを軽減させる機能である。あるユーザーがどこかのWebサイトへアクセスすれば、その結果をディスクにキャッシュしておいて、後で同じURLに対する要求がいずれかのユーザーからあれば、インターネットへアクセスすることなく、ディスクからのアクセスをもって代用するのである。これにより、インターネットへのアクセス回線の帯域幅を消費することなく、少ない帯域幅を有効に活用できるようになる。ただしこのWeb Proxy機能が有効に働くためには、ユーザーがアクセスする対象がなるべく同じもしくは似通っていること、および、キャッシュする対象がスタティックなコンテンツであること、という条件が必要である。

 最近では、CGIやサーバ・サイドでのファイルのインクルード処理などを使ってダイナミックにWebページを作るサイトも多いため、以前と比べるとキャッシュ可能なWebサイトやWebページも減ってきたが、それでもキャッシュの有無はネットワーク全体のトラフィックを抑えるためには非常に有効である。それに、ダイナミックなページであっても、タイトルや飾りなどでは固定的なバックグラウンド・イメージや画像などを使っていることが多く、これらにはキャッシュが有効に作用する。

 現実的なキャッシュのヒット率(アクセスしたコンテンツの割合に対して、ディスク・キャッシュ上のコンテンツが返される割合)はユーザーのアクセス傾向や利用状況などにもよるが、例えば弊社の例では下図のように50%弱になっている。総トラフィックやレポート期間によるが、平均するとこの値は30%〜50%程度になっている。50%ということは、インターネットとのトラフィックが最大で半分にまで軽減できたことを示している。実際には、オブジェクトの生存期間を問い合わせるためにインターネットへのアクセスが発生しているので、インターネットへのアクセスがまったくなくなるわけではないが、データの本体部分の転送がなくなるので、その効果は大きい。特に大きな画像や写真などが使われている場合は、すぐに表示されるようになるので、体感的な速度アップの効果も大きい。なお弊社では総ユーザー数はたった10数人程度なので、このような高いヒット率になっているが、ユーザー数がもっと多い組織では、もう少し低くなると思われる(各ユーザーのアクセスの多様性が増すため)。それでも30%とかそれ以上は維持できる場合が多いだろう。たとえヒット率が低くても、例えばWindows Updateのように、ある特定のプログラムなどを多くのユーザーがダウンロードするような場合にもキャッシュは有効に機能するので、導入しておくだけの価値はある。

Web Proxyにおけるキャッシュ・ヒット率の例
弊社で使用しているISA Serverにおける、Web Proxyのキャッシュのヒット率の例。比率は、トラフィックの量(Mbytes)に基づいている。ただしHTTPのヘッダ部分やTCP、IP、Ethernetのヘッダ部分などは含まない。の部分(47.5%)との部分(4.8%)は実際にインターネットへのアクセスが行われた部分。の部分(29.5%)との部分(18.2%)は、キャッシュからクライアントへ返された部分であり、この分だけ(合計47.7%)インターネットへのアクセスが軽減されたことになる。ユーザーが多ければアクセスするページが分散するので、もう少しこの値は低くなるだろう。
  ダイナミックなコンテンツ(オブジェクト)など、キャッシュが不可能なコンテンツ。アクセス要求があるたびにインターネット上のWeb/FTP/Gopherサーバから直接取得し、クライアントへ返されている。キャッシュ不可能なので、クライアントからの要求があるたびにインターネットへのアクセスが発生する。
  キャッシュ可能なオブジェクト。インターネットから取得したあと、キャッシュへ格納される。以後は、オブジェクトの期限内ならば、キャッシュから返されるので、インターネットへのアクセスは起こらない。
  キャッシュ上に存在するコンテンツをクライアントへ返したことを表す。オブジェクトの有効期限内なので、インターネットへはいっさいアクセスせずに、クライアントへ返されている。
  キャッシュ上のオブジェクトがまだ有効であるかどうか(期限内であるかどうか)を、インターネット上のサーバへ問い合わせ、その結果、まだ有効なので、キャッシュからオブジェクトを返している。HTTPのヘッダ部分しかないのでトラフィックは少ない。
 
 

 INDEX
  [運用]Windows 2000 LAN防衛術
第2回 ファイアウォール・アーキテクチャとISA Server
    1.ISA Serverのファイアウォール機能(1)
    2.ISA Serverのファイアウォール機能(2)
 
 運用


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間