「AWS WAF」は、AWS が提供するマネージドの WAF サービスです。
不正リクエストや大量アクセスを自動でブロックし、サイトを保護する機能を有しています。
今回は、AWS WAF を用いて DoS 攻撃のブロック設定を行います。
AWS WAF の設定を新規作成する
初めに、AWS WAF の設定を作成します。コンソールから Configure web ACL
を開きます。
基本的には、画面に従って Next
をクリックすればOKです。
WAF を CloudFront に紐づけるか、ALB(ELB) に紐づけるか選択します。
下記は、東京リージョンの ALB に紐づける場合の設定例です。
![](https://xn--o9j8h1c9hb5756dt0ua226amc1a.com/wp-content/uploads/2018/10/a067-02.png)
デフォルトアクション(ルールに該当しないアクセス)の選択肢では、必ず「Allow」を選択します。ここの設定を誤ると、すべてのアクセスをブロックしてしまうため注意しましょう。
DoS 攻撃のブロックルールを作成する
コンソール の Create Rule
から設定を行います。
Rule type
を Rate-based rule
に変更すると DoS 対策になります。
5分あたりのアクセス数を計測しており、Rate limit
に設定した値を上回るとブロックされます。
2020年3月現在、設定できる最小値は「100」となっています。
![](https://xn--o9j8h1c9hb5756dt0ua226amc1a.com/wp-content/uploads/2018/10/a067-01.png)
Region
の設定は、先ほど WAF を作成した時の内容と合わせておきます。
WAF と DoS 攻撃のブロックルールを紐づける
WAF とブロックルールを紐づけます。
最初に作成した WAF を開き、Rules タブにある Edit web ACL
をクリックします。
![](https://xn--o9j8h1c9hb5756dt0ua226amc1a.com/wp-content/uploads/2018/10/a068-04.png)
先ほど作成したブロックルールを追加します。
選択肢に表示されない場合は、ルールの Region が誤っていないか確認しましょう。
![](https://xn--o9j8h1c9hb5756dt0ua226amc1a.com/wp-content/uploads/2018/10/a068-05.png)
これで設定完了です。
5分間に2000回以上のアクセスを検知した時点で、WAFが自動的にブロックを行います。
AWS WAF の利用料金は、ルール課金とリクエスト課金
AWS WAF には2種類のコストが発生します。
Web ACL および ルールの課金
Web ACL 1件あたり毎月5ドル、ルール1件あたり毎月1ドルの料金が発生します。
WAF に登録するサイト数やルール数は、必要な分だけに絞っておきましょう。
リクエスト課金
WAF を経由するリクエストごとに料金が発生します。(100万リクエストあたり0.6ドル)
月間のリクエスト数を把握できている場合は予測が立てられます。
まとめ
AWS WAF で Dos 攻撃をブロックする設定について紹介しました。
導入や削除がスムーズに行えて、従量課金で利用できるのがマネージドサービスの利点です。
高価なアプライアンス機と比べて導入のハードルが低いため、サイトのセキュリティ対策を強化したい・WAF を試してみたい、といった場合に最適なサービスです。
【関連記事】
⇒ SSL 証明書の違いを解説
⇒ Web サイトの不正アクセス対策
⇒ User-Agent のアクセス制限方法
⇒ エックスサーバーのセキュリティ強化