ファイアウォールポリシー設計とは?通信要件を安全なルールへ落とし込む方法

当ページのリンクには広告が含まれています。
ネットワーク上級編 42/全70記事

この記事は、 「ネットワーク上級編|要件定義・設計・クラウド・自動化へ進む」 の第42回です。

第5章では、ネットワークを守るためのセキュリティ設計を学びます。 今回は、業務上必要な通信を具体的な許可・拒否ルールへ落とし込む ファイアウォールポリシー設計を扱います。

NETWORK ADVANCED|CHAPTER 5 SECURITY

ファイアウォールポリシー設計とは?通信要件を安全なルールへ落とし込む方法

ファイアウォール設計では、単に「必要なポートを開ける」だけでは不十分です。 誰が、どこへ、何のために、どの通信を必要としているのかを整理し、 必要な通信だけを許可することが重要です。 この記事では、通信要件の整理からポリシー設計、レビュー、試験、運用までを実務形式で解説します。

対象レベル Level 3〜4・上級
想定読了時間 約25分
身につく成果 通信要件からFWポリシーを設計できる
前提知識 ACL・ステートフルFWの基礎
演習環境 ブラウザ・紙・Excel等

顧客から「社内PCから業務サーバーへアクセスできるようにしてください」と依頼されたとします。

この要望だけを見て、 社内LANからサーバーセグメントへの通信をすべて許可する と設計してしまうと、本来不要なSSHやRDPなどの通信まで到達できる可能性があります。

ファイアウォール設計では、曖昧な要望を 設計と試験で確認できる具体的な通信条件 へ変換する必要があります。

この記事を読み終えるとできること

  • ファイアウォールポリシー設計の目的を説明できる
  • 通信要件をFWポリシーへ変換できる
  • 送信元・宛先・サービスを適切に限定できる
  • 最小権限の考え方を通信制御へ適用できる
  • ルール順序・重複・包含関係を確認できる
  • ログ取得の必要性を判断できる
  • 許可試験と拒否試験を設計できる
  • ポリシーの用途を顧客へ説明できる

ファイアウォールポリシー設計とは何か

最初に覚える定義

ファイアウォールポリシー設計とは、 業務で必要な通信を整理し、 送信元・宛先・プロトコル・ポートなどの条件をもとに、 許可または拒否する通信ルールを決める工程です。

たとえば、顧客から次の要望を受けたとします。

顧客: 「社内PCから業務Webサーバーへアクセスできるようにしてください。」

この要望だけでは、まだファイアウォールの設定を作ることはできません。

少なくとも次の情報を確認する必要があります。

  • どの利用者・端末から通信するのか
  • 送信元ネットワークはどこか
  • 宛先サーバーはどれか
  • HTTPなのかHTTPSなのか
  • TCP/443だけでよいのか
  • DNSなど関連する別通信が必要か
  • どちら側から通信を開始するのか
  • ログを記録する必要があるか
  • 恒久的な通信か、一時的な通信か

ファイアウォール設計は「ポートを開ける作業」ではありません。

業務上必要な通信を特定し、不要な通信経路を作らないように 条件を具体化する設計作業です。

通信要件からファイアウォールポリシーへ変換する

ネットワーク要件定義では、顧客の要望をそのまま設計にするのではなく、 具体的な条件へ変換してから設計しました。

ファイアウォールでも同じ考え方を使います。

業務要望からFWポリシーまでの流れ
業務要望 何を実現したいか
通信要件 誰からどこへ通信するか
条件特定 IP・ポート・方向
FW設計 許可・拒否を決定
試験 設計どおりか確認

例:運用担当者が管理サーバーへSSH接続する

項目 内容
利用者 運用担当者
送信元 管理端末セグメント
宛先 管理サーバー
プロトコル TCP
宛先ポート 22
方向 管理端末 → 管理サーバー
用途 サーバー管理
ログ 取得する

FWポリシーへの変換例

Source
管理端末セグメント
Destination
管理サーバー
Service
TCP/22
Action
Allow
Log
Enable

「SSHを許可する」だけでは不十分です。

「管理端末セグメントから、対象の管理サーバーへのSSHだけを許可する」 というところまで限定します。

ファイアウォールポリシーを構成する基本5要素

1

Source

どこから通信するのかを指定します。

