TOUCH THE SECURITY Powered by Security Service G
AWSでは、BotからのWebサイトへのリクエストをブロックする方法として、AWS WAFのCAPTCHA認証の機能があります。 本記事では、アプリケーションレイヤ保護の一つの手段として、AWS上でCAPTCHAを実装する手順をご紹介します。 なお、AWS WAFの詳細な説明は省略いたします。以下、AWS公式ドキュメントをご参照ください。
AWS公式ドキュメント: [AWS WAF]
監修:大畑 健一(おおはた けんいち)
パーソルクロステクノロジー株式会社
採用・教育統括本部 ICT採用本部 キャリア採用部 2G
メーカーや教育、キャリア系を中心にネットワークエンジニアの経験を持つ。
2020年10月にパーソルクロステクノロジー(旧パーソルテクノロジースタッフ)に入社。
2022年4月から現在の部署にて中途採用エンジニア向けの広報を担当。
CAPTCHAとは
CAPTCHAは、「Completely Automated Public Turing test to tell Computers and Humans Apart」(コンピューターと人間を区別する完全自動公開チューリングテスト) の略です。 ウェブスクレイピング、クレデンシャルスタッフィング、スパムなどの攻撃を防御できます。 AWS WAFのCAPTCHA認証を用いると、WAF側で認証を終端させることができます。 これにより、ページ遷移を行うことなく認証を実行でき、アプリケーションやネットワークの負荷を軽減できます。
構築
構成図
CAPTCHA機能を実践した環境は以下の図の通りです。 S3とCloudFrontでWebサイトを構築し、CloudFrontにAWS WAFを割り当てて保護を設定しています。
AWS WAFでルールを作成
以下、AWS WAFでルールを作成する手順を説明します。
Web ACLsから対象とするACLを選択し、「Add my own rules and rule groups」をクリックします。
「Rule buider」を選択し、名前を入力した後に「Regular rule」を選択します。
Statementの項目では、CloudFrontへのアクセス時にCAPTCHAを開始する条件を設定します。
Actionの項目では、CAPTCHAを選択します。 また、Immunity timeでは、CAPTCHAタイムスタンプの有効時間を設定できます。
Jsonファイルでの表記は以下の通りです。
上記の設定が動作するか、実際にアクセスし挙動を確認します。
アクセス確認
Webサイトにアクセスすると、以下の画面のようにCAPTCHA認証が開始します。
画面の案内に従って選択し、「確認」をクリックします。
認証が成功すると以下の画面が表示されます。
Webサイトにリダイレクトされます。
エンジニアとしてチャレンジしたい方
パーソルクロステクノロジー社で実現しませんか?
パーソルクロステクノロジー社では現在、
Javaエンジニアやシステムエンジニアといったシステム開発人材として活躍したい方を募集しています。
パーソルクロステクノロジー社では、充実した環境で
データ人材としてのキャリアを歩むことができます。
- システム領域の「戦略」から「実行」までを担当
- 未経験者でも安心の教育制度(集合研修、e-learning研修、リモート学習など)
- 仕事とプライベートを両立できる環境
気になる方はぜひ下の詳細ページをクリックしてみてください。






