ファイアウォール

ファイアウォールとは

ファイアウォールとは、通過するパケットのヘッダ情報や内容を検査して通信の制御を行うソリューションです。主に内部ネットワークと外部ネットワークのようなセキュリティレベルの異なる境界上に導入することで、不正アクセスなどのサイバー攻撃から組織のネットワークを保護します。ネットワーク型のものが主流ですが、PCにインストールして機能するパーソナルファイアウォールもあり、PCのプロセスごとに通信を制御する特徴があります。

ファイアウォールが必要な理由

ファイアウォールは境界型防御を実現するうえで重要なソリューションです。境界型防御は、組織内のLANのような「内部ネットワーク」とインターネットのような「外部ネットワーク」をそれぞれ信頼できる領域と信頼できない領域とみなし、その境界上でセキュリティ対策を行うことで、組織のネットワークを保護する考え方です。現在でも多くの組織が境界型防御の考え方をもとにファイアウォールを導入することで外部から内部への不正な通信の制御を実現しています。

図:ファイアウォールを導入したネットワークの例

図:ファイアウォールを導入したネットワークの例

ファイアウォールのタイプ

ファイアウォールは様々な機能を提供します。以下が機能の一例です。

●パケットフィルタリング

ファイアウォールを通過するパケットのIP、TCP/UDPヘッダの内容を検査してトラフィックをフィルタリングする方式です。通信を制御する動作によって、さらに2つのタイプに分かれます。

  • スタティックパケットフィルタリング
    パケットの送信元/宛先IPアドレス(レイヤ3)、送信元/宛先ポート番号(レイヤ4)などに基づく動作(許可/拒否)を定義したアクセス制御ルールを作成して、着信したパケットと各ルールを順に照合することで通信を制御します。アクセス制御ルールには、ユーザが設定したどのルールにもマッチしなかった場合に適用される「暗黙のDeny」が存在します。暗黙のDenyはセキュリティの観点から、原則すべてのパケットを拒否するルールです。
    ファイアウォールは基本的に正常な通信のみを許可することで組織のネットワークを保護するための技術であることから、万が一ルールの設定に不備があった場合でも、暗黙のDenyによって明示的に許可された通信以外は拒否されます。スタティックパケットフィルタリングにおいて内部と外部の間で双方向の通信を行う際には、「内部から外部」、「外部から内部」のそれぞれの通信を明示的に許可するルールが必要です。
  • ダイナミックパケットフィルタリング(ステートフルパケットインスペクション)
    パケットの内容に基づいて、動的に一時的なアクセス制御ルールを作成します。
    そのため、例えば内部と外部の間での通信の際には、「内部から外部」へのリクエストのルールのみを作成しておくことで、都度パケットの内容を検査し、対応する「外部から内部」へのレスポンスの通信を一時的に自動で許可します。
    また、通信における前段のパケットの内容を保持することで、通信量の異常やTCPのシーケンス番号の整合性確認など、個々のパケットでは気づくことができない不正なトラフィックを検知する機能が含まれる場合もあります。

外部とのSMTP通信の場合、スタティックパケットフィルタリングでは事前に応答時の通信を許可する必要があるため、メールサーバから外部(インターネット)への通信(送信元ポート番号25)を許可するルールを設定しておく必要があります。

しかし、このルールはメールサーバが侵害された場合に、メールサーバから外部のあらゆる宛先への不正な通信を許可してしまいます。一方で、ダイナミックパケットフィルタリングでは、応答時の通信は実際のリクエストの送信元を参照することで、該当の送信元への宛先の通信のみが許可されます。つまり、ダイナミックパケットフィルタリングでは必要最小限の通信のみ許可できるため、スタティックパケットフィルタリングに比べて安全なネットワークを構成します。

パケットフィルタリングは組織の通信ポリシーに基づき、アクセス制御ルールを柔軟に設定することで、内部ネットワークへの攻撃を阻止します。そのため、ルールを作成する際にはむやみに追加するのではなく、適用される順番や他のルールとの整合性を考慮したうえで設計することが重要です。一方で、SQLインジェクションやDoS/DDoS攻撃など、ルールに違反しないが、プログラムの脆弱性を突く通信やサービス拒否を引き起こす不正なトラフィックについては、パケットフィルタリングでは防御することができません。

●アプリケーションゲートウェイ

アプリケーションレイヤ(レイヤ7)のデータまで検査して通信を制御します。WAF(Web Application Firewall)がアプリケーションゲートウェイの一種で、HTTP通信の内容を検査し、Webアプリケーションを攻撃するためのデータが含まれていた場合には該当の通信を拒否、もしくはデータの無害化などサニタイジング処理を行います。

●サーキットレベルゲートウェイ

トラフィックの内容ではなく、TCPによって確立される通信路(仮想回線、バーチャルサーキット)に焦点を当てて通信を制御します。送信元からのTCP接続リクエストをサーキットレベルゲートウェイファイアウォールが中継して、改めて宛先に対してTCP接続リクエストを送信します。SOCKS(SOCKet Secure)プロトコルがサーキットレベルゲートウェイタイプのファイアウォールとしては有名です。

その他、次世代ファイアウォール(Next Generation Firewall、NGFW)は、従来のファイアウォールの機能に加えて、DPI(ディープパケットインスペクション)やIPS(侵入防止システム)の機能などを搭載したソリューションです。提供されるソリューションによって搭載される機能に違いがありますが、パケットのヘッダの内容をベースとしたOSI参照モデルのレイヤ4までの情報による制御に留まらず、レイヤ7のアプリケーションレベルまでのデータを参照することで、厳密な制御を実現します。

ファイアウォールとUTMの違い

UTM(Unified Threat Management)は、ファイアウォールの機能に加えて、マルウェア対策やWebフィルタリング、IDS/IPSなど複数の機能を集約した統合脅威管理ソリューションです。UTMは拠点ごとにハードウェアによる設置が必要なアプライアンス型のタイプの他に、クラウド上に設置することで複数の拠点を保護するクラウド型のタイプがあります。

UTMは複数の機能が統合されていることから、セキュリティ担当者にとっては効率的に組織のネットワークを保護できます。一方で、UTMに故障が発生した際には全ての機能が利用できなくなるため、障害時のセキュリティ対策について検討しておく必要があります。

まとめ

ファイアウォールは外部の攻撃者から組織のネットワークを保護する境界型防御を実現するうえで重要かつ基本的なソリューションです。また、脅威の変化とともに、機能の強化や他ソリューションとの連携など、ファイアウォールは進化しています。そして、守るべき組織のネットワークも絶えず変化を続けるため、ファイアウォールの導入時だけではなく、その後のファイアウォールのルール管理や機能拡張などを随時検討することが組織における適切な境界型防御の実現に繋がります。

ウェビナーによる解説

ファイアウォールについての関連情報

サイバーセキュリティの原点回帰:基礎から分かるゼロトラスト

サイバーセキュリティの重要な考え方の1つである「ゼロトラスト」について、改めて解説します。

ゼロトラストのガイドライン「NIST SP800-207」を紐解く

ゼロトラストの基礎知識や実装方法などが纏められているガイドライン「NIST SP800-207」を解説します。

ファイアウォールのトピック

関連記事