運用 Windows 2000 LAN防衛術
ファイアウォール・アーキテクチャとISA Server(第2回)

1.ISA Serverのファイアウォール機能(1)

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


ISA Serverのファイアウォール機能

 ファイアウォール機能では、ISA Serverマシンに出入りするパケットをすべてチェックし、IPアドレスやポート番号、ドメイン名、ユーザー情報などに基づいてパケットの通過や拒否をすべて制御する。必要ならばより上位のプロトコル・レベルでもその内容をチェックし、そのまま通過させるか、それともブロック(拒否)するかを判断している。これはISAサーバ・マシン上にあるWeb Proxyサービスなどへ送られるパケットだけでなく、2つのネットワーク・インターフェイス間をNATで変換されて通過するパケットや、ルーティングによってIPフォワードされるパケットなど、すべてのネットワーク・トラフィックに適用される。さらに不正なクラッキング動作なども検出して(連続してポートをスキャンするアタック動作など)、それらを防ぐ機能も備えている。

 ISA Serverで特徴的な機能として、透過的なWeb Proxyサービスが利用できる。通常のWeb Proxyクライアントでは、WebブラウザのProxy設定欄にProxyサーバのIPアドレスやポート番号などを指定する必要があるのだが(図中の左上にある「Web Proxyクライアント」)、そのような設定を行っていないクライアントでも、Proxyサービスを受けることができる。図の一番下にある「SecureNATクライアント」や「ファイアウォール・クライアント」(この2つの違いについてはすぐ後で述べる)から見ると、ISA Serverは単なるルータにしか見えないが、そこを通るパケットは「HTTPリダイレクタ」が監視していて、HTTPプロトコルであることが分かると、Web Proxyサービスの方へ振り向けるのである。これにより、クライアント側での設定がなくても、Web Proxyサービスを利用することができる。この機能は、クライアントの設定の手間が少なくて済むだけでなく、組織内のクライアントのすべてのWebアクセスをISA Serverで一元管理できるという大きな意味もある。つまり、組織のポリシーに基づいて、Webアクセスの制御(ある特定のサイトへのアクセスは禁止する、など)が可能になるのである。Web Proxyを使ってインターネットへのアクセス回線の帯域を節約したり、アクセス制御などを行ったりするためには、すべてのクライアント・マシンのWeb Proxy設定をもれなく行う必要があるが、ISA Serverの透過型Web Proxyサービスを使えばこれを簡単に実現することができる。

ISA Serverクライアントの種類

 ISA Serverを利用するクライアントには、先の図のように、「Web Proxyクライアント」と「SecureNATクライアント」、「ファイアウォール・クライアント」の3種類がある。これは、ファイアウォールにおける以下の3種類の代表的なアーキテクチャに基づいている。

OSI階層
ファイアウォール・アーキテクチャ
ISA Serverにおける機能
第7層 アプリケーション層
アプリケーション・ゲートウェイ
Web Proxyなど
第6層 プレゼンテーション層
第5層 セッション層
第4層 トランスポート層
サーキットレベル・ゲートウェイ
ファイアウォール・クライアント
第3層 ネットワーク層
パケット・フィルタ
SecureNAT
第2層 データリンク層
第1層 物理層
ファイアウォールの種類とISA Serverの機能
ファイアウォールのアーキテクチャとしては、大きく分けてこの3つがある。それぞれOSI参照モデルでいうと、パケットのレベルや仮想回線のレベル、アプリケーションのレベルで通信を中継したり、ブロックしたりしている。OSI参照モデルについては、連載「詳説 TCP/IPプロトコル」の「第3回 OSI参照モデル」などを参照のこと。

 ファイアウォールとは、非常におおざっぱな言い方をすると、あるポリシー(ルール)に基づいて特定の通信を許可したり、拒否したりする機能であるが、この場合、どのような規則に基づいて通信を制御するかについてはさまざまな方式が考えられる。一般的には、上記のように、通信の階層レベルに応じて3つに分けて考えることができる。

 ISA Serverにおける3種類のクライアントは、それぞれこの3種類の分類に応じて用意されており、ユーザーの要求に応じたさまざまなファイアウォール構成を構築できるようにしている。

