【AWS】WAF & Shield について

WAFとは Web Application Firewall のことを言います。主に SQLインジェクションクロスサイトスクリプティング など、アプリケーション層の脆弱性を突く攻撃を防ぎます。一般的な企業は WordPress などを利用して企業サイトを構築しています。その後企業が成長するにつれて WordPress では企業サイトの要件などが満たせなくなると、WordPress を止めてオリジナルのサイトに移行していきます。

しかしこれがセキュリティホールとなり、 SQLインジェクションクロスサイトスクリプティング などで顧客情報がごっそりと漏洩することがあります。サイトをインターネットに公開すると定期的に攻撃が来るものと思わなければいけません。

AWSで企業サイトを構築している場合はAWS WAFを利用することができます。今回はこの AWS WAF について解説したいと思います。

AWSはどのリソースタイプに設定できるか

AWS WAFはAWSのリソースに設定(統合)できます。まずはどのリソースタイプに設定できるか確認します。以下のリソースで、当たり前ですがインターネットにさらされるリソースタイプです。S3バケットもインターネットに晒されますが、基本的にS3バケットをインターネットに公開する際は CloudFront を経由する前提だと思うので S3 単体では WAF を適用できないようです。

  • CloudFront
  • API Gateway
  • ALB(Application Load Balancer)
  • AppSync GraphQL API
  • Cognito
  • App Runner
  • Verified Access インスタンス
  • Amplify

保護パックとは

AWS WAFを開始する際に「保護パック(ウェブ ACL)を作成」ボタンが表示されます。

保護パックとは何でしょうか。カッコ書きでウェブ ACLと記載があるので従来の WebACL と考えて良さそうです。私もいつの間にか「保護パック」の文言に変わっていたので何だろうと思いました。今後はWeb ACLではなく 保護パック で行くようです。ここら辺の構成を躊躇なく?変更もしくは更新するところはさすがAWSといったところです。

保護パック で、保護されたリソース(CloudFrontなど)が応答するすべての HTTP(S) ウェブリクエストをきめ細かく制御できます。

すべての HTTP(S) ウェブリクエストをきめ細かく制御できるとは?

「保護パック で、保護されたリソース(CloudFrontなど)が応答するすべての HTTP(S) ウェブリクエストをきめ細かく制御できます。」とあります。

すべての HTTP(S)メソッド/Path/Query/Cookie/Headers/Body/JSON Body/サイズなどでしょうか。とりあえず全部ということですね。全部のウェブリクエストをきめ細かく制御できるということで以下の制御が可能です。

ちなみにウェブリクエストとは、Wegブラウザ(Google Chromeなど)がWebサーバーに対して、Webページやデータなどの情報を要求することです。ウェブリクエストを送るとWebサーバーがWebページやデータを返してくれます。

この全てのウェブリクエストに対して、許可したりブロックしたり、様々なルールを組み合わせて制御することができます。組み合わせでかなり複雑な制御ができます。シンプルな制御はAWS管理画面上からGUIで可能ですが、複雑な制御になるとJSONで記載してコピペすることになります。

アプリカテゴリとは

保護パック(Web ACL)を作成する際にアプリカテゴリを選択します。

以下のカテゴリがあります。

  • コンテンツ及び公開システム
  • e コマースおよび取引プラットフォーム
  • エンタープライズおよびビジネスアプリケーション
  • API および統合サービス
  • メディアおよびファイル処理
  • その他

どれを選択しても後から自由に変更できます。最初の選択で固定されるわけではありません。

ちなみに選択する目途や観点としては以下のようになっています。

■コンテンツ及び公開システム
静的/動的サイトなど広く一般公開するWeb。例: 企業サイトなど。

■e コマースおよび取引プラットフォーム
決済・カート・会員画面など個人情報の入力が多く攻撃のターゲットにされやすいサイト。
例: EC、クレジット決済、会員登録/ログインなど。
フォーム/クッキー/クエリなどを重点的に構成されている。

■エンタープライズおよびビジネスアプリケーション
社内向け・業務SaaSなど。

■API および統合サービス
APIエンドポイント中心。

■メディアおよびファイル処理
画像/動画/ファイルのアップロード・変換・配信が中心。
例: 画像アップロード、動画アップロードなど。

■その他
上記に当てはまらない、もしくは自分で一から組みたい場合。

アプリケーションフォーカス

アプリケーションフォーカスは以下の3つが選択できます。特に要件がなければ「APIとウェブの両方」を選択します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Classica  –  Enter Security Code
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください