1
2

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 5 years have passed since last update.

CloudFrontのアクセスログを使って特定IPからの不正リクエストをAWS WAFでブロックする - 設定変更編

Last updated at Posted at 2019-03-20

はじめに

CloudFrontのアクセスログを使って特定IPからの不正リクエストをAWS WAFでブロックする - 初期設定編を設定しました。
ですが、「違うログバケットのログをチェックしたい」「チェックするエラーコードを変更したい」といったことがあると思います。
その変更方法についていくつかまとめてみました。

変更リスト

参照するログバケットの変更
チェックするリクエスト回数の変更
IPをブロックしている期間の変更
チェックするエラーコードの変更

参照するログバケットの変更

CloudFrontを導入済みの場合、すでにログ出力を行なっているバケットを利用できた方が便利かと思います。
参照するログバケットの変更は、S3イベントで行います。

S3イベントの設定

変更先S3バケットのプロパティからS3イベントを選択し、「通知の追加」をクリックして設定を行います。
スクリーンショット 2019-03-18 14.33.10.png

  • 名前: イベント名を入力します。入力しない場合はランダム文字列が付与されます。
  • イベント: 「すべてのオブジェクト作成イベント」にチェックをします。
  • プレフィックス: 複数のログを1つのバケットに集約している場合は、出力される場所を記載します。
  • サフィックス: CloudFrontのログが出力されるファイル形式「gz」を入力します。
  • 送信先: 「Lambda関数」を選択します。
  • Lambda: CloudFormationで作成されたLambdaを選択します。

ブロックリストの変更

WAFでブロックされるIPリストはデフォルトではスタック作成時に入力する変数(CloudFrontAccessLogBucket)のバケットに current_outstanding_requesters.json というファイル名で出力されます。
参照ログバケットを変更した際は、ここも変更した方が良いです。

変更前
OUTPUT_BUCKET = None
OUTPUT_FILE_NAME = 'current_outstanding_requesters.json'
変更後
OUTPUT_BUCKET = <ログバケット名>
OUTPUT_FILE_NAME = '<CloudFront名>_current_outstanding_requesters.json'

チェックするリクエスト回数の変更

デフォルトの設定は1分間に50回です。
回数の変更を行うには、CloudFrontのスタックの更新で RequestThreshold のパラメータを変更します。
スクリーンショット 2019-03-18 15.41.19.png
または、Lambda関数内の変数を修正することでも変更ができます。
以下は回数を「50(デフォルト)→100」へ変更した例です。

変更例
REQUEST_PER_MINUTE_LIMIT = 100

IPをブロックしている期間の変更

デフォルトの設定は14400sec(4時間)です。
これもリクエスト回数と同様、CloudFormationのスタック更新で変更できます。
スタックの更新からWAFBlockPeriod のパラメータを変更してあげます。
スクリーンショット 2019-03-18 15.41.19のコピー.png
または、Lambda関数内の変数を修正することでも変更ができます。
以下は期間を「4時間(デフォルト)→1時間」へ変更した例です。

変更例
BLACKLIST_BLOCK_PERIOD = 3600

チェックするエラーコードの変更

検知対象とするエラーコードの変更も行えます。
デフォルトでは「400, 403, 404, 405」の4つが設定されていますが、ここでの例では「401」だけチェックするように変更します。

変更例
BLOCK_ERROR_CODES = ['401']

おわりに

ドキュメントには設定変更については記載がなかったので色々見てみました。
他にも変更できる部分はありますが、とりあえずここら辺が変更できればとても使いやすくなるかなと思います。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?