「AWS WAF」は、AWS が提供するマネージドの WAF サービスです。
不正リクエストや大量アクセスを自動でブロックし、サイトを保護する機能を有しています。
今回は、AWS WAF を用いて DoS 攻撃のブロック設定を行います。
AWS WAF の設定を新規作成する
初めに、AWS WAF の設定を作成します。コンソールから Configure web ACL
を開きます。
基本的には、画面に従って Next
をクリックすればOKです。
WAF を CloudFront に紐づけるか、ALB(ELB) に紐づけるか選択します。
下記は、東京リージョンの ALB に紐づける場合の設定例です。
デフォルトアクション(ルールに該当しないアクセス)の選択肢では、必ず「Allow」を選択します。ここの設定を誤ると、すべてのアクセスをブロックしてしまうため注意しましょう。
DoS 攻撃のブロックルールを作成する
コンソール の Create Rule
から設定を行います。
Rule type
を Rate-based rule
に変更すると DoS 対策になります。
5分あたりのアクセス数を計測しており、Rate limit
に設定した値を上回るとブロックされます。
2020年3月現在、設定できる最小値は「100」となっています。
Region
の設定は、先ほど WAF を作成した時の内容と合わせておきます。
WAF と DoS 攻撃のブロックルールを紐づける
WAF とブロックルールを紐づけます。
最初に作成した WAF を開き、Rules タブにある Edit web ACL
をクリックします。
先ほど作成したブロックルールを追加します。
選択肢に表示されない場合は、ルールの Region が誤っていないか確認しましょう。
これで設定完了です。
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 のアクセス制限方法
⇒ エックスサーバーのセキュリティ強化