AWS WAFでOWASP Top 10の対応
AWS WAFを導入したのでその記録です。
運用コストを考えると、自力でがんばるのはしんどいので、AWSのOWASP10テンプレートを利用しました。
運用コストを考えると、自力でがんばるのはしんどいので、AWSのOWASP10テンプレートを利用しました。
CloudFormationのテンプレートをダウンロード
まずはじめに、以下のページからCloudFormationのテンプレートをダウンロードします。
Use AWS WAF to Mitigate OWASP’s Top 10 Web Application Vulnerabilities
Use AWS WAF to Mitigate OWASP’s Top 10 Web Application Vulnerabilities

CloudFormation用IAM Roleの作成
続いて、CloudFormationを実行するためのIAMロールを作成します。
IAMの画面からロール→ロールの作成をクリックします。
IAMの画面からロール→ロールの作成をクリックします。

エンティティの種類は「CloudFormation」を選択します。

権限をアタッチします。
おそらく手抜きのAdministratorAccessをチョイス。
おそらく手抜きのAdministratorAccessをチョイス。

名前をつけて作成。新しいIAMロールができました。

CloudFormationの実行
続いてAWSマネジメントコンソールからCloudFormationの画面を開きます。
最初に入手したクラウドフォーメーションテンプレートを選択します。
最初に入手したクラウドフォーメーションテンプレートを選択します。

スタックに名前をつけて、ロールを選択します。


CloudFormationが実行され、しばらく待つと完了します

ルールが10個できました!generic-detect-admin-accessはIPとURLの設定が必要なので、環境に合わせて調整しましょう。

今回はALBにアタッチして利用しました。導入当初はブロックではなく、カウントに設定して様子をみるのがよさそうです。

作業は以上です。テンプレートとAWSの手軽さのおかげで導入はあっという間に終わりますが、安定するまで運用ルールの監視と調整が必要になりそうです。
今回の環境でもWordPressの管理画面が利用できなくなるなど、いくつかの調整が必要になりました。
今回の環境でもWordPressの管理画面が利用できなくなるなど、いくつかの調整が必要になりました。