ファイアウォールって何?
目次
ファイアウォールとは
ファイアウォールとは、企業におけるセキュリティポリシーを実装し、セキュリティを向上させるシステム全体をさしています。ファイアウォールというと専用の製品を思い浮かべがちですが、必ずしも専用の製品を利用するというわけではありません。専用のアプライアンス型の製品もあれば、ルータをファイアウォールとすることもできますし、サーバにソフトウェアをインストールすることによってファイアウォールにすることも可能です。また、ファイアウォールは1台の機器とは限りません。ルータやサーバを組み合わせてファイアウォールを構成することもあります。
ファイアウォールの基本的なコンセプトは、セキュリティポリシーを実装し、「信頼できるネットワーク」と「信頼できないネットワーク」の境界において、ネットワークのセキュリティを守ることです。信頼できるネットワークとは社内のプライベートネットワークを指し、信頼できないネットワークとはインターネットを指しています。
ファイアウォールの機能
ファイアウォールは、以下のような機能を組み合わせることによってセキュリティポリシーを実装し、セキュリティを向上させます。
- アクセス制御
ファイアウォールの最も基本的な機能で、不正なパケットをフィルタリングします。 - アドレス変換
内部ネットワークのアドレスを隠蔽することができます。 - 監査
ユーザの行動や転送するパケットのログを取得し、ネットワークの利用状況を分析します。
このようなさまざまな機能を利用して、トータルにセキュリティを確保するシステムがファイアウォールです。3つの機能のうち、中心となるアクセス制御には、さらにパケットフィルタリングとアプリケーションゲートウェイ、ステートフルインスペクションがあります。以降で、これらアクセス制御機能について詳細に解説します。
パケットフィルタリング
パケットフィルタリングは、ファイアウォールを通過するIPパケットの内容を調査して正規のパケットのみを通過させ、不正なパケットは破棄する機能です。パケットフィルタリングが最も一般的なファイアウォールのアクセス制御機能といえます。IPパケットの通過の判断は、IPヘッダやTCP/UDPヘッダといったネットワーク層、トランスポート層の情報に基づいて行われます。
パケットフィルタリングの設定としては、インターネットからWebサーバへのHTTPやメールサーバへのSMTP、DNSサーバへのDNSリクエストを通過させて、それ以外のパケットはすべて拒否するというように、インターネットに公開するサーバにあわせて、ポートをあけておくように設定します。
パケットフィルタリングには、以上のようなIPパケットの通過の判断をあらかじめスタティックに決めておくだけでなく、ダイナミックにファイアウォールを通過させることができるダイナミックパケットフィルタリングもあります。ダイナミックパケットフィルタリングでは、内部ネットワークのクライアントからインターネット上のサーバへのIPパケットをチェックして、そのIPパケットの戻りとなるIPパケットのみを許可する条件を自動的にファイアウォールに設定することができます。スタティックなパケットフィルタリングと比較すると、ダイナミックパケットフィルタリングはより柔軟でより高いセキュリティを実現することができます。
アプリケーションゲートウェイ
パケットフィルタリングは、ヘッダ情報のみでパケットの通過を判断します。アプリケーションのデータの中身まではチェックしていません。そのため、アプリケーションのデータに不正な攻撃コマンドが含まれているパケットは、パケットフィルタリングでは防ぐことができません。
こうした不正なアプリケーションのデータを用いた攻撃を防ぐために、アプリケーションゲートウェイによって、アプリケーションのデータをチェックします。アプリケーションのデータが複数のパケットに分割されている場合は、アプリケーションゲートウェイはそのパケットをつなぎ合わせて、データの中身をチェックしています。データをすべて組み立てるので、詳細なログを取ることも可能です。
ただし、アプリケーションプロトコルごとにゲートウェイプログラムが必要で、パケットフィルタリングよりも処理負荷が大きくなってしまいます。
ステートフルインスペクション
ステートフルインスペクションはチェックポイントソフトウェアテクノロジーズ社が開発した技術です。ダイナミックパケットフィルタリングを発展させたものです。ファイアウォールを通過するパケットのIPやTCP/UDPヘッダだけでなくアプリケーションのデータも確認して、アプリケーションの通信状態をダイナミックステートテーブルというデータベースに記録し、このダイナミックステートテーブルに基づいて高速にパケットの通過の可否を判断します。
ただし、ステートフルインスペクションではアプリケーションゲートウェイのようにパケットを完全なデータとして扱うわけではありません。そのため、ウィルスなど1つのデータとしてネットワークに悪影響を与える攻撃には対応することができません。そこで、ステートフルインスペクションとアプリケーションゲートウェイを組み合わせて利用することも多くなっています。
ファイアウォールの限界
ファイアウォールを導入したネットワークにおいて、このようなセリフがしばしば聞かれます。
「ファイアウォールを導入したから、もうセキュリティ対策は万全だ」
と。しかし、これは大きな誤解です。ファイアウォールを導入したからといって、それだけでセキュリティ対策が万全だということはありえません。ファイアウォールには、機能上の限界があります。
たとえば、ファイウォールではDoS(Dinal of Service)攻撃を防ぐことはできません。Dos攻撃とは、サーバやルータなどに大量のデータを送信して、サーバやルータが正常に動作できないようにし、サービスの停止を引き起こすことです。DoS攻撃に利用されるデータは、UDPデータグラムやTCPのコネクション確立のSYNフラグが立っているセグメントなどです。これらは、ファイアウォールで許可されているポート番号であれば、正規のパケットとみなされてしまい、ファイアウォールで通過を拒否することができないのです。また、基本的にファイアウォールはインターネットから内部のネットワークを保護することが主な目的です。ですから、内部のネットワークの中での不正アクセスを防止することができません。このような不正アクセスに対処するためには、ファイアウォールだけでなくIDS(Intrusion Detection System)などを追加します。
このように、ファイアウォールだけでは、セキュリティ対策は万全というわけではないので、ファイアウォールも含めたトータルでのネットワークセキュリティを考えていくことが重要です。
より高速なネットワークに対応するために
現在、ネットワークの速度はどんどん高速化しています。LANでは、ギガビットイーサネットが普及しつつあります。また、WANでもIP-VPNや広域イーサネットなどの高速なWANサービスやFTTH、ADSLなどのブロードバンド回線の普及が著しくなっています。
そのため、このようなネットワークの高速化に対応して、ファイアウォールにも高速化のニーズが増えてきています。高速化に対応するためには、専用のアプライアンス型製品を用いることが多くなっています。また、最近の企業向けの大規模なシャーシ型スイッチでは、スイッチにファイアウォール機能を提供するモジュールを挿入することによって、高速なファイアウォールとして利用することができます。