Amazon Web Services ブログ
AWS ネットワークファイアウォール – VPC 用の新しいマネージド型ファイアウォールサービス
当社のお客様は、高い可用性とスケーラビリティのあるファイアウォールサービスを使用して、クラウドに置いた仮想ネットワークを保護することを希望されます。セキュリティは AWS の最優先事項です。当社では、セキュリティグループによる Amazon Elastic Compute Cloud (EC2) インスタンスの保護、ネットワーク ACL による Amazon Virtual Private Cloud (VPC) サブネットの保護、また、Amazon CloudFront や Application Load Balancer (ALB) で実行されているウェブアプリケーションを保護するための AWS ウェブアプリケーションファイアウォール(WAF)、そして、分散型サービス拒否 (DDoS) 攻撃に対応するための Amazon API Gateway や AWS Shield など、特定のセキュリティニーズに対応するさまざまなファイアウォール機能を提供しています。
使用中の AWS のサービスに関係なく、ワークロード内のすべてのリソースにわたって、ネットワークセキュリティをより簡単に拡張できる方法を求める声が、お客様から当社に届けられました。また、独自のワークロードを保護したり、政府の規制や商業的な規則に準拠したりするための、カスタマイズされた手段も求められています。このようなお客様は、アウトバウンドフローでの URL フィルタリング、IP/Port/Protocol 以外のパケットデータのパターンマッチング、HTTP/S 以外のプロトコルに関する特定の脆弱性に関するアラート機能などを必要とされています。
今回、Virtual Private Cloud (VPC) 向けとして、マネージド型で可用性が高いネットワークファイアウォールサービスである、AWS Network Firewall をご紹介できることになりました。このサービスにより、ステートフルインスペクションや、侵入の検出と防止の機能、そしてウェブフィルタリングなどを簡単にデプロイおよび管理し、AWS 上の仮想ネットワークを保護できるようになります。Network Firewall は、トラフィックに合わせて自動的にスケーリングされるため、セキュリティ用インフラストラクチャへのお客様の追加投資を必要とせずに、高可用性が確保されます。
AWS Network Firewall を使用すると、カスタマイズしたルールを実装して、VPC が不正ドメインにアクセスするのを防ぐことができます。また、何千もの既知の危険な IP アドレスをブロックしたり、シグニチャベースの検出を使用して、悪意のあるアクティビティを特定したりできます。AWS Network Firewall により、CloudWatch メトリックスを介して、ファイアウォールのアクティビティをリアルタイムで表示できます。また、ログを S3、CloudWatch、および Kinesis Firehose に送信することで、ネットワークトラフィックの可視性を高められます。Network Firewall は AWS Firewall Manager と統合されているため、AWS Organizations を使用するお客様であれば、すべての VPC と AWS アカウントでのファイアウォールアクティビティを有効にし監視するための、一元的な手段が得られます。Network Firewall は AWS パートナーである CrowdStrike、Palo Alto Networks、そして Splunk などを含む、既存のセキュリティエコシステムと相互運用が可能です。また、コミュニティにより維持されている Suricata ルールセットから、既存のルールをインポートすることもできます。
Network Firewall のコンセプト
AWS Network Firewall がステートレスおよびステートフルのトラフィック検査ルールエンジンを実行します。このエンジンでは、お客様がファイアウォールポリシー内で定義する、ルールおよびその他の設定が使用されます。
ファイアウォールが VPC 内のアベイラビリティーゾーンごとに設置されます。各アベイラビリティーゾーンでは、トラフィックをフィルタリングするファイアウォールエンドポイントのホスト用に、サブネットを選択します。アベイラビリティーゾーンのファイアウォールエンドポイントは、それ自体が置かれたものを除き、ゾーン内のすべてのサブネットを保護できます。
AWS Network Firewall の管理には、次のような中心的なコンポーネントを使用します。
- ファイアウォール – ファイアウォールは保護の対象となる VPC と、ファイアウォールポリシーで定義されている保護動作とを接続します。保護するアベイラビリティーゾーンごとに、ファイアウォールエンドポイント専用のパブリックサブネットを指定した、Network Firewall を用意する必要があります。このファイアウォールを使用するには、着信と発信のトラフィックがファイアウォールエンドポイントを経由するように、VPC ルートテーブルを変更します。
- ファイアウォールポリシー – ファイアウォールポリシーでは、ステートレスとステートフル両方のルールグループのコレクションや、その他の設定により、ファイアウォールの動作が定義されています。各ファイアウォールに関連付けることができるのは、1 つのファイアウォールポリシーだけです。ただし、1 つのファイアウォールポリシーを、複数のファイアウォールに使用することは可能です。
- ルールグループ – ルールグループは、ネットワークトラフィックに対する検査と処理の方法を定義するための、ステートレスまたはステートフルなルールの集合です。ルールでは、5 つのタプルと、ドメイン名のフィルタリングなどが定義されています。また、ステートフルルールを適用するために、オープンソースの Suricata ルール仕様を適用することもできます。
AWS Network Firewall – 使用開始方法
AWS Network Firewall を起動し、ファイアウォールの作成と管理を行うには、AWS マネジメントコンソール、AWS コマンドラインインターフェイス(CLI)、および AWS SDK を使用します。VPC コンソールのナビゲーションペインで、[AWS Network Firewall] を展開し、[Firewalls(ファイアウォール)] メニューの [Create firewall(ファイアウォールの作成)] をクリックします。
新しいファイアウォールを作成するには、このファイアウォールの識別に使用する名前を入力した上で、使用している VPC をドロップダウンから選択します。AWS Network Firewall を使用する各アベイラビリティーゾーン(AZ)に、ファイアウォールエンドポイント用として、パブリックなサブネットを作成します。このサブネットには、キャパシティがゼロ以外の利用可能な IP アドレスが、少なくとも 1 つ必要です。これらのファイアウォールサブネットは、Network Firewall 用として予約されたままにします。
[Associated firewall policy(関連付けられたファイアウォールポリシー)] で、[Create and associate an empty firewall policy(空のファイアウォールポリシーを作成して関連付ける)] をオンにし、[Create firewall] をクリックします。
新しいファイアウォールが Firewalls ページに表示されます。このファイアウォールのファイアウォールポリシーは、空の状態です。次のステップでは、ポリシーの中に、ファイアウォールの動作を定義していきます。Firewall policies 画面のメニューで、新しく作成したファイアウォールポリシーを選択します。
新しいステートレスまたはステートフルのルールグループを(0 個以上のファイアウォールルールのコレクションとして)作成または追加できます。このポリシー内での処理順序を定義する優先順位設定や、ステートレスルールグループのいずれにも一致しないパケットを、Network Firewall が処理する方法を定義します。
[Stateless default action(デフォルトのステートレスアクション)] では、フルパケットやパケットフラグメントに対する、ファイアウォールポリシーのさまざまなデフォルト処理を指定できます。ここでのアクションのオプションは、ファイアウォールポリシーのステートレスルールグループで使用する、ステートレスルールと同じです。
次のオプションのいずれかを、アクションとして指定する必要があります。
- Allow – パケットの検査をすべて中止し、そのパケットが目標の送信先に到達することを許可します。
- Drop – パケットの検査をすべて中止し、そのパケットが目標の送信先に到達することをブロックします。
- Forward to stateful rule groups – パケットに対するステートレス検査を中止し、検査のためにステートフルルールエンジンに転送します。
さらに、名前を付けたカスタムアクションを指定し、そのアクションを適用することもできます。このアクションでは、ユーザーが指定した値を使用する(CustomAction
という名前の)CloudWatch メトリクスディメンションが、Network Firewall により送信されます。名前付きのカスタムアクションを定義した後は、その定義と同じコンテキストの名前で、そのアクションを使用できます。カスタムアクション設定は、1 つのルールグループ内のルール間で再利用が可能です。また、ファイアウォールポリシーでは、2 つの(デフォルト)ステートレスカスタムアクション設定の間で、このカスタムアクション設定を再利用することもできます。
ファイアウォールポリシーを定義したら、VPC ルートテーブルを更新してファイアウォールを含めることで、VPC トラフィックフローにファイアウォールを挿入できます。
ルールグループを設定する方法
Network Firewall のルールグループメニューで、ステートレスまたはステートフルのルールグループを新たに作成し、[Create rule group(ルールグループの作成)] をクリックします。ステートフルルールグループ を選択した場合は、以下の 3 つのオプションのいずれかを選択できます。1) 5-tuple format: 送信元 IP、送信元ポート、送信先 IP、送信先ポート、およびプロトコルを指定し、トラフィックの一致に対して実行するアクションを指定します。2) Domain list: ドメイン名のリストと、いずれかのドメインにアクセスしようとするトラフィックに対して実行するアクションを指定します。3) Suricata compatible IPS rules: Suricata ルールの構文を使用した、高度なファイアウォールルールを定義します。
Network Firewall はネットワークトラフィックの検査用に、標準のステートレス “5 タプル” ルール仕様をサポートしています。この仕様では、ルールグループ内のステートレスルールの処理順序を優先順位番号で指定できます。
さらに、ステートフル 5 タプルルールには、次のような一致条件の設定があります。これらの設定では、Network Firewall のステートフルルールエンジンがパケット内で検索する内容が定義されます。パケットが一致するためには、すべての条件が一致する必要があります。
ドメイン名を指定するルールグループでは、ドメイン名、照合するドメイン名を指定する文字列のリスト、検査の対象になるトラフィックフローの方向を、一致条件として設定します。次の JSON は、ドメイン名のルールグループでの、ルール定義の例を示しています。
{
"RulesSource": {
"RulesSourceList": {
"TargetType": "FQDN_SNI","HTTP_HOST",
"Targets": [
"test.example.com",
"test2.example.com"
],
"GeneratedRulesType": "DENYLIST"
}
}
}
Suricata 互換の IPS ルールを使用するステートフルルールグループでは、Suricata 互換仕様で定義されたすべての設定内容を利用できます。たとえば、SSHプロトコルの異常を検出するためには、次のようにします。Suricata については、Suricata のウェブサイトを参照してください。
alert tcp any any -> any 22 (msg:"ALERT TCP port 22 but not SSH"; app-layer-protocol:!ssh; sid:2271009; rev:1;)
Network Firewall の監視には、未加工データを収集しほぼリアルタイムの読み取り可能なメトリックスに処理できる、CloudWatch を使用します。同時に、AWS CloudTrail を使用すると、ユーザー、ロール、または各 AWS のサービスによる AWS Network Firewall への API 呼び出しを、記録させることができます。CloudTrail は Network Firewall 向けのすべての API 呼び出しを、イベントとしてキャプチャします。ログ記録とモニタリングの詳細については、ドキュメントを参照してください。
Network Firewall パートナー
今回の Network Firewall の発表では、一連のAWS パートナーも、同時に紹介されています。これらのパートナーからは、多くの有益なフィードバックが提供されました。パートナーたちの経験を共有するために、彼らが公開しているブログ記事の一部を以下に紹介していきます (公開後に、そのリンクを使用してこの記事を更新しています)。
- IBM 製品 — IBM Security expands support for AWS native services with new AWS Network Firewall offering(IBM セキュリティが新しい AWS Network Firewall サービスにより AWS ネイティブサービスのサポートを拡大)
- IBM サービス — AWS Cloud Native Firewall brings modern Enterprise Firewall Features to Cloud Native and eases the burden of BYO-FW(AWS クラウドネイティブのファイアウォールが最新のエンタープライズファイアウォール機能をクラウドネイティブに導入し BYO-FW の負担を軽減)
- Sumo Logic — Full VPC traffic visibility with AWS Network Firewall and Sumo Logic(AWS Network Firewall と Sumo Logic による VPC トラフィックの完全な可視化)
今すぐ利用可能
現在、AWS Network Firewall は、米国東部(バージニア北部)、米国西部(オレゴン)、および欧州(アイルランド) の各リージョンでご利用になれます。詳細については、製品ページ、料金表、およびドキュメントを参照してください。どうぞ、この新サービスをお試しください。AWS では皆さんからのフィードバックをお待ちしています。Amazon VPC の AWS フォーラム、または通常の AWS サポート連絡先からご意見をお寄せください。
AWS Network Firewall に関するすべての詳細を確認したら、今すぐ新機能の使用を開始してください 。
– Channy;