概要
ファイアウォール(Firewall)は、ネットワーク間の通信を制御し、不正アクセスや意図しない通信を防ぐための装置または機能である。
主な役割は以下の通り。
- 外部からの不正アクセスの防止
- 内部ネットワークからの不要または不審な外部通信の抑制
- ネットワークセグメント間のアクセス制御
- 必要に応じて、VPN、IPS、アプリケーション制御などの追加機能を提供
近年は、物理機器に限らず、クラウド環境の仮想ファイアウォールやホスト型FWも一般的。
構築プロセス
ファイアウォールの構築は、以下の手順に沿って進めると漏れが少ない。
要件定義
- 保護対象(サーバー、端末、サービス)の整理
- 必要な通信の洗い出し
- 想定される脅威とリスクの確認
- 装置に必要な機能(IDS/IPS、VPN、ログ収集など)の決定
設計
- ネットワークゾーニング(Internal, DMZ, External など)
- ポリシー(ACL)設計
- NAT方式(動的NAT / 静的NAT)
- ログ取得と保存先の決定
- 冗長構成(HA)の必要性の判断
ゾーニングは、基本的に以下を前提とする。
Internet
│
[Firewall]
├─ DMZ(外部公開サーバー)
└─ Internal(社内LAN、バックエンドサーバー)
設定項目の詳細
インターフェース・ルーティング
- WAN / LAN / DMZ インターフェース設定
- デフォルトルート設定
- 管理アクセス(HTTPS/SSH)の設定と制限
アクセス制御ポリシー(ACL)
基本原則
- 許可する通信を明示的に定義(ホワイトリスト方式)
- それ以外の通信は拒否(必要に応じて暗黙denyを利用)
例
内部 LAN → 外部
外部 → DMZ(Web公開)
DMZ → Internal
- 許可:必要なアプリ通信(例:DB:3306)
- 拒否:その他全て
NAT
- 動的NAT(マスカレード):内部アドレスを外部IPへ変換
- 静的NAT:外部公開サーバーに利用することが多い
追加セキュリティ機能(NGFWの場合)
- IPS(シグネチャベースの攻撃検知)
- アプリケーション制御(特定アプリ/プロトコル制御)
- URLフィルタリング
- サンドボックスによる未知マルウェア分析
- ログの外部転送(Syslog等)
動作確認項目
通信テスト
- 内部 → 外部
- 外部 → DMZ
- 内部 → DMZ
- DMZ → 内部
セキュリティ検証
- nmapによるポート確認
- Web公開の場合はOWASP ZAP等で簡易診断
- VPN設定時は接続確認(認証方式・暗号化等)
- ログが想定通り記録されているか確認
運用におけるポイント
ルールの棚卸し
長期間利用されていないルールは削除候補として整理する。
ログ監視
- 異常トラフィック
- 外部からの連続アクセス
- 不明なポートへの通信
- 大量の拒否ログ
などを定期的に確認する。
更新作業
- IPSシグネチャ更新
- 装置OSのアップデート
- 設定バックアップの取得
Linux環境での例(iptables)
以下はシンプルな構成例。
# デフォルトポリシー
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# ループバック許可
iptables -A INPUT -i lo -j ACCEPT
# 既存の接続は許可
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH許可(例として22番を開ける)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# HTTP/HTTPS許可
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
クラウド環境での留意点
AWS
- Security Group:ステートフルのインスタンス単位FW
- NACL:ステートレスでサブネット単位
- WAF:L7(HTTP/HTTPS)対策
GCP
- VPC Firewall:ステートフル
- Cloud Armor:L7対策(WAF+DDoS軽減)
まとめ
本稿では、ファイアウォール構築の基本から、設計・設定・検証・運用までを技術的観点で整理した。
機器やクラウドサービスによって設定項目は異なるものの、共通したポイントは以下である。
- 必要な通信だけを許可する
- ゾーニングとポリシー設計を明確にする
- ログとルールを継続的に見直す
以上、ファイアウォールの構築方法についてでした。
最後までお読みいただき、ありがとうございました。