networkfirewall について
networkfirewallは、AWS Network Firewallの設定とトラブルシューティングを作業別に案内するスキルです。デプロイ、トラフィック検査、Suricataルール、ログ、インシデント対応、IaCの手順へ振り分けます。
主な機能
- 01ファイアウォールのデプロイとVPCルーティングを案内
- 02Transit Gatewayによる集中検査に対応
- 03ドメインフィルタリングとTLS検査を設定
- 04ログとSuricataルールの調整を説明
- 05通信遮断やルール不一致の診断を案内
活用シーン
- 01VPCトラフィックをファイアウォールエンドポイントへ転送
- 02複数VPCのトラフィックを検査
- 03ドメイン単位でアウトバウンド接続を遮断
- 04通信遮断やルール不一致を調査
MCP 対応
接続時はAWS MCPサーバーでコマンドを実行し、それ以外の場合はAWS CLIを使用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aws/ agent-toolkit-for-aws --skill networkfirewallインストール後、Claude Code で/networkfirewallを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/centralizing-inspection-with-a-transit-gateway-attached-firewall.mddeploying-a-firewall-and-routing-traffic-through-it.mddiagnosing-dropped-or-unmatched-traffic.mdenabling-firewall-logging-and-tuning-rules.mdfiltering-outbound-traffic-by-domain-name.mdinspecting-encrypted-traffic-with-tls-inspection.mdmanaging-firewall-rules-as-infrastructure-as-code.mdmigrating-from-a-third-party-firewall.mdresponding-to-an-active-security-incident.mdwriting-and-troubleshooting-stateful-suricata-rules.md詳細
Network Firewall
概要
Suricata 検査エンジンを使用して VPC の境界でトラフィックをフィルタリングする、マネージド型のステートフルファイアウォールおよび侵入防止サービスである AWS Network Firewall の設定に関する専門知識を扱います。ファイアウォールをトラフィック経路に配置し、そのエンドポイント経由でトラフィックをルーティングする方法、トランジットゲートウェイに接続したファイアウォールで複数の VPC にわたる検査を一元化する方法、ドメイン名によるアウトバウンドトラフィックのフィルタリング、ログ記録とルールの調整、暗号化トラフィックの TLS 検査、およびトラフィックがドロップ、通過、またはルールに一致しない理由の診断について説明します。
このスキルはルーターです。各タスクに対応する参照ファイルは references/ の下にあります。操作を行う前に、該当する参照ファイルを最初から最後まで読み、その制約と手順に従ってください。参照ファイルはそれぞれ自己完結しており、独自の判断表、制約、手順、トラブルシューティングが記載されています。
接続されている場合は AWS MCP サーバーを使用してコマンドを実行してください(サンドボックスでの実行、監査ログ、可観測性)。それ以外の場合は AWS CLI を使用してください。Network Firewall はリージョナルなサービスです。すべての aws network-firewall コマンドで、ファイアウォールのリージョンに一致する --region を指定してください。ファイアウォールの作成、削除、および一部の操作は非同期です。リソースに依存する前に、期待する状態になるまでポーリングしてください。
どの Network Firewall タスクが必要ですか?
| 目的 | 参照先 |
|---|---|
| ファイアウォールを経路に配置し、そのエンドポイント経由で VPC トラフィックをルーティングする | ファイアウォールのデプロイと、その経由でのトラフィックのルーティング |
| トランジットゲートウェイに接続したファイアウォールを使い、1 か所から多数の VPC のトラフィックを検査する | トランジットゲートウェイに接続したファイアウォールによる検査の一元化 |
| 宛先ドメイン名に基づいてアウトバウンド接続を許可またはブロックする | ドメイン名によるアウトバウンドトラフィックのフィルタリング |
| アラート、フロー、TLS のログ記録を有効にし、その内容に基づいてルールを調整する | ファイアウォールのログ記録の有効化とルールの調整 |
| ACM 証明書を使用して TLS トラフィックを復号し、検査する | TLS 検査による暗号化トラフィックの検査 |
| カスタムのステートフルな Suricata ルールを作成し、一致しないルールを修正する | ステートフルな Suricata ルールの作成とトラブルシューティング |
| アクティブなセキュリティインシデント中に、特定のインジケーターを直ちにブロックする | アクティブなセキュリティインシデントへの対応 |
| CloudFormation または CDK でファイアウォール、ポリシー、ルールを管理する | IaC としてのファイアウォールルールの管理 |
| サードパーティ製ファイアウォールアプライアンスを Network Firewall に置き換える | サードパーティ製ファイアウォールアプライアンスからの移行 |
| トラフィックがドロップ、通過、またはルールに一致しない理由を調べる | ドロップされたトラフィックまたはルールに一致しないトラフィックの診断 |
ルーティングに関する注意事項
- ルールより先にデプロイしてください。 VPC のルートテーブルがトラフィックをファイアウォールのエンドポイントにリダイレクトするまでは、ファイアウォールは何も行いません。また、ルーティングが設定されていなくてもエラーは報告されません。ファイアウォールが新しい場合や、トラフィックがファイアウォールに到達しない場合は、ルールの問題だと考える前に、まずデプロイに関するリファレンスを参照してください。
- Transit Gateway にアタッチする場合と、検査 VPC を使う場合。 集約に関するリファレンスでは、ネイティブの Transit Gateway アタッチ型ファイアウォールを使用するため、手作業で構築する検査 VPC とそのルートテーブルは不要になります。複数の VPC やアカウントにまたがるトラフィックを検査する場合は、検査 VPC を手作業で構築するのではなく、そちらを参照してください。
- ドメインフィルタリングは IP ではなくハンドシェイクを照合します。 ドメインフィルタリングに関するリファレンスでは、DNS ルックアップではなく TLS SNI と HTTP Host ヘッダーを照合します。また、許可リストでは、同じプロトコルのうち一致しないトラフィックは通知なく破棄されます。アウトバウンドのドメイン制御にはそちらを参照してください。ドメインではなく完全な URL パスが必要な場合は、TLS 検査を利用してください。
- TLS 検査によって、ルールの照合対象が変わります。 TLS 検査に関するリファレンスは、復号済みのペイロードに対して動作するルールを使う際の前提となります。TLS 終端後、復号されたトラフィックはステートフルエンジンにとってプレーン HTTP になるため、ポート 443 および
tlsのルールは照合されなくなります。暗号化されたトラフィックに対するルールを作成する前に、そちらを参照してください。 - 推測ではなく、症状に基づいて診断してください。 診断に関するリファレンスでは、エンドポイントのステータスメッセージ(エラーか回復不能な障害か)を読み取り、ルーティングの対称性をテストし、書き換えを行う前に
HOME_NET、評価順序、ルールレイヤーを確認します。「トラフィックが破棄される」「通過すべきでないトラフィックが通過する」「ルールが一致しない」といった場合は、そちらを参照してください。「アラートログが一切ないのにトラフィックが破棄される」場合は、診断およびログ記録に関するリファレンスで取り上げている、ポスト量子 ClientHello の断片化が原因として考えられます。 - インシデント対応か、設定か。 対応に関するリファレンスは、すでにデプロイ済みのファイアウォールで進行中のインシデントが発生した場合に使用します。インジケーターをすぐにブロックし、その結果を確認して、変更を元に戻す方法を扱います。「攻撃を受けているので、今すぐブロックしたい」という場合は、デプロイやルール作成に関するリファレンスではなく、そちらを参照してください。これらのリファレンスが扱うのは、より時間のかかる設定ワークフローです。
- ルール作成か、ドメインフィルタリングか。 Suricata ルール作成に関するリファレンスでは、カスタムのステートフルルール(フローキーワード、ルール順序、Suricata エンジンの制約)を扱います。IPS または IDS のルールを作成する場合はそちらを参照してください。ドメインの許可またはブロックだけが必要な場合は、ドメインフィルタリングに関するリファレンスを参照してください。
- IaC による変更か、コンソールでの変更か。 コードによる管理に関するリファレンスは、CloudFormation または CDK で管理する場合に使用します。容量やルール順序などの変更不可プロパティがあるため、構造を誤ると置き換えが必要になります。テンプレートでファイアウォールを管理する場合は、そちらを参照してください。
- 移行か、初回セットアップか。 移行に関するリファレンスは、稼働中のルールセットとトラフィック経路を持つサードパーティ製ファイアウォールアプライアンスを置き換える場合に使用します。「Palo Alto または FortiGate から移行したい」という場合は、グリーンフィールドのファイアウォールを前提とするデプロイに関するリファレンスではなく、そちらを参照してください。
セキュリティに関する考慮事項
このスキルはネットワーク境界のセキュリティを管理するため、設定を誤るとファイアウォールの背後にあるすべての VPC のセキュリティ態勢が弱まります。各タスクで以下を遵守してください。
- デフォルトで拒否する姿勢。 デフォルト許可ではなく、ステートフルなデフォルトアクションをドロップに設定し、許可リストにあるトラフィックだけを通過させる必要があります。どのルールにも一致しないトラフィックは、検査せずに通過させるのではなくブロックしてください。ネットワークファイアウォールでは、フェイルクローズのデフォルト設定は基本的なセキュリティ制御であり、選択肢ではありません。また、ルールセットの許可範囲が広すぎると、ファイアウォールは単なるパススルーに成り下がります。
- 検査の空白を生じさせないこと。 トラフィックが実際にファイアウォールエンドポイントを経由し、ステートフルエンジンに転送されることを確認する必要があります。ルートテーブルの設定ミスや、
aws:forward_to_sfe以外のステートレスなデフォルトアクションにより、エラーが発生しないままトラフィックが検査されずに通過することがあります。 - 一時的で最小権限の認証情報。 長期間有効なアクセスキーや広範な管理者アクセスは決して使用せず、一時的で最小権限の認証情報(有効期間を限定したロール引き受けセッション)を使用する必要があります。認証情報の範囲は、各担当者に必要な
network-firewall:アクションとリソース(例:network-firewall:UpdateRuleGroup、network-firewall:DescribeFirewall)に限定してください。これらの権限によって許可されるトラフィックが変わる可能性があるためです。 - ログとファイアウォールデータを保存時に暗号化すること。 ファイアウォールログ(アラート、フロー、TLS)を受け取るすべての送信先を暗号化する必要があります。Amazon CloudWatch Logs のロググループではカスタマーマネージド AWS KMS キー(
aws logs associate-kms-key)、Amazon S3 バケットでは SSE-S3 またはカスタマーマネージド AWS KMS キー、Amazon Data Firehose の配信ストリームではカスタマーマネージド AWS KMS キーを使用してください。これらのログには、機密性の高いネットワークメタデータ(送信元と宛先の IP アドレス、ドメイン名、SNI 値)が含まれるためです。また、ファイアウォールの保存時データも、カスタマーマネージド AWS KMS キーで暗号化することを推奨します。 - 条件キーでログ送信先のリソースポリシーの範囲を限定すること。 各ログ送信先(Amazon S3 バケットポリシー、Amazon CloudWatch Logs リソースポリシー、Amazon Data Firehose 配信ストリームポリシー)のリソースポリシーに
aws:SourceArn(ファイアウォールの ARN)とaws:SourceAccountの条件キーを設定し、想定されるアカウント内のこのファイアウォールだけが送信先に書き込めるようにすることを推奨します。これにより、別のアカウントやサービスが書き込むことを防ぎ、混乱した代理人の問題を防止できます。 - CloudTrail で API の変更を記録すること。 ファイアウォール、ポリシー、ルールグループ、ログ設定の API 変更を監査やインシデントレビューのために記録できるよう、アカウントで AWS CloudTrail を有効にすることを推奨します。
- 重要なファイアウォールイベントにアラームを設定すること。 重要なファイアウォールイベント(エンドポイント障害、ポリシー変更、容量警告)を通知する CloudWatch アラームを設定し、問題を速やかに検出してエスカレーションすることを推奨します。アラーム通知に使用する SNS トピックは、カスタマーマネージド AWS KMS キーで暗号化し、通知先を権限のある運用担当者およびセキュリティ担当者に制限する必要があります。アラームメッセージには、機密性の高いファイアウォールメタデータ(エンドポイントの状態、トラフィックパターン、容量)が含まれる場合があるためです。
- タスクごとの詳細。 各リファレンスには、そのワークフロー固有のセキュリティに関する考慮事項が記載されています。操作を行う前に、該当するリファレンスを確認してください。