ファイアウォールにはさまざまな種類があり、そのうちの1つがステートフルインスペクションです。
しかし、ステートフルインスペクションがどのようなものなのか、具体的に説明できない方も多いのではないでしょうか。そこで本記事ではステートフルインスペクションの特徴や、その仕組みを解説します。
ファイアウォールにはさまざまなタイプが存在し、その1つがパケットフィルタリング型です。通信を行う際にやり取りされるパケットを調べ、不正なアクセスでないか監視を行うのが、パケットフィルタリング型の特徴です。パケットフィルタリング型はさらに、以下の3種類に分けられます。
そのほかにも、混同しやすい言葉として「ステートフルフェールオーバー」が存在します。まずは、これら4種類の言葉の定義を確認していきましょう。
パケットフィルタリング型ファイアウォールの中でも、ステートフルインスペクションはパケットのコンテキスト(文脈)を参照することで、不正なアクセスを検出します。過去の通信履歴と照合しながら、対象のデータが正しい手順で送信されたかを見極めます。
このようにしてパケットの情報を監視し、ポートの開閉を動的に行うのがステートフルインスペクションの特徴です。正常なパケットはポートを開いて通信を許可し、過去の通信履歴と矛盾しているものはポートを閉めて遮断します。
ダイナミックパケットフィルタリングもパケットフィルタリング型の1つです。このタイプのファイアウォールでは、通信を行った際に一時的な形でフィルタリングルールが作成されます。AからBへアクセスがあったら、BからAへのアクセスも許可する、といった具合に動的にルールを形成するのがダイナミックパケットフィルタリングです。
作成されたフィルタリングルールは通信が終わるまでは維持されますが、これはあくまでも一時的なものです。通信が終われば、フィルタリングルールは破棄されます。
スタティックパケットフィルタリングは、やり取りされるパケットのヘッダを監視するタイプのものです。通信を行う際、データの先頭には送信元や宛先のアドレス、ポート番号などが記されています。スタティックパケットフィルタリングでは、パケットのヘッダにあるこれらの情報を参照します。
なお、パケットのコンテキストを参照するステートフルインスペクションと違って、スタティックパケットフィルタリングではパケットのヘッダしか監視しません。パケットの情報を詳細に調べるわけではないため、安全性について過信は禁物です。
ステートフルフェールオーバーとステートフルインスペクションは名前が似ていますが、それぞれの機能は異なります。ステートフルフェールオーバーは、非常時にファイアウォールを引き継ぐための機能です。ファイアウォールを運用していれば、障害が発生することもあります。問題が生じてファイアウォールの機能が止まってしまうと、セキュリティに隙が生まれてしまいます。
このような非常時に活躍するのが、ステートフルフェールオーバーです。ステートフルフェールオーバーの機能が働くことで、障害発生時に別のファイアウォールへと通信が引き継がれます。引き継ぎは自動で行われ、通信セッションの記録も保持されます。そのため、たとえ問題が起きても、そのままファイアウォールの運用を続けることが可能です。これにより、コンピュータのセキュリティも守られます。
ちなみにステートフルとは、「状態」を表す「state」と「~に満ちた」の意味を持つ「ful」を合わせた言葉です。ITの世界では、ステートフルは「セッション状態の保持」を意味します。たとえば通販サイトで欲しい商品をカートに入れると、別の商品ページに移動しても、カートの中身は保持されます。これは、カートに商品を入れた操作が保持されることによって成り立つ仕組みです。
このようにセッションが保持され、後からその情報を辿れるシステムをステートフルと言います。一方、ステートフルとは反対の意味を持つ「ステートレス」という言葉もあります。こちらは「state」に、「不足している」を意味する「less」が付いた言葉です。セッション状態が保持されるステートフルと違い、ステートレスなシステムではセッション情報が残ることはありません。
これまで行ってきた操作と関係なく、常に同じ反応を返すのがステートレスです。このステートレスなシステムの代表例となるのが、オンライン検索です。オンライン検索はステートレスなので、検索窓に特定のワードを入力すると、常に同じ結果が返ってきます。ステートフルのように保存された情報が利用されることはありませんが、ステートレスには操作が簡潔で利便性が高いというメリットがあります。以上がステートフルとステートレスの違いです。
なお、ステートフルインスペクションは「ステートフル」という言葉が入っている通り、保持されたセッション情報を利用する仕組みとなっています。ステートフルインスペクションでは過去の通信履歴と比較しながらパケットを監視しますが、この履歴はセッションを保持することによって得られたものです。保持された情報を活用して不正なアクセスを検出するのが、ステートフルインスペクションの特徴です。
ステートフルインスペクションは、送信データと受信データを照合することで、不正なアクセスを検出するシステムです。外部と通信する際、まずは内部から送信されたデータの情報を記録します。
その後、外部から発信があるので、受信されようとしているデータを調べます。この受信データを調べる際に参照されるのが、送信時に記録したデータです。
送信データと照らし合わせたうえで、受信データに問題がないかを見抜きます。そして、信頼できる通信だと判断された場合は内部ネットワークにデータを受信し、そうでない場合は通信を遮断します。
このようにしてコンピュータのセキュリティを守るのが、ステートフルインスペクションの仕組みです。また、ステートフルインスペクションではデータを調べる際、通信プロトコルやアプリケーションの情報も参照します。
パケットのコンテキストを監視するため、不正な通信を検出する能力が高いです。加えて、送信データと照合して検査を行うという性質上、送信元を偽装して発信されたアクセスを拒絶する効果も期待できます。
ステートフルインスペクションのメリットは、通信速度が速い点です。一方で、安全性がそれほど高くないというデメリットもあります。
通信速度が速くて快適に利用できる点が、ステートフルインスペクションのメリットです。ステートフルインスペクションを含めて、パケットフィルタリング型のファイアウォールは検査の方式がそれほど複雑ではありません。
そのため、ファイアウォールを導入した後に、通信速度が極端に落ちる心配はないでしょう。簡単な検査が中心のファイアウォールなので、コンピュータに負担がかかりにくく、コストも抑えられます。
ステートフルインスペクションは不正なアクセスを検出する機能を持っていますが、ほかのタイプのファイアウォールと比較して、安全性はそれほど高くありません。
あくまでも不正な手順で送信されたパケットを検出する仕組みなので、送信手段が正常であれば、問題のあるデータであっても見逃してしまう可能性があります。
また、パケットのコンテキストを記録するという性質上、大量アクセスによってサーバーダウンを狙うDoS攻撃には弱いです。運用する際はこのようなデメリットも把握しておきましょう。
パケットフィルタリング型のステートフルインスペクションよりも、アプリケーション型ファイアウォールの方が安全性は高いです。アプリケーション型のファイアウォールでは、パケットの中身が詳細に確認されます。
そのため、ヘッダやコンテキストを確認するパケットフィルタリング型よりも、不正なデータを検出する精度が優れています。不正な手順で送信されたデータだけでなく、正常な手段で送られてきたものも監視の対象に含まれているため、セキュリティ面において高い効果が期待できます。
ここまで解説してきたステートフルインスペクションは、ファイアウォールの分類上パケットフィルタリング型として扱われます。ファイアウォールにはこのほかにも、アプリケーション(ゲートウェイ)型とサーキットゲートウェイ型が存在します。これら2種類のファイアウォールの特徴については、以下をご覧ください。
アプリケーション型のファイアウォールは、通信時のパケットを詳細に確認します。パケットの中身を調べて正常な通信かどうか判断するシステムなので、悪意ある通信を検出する精度は高いです。
また、アプリケーション型には、内部コンピュータに代わって外部サイトへアクセスするという特徴があります。ファイアウォールが代理でサイトへアクセスし、そこで得た情報が内部ネットワークへ送られます。
このように、内部コンピュータが外部へ直接接触しなくても済む仕組みとなっているため、アプリケーション型は安全性が高いです。
サーキットゲートウェイ型はパケットフィルタリング型の機能に加えて、ポート制御機能も備えています。通信の監視はトランスポート層のレベルで行われます。
また、コネクション単位で制御を行える点もサーキットゲートウェイ型の特徴です。パケットフィルタリング型より簡単に設定を行えるほか、送信元IPアドレスのなりすましにも対処できます。
ステートフルインスペクションは、パケットフィルタリング型ファイアウォールの1種です。パケットのコンテキストを参照し、送信時のデータと照合しながら通信の監視を行います。ステートフルインスペクションの機能を利用すれば送信元の偽装を見抜けるため、不正な手順で送信されたデータを遮断することが可能です。
また、ファイアウォールにはパケットフィルタリング型以外にも、アプリケーション(ゲートウェイ)型とサーキットゲートウェイ型のものがあります。このようにファイアウォールにはさまざまなタイプが存在することを理解したうえで、自身のネットワーク環境を守るために、適切なものを導入しましょう。