クライアントの種類 機能
Web Proxyクライアント アプリケーション層レベルで通信内容を解釈し、制御する。主にWebで使われるHTTP/FTP/Gopherのキャッシング機能、URLやドメイン名などに基づいたアクセス制御を行う。Webページの先読み(事前ダウンロード)による応答性の向上や、複数台のISA Serverを連携させて大規模なキャッシング・システムを構築したり、耐障害性を向上させたりすることができる。ただしWeb以外では、メール(SMTP、POP)やH.323など限られたプロトコルしかサポートされていない(SDKを使ってユーザーやサードパーティが拡張することも可能)。
SecureNATクライアント セキュリティ機能を強化したNAT(IPマスカレード)。ISA Serverによって解釈できないプロトコルを使った通信は、すべてこのSecureNATによって処理され、インターネット側と通信が行われる。基本的にはIPアドレスとポート番号の置き換えが行われるだけであるが(ローカルIPアドレスからグローバルIPアドレスへの変換)、これだけではうまく動作しないプロトコルについては、NATエディタ(通信内容を解釈して、不整合のないようにパケットの内容を書き換える機能)を使ってサポートする。しかしNATエディタが利用できない場合は、うまく通信ができないようなアプリケーションもある。
ファイアウォール・クライアント TCPやUDPのレベルで通信を中継、制御する。原理的には、クライアント・アプリケーションから発行された通信要求を、ISA Server上で代理発行するような形で動作する。サポートできるプロトコルやアプリケーションはNATよりも制約が少ない。ただし非常に特殊なプロトコルを使ったアプリケーションや、標準的な通信呼び出しをバイパスするようなアプリケーションでは動作しない場合もある。
ISA Serverにおける3種類のクライアントの概要
ISA Serverでは、ファイアウォールのアーキテクチャ分類に応じて、以上の3種類のクライアントが利用できる。

Web Proxyクライアント

 Web Proxyクライアントは、ISA ServerのWeb Proxy機能だけを利用するクライアントであり、インターネットへのアクセスを一本化して高速化するために利用される。この機能は一般的には「アプリケーション・ゲートウェイ(application gateway)」とも呼ばれ、HTTPやGopher、FTPといったアプリケーション層レベルで通信の内容を中継する。HTTPやFTPを使ってやりとりされるデータやファイルの内容を解釈することができるため、例えばファイル単位で(有効期限を設けて)キャッシュしたり、HTTPのURLの内容に基づいてアクセス制御を行ったりする、などの高度な機能が利用できるという特徴がある。

 またWindowsクライアントだけでなく、Webアクセスを行うクライアント・マシン(MacintoshやUNIXマシンなども含む)は、すべてがその恩恵を受けることができる。

 ISA ServerのWeb Proxyでは、単に1台のマシンでProxy機能を提供するだけでなく、複数台のISA Serverを組み合わせて「アレイ構成」にしたり、冗長構成のシステムを構築して性能の向上や耐障害性を向上させたりすることもできる。

SecureNATクライアント

 SecureNATクライアントは、ISA Serverが提供するNAT機能(ここでいうNATとはポート番号の変換まで含んだ、IPマスカレード機能を指すことにする)だけを利用するクライアントのことである。これはファイアウォールのアーキテクチャ的に見ると「パケット・フィルタ」に分類され、一般的には(OSI参照モデルでいうところの)ネットワーク層レベルでパケットの通過を制御する機能のことを指す。機能的には、一般のダイヤルアップルータなどが備えているNAT/IPマスカレード機能と同様であり、ネットワーク上のクライアントから送信されたパケットをISA Server自身が書き換えて、インターネット側へ送信する、というふうに動作する。

 SecureNATを利用するクライアントは内部ネットワークのLAN上に設置されるが、デフォルト・ゲートウェイをISA Serverに向ける以外には、クライアント側では何も特別な設定を行う必要はない。このマシンからインターネット上のサービス(Webサーバやメール・サーバなど)へ接続を試みると、そのパケットはデフォルト・ゲートウェイとなっているISA Serverへ送られ、ルーティング処理が行われる。この場合、送信されたパケットのIPアドレス・フィールドは、送信元がローカルのLAN上のIPアドレスになっているが、これではインターネットへ向けて送信することはできない。そこで必要になってくるのがNAT機能である。パケットの中に含まれるローカルIPアドレスをISA Serverに付けられたグローバルIPアドレスに書き換え、必要ならばさらにより上位のパケット中のデータも書き換えて、インターネット側へパケットを送出する。このような処理により、ローカルIPアドレスしか持たない複数のクライアントが同時にインターネットへアクセスできるようになる。

 SecureNATという呼び方は、単なるNATだけではなく、ISA Serverに用意されているさまざまなアクセス制御機能を使って、セキュリティ機能が強化されているところから付けられた名前である。


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


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間