Amazon Web Services ブログ
AWS ファイアウォールマネージャー – ウェブアプリケーションポートフォリオの集中管理
特に大規模な組織では、しばしば、分散制御と集中化制御との間で論争が起きます。分散制御モデルの場合、特殊化したローカルなニーズに対して、迅速に対応することができますが、集中化制御モデルの場合、すべてのチームが関与するグローバルなイニシアチブや課題に対して、適切なレベルの監視を行うことができます。
私たちは、AWS 顧客のアプリケーションの適用範囲が、多数の AWS リージョン、AWS アカウント、開発チーム、およびアプリケーションを含むようになったとき、この問題が発生することを見てきました。顧客は、AWS がリソースを最適の場所にデプロイしつつ、敏捷性および反応性を向上させているという事実に惚れています。しかし、この多様性とスケーリングは、セキュリティやコンプライアンスの観点からは、新しい課題を露呈します。自由なイノベーションは、重要なデータを保護し、脅威が出現したときに迅速に対応するというニーズとバランスが取れている必要があります。
ここ数年当社は、AWS WAF や AWS シールドなど、保護機能の広範囲にわたるセットを提供してきました。当社の顧客はこれらのオプションを最大限に活用してきましたが、一方で、単一の集中化した場所から管理する機能を求める声も多く聞かれました。
AWS ファイアウォールマネージャーの登場
AWS ファイアウォールマネージャーはまさにこのような顧客のために作られました。これは、組織のセキュリティの設定およびプロファイルの集中化制御を管理しつつ、顧客には、複数の AWS アカウントの使用して、必要ないかなるリージョンにおけるアプリケーションをもホストするという自由を与えることを実現します。開発者は開発が可能になり、革新者は革新が可能になる一方で、セキュリティイチームは、潜在的脅威および実際の攻撃に、迅速、統一的、かつグローバルに対応する能力を獲得します。
セキュリティチームは、ファイアウォールマネージャーを使用した場合、アカウントおよびアプリケーションすべてを対象とする自動ポリシー強制機能を通じて、新規および既存のアプリケーションが組織全体のセキュリティポリシーを遵守することを確信することができます。セキュリティチームは、対策が不十分なアプリケーションや AWS リソースを見つけた場合、数分以内にコンプライアンスを確立することができます。
ファイアウォールマネージャーは、WAF ルールセットおよびオプションの AWS シールドアドバンストプロテクションを含む名前付きポリシーを中心に構築されます。各ポリシーは、アカウント、リソースタイプ、リソース ID、またはタグによって指定される、特定の AWS リソースセットに適用されます。ポリシーは、マッチングしたすべてのリソースに自動的に適用されます。またはあなたが選択するそのサブセットに適用されます。ポリシーには、組織のポリシーから抽出した WAF ルール、ならびに、Imperva、F5、Trend Micro、その他 AWS マーケットプレースのベンダーなど、AWS パートナーによって作成された WAF ルールを含めることができます。これにより、セキュリティチームは、既存のオンプレミスセキュリティ環境をクラウド内で再現することができます。
ツアーを見る
ファイアウォールマネージャーには次の 3 つの前提条件があります。
AWS Organizations – 組織はアカウントを管理するために AWS Organizationsを使用して、すべての機能を有効にしておく必要があります。詳細については、「組織の作成」を参照してください。
ファイアウォール管理者 – 組織内の AWS アカウントの 1 つをファイアウォールマネージャーの管理者として指名する必要があります。これによって、そのアカウントには、組織全体に AWS WAF ルールをデプロイする権限が付与されます。
AWS Config – 組織内のすべてのアカウントでは AWS Config を有効にすることによって、ファイアウォールマネージャーが新規に作成されたリソースを検出できるようにする必要があります ([StackSets Sample Templates (スタックセットサンプルテンプレート)] ページの [Enable AWS Config (AWS Config を有効にする)] テンプレートを使用すれば有効にすることができます)。詳細については、「AWS Config 入門」を参照してください。
私は会社を所有していないので、友人がテストアカウントを用意してくれました。マスターアカウントでファイアウォールマネージャーのコンソールを開くと、最初の 2 つの前提条件に関連する画面が表示されます。
[Learn more about… (詳細…)] ボタンには、管理者のアカウント ID が表示されます。
そのアカウント (実社会で、私がマスターアカウントやこのアカウントにアクセスできることは考えられませんが) に切り替えて、コンソールを開くと、前提条件を満たしていることを確認することができます。[Create policy (ポリシーの作成)] をクリックして、先に進みます。
コンソールにはプロセスの説明が表示されます。ルールおよびルールグループを作成し、ルールグループに基づいてポリシーを定義し、ポリシーの適用範囲を定義してから、実際にポリシーを作成する必要があります。
ページの最下部で、[US East (N. Virginia) (米国東部 (バージニア州北部))] リージョンのリソース用の新しいポリシーおよびルールグループの作成を選択して、[Next (次へ)] をクリックします。
次に、以下のオプションから選択することによって、私のルールのための条件を指定します。
- クロスサイトスクリプティング
- 地理的オリジン
- SQL インジェクション
- IP アドレスまたは範囲
- サイズ制限
- 文字列または正規表現
たとえば、悪意のある IP アドレスをブロックする条件を作成することができます (この AWS ソリューションは、WAF でサードパーティ評判リストを使用する方法を示しています)。
このルールはシンプルなままにしておきますが、実際のルールには複数の条件を含めることができます。これらすべてを追加した後、[Next (次へ)] をクリックして、先に進みます。ルールを作成する準備ができたので、[Create rule (ルールの作成)] をクリックします (条件は、必要に応じて、後から追加することができます)。
ルールに名前 (BlockExcludedIPs) を付けて、CloudWatch メトリック名を入力し、条件 (ExcludeIPs) を追加して、[Create (作成)] をクリックします。
さらにルールを作成して、同じルールグループに含めることができます。繰り返しますが、このルールはシンプルなままにしておいて、[Next (次へ)] をクリックして、先に進みます。
グループの名前を入力し、グループを構成するルールを選択してから、[Create (作成)] をクリックします。
これで 2 つのルールグループが存在することになりました (このアカウントには testRuleGroup が付属していました)。私のポリシーに名前を付けて、[Next (次へ)] をクリックして、先に進みます。
次に、ポリシーの適用範囲を定義します。保護するリソースのタイプを選択し、ポリシーを適用するタイミングを示します。
タグを使用することによって、リソースを含めたり、除外したりすることができます。
ポリシーの適用範囲を定義したら、[Next (次へ)] をクリックして、内容を確認した後、[Create policy (ポリシーの作成)] をクリックします。
このポリシーが発効したので、その適用範囲内の ALB は最初は非準拠です。
数分以内に、ファイアウォールマネージャーによってポリシーが適用されて、ステータスレポートが提供されます。
AWS ファイアウォールマネージャーを今すぐ使い始める
AWS ファイアウォールマネージャーは今すぐ使い始めることができます。
AWS シールドアドバンストを使用している場合、AWS ファイアウォールマネージャーと AWS WAF は追加料金なしでご利用いただくことができます。使用していない場合、WAF WebACLs、WAF ルール、および AWS Config ルールの通常の料金に加えて、各リージョンの各ポリシーごとに毎月の料金が課金されます。
— Jeff;