2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

最近、どんな攻撃があり、どのように対策をすべきかの記事をまとめました。

今回は、AWSでは、どのような設定を行う事で対策を取る事が出来るのか、具体的な話をしようと考えて、「AWS WAFを使用してIPアドレスをフィルタリングする手順」の記事を作成しました。

事前準備

リージョンの選択

AWS WAF を使用する前に、どのリージョンで WAF を使用するかを選択する必要があります。

スクリーンショット 2023-04-15 12.41.07.png

リソースの選択

AWS WAF で IP アドレスをフィルタリングする場合、フィルタリング対象となるリソースを選択する必要があります。WAF の適用先は、Amazon CloudFront、Amazon API Gateway、AWS Application Load Balancer、AWS Elastic Beanstalk、AWS CloudFormation スタックなど、様々なリソースに対して設定できます。

ALBの場合

スクリーンショット 2023-04-15 12.52.33.png

ルールの作成

AWS WAF で IP アドレスをフィルタリングするためには、ルールを作成する必要があります。ルールは、IP アドレス帯域や単一の IP アドレスを指定することができます。また、AWS Marketplace から提供されるアプリケーションを使用して、IP アドレスフィルタリングを行うこともできます。WAF(Web Application Firewall)では、IPセットを作成して管理し、
自分自身のルールやルールグループで使用できます。

AWS WAFを使用してIPアドレスをフィルタリングする手順概要

手順 説明
1. AWS WAFの設定 AWS Management Consoleにログインし、AWS WAFのコンソールに移動します。
2. Web ACLの作成 「Create web ACL」をクリックし、Web ACLの名前とリージョンを指定します。
3. ルールの作成 「Add rules」ボタンをクリックし、「IP set」を選択します。
4. IPセットの作成 「Create IP set」をクリックし、IPセットの名前とリージョンを指定します。IPセットにフィルタリングしたいIPアドレスを追加します。
5. ルールの設定 「Add rule」をクリックし、ルールの名前を指定します。「IP set」を選択し、先ほど作成したIPセットを選択します。「Action」で「Block」を選択します。
6. Web ACLにルールを追加 「Add rule to web ACL」をクリックし、ルールをWeb ACLに追加します。
7. Web ACLの適用 「Add AWS resources」をクリックし、適用するリソースを選択します。

IPセットをWAFのルールやルールグループで使用する方法

AWS Management Consoleにログインし、WAFダッシュボードに移動します。
左側のメニューから「IPセット」をクリックし、IPセットの管理画面に移動します。

スクリーンショット 2023-04-15 12.59.57.png

Create IP set

「Create IP set」をクリックして新しいIPセットを作成します。IPセットは、IPアドレス、CIDRブロック、またはAWSリソースのARNを含むことができます。

スクリーンショット 2023-04-15 13.04.43.png

IPセットをルールやルールグループで使用するには、ルールまたはルールグループを作成する必要があります。
ルールグループには複数のルールが含まれるため、ルールグループを作成することをお勧めします。

Web ACL の作成 (Web ACLには、最大で10個のルールグループを追加できます。)

WAF のルールを適用するには、Web ACL (Web Access Control List) を作成する必要があります。Web ACL は、WAF のルールセットを含んでおり、選択したリソースに対して適用されます。Web ACL では、ブロックする前に、WAF のログ設定、AWS Kinesis Data Firehose ストリームへの送信、CloudWatch ロググループへの送信などの設定を行うこともできます。

Create web ACL

Web ACL(アクセス制御リスト)を作成することで、Webトラフィックを監視し、悪意のあるトラフィックをブロックすることができます。
スクリーンショット 2023-04-15 12.33.15.png

Add rules and rule groups

事前定義済みのルールグループを提供していますが、ユーザーは独自のカスタムルールグループを作成することもできます。

AWS WAFルールグループで使用できる一般的なルールの例
IPアドレスブロックルール
特定のIPアドレスからのトラフィックをブロックします。
SQLインジェクションルール
SQLインジェクション攻撃を検出し、ブロックします。
クロスサイトスクリプティング(XSS)ルール
XSS攻撃を検出し、ブロックします。
コマンドインジェクションルール
コマンドインジェクション攻撃を検出し、ブロックします。
リモートファイルインクルージョン(RFI)ルール
RFI攻撃を検出し、ブロックします。
有害なボットルール
スパムボットや不正なボットのような有害なボットを検出し、ブロックします。

AWS WAFは、AWS Marketplaceからルールグループを購入することもできます。
スクリーンショット 2023-04-15 12.55.26.png

IP set 対象を絞ります

ルールのアクションに従って、トラフィックをブロックまたは許可します。
スクリーンショット 2023-04-15 13.11.08.png

Default web ACL action for requests that don't match any rules
Web ACLには、複数のルールが含まれています。ルールは、Webアプリケーションに対する攻撃を検知するための条件式です。条件式が該当する場合、AWS WAFは、ルールのアクションに従って、トラフィックをブロックまたは許可します。

Web ACLの設定で重要なのは、ルールに該当しないリクエストを処理する方法です。AWS WAFは、リクエストに対してルールが存在しない場合、デフォルトで「アクションなし」を返します。これは、トラフィックを許可することを意味します。ただし、このデフォルトのアクションは変更することができます。

AWS WAFでは、Web ACLの詳細ページにアクションの設定があります。ここでは、「リクエストに該当しない場合のアクション」を変更することができます。この設定を使用して、AWS WAFがルールに該当しないリクエストに対してどのようにアクションを実行するかを変更することができます。
スクリーンショット 2023-04-15 13.13.13.png

Set rule priority

ルールの優先順位は、ルールが適用される順序を決定します。つまり、AWS WAFは、優先順位が高いルールから順にチェックし、最初にマッチしたルールに基づいてアクションを実行します。
スクリーンショット 2023-04-15 13.14.09.png

Configure metrics

WAFが検出したWebトラフィックのメトリクスをCloudWatchに送信し、分析やアラートの設定ができるようにする機能があります。

AWS WAFはサンプリングされたリクエストをCloudWatchメトリクスに含めるようになります。サンプリング率はデフォルトで1%ですが、必要に応じて変更することができます。

AWS WAFのサンプリング機能を使用すると、CloudWatchメトリクスに大量のリクエストを送信する必要がなくなり、トラフィックを監視する負荷が軽減されます。ただし、サンプリングを有効にすると、メトリクスが不正確になる可能性があることに注意してください。サンプリングされたリクエストが代表的なものでない場合、メトリクスに偏りが生じる可能性があります。
スクリーンショット 2023-04-15 13.14.51.png

Create web ACL

スクリーンショット 2023-04-15 13.15.52.png

作成完了

スクリーンショット 2023-04-15 13.17.12.png

Web ACLの確認

スクリーンショット 2023-04-15 13.18.32.png

Web ACLの確認 Details

image.png

Web ACLの確認 Json

image.png

読んでいただき、ありがとうございました。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?