ファイアウォール設計入門|種類と役割を理解して多層防御を実現する

インフラセキュリティ基礎

境界にファイアウォールを置いていても、一度ネットワーク内に侵入した攻撃者の横展開は防げません。Webアプリケーションへの攻撃は、ポートが開いている443番を通じてファイアウォールをすり抜けます。内部の端末間通信をノーチェックにしていれば、マルウェアが自由に動き回れます。

ファイアウォールは多層防御の「一層」であって、それだけで完結するセキュリティ手段ではありません。本記事では種類と役割を整理し、現場で機能する配置設計と、よくある設計ミスを解説します。

ネットワークセグメンテーションの考え方については「ネットワークセグメンテーション入門|横移動攻撃を防ぐ境界設計の考え方」を参照してください。

ファイアウォールとは

通信を許可・拒否のルールで制御する装置

ファイアウォールとは、ネットワークの境界や端末上で、通信を許可するか拒否するかをルールに基づいて判断するセキュリティ装置(またはソフトウェア)です。

ファイアウォール(Firewall)
ネットワークの通信を監視・制御するセキュリティ機能。あらかじめ定義したルール(ポリシー)に基づいて、通信を許可・拒否・記録する。ネットワーク機器として設置するタイプとOS上のソフトウェアとして動作するタイプがある。

ファイアウォールの基本的な動作は「ホワイトリスト方式」です。デフォルトはすべてブロックし、必要な通信だけを明示的に許可するのが原則です。「とりあえず全部許可してから不要なものを絞る」という逆の発想は、設計ミスの温床になります。

パケットフィルタリングとステートフルインスペクションの違い

ファイアウォールの通信制御方式には主に2種類あります。

パケットフィルタリング
通信の各パケットを個別に評価し、送信元IP・宛先IP・ポート番号・プロトコルでフィルタリングする方式。シンプルで処理が速い反面、通信の文脈(セッション状態)を考慮しないため、戻りパケットを個別に許可する必要がある。

ステートフルインスペクション
通信のセッション状態を追跡し、確立済みセッションの戻りパケットを自動的に許可する方式。現代のファイアウォールの主流。パケットフィルタリングより柔軟で管理しやすい。

現在主流のファイアウォールはステートフルインスペクションを採用しています。「送信したパケットへの応答は自動許可」という動作により、ルール設計がシンプルになります。

ファイアウォールの種類と役割

ネットワーク型ファイアウォール

ネットワーク型ファイアウォールは、ネットワークの境界に設置して外部からの不正アクセスを防ぐ最も基本的なファイアウォールです。

項目 内容
設置場所 インターネットと社内ネットワークの境界
制御単位 IPアドレス・ポート番号・プロトコル
主な用途 外部からの不正アクセスをブロック・内部からの通信を制御
限界 許可されたポートを使った攻撃(443番など)は通過してしまう

ネットワーク型ファイアウォールはIPアドレスとポート番号で通信を制御するため、許可されたポートを使ったWebアプリケーション攻撃やC2通信(マルウェアの遠隔操作)を検知・ブロックできません。これを補うのがWAFや次世代ファイアウォールです。

Azureのネットワークセキュリティ設計については「Azureネットワークセキュリティ設計入門|VNet・NSG・ファイアウォールの考え方」を参照してください。

WAF(Webアプリケーションファイアウォール)

WAFは、WebアプリケーションへのHTTP/HTTPSトラフィックを監視し、SQLインジェクション・XSSなどのWebアプリケーション攻撃をブロックする専用のファイアウォールです。

WAF(Web Application Firewall:Webアプリケーションファイアウォール)
HTTP/HTTPSの通信内容を解析し、Webアプリケーションへの攻撃をブロックするセキュリティ機能。ネットワーク型ファイアウォールでは通過してしまう443番ポートへの攻撃を検知できる。クラウドサービス(Azure Application Gateway WAF・AWS WAF等)として提供されるケースが増えている。

ネットワーク型ファイアウォールが「どこからどこへ何番ポートで通信するか」を制御するのに対し、WAFは「通信の中身に攻撃パターンが含まれていないか」を評価します。Webサービスを公開している環境ではネットワーク型ファイアウォールとWAFの両方が必要です。

ホスト型ファイアウォール

ホスト型ファイアウォールは、個々のサーバーや端末のOS上で動作するファイアウォールです。Windowsファイアウォールが代表例です。

項目 内容
設置場所 個々のサーバー・端末のOS上
制御単位 ポート番号・アプリケーション・プロセス
主な用途 端末への直接アクセスを制限・横展開を防ぐ
限界 OS自体が侵害されると設定を変更される可能性がある

ネットワーク型ファイアウォールをすり抜けた通信でも、ホスト型ファイアウォールでブロックできます。侵害後の横展開防止に特に有効です。Windowsファイアウォールの設定については「Windowsファイアウォールの実務設定ガイド」を参照してください。

次世代ファイアウォール(NGFW)

次世代ファイアウォールは、従来のポートベースの制御に加えて、アプリケーション識別・ユーザー識別・SSL/TLS復号・IPS(侵入防止)などの高度な機能を持つファイアウォールです。

NGFW(Next Generation Firewall:次世代ファイアウォール)
従来のファイアウォール機能にアプリケーション識別・ユーザー識別・SSL/TLS復号・IPSを組み合わせたファイアウォール。「ポート80番が開いている」ではなく「どのアプリケーションの通信か」を識別できる。Palo Alto Networks・Fortinet・Check Pointなどのベンダーが主要製品を提供している。

NGFWは通信の中身を解析するため、同じポートを使っても「業務用SaaSへのアクセス」と「C2サーバーへの通信」を区別できます。ただしSSL/TLS復号を行う場合はプライバシーへの配慮と証明書管理が必要です。

多層防御におけるファイアウォールの配置設計

DMZを使った3層構成

Webサービスを公開する環境では、DMZ(非武装地帯)を使った3層構成が基本です。

DMZ(DeMilitarized Zone:非武装地帯)
インターネットと社内ネットワークの中間に置くネットワーク領域。Webサーバーなど外部公開が必要なサーバーを配置し、社内ネットワークへの直接アクセスを防ぐ。外部FW・DMZ・内部FWの3層構成が基本。

インターネット
  ↓
【外部ファイアウォール】
  ↓
  DMZ(Webサーバー・メールサーバー等)
  ↓
【内部ファイアウォール】
  ↓
 社内ネットワーク(DBサーバー・ファイルサーバー等)

この構成のポイントは「外部FWとDMZ間」「DMZと社内間」でそれぞれ別のファイアウォールを設置することです。外部からはDMZへのアクセスのみを許可し、DMZから社内への通信は必要最小限に絞ります。Webサーバーが侵害されても、内部ネットワークへの被害を限定できます。

内部セグメント間のファイアウォール

境界だけでなく、社内ネットワーク内部のセグメント間にもファイアウォールを設置することが重要です。

社内ネットワーク
 ├── 一般業務セグメント(クライアントPC)
 ├── サーバーセグメント(ファイルサーバー・DBサーバー)
 ├── 管理セグメント(DC・管理サーバー)
 └── ゲスト・IoTセグメント(来訪者・IoT機器)

各セグメント間にACLまたはファイアウォールを設置し、「一般業務PCから管理セグメントへの直接アクセスを禁止」「ゲストセグメントから社内サーバーへのアクセスを禁止」などの制御を入れます。侵害が発生しても横展開の被害範囲を限定できます。

これはTierモデルの考え方とも一致します。特権アカウントのTierモデルについては「AD特権アカウントの設計|Tier0保護と管理者アカウント分離の実務」を参照してください。

現場でよくある設計ミス

「とりあえず全部許可」から始めてそのまま放置

「まず動かすことを優先してルールを全開にした」まま、その状態が本番環境に定着するケースがあります。初期設定の全許可ルールは必ず削除し、必要な通信だけを許可するルールを明示的に追加してください。「動いているからいい」という判断は、セキュリティ設計の放棄です。

ルールが増えすぎて誰も管理できなくなる

運用を続けるうちにルールが数百件に膨らんで「このルールが何のためにあるか分からない」状態になるケースがあります。ルールには必ず「追加理由・申請者・追加日・有効期限」をコメントとして記録し、定期的に棚卸しする運用を導入してください。使われていない古いルールは削除します。

内部トラフィックをノーチェックにしている

「社内からの通信は安全」という前提で、内部セグメント間の通信を全許可にしているケースがあります。一度侵害された端末は「社内」にありながら攻撃の踏み台になります。内部セグメント間にも適切な制御を入れ、最小権限の原則をネットワーク設計にも適用してください。

ログを取っておらず証跡が残らない

ファイアウォールのログを無効にしていたり、ログの保存期間が短すぎてインシデント発生時に遡れないケースがあります。ブロックされた通信のログは最低90日以上保存し、異常な通信パターンを定期的に確認する運用を組み込んでください。

チェックリスト

設計の確認

  • [ ] デフォルトポリシーが「すべてブロック」になっている(ホワイトリスト方式)
  • [ ] 外部公開サービスはDMZに配置し、社内ネットワークと分離している
  • [ ] 社内ネットワーク内部もセグメント分割し、セグメント間に制御がある
  • [ ] Webサービスを公開している場合はWAFを導入している

ルール管理の確認

  • [ ] すべてのルールに追加理由・日付・担当者がコメントとして記録されている
  • [ ] 不要になったルールを定期的に棚卸し・削除している
  • [ ] テスト用に追加した一時的な全許可ルールが残っていない

ログの確認

  • [ ] ファイアウォールのブロックログが有効になっている
  • [ ] ログの保存期間が90日以上確保されている
  • [ ] 定期的にログを確認して異常な通信パターンを監視している

まとめ

社内ネットワーク内部のセグメント間に通信制御が入っているか確認してください。

境界のファイアウォールだけで守ろうとする設計は、一度侵害されると内部での横展開を止められません。外部境界・DMZ・内部セグメント間・エンドポイントの多層にわたって制御を入れることで、侵害が発生しても被害範囲を限定できます。

ファイアウォールは「置いた」で終わりではなく、ルールの管理・ログの取得・定期的な棚卸しという継続的な運用があって初めて機能します。

不正アクセスに対する多層防御の全体設計については「不正アクセス対策の基本設計|侵入経路を理解して守れる構成を作る」もあわせてご覧ください。

あわせてご覧ください

参考文献

コメント

タイトルとURLをコピーしました