ファイアウォールとは
ファイアウォールは、決めた規則に基づいてネットワーク通信を許可・拒否する機能や装置です。英語ではfirewall(ファイアウォール)と表します。
インターネットと社内、利用者LANとサーバー、アプリケーション同士、端末処理などの境界で通信方針を強制します。ルーター、セキュリティ専用機器、OS、クラウドサービスに実装できます。
ファイアウォールは「悪いデータを全部判定する壁」ではありません。許可した通信の中で起きる認証不備やWeb攻撃、マルウェアは通過し得ます。

一つのパケットから見る項目
ソースIP、インターフェース、ゾーン、識別情報、機器グループなどを条件にする。
宛先IP、サーバーグループ、サービス、ネットワークラベルから対象を選ぶ。
IPプロトコル、TCP・UDPポート、アプリケーション識別などを評価する。
既存接続へのreplyか、新規開始か、期待された関連通信かを追跡する。
インターネット着信、サーバーから外部、利用者から管理ゾーンなどを分ける。
許可、破棄、拒否、ログ、レート制限、別検査へ転送などを実行する。
状態保持型ファイアウォールは接続を追う
ステートレスフィルターはパケットごとに条件を評価します。状態保持型ファイアウォールは接続表を持ち、内側から開始したTCP接続への正しいreplyなどを関連付けます。
UDPにも疑似状態とタイムアウトを持てます。長すぎるタイムアウトは表を消費し、短すぎると正規応答を落とします。
規則は順序と既定が重要
多くの実装は上から最初に一致した規則を適用します。広い許可が先にあれば、下のdenyは到達しません。オブジェクトグループとコメントを使い、目的・所有者・期限を記録します。
原則は既定denyで、必要なソースから必要な宛先・サービスだけを許可します。「any-any」の一時規則は自動期限とレビューを持たせます。
ネットワークファイアウォールとホストファイアウォールを重ねる
ネットワークファイアウォールはゾーン間の集中境界、ホストファイアウォールは一台のOSで処理・インターフェースごとに制御します。モバイル端末やクラウド処理負荷が従来境界外へ移動してもホスト方針を保てます。
両方があると、ネットワークで許可されてもホストで拒否されるなど調査点が増えます。パケットが通る全強制適用点を順に確認します。
NATはファイアウォールと同義ではない
NATはアドレス・ポートを変換します。内側アドレスが直接見えないことと、明示的なセキュリティ方針で許可・拒否することは別です。ポート転送を作れば外部から到達できます。
IPv6でNATを使わなくても状態保持型ファイアウォールで着信を制御できます。「NATがないから無防備」とは限りません。
WAF・IDS・IPSとは見る層が違う
WAFはHTTP要求のパス、ヘッダー、本文などWebアプリケーション文脈を検査します。IDSは異常を検知・通知し、IPSはインラインで検知後に遮断します。
一製品が複数機能を持つ場合も、どのエンジンが何を根拠にどの操作をしたかを分けます。
outboundも制御する
サーバーからインターネットへの通信を無制限にすると、マルウェアのコマンド通信、データ持出し、パッケージ取得を見逃します。DNS、更新、メール中継、APIなど必要な宛先へ絞ります。
プロキシやプライベートリポジトリを経由させると、宛先・証明書・ログを集中管理できます。
ログと規則棚卸しを続ける
denyログはスキャン・誤設定、許可ログは実際の利用を示します。ただし全パケットを残すと大量になるため、接続単位、重要ゾーン、異常比率を設計します。
未使用規則、退職所有者、廃止サーバー、期限切れ例外、shadowed規則を定期的に削除します。変更前後の設定と承認をバージョン管理します。
ファイアウォールの安全性は装置の存在ではなく、ゾーン間に必要な通信を最小限で表した方針と、その規則が今も必要かを検証し続ける運用で決まります。
firewall architectureとpolicyの確認資料:NIST SP 800-41 Rev. 1「Guidelines on Firewalls and Firewall Policy」