

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ボットコントロール戦略のデプロイと実装
<a name="deployment"></a>

ボットコントロールのデプロイ戦略を計画するときは、複数の要素を考慮する必要があります。ウェブアプリケーションの固有の特性に加えて、環境サイズ、開発プロセス、組織構造がデプロイ戦略に影響します。環境とアプリケーションの特性に応じて、集中型または分散型のデプロイ戦略を使用できます。
+ **一元化されたデプロイ戦略** – 一元化されたアプローチにより、ボット制御を厳密に実施したい場合に、より高いレベルの制御が可能になります。このアプローチは、アプリケーションチームが管理をオフロードする場合に適しています。一元化されたアプローチは、ウェブアプリケーションが同様の特性を共有する場合に最も効果的です。この場合、アプリケーションは一般的なボットコントロールルールとボット緩和アクションのセットから恩恵を受けます。
+ **分散型デプロイ戦略** – 分散型アプローチは、アプリケーションチームにボット制御設定を個別に定義して実装する自律性を提供します。このアプローチは、小規模な環境や、アプリケーションチームがボットコントロールポリシーの制御を維持する必要がある場合に一般的です。多くのウェブアプリケーションの性質上、独自のアプリケーション特性に合わせてカスタマイズされた独立したボット制御ポリシーを維持することが必要になることがよくあり、その結果として分散アプローチが生まれます。
+ **複合戦略** – これら 2 つのアプローチの組み合わせは、ウェブアプリケーションの混在に適しています。たとえば、これにはすべてのウェブ ACLs に適用される一連の基本ルールが含まれる場合がありますが、より具体的なボット制御ポリシーの管理はアプリケーションチームに委任されます。 

を使用して[AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html)、ボット制御ポリシーを定義する AWS WAF ウェブ ACLsを一元化および自動化できます。Firewall Manager を使用する場合は、アプリケーションチームに委任する必要があるかどうかを含め、ボットコントロールポリシーを一元化することが適切かどうかを検討してください。Firewall Manager では、タグ付けを使用して、アプリケーションチームが AWS WAF ポリシーをオプトインできるようにします。これにより AWS WAF 、インテリジェントな脅威軽減機能が提供されます。アプリケーションおよびセキュリティオペレーションの集中 AWS WAF ログ記録を有効にすることもできます。

使用するデプロイ戦略にかかわらず、 や などの [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)Infrastructure as Code (IaC) ベースのフレームワークを使用してオンボーディングプロセスを定義および管理することをお勧めします[AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)。これにより、設定オブジェクトを保存およびバージョン管理するようにソースコントロールを設定できます。詳細については、[AWS CDK](https://github.com/aws-samples/aws-cdk-examples/tree/master/python/waf)「 (GitHub) および [CloudFormation ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)(AWS ドキュメント) AWS WAF の設定サンプル」を参照してください。

## 実装戦略
<a name="implementation"></a>

デプロイ戦略を選択すると、実装を開始できます。デプロイ戦略は、ルールをさまざまなアプリケーションにロールアウトする方法を定義します。実装戦略では、コントロールの追加、テスト、継続的なモニタリング、効果の評価の反復プロセスに焦点を当てています。

### トラフィックパターンについて
<a name="traffic-patterns"></a>

トラフィックパターンを実際に理解するには、アプリケーションのビジネス機能や、使用パターン、キーリソース、ユーザーペルソナなどの予想される属性について理解することが重要です。アプリケーションに対するテスト中に生成された本稼働トラフィックとトラフィックを組み込み、評価のベースラインを確立します。時間枠に、複数の使用量のピークを十分に表すトラフィックデータが含まれていることを確認します。

任意のツールを使用して、代表的な使用期間におけるトラフィックログとメトリクスを確認します。( `headers` `User-Agent`や など`Referer`)、、 などの AWS WAF ログ[フィールドでフィルタリングして、異常なリクエストのログ](https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html)データを分析します`clientIp`。 `country`ユニフォームリソース識別子 (URIs) とそのアクセス頻度を書き留めます。適切なボットの特定など、トラフィックを分類します。たとえば、検索エンジンのクローラやモニターなどの有益なボットへのアクセスを許可します。

 AWS WAF コンソールの **Bot Control ダッシュボード**で、アクティブなウェブ ACL でボットアクティビティのサンプルを使用できます。これにより、一般的なボットリクエストボリュームの初期視点が得られますが、ボットのアクティビティをよりよく理解するために、さらなる設定と分析を実行します。

効果的な実装を行うには、ボットトラフィックとその効果、およびどのボットリクエストが有益か悪意があるかを十分に理解する必要があります。これは、次のフェーズ、コントロールの選択、ボットトラフィックの並列評価に役立ちます。

### コントロールの選択と追加
<a name="selecting-controls"></a>

初期トラフィック分析は、使用するボットコントロールと、それぞれに対して選択するアクションを決定するのに役立ちます。また、今後のアクションの可能性について、アクティビティをログに記録してモニタリングすることもできます。初期トラフィック分析は、トラフィックを管理するための最適なコントロールを選択するのに役立ちます。使用可能なコントロールの詳細については、このガイドの[ボット制御のテクニック](techniques.md)「」を参照してください。

このステップでは、追加の SDK 実装を含めることを検討してください。これにより、必要なすべてのアプリケーションで SDK 実装をテストして完了できます。 AWS WAF ボット制御および不正制御ルールは、JavaScript SDK またはモバイル SDK を実装するときに完全なトークン評価の利点を提供します。詳細については、 AWS WAF ドキュメント[の「Bot Control でアプリケーション統合 SDKs](https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-with-tokens.html)」を参照してください。

次のように、さまざまなアプリケーションタイプにトークン取得を実装することをお勧めします。
+ **単一ページアプリケーション (SPA)** – JavaScript SDK (リダイレクトなし)
+ **モバイルブラウザ** – JavaScript SDK またはルールアクション (CAPTCHA またはチャレンジ)
+ **ウェブビュー** – JavaScript SDK またはルールアクション (CAPTCHA またはチャレンジ)
+ **ネイティブアプリケーション** – Mobile SDK
+ **iFrames** – JavaScript SDK

SDKs[AWS WAF 「クライアントアプリケーション統合](https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html)」を参照してください。 AWS WAF 

### テストと本番環境へのデプロイ
<a name="testing"></a>

コントロールは、最初に非本番環境にデプロイする必要があります。この環境では、テストを実行して、期待されるウェブアプリケーションの機能が保持されていることを確認することができます。本番環境にデプロイする前に、テスト環境で常に 徹底的な検証を実行します。

非本番稼働環境でテストと検証を行った後、本番稼働用リリースを続行できます。予想されるユーザートラフィックが最も少ない日時を選択します。デプロイする前に、アプリケーションチームとセキュリティチームが運用準備状況を確認し、変更をロールバックする方法を説明し、ダッシュボードを確認して、必要なすべてのメトリクスとアラームが設定されていることを確認する必要があります。

[Amazon CloudFront の継続的デプロイ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/continuous-deployment.html)では、ボット制御評価専用に AWS WAF ウェブ ACL が設定されたステージングディストリビューションに少量のトラフィックを送信できます。 は、新規または更新されたマネージドルール[のバージョン管理](https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-rule-groups-versioning.html) AWS WAF を提供し、本番トラフィックの評価を開始する前に変更をテストして承認できるようにします。

### コントロールの評価と調整
<a name="tuning-controls"></a>

実装されたコントロールは、トラフィックのアクティビティとパターンに関する詳細なインサイトと可視性を提供できます。セキュリティコントロールを追加または調整するために、アプリケーショントラフィックを頻繁にモニタリングおよび分析します。通常、潜在的な偽陰性と偽陽性を軽減するための調整フェーズがあります。*偽陰性*は、コントロールによって検出されず、ルールを強化する必要がある攻撃です。*誤検出は、*攻撃として誤って識別され、結果としてブロックされた正当なリクエストを表します。

分析と調整は、手動またはツールを使用して行うことができます。Security Information and Event Management (SIEM) システムは、メトリクスとインテリジェントなモニタリングを提供するのに役立つ一般的なツールです。さまざまなレベルの洗練度で利用できるものが多数ありますが、それらはすべてトラフィックインサイトを取得するための良い出発点となります。

ウェブサイトやアプリケーションの重要な主要業績評価指標 (KPIs) を定義すると、モノが期待どおりに機能していないタイミングをより迅速に特定できます。たとえば、クレジットカードのチャージバック、アカウントあたりの売上、または変換率を、ボットによって生成される可能性のあるビジネス異常の指標として使用できます。モニタリングする価値のあるメトリクスと KPIs を定義して理解することは、単なるモニタリング行為よりもさらに重要です。

ボット制御ソリューションから適切なメトリクスとログを取得する方法を理解することは、モニタリングするメトリクスを特定するのと同じくらい重要です。次のセクション [ボットコントロール戦略のモニタリングに関するガイドライン](monitoring.md)では、考慮すべきモニタリングと可視性のオプションについて詳しく説明します。