0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS WAFについて調べる

Last updated at Posted at 2023-01-04

WAFとは

Web Application Firewall(WAF)の略。
Webアプリケーションの脆弱性に対しての攻撃(例えばSQLインジェクション攻撃とか)から、アプリケーションを保護するセキュリティ対策として利用される技術・製品のことで、
攻撃や脆弱性を感知した場合には、リクエストをブロックする

AWS WAFドキュメント

Fierwallとの違いは

IPアドレスやポート番号で通信を許可/拒否するものではないという点。
AWSでいうとセキュリティグループがFirewallにあたる。
Firewallでは悪意のあるアクセスなのかまでは判断することができない。

導入箇所

ALB・CloudFront・API Gatewayに割り当てて利用する

AWS WAFの攻撃範囲

スクリーンショット 2022-12-31 17.20.34.png
※Aws BlackBelt Onlineセミナーから引用

AWS WAFの用語

  • WebACL
    • 1つのWAFの設定の塊
    • CloudFront・ALB・API Gatewayに割り当てる単位
    • 1つのリソースに対して1つのWebACLのみ、割り当てることができる
    • 複数のリソースに対して同じWebACLを割り当てることができる
    • 複数のルール/ルールグループを内包する
    • WebACLキャパシティユニット(WCU)が1500まで
      • ルールごとの重みの合計値のこと
  • ルール
    • リクエストに対する条件のまとまり
    • ルールごとにWCUが設定されている
  • ルールグループ
    • ルールをまとめたもの
    • 事前に定義可能
  • アクション
    • リクエストをルールに照らし合わせた結果をどう扱うかの設定
    • Count(カウント)・Allow(許可)・Block(ブロック)がある
      • Count
        • AWS WAF はリクエストをカウントしますが、リクエストを許可するかブロックするかは決定しません。このアクションにより、AWS WAF がウェブ ACL の残りのルールの処理を継続します。リクエストにカスタムヘッダーを挿入し、他のルールが照合できるラベルを追加できます。
      • Allow
        • AWS WAF では、処理と応答のためにリクエストを AWS リソースに転送できます。このアクションにより、リクエストのウェブ ACL 評価が終了します。保護されたリソースに転送する前に、カスタムヘッダーをリクエストに挿入できます。
      • Block
        • AWS WAF はリクエストをブロックします。このアクションにより、リクエストのウェブ ACL 評価が終了します。デフォルトでは、AWS リソースは HTTP 403 (Forbidden) ステータスコードで応答しますが、応答をカスタマイズできます。AWS WAF がリクエストをブロックする場合、ブロックアクション設定は、保護されたリソースがクライアントに送り返す応答を決定します。
    • ルール毎にアクションがあり、全てのルールに当たらなければWebACLに設定された DefaultActionに沿って処理される

AWS WAFで作成できるルール

  • IP制限
    • 管理系ページへのアクセス制限
      • 特定path以下へのアクセスは特定アドレス(拠点とか)からのみ許可する
    • ブラックリスト
      • 特定のIPアドレスをブロックする
  • レートベースのルール
    • 5分間で閾値を超える同一アドレスからのアクセスがあった場合に、ブラックリストに追加する。
    • 一定時間経過するとブラックリストから解除する
  • 特定の脆弱性に関するルール
    • XSS(クロスサイトスクリプティング)やSQLインジェクションなどWebアプリケーションの脆弱性に関するルールを作成する
  • 悪意のあるHttpリクエストかを確認するルール
    • httpヘッダーがIPアドレスかを確認したり
    • httpリクエストの長さを確認したり

AWS Managed Rules for AWS WAFの種類

ベースラインルールグループ

様々な既知の脅威に対する一般的なルールを提供する
これらのルールグループのうち1つ以上を選択して、対象のアプリケーションを保護するためのベールラインとなるルールを設定

  • Core rule set
    • OWASP Top10の脅威に基づく、一般的なウェブアプリケーションに適用可能な防御ルール
  • Admin protection
    • 公開されている管理ページへの外部アクセスをブロックするためのルール
  • Known bad inputs
    • 無効であることがわかっており、脆弱性の悪用またわ探索に関するリクエストパターンをブロックするルール

ユースケース別のルールグループ

ユースケールに合わせた追加の保護対策を提供
保護対象のオペレーティングシステムやミドルウェア、アプリケーションによって、適切なルールを選択する

  • SQL database
    • SQLインジェクション攻撃など、SQLデータベースの悪用に関するリクエストパターンをブロックするルール
  • Linux operating system
    • Linux固有のローカルファイルインクルージョン(LFI)攻撃など、Linux固有の脆弱性の悪用に関するリクエストパターンをブロックするルール
  • PHP application
    • 安全でないPHP関数のインジェクションなど、PHPに固有の脆弱性の悪用に関するリクエストパターンをブロックするルール
  • WordPress application
    • WordPressサイト特有の脆弱性の悪用に関するリクエストパターンをブロックするルール
  • POSIX operationg system
    • POSIXおよびPOSIXと同様のオペレーティングシステムに固有の脆弱性の悪用(ローカルファイルインクルージョン(LFI)攻撃など)に関連するリクエストパターンをブロックするルール
  • Windowns operation system
    • PowerShellコマンドのリモート実行など、Windows固有の脆弱性の悪用に関連するリクエストパターンをブロックするルール

IPレピテーションルールグループ

ここの攻撃の種類に対するルールではなく、よく踏み台などにされるIP元リストを提供しており、それらIPに基づいてリクエストをブロックする

  • Amazon IP requtation list
    • botやその他の脅威に関連づけられているIPアドレスをブロックするルール。Amazon内部の脅威インテリジェンスにもどずくルールによって脅威IPが収集されている。
  • Anonymous IP list
    • VPN、プロキシ、Torノード、ホスティングプロバイダーなどのビューワーIDの難読化を許可するサービスからのリクエストをブロックするルール

Bot Controlルールグループ(有償)

ボットと判断されるリクエストを検知し、それに基づいたアクションを行う

  • botに特化したマネージドルールを提供
  • リクエストによってbotの種別を表すラベルを追加
    • ラベル内にbotの種類と特徴(シグナル)を表す情報を付与
  • AWS WAFを利用する全てのユーザーは、Bot Controlのルールグループを有効にせずとも、一定の可視性が得られる
    • Bot Controlルールを利用した場合の効果を事前に取得し、利用の可否を決めることができる。

Account Takeover Preventionルールグループ(有償)

ログインページに対する不正なアクセスから保護するためのルールグループ

  • 盗まれた認証情報を利用したログイン試行を可視化及び制御
    • クレデンシャルフタッフィング攻撃
    • ブルートフォース攻撃
    • その他の異常のログイン試行
  • POSTされたデータを盗まれたクレデンシャルのデータベースと照合
  • アプリケーション統合SDKの利用で検知能力を向上(オプション)
    • Javascript、iOS/Android SDK

参考記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?