2

Destination

どこへ通信するのかを指定します。

3

Service

プロトコルやポートを指定します。

4

Action

通信を許可・拒否するか決めます。

5

Log

通信履歴を残すか決めます。

1.Source:送信元

誰から通信を許可するのかを指定します。

  • 192.168.10.0/24
  • 管理端末ネットワーク
  • 営業部VLAN
  • VPN利用者
  • 特定の監視サーバー

送信元を広くしすぎず、実際に通信が必要な範囲へ限定します。

2.Destination:宛先

通信先を指定します。

  • Webサーバー
  • DNSサーバー
  • Active Directoryサーバー
  • 監視対象機器
  • インターネット
  • クラウド上のシステム

3.Service:プロトコル・ポート

用途 プロトコル 代表的なポート
HTTP TCP 80
HTTPS TCP 443
SSH TCP 22
DNS UDP / TCP 53
NTP UDP 123
RDP TCP / UDP 3389

ポート番号だけで判断するのではなく、 実際にアプリケーションが必要とする通信仕様 を確認することが重要です。

4.Action:通信をどう処理するか

代表的な処理には次があります。

  • Allow
  • Permit
  • Accept
  • Deny
  • Drop
  • Reject

製品によって表現や動作の細部は異なるため、 実際の機器仕様を確認して設計します。

5.Log:ログ取得

通信ログは障害調査だけでなく、セキュリティインシデントや監査にも利用します。

  • 許可された通信を記録する
  • 拒否された通信を記録する
  • 管理アクセスを記録する
  • インターネットとの通信を記録する
  • SIEMやログサーバーへ転送する

ファイアウォール設計の基本は「必要な通信だけを許可する」

ファイアウォール設計では、 業務に必要な通信だけを許可する ことが基本です。

広すぎるポリシー

Source      : 192.168.0.0/16
Destination : Any
Service     : Any
Action      : Allow

このルールでは、非常に広い範囲の通信が許可されます。

実際に必要なのが、

192.168.10.0/24
        ↓
10.10.20.50
TCP/443

だけであれば、その範囲まで限定します。

改善したポリシー

Source      : 192.168.10.0/24
Destination : 10.10.20.50
Service     : TCP/443
Action      : Allow

広く許可してから禁止するのではなく、必要な通信を特定して許可する。

この考え方が、ファイアウォールポリシー設計の基本です。

「Any」を簡単に使わない

実務で起こりやすい問題の1つが、 通信仕様が分からないためAnyで許可する ことです。

Source      : User-LAN
Destination : Server-LAN
Service     : Any
Action      : Allow

本当に必要なのがHTTPSだけであっても、この設定では他の通信まで到達できる可能性があります。

  • SSH
  • RDP
  • SMB
  • データベース通信
  • 管理用サービス
  • その他のアプリケーション通信

「通信できないからAnyで許可する」は設計ではありません。

必要な通信を確認し、許可範囲を具体化すること自体が ファイアウォール設計の重要な仕事です。

暗黙の拒否を前提に必要な通信を許可する

ファイアウォールでは、必要な通信を明示的に許可し、 それ以外を許可しないという考え方で設計します。

Rule 1  User → Web Server   HTTPS      Allow
Rule 2  User → DNS Server   DNS        Allow
Rule 3  Admin → Servers     SSH        Allow
Rule 4  Monitor → Devices   SNMP       Allow
------------------------------------------------
最後    その他                         Deny

この形であれば、設計時に想定していない通信が 無条件に通過することを防ぎやすくなります。

実際の機器では製品や設定方式によって処理方法が異なるため、 最終的には対象製品のポリシー評価方式も確認します。

ステートフルファイアウォールと戻り通信

ステートフルファイアウォールは、 通信のセッション状態を管理します。

PCからWebサーバーへHTTPS通信する例
PC 192.168.10.10
Firewall セッションを管理
Web Server 10.10.20.10

PC → Web Server:TCP/443を許可

PCからWebサーバーへの通信を開始した場合、 そのセッションに対応する戻り通信については、 ファイアウォールが状態情報を使って判断します。

そのため、一般的なステートフルファイアウォールでは、 単純に「行きのルールを作ったから、同じ逆方向ルールも必要」 と考えるわけではありません。

FWポリシーを設計するときは、 誰が通信を開始するのか を明確にすることが重要です。

ルールの順序・重複・包含関係を確認する

ファイアウォールによっては、上から順番にポリシーを評価し、 最初に一致したルールを適用します。

たとえば次のルールを考えます。

Rule 1
Source      : 192.168.0.0/16
Destination : Any
Service     : Any
Action      : Allow

Rule 2
Source      : 192.168.10.0/24
Destination : 10.10.20.10
Service     : TCP/443
Action      : Deny

Rule 1に先に一致する評価方式であれば、 Rule 2へ到達せず、意図した拒否が機能しない可能性があります。

レビューするポイント

  • 上位ルールに包含されていないか
  • 同じ条件のルールが重複していないか
  • 広すぎるAllowルールが上位にないか
  • 実際には評価されないルールがないか
  • 一時ルールが恒久ルールより上位に残っていないか

設定を作る前に通信要件表を作る

ファイアウォール設定を直接考え始めるのではなく、 最初に通信要件表を作ると整理しやすくなります。

No. 送信元 宛先 プロトコル/ポート 用途 必要性
1 User-VLAN DNS Server UDP/TCP 53 名前解決 必須
2 User-VLAN Web Server TCP 443 業務システム 必須
3 Admin-VLAN Server-VLAN TCP 22 Linux管理 必須
4 Monitor-Server Network-Device UDP 161 SNMP監視 必須
要件と設計を追跡できる形にする
業務要件
通信要件表
FW設計書
機器設定
試験項目

この流れを作っておけば、 「このFWルールはなぜ必要なのか?」 と聞かれたときに、業務要件までさかのぼって説明できます。

ファイアウォールポリシーには「理由」を残す

ファイアウォールは運用年数が長くなるほどルールが増えていきます。

IPアドレスとポート番号だけを記録していると、 数年後にそのルールの目的が分からなくなることがあります。

項目 記載例
ルールID FW-001
送信元 User-VLAN
宛先 Web-Server-01
サービス HTTPS
アクション Allow
用途 社内業務Webシステム
申請元 業務システム担当
変更番号 CHG-2026-001
有効期間 恒久
ログ 有効

設計書には「何を設定したか」だけでなく「なぜ設定したか」を残します。

一時ルールには期限を設定する

試験や障害調査のため、一時的に通信を許可することがあります。

その場合は、少なくとも次を管理します。

  • 利用目的
  • 開始日時
  • 終了日時
  • 申請者
  • 承認者
  • 削除予定日
  • 削除確認

一時的に必要だったAny許可などが削除されず、 数年後まで残っている状態は避けなければなりません。

期間限定の通信は、可能であれば有効期限を持たせ、 終了後に削除確認まで実施します。

オブジェクト設計と命名規則も重要

ファイアウォールでは、IPアドレスやサービスを オブジェクトとして登録してポリシーから参照することがあります。

分かりにくい名前

ADDR01
ADDR02
SERVER01
NET01

名前だけでは何を表しているのか判断しにくくなります。

意味が分かる名前

NET_USER_TOKYO
NET_ADMIN
SRV_DNS01
SRV_WEB_PROD01
SVC_HTTPS

命名規則を統一すると、次のメリットがあります。

  • レビューしやすい
  • 設定ミスを減らしやすい
  • 変更時の影響を確認しやすい
  • 引き継ぎしやすい
  • 用途不明のオブジェクトを減らせる

設計例:社内PCから業務Webサーバーへ接続する

User VLANからWeb Serverへの通信
User VLAN 192.168.10.0/24
Firewall 通信を制御
Web Server 10.10.20.10

要件

  • 一般利用者は業務Webサーバーを利用する
  • 接続はHTTPSのみ
  • SSHやRDPなどの管理通信は不要

ポリシー設計

項目 設定
Source 192.168.10.0/24
Destination 10.10.20.10
Service TCP/443
Action Allow
Log Enable
Purpose 業務Webシステム利用

User VLANからServer VLAN全体へのAny通信を許可する必要はありません。

必要なのは、 User VLAN → 対象Webサーバー → TCP/443 の通信です。

管理通信は一般利用者通信から分離する

サーバーやネットワーク機器を管理する通信は、 一般利用者の通信とは分離して設計することが重要です。

管理端末からだけ管理アクセスを許可する例
User VLAN 一般利用者
×
Firewall アクセス制御
Network Device 管理対象
Admin VLAN 管理端末
Firewall SSH / HTTPSのみ許可
Network Device 管理対象
Source      : NET_ADMIN
Destination : NETWORK_DEVICES
Service     : SSH, HTTPS
Action      : Allow
Log         : Enable

一般利用者端末からネットワーク機器の管理インターフェースへ 到達できる必要はありません。

ログ設計もファイアウォールポリシー設計の一部

ファイアウォールは通信を許可・拒否するだけでなく、 通信記録を残す重要な装置でもあります。

設計時に考えること

  • 許可通信を記録するか
  • 拒否通信を記録するか
  • 管理通信を記録するか
  • セッション開始・終了のどちらを記録するか
  • ログをどこへ転送するか
  • 保存期間をどうするか
  • 誰が確認するか
  • アラート対象とする通信は何か

すべての通信を無条件に詳細記録すればよいとは限りません。 ログ量、保存容量、監視方法、調査要件まで含めて設計します。

ログ全体の考え方については、 「20. ログ設計」 もあわせて確認してください。

ポリシー追加の標準フローを決める

ファイアウォールは構築後も、新しいシステムや業務追加によって ポリシー変更が継続的に発生します。

  1. 通信要求を受け付ける 誰が何の目的で通信を必要としているのか確認します。
  2. 通信要件を確認する 送信元、宛先、サービス、方向、利用期間を整理します。
  3. 既存ポリシーを確認する 既存ルールで通信可能か、重複がないか確認します。
  4. セキュリティレビューを行う 許可範囲が広すぎないか、リスクを確認します。
  5. ポリシーを設計する FW設計書へ具体的な条件を記載します。
  6. 承認を取得する 変更管理のルールに従って承認を取得します。
  7. 設定変更する 手順書に基づいて機器へ設定を投入します。
  8. 通信試験を行う 許可通信と拒否通信の両方を確認します。
  9. ログを確認する 意図したポリシーへヒットしていることを確認します。
  10. 設計書を更新する 最終的な設定状態と設計書を一致させます。

定期的に不要なファイアウォールルールを見直す

長期間運用されたファイアウォールには、 不要になったポリシーが残りやすくなります。

  • 廃止済みサーバー向けルール
  • 終了したプロジェクト用ルール
  • 一時検証用ルール
  • 旧IPアドレス向けルール
  • 長期間利用されていないルール
  • 他のルールに包含されているルール
  • 誰も用途を説明できないルール
ルール棚卸しの流れ
利用状況確認
用途確認
影響確認
変更申請
削除・確認

「使っていないように見えるから削除する」のではなく、 業務担当者やログなどを確認し、影響を評価してから変更します。

ファイアウォールポリシー設計でよくある失敗

NG とりあえずAnyで許可する

通信要件が確認できていない状態です。 「何が必要なのか分からない」という問題を、 Any許可で解決してはいけません。

NG IPアドレスとポート番号しか記録しない

数年後にルールの業務目的が分からなくなります。 システム名や用途、申請元まで記録します。

NG ルール順序を確認しない

個別ルールが正しくても、上位の広いルールによって 想定と異なる動作になる場合があります。

NG 一時ルールを削除しない

検証用の通信許可が、恒久的な不要通信経路として残ってしまいます。

NG 戻り通信を理解せずルールを追加する

ステートフルFWのセッション管理を理解せず、 不要な逆方向ルールを追加しないよう注意します。

NG 「つながった」だけで試験を終える

許可すべき通信だけでなく、 許可していない通信が拒否されることも確認します。

ファイアウォール試験では許可と拒否の両方を確認する

ファイアウォールの試験では、 「必要な通信が通ること」だけでは不十分です。

正常系

User VLAN
    ↓ HTTPS
Web Server

期待結果:通信成功

異常系

User VLAN
    ↓ SSH
Web Server

期待結果:通信失敗
No. 送信元 宛先 通信 期待結果
1 User-VLAN Web-Server HTTPS 成功
2 User-VLAN Web-Server SSH 失敗
3 Admin-VLAN Web-Server SSH 成功
4 Guest-VLAN Server-VLAN Any 失敗

許可すべき通信が通り、許可していない通信が通らない。

この2つを確認して初めて、 ファイアウォールが設計どおり動作していると判断できます。

顧客・上司へファイアウォール設計をどう説明するか

技術に詳しくない顧客へ、

Source      : User-VLAN
Destination : Web-Server
Service     : TCP/443
Action      : Allow

とだけ説明しても、設計の意味は伝わりにくいでしょう。

顧客向けの説明例

業務上必要なWebアクセスだけを許可し、 SSHなどの管理通信には一般利用者から接続できないようにします。 必要以上に通信を許可しないことで、 端末側で問題が発生した場合でもサーバーへアクセスできる範囲を限定します。

技術設定をそのまま読み上げるのではなく、 業務・リスク・運用上の意味 に変換して説明します。

顧客に伝えるべき価値は、 「TCP/443を開けたこと」ではなく、 業務に必要な通信を維持しながら不要な通信経路を減らしたこと です。

ファイアウォールポリシー設計レビューのチェックポイント

  • その通信は本当に必要か
  • 業務用途が明確か
  • 送信元をさらに限定できないか
  • 宛先をさらに限定できないか
  • ServiceがAnyになっていないか
  • 必要以上の双方向通信になっていないか
  • 通信開始方向が明確か
  • 既存ルールと重複していないか
  • 上位ルールに包含されていないか
  • ログ取得の要否が決まっているか
  • 一時ルールには期限があるか
  • 申請元・変更番号が記録されているか
  • 正常系試験があるか
  • 拒否試験があるか
  • 運用開始後の棚卸し方法が決まっているか

「通信できるから問題ない」というレビューでは不十分です。

必要な通信だけが許可されていることまで確認します。

ファイアウォール設計で使われる英語表現

英語 意味
Firewall policy ファイアウォールポリシー
Firewall rule ファイアウォールルール
Source 送信元
Destination 宛先
Service サービス
Action 処理
Allow / Permit 許可
Deny 拒否
Drop 破棄
Implicit deny 暗黙の拒否
Rule order ルール順序
Least privilege 最小権限
Traffic log 通信ログ
Temporary rule 一時ルール
Rule review ルールレビュー

実務で使える英文

Only required traffic should be allowed through the firewall.

必要な通信だけをファイアウォールで許可する必要があります。

Please confirm the source, destination, and required service ports.

送信元、宛先、必要なサービスポートを確認してください。

This firewall rule is required for application communication.

このファイアウォールルールはアプリケーション通信のために必要です。

The temporary rule will be removed after the test is completed.

一時ルールは試験完了後に削除します。

理解度チェック

ここまでの内容を確認します。 解答を見る前に自分で考えてみてください。

問題1.ファイアウォールポリシー設計で最初に確認すべきことはどれですか。

  1. すべての通信をAnyで許可する
  2. 業務上必要な通信を確認する
  3. ファイアウォールの機種を変更する
  4. すべての通信ログを削除する
解答を見る
正解:B

まず、誰からどこへ何の通信が必要なのかを確認します。 具体的なポリシーは、その通信要件から設計します。

問題2.次のポリシーの問題点を説明してください。

Source      : Any
Destination : Any
Service     : Any
Action      : Allow
解答を見る

送信元・宛先・サービスが限定されておらず、 本来必要のない通信まで許可する可能性があります。 業務要件を確認し、必要な範囲へ限定します。

問題3.社内PCからWebサーバーへHTTPS通信だけが必要です。 一般的なHTTPSの宛先ポートはどれですか。

  1. TCP/22
  2. TCP/53
  3. TCP/443
  4. UDP/161
解答を見る
正解:C

HTTPSでは一般的にTCP/443を使用します。

問題4.ファイアウォールルールに「用途」を記録する理由を説明してください。

解答を見る

将来ポリシーを見直すときに、 そのルールがどの業務・システムのために存在するのか判断できるようにするためです。

問題5.なぜ許可通信だけでなく、拒否されるべき通信も試験する必要があるのでしょうか。

解答を見る

必要な通信が通るだけでは、 不要な通信まで許可されている可能性を排除できません。 許可していない通信が正しく拒否されることまで確認する必要があります。

実践演習:通信要件からFWポリシーを設計する

あなたは、次の企業ネットワークのファイアウォール設計を担当します。

演習用ネットワーク
User VLAN 192.168.10.0/24
Firewall 通信制御
Web Server 10.10.20.10
DNS Server 10.10.30.10

顧客要望

一般利用者は業務Webサーバーを利用します。 Webサーバーへの接続はHTTPSのみです。 名前解決のため社内DNSサーバーも利用します。 一般利用者からサーバーへの管理通信は必要ありません。

課題1.必要な通信を洗い出す

次の通信要件表を完成させてください。

No. 送信元 宛先 Service 用途
1 ______ ______ ______ ______
2 ______ ______ ______ ______
課題1の解答例を見る
No. 送信元 宛先 Service 用途
1 192.168.10.0/24 10.10.20.10 TCP/443 業務Web利用
2 192.168.10.0/24 10.10.30.10 DNS 名前解決

課題2.ファイアウォールポリシーを作る

Rule 1
Source:
Destination:
Service:
Action:
Log:
Purpose:
課題2の解答例を見る
Rule 1
Source      : 192.168.10.0/24
Destination : 10.10.20.10
Service     : HTTPS
Action      : Allow
Log         : Enable
Purpose     : 業務Webシステム利用

Rule 2
Source      : 192.168.10.0/24
Destination : 10.10.30.10
Service     : DNS
Action      : Allow
Log         : Enable
Purpose     : 社内DNSによる名前解決

課題3.拒否されるべき通信を考える

少なくとも3つ、拒否されるべき通信の試験項目を考えてください。

例:User VLAN → Web Server TCP/22 → 拒否

1.
2.
3.
課題3の解答例を見る
  • User VLAN → Web Server TCP/22:拒否
  • User VLAN → Web Server TCP/3389:拒否
  • User VLAN → Server VLAN内のその他サーバー:拒否

許可試験だけでなく、 不要な通信が遮断されることも確認します。

自分の言葉で説明する課題

後輩エンジニアから、 「ファイアウォールって必要なポートを開ければいいんですよね?」 と質問されました。

1分程度で説明してください。

ファイアウォールポリシー設計とは、____________________________。
説明例を見る

ファイアウォール設計では、単にポートを開けるだけではありません。 誰から、どのサーバーへ、何の業務目的で、どの通信が必要なのかを整理し、 必要な範囲だけを許可します。 また、ルールの用途、ログ、期限を管理し、 不要になった通信を後から削除できるようにするところまで含めて設計します。

まとめ

  • ファイアウォールポリシー設計では、 業務上必要な通信を具体的なルールへ変換する
  • 基本要素は 送信元・宛先・サービス・アクション・ログ
  • 必要な通信だけを許可し、許可範囲を必要以上に広げない
  • Anyを安易に使わず、送信元・宛先・サービスを具体化する
  • ステートフルFWではセッションと戻り通信の動作を理解する
  • ルール順序、重複、包含関係を確認する
  • 機器設定の前に通信要件表を作る
  • ポリシーには業務用途や変更理由を残す
  • 一時ルールには期限を設定する
  • 許可試験だけでなく拒否試験も実施する
  • 構築後も定期的にポリシーをレビューする

ファイアウォールポリシー設計で重要なのは、 「通信を通すこと」ではなく、 「必要な通信だけを、必要な範囲で通すこと」です。

上級編では、設定を作れるだけでなく、 「なぜその通信を許可するのか」 「なぜそれ以外を許可しないのか」 を説明できるエンジニアを目指します。

次の記事:43. DMZ設計

今回は、必要な通信だけを許可する ファイアウォールポリシー設計を学びました。

次の記事では、 インターネットへ公開するWebサーバーなどを 社内LANから分離して配置する DMZ設計を学びます。

DMZの基本イメージ
Internet 外部ネットワーク
Firewall 通信を制御
DMZ 公開Webサーバー等
Internal LAN 社内ネットワーク

Internet → DMZ、DMZ → Internal LAN、 Internal LAN → DMZの通信を どのように分離・制御するかを解説します。

ネットワーク上級編 42/全70記事

第5章では、ネットワークセキュリティ設計、 ファイアウォール、DMZ、IDS・IPS、WAF、 リモートアクセスVPN、AAA、セグメンテーションなどを順番に学びます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次