Webアプリケーションの運用において、悪意あるBotの対策が重要です。悪意あるBotのアクセスによって、サーバリソースの過剰消費やサービスの遅延、サーバダウン、さらにはアカウントが乗っ取られたりサイバー攻撃の踏み台になったりするなど、多くの問題を引き起こす恐れがあるためです。
AWS環境では、AWS WAF Bot Controlのマネージドルールを適用することで、効果的なBot対策を実現できます。
この記事では、AWS WAF Bot Controlの概要から設定方法、料金まで詳しく解説します。
目次
- AWS WAF Bot Controlとは?
- AWS WAF Bot ControlによるBot対策の重要性
- AWS WAF Bot Controlの設定方法
- AWS WAF Bot Control利用上の注意点
- AWS WAF自動運用サービス「WafCharm」にもBot Controlが搭載されている
AWS WAF Bot Controlとは?
AWS WAF Bot Controlは、AWSマネージドルールのルールグループの1つで、AWS WAF Bot Controlを適用することで、スクレーパーやスキャナなど、さまざまなBotをモニタリングし、悪意のあるものをブロックすることができます。
そもそもAWSマネージドルールとは?
AWSマネージドルールとは、AWSが提供しているAWS WAFで使用可能なルールセットです。AWSマネージドルールを導入することで、不正アクセスやサイバー攻撃からWebアプリケーションを守ることができます。
AWSマネージドルールにはさまざまな種類のルールグループがあります。例えば、OWASP Top 10を含めた一般的な脅威を対策できるコアルールセット(CRS)やWordPressやSQLデータベースに特化しているルールグループです。
そして、AWS WAF Bot ControlルールグループはBotに特化しているルールグループです。悪意のあるBotからのアクセスを検知・遮断して、Botによるサーバリソースの過剰消費やサーバダウンなどの被害を未然に防げます。
AWSマネージドルールは自社のセキュリティニーズに合わせて適切なルールグループを選択し、AWS WAFに適用することができます。
AWSマネージドルールについて詳しくはこちら:
AWS WAF Bot ControlによるBot対策の重要性
一言でBotと言っても、すべてが悪いアクセスとは限りません。
そもそもBot(ボット)とは、一定のタスクや処理を自動化するためのアプリケーションやプログラムです。GoogleやBing!などの検索エンジンのクローラーやチャットボットなど、ユーザに価値を提供する有益なBotがたくさん存在しています。
一方、サーバリソースを過剰に消費する悪意のあるBotがあります。悪意のあるBotのアクセスによって、Webアプリケーションの動作速度を低下させてしまったり、サーバが落ちてしまう可能性があります。さらに、不正ログインを試みるBotによってアカウントが攻撃者に乗っ取られる恐れがあるため、事前のBot対策が必要です。
ただし、先ほどが説明した通り有益なBotも存在するので、すべてのBotを遮断するのは適切な対策とは言えません。実際、Botにはさまざまな種類があり、単純なスクリプトから高度なものまで存在するため、検出が難しいです。そのため、Botを適切に対策できるマネージドサービスを導入する必要があります。
AWS WAF Bot Controlの設定方法
AWS WAF Bot Controlを有効にするには、ほかのAWS WAFルールを適用するのと同じよように設定する必要があります。
ここでは、AWS WAF Bot Controlの設定方法について紹介します。
1.Web ACLを作成しルールを追加する
AWS WAF Bot ControlはAWSマネージドルールの1つなので、適用するためにまずWeb ACLを作成し、ルールとしてAWS WAFを追加する必要があります。Web ACLの作成手順は下記の通りです。
- AWS Management ConsoleからAWS WAFコンソールを開き、“Create Web ACL”をクリックしてWeb ACLを作成します。
- “Name”にWeb ACLの名前を入力し、必要に応じてWeb ACLの説明を“Description – optional”に入力します。”CloudWatch metric name”(CloudWatchメトリクス名)はデフォルトのままでも大丈夫です。
- “Resource Type”は保護したいリソースを選んでください。“Region”は“Resource Type”に合わせて選んでください。例えば、AWS WAFでAmazon CloudFrontを保護したい場合、“CloudFront distributions”を選択してください。その場合、Regionが自動的に“Global(CloudFront)”に変わるので追加設定は不要です。
- 必要があれば“Associated AWS resources – optional”で”Add AWS resources”を選択して追加で保護したいAWSリソースを登録してください。
- “Next”を押して次のステップに進みます。
Web ACLの設定方法について詳しくはこちら:
2.Bot Controlルールグループを適用する
Web ACLを作成したあとに、AWSマネージドルールを適用し、その中からBot ControlルールグループをAWS WAFに追加します。ここでは追加の方法を説明します。
- “Add rules and rule groups”のページで、“Add rules”と“AWS managed rule groups”を選択します。
- “Paid rule groups”のカテゴリ下にあるBot ControlルールグループのActionを“Add to web ACL”に変更します。
- “Default web ACL action for requests that don’t match any rules”にBot Controlルールに合致しないリクエストへの対応を選択してください。通過させる場合は“Allow”にしてください。カスタムアクションの設定も可能です。
- “Next”をクリックして“Create web ACL”を選択します。
これでAWS WAF Bot Controlの追加作業は完了となります。
AWS WAF Bot Control利用上の注意点
AWS WAF Bot Controlの導入設定はとても簡単ですが、利用にあたって注意点もあります。ここではAWS WAF Bot Controlにおける注意点を解説します。
高度な設定が求められる場合もある
AWS WAF Bot Controlには、一般的なBotを識別する共通レベル(Common)と、高度なBotを検知するターゲットを絞ったレベル(Targeted)、2つの保護レベルがあります。
ターゲットを絞ったレベルでは、Webサイトのトラフィックデータを機械学習で分析して、より高度なBotを検知することができます。
高度な検知を実現できる反面、ターゲットを絞ったレベルを活用するには煩雑な設定を行う必要があります。万が一誤った設定をしてしまうと、正常アクセスをBotとして誤って検知・遮断してしまう恐れがあり、顧客による不信感やクレームにつながりかねます。
それを防ぐために、AWS WAF Bot Controlを適用する前に設定や検知条件についてしっかり把握し検証を行うことをおすすめします。
追加料金が発生する
AWS WAF Bot Controlは高度なBot対策を実現できるため、利用にあたって通常のAWS WAFの利用料金に加えてAWS WAF Bot Controlの月額費用がかかります。
1 Web ACLあたり10ドルの基本料金に加え、適用したBot Controlのレベルによって追加料金が発生します。
Commonレベルの場合、100万件のリクエストあたり1ドルがかかります。また、ユーザーを分析するためにCaptcha(キャプチャ)やチャレンジが提示された場合、その提示回数に合わせて課金が発生します。1万回のCaptchaあたりに4ドル、100万回のチャレンジあたりに0.4ドルとなります。
Targetedレベルの場合、100万件リクエストあたりに10ドルがかかります。Commonに比べて高いですが、Captchaとチャレンジの利用料金が利用量に含まれているため追加費用なしで利用できます。
AWS WAF Bot Controlの利用料金を予測するために、自社アプリケーションのリクエスト数を把握し計算しておくことがおすすめです。
また、Bot Controlルールグループは50 WCU(Web Capacity Unit)を消費するため、Bot Controlルールグループの導入によって1 Web ACLのWCUが1,500を超えた場合、追加料金が発生するので注意が必要です。
AWS WAFやBot Controlルールグループの利用料金について詳しくはこちらをご覧ください。
AWS WAF自動運用サービス「WafCharm」にもBot Controlが搭載されている
Bot対策をしっかり導入したいものの、煩雑な設定や追加料金が気になる場合、AWS WAF自動運用サービス「WafCharm」の利用がおすすめです。
WafCharmには、Bot Control機能が標準搭載されているため、追加料金なしで悪意のあるBot対策を講じることができます。
さらに、WafCharmにはブロックリスト(ブラックリスト)の自動運用機能も備えているため、不審なIPアドレスを自動的に識別してブロックリストに追加することで不正アクセスや攻撃を効果的に制御することが可能です。
国内シェアNo.1※のクラウド型WAF「攻撃遮断くん」の検知データを活用しているため、WafCharmの導入によってより効果的な防御を実現することができます。
WafCharmについて詳しく知りたい方はこちらの資料をダウンロードしてください。
※デロイト トーマツ ミック経済研究所「外部脅威対策ソリューション市場の現状と将来展望 2023年度」