メインコンテンツまでスキップ
バージョン: 1.1.4.1

インストールおよび初期化

概要

BotManager-CloudFront-AgentはOriginサーバーを修正せずにAWS Lambda@Edgeを活用してBotManagerの検出機能を簡単に適用できるように設計されました。

BotManagerは多様な分析技法(ヘッダー分析、行動分析、海外IPブロック、接続統計など)を通じてボットおよびマクロユーザーを検出するソリューションです。これを通じてウェブサービスを保護し、悪性ユーザーおよび自動化されたボットの脅威からデータを安全に管理できます。

AWS CloudFrontとは?

Amazon CloudFrontはAWSグローバルエッジネットワークを通じたCDNサービスで、静的・動的コンテンツを最終ユーザーに速やかに伝達します。

主要特徴:

  • 500個以上エッジロケーション、HTTP/2・gRPC・WebSocketサポート
  • Lambda@Edgeでリクエスト/応答中間にカスタムコード実行
  • セキュリティ統合:AWS WAF、AWS Shield、SSL/TLS
  • リアルタイムロギング:CloudWatch、S3、Kinesis連動

インストール方法

1. Lambda関数生成

警告

Lambda関数はus-east-1(N. Virginia)リージョンで作成する必要があります。これはAWSの要件で、このリージョンは関数を全世界に複製するための中央位置の役割をするためです。

  1. us-east-1地域のAWSコンソール → IAM > 役割役割生成

  2. trusted entity選択およびCustom trust policyを入力してください:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"edgelambda.amazonaws.com",
"lambda.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
  1. 権限追加のためにリストでAWSLambdaBasicExecutionRoleを選択します。

  2. 役割名はBotManager-CloudFront-Roleに設定します。

  3. AWSコンソール → Lambda > 関数生成

  4. 関数名および環境設定:

    • 関数名:botmanager-cloudfront-agent
    • ランタイム:Node.js 18.x以上
    • 実行役割:先に生成したBotManager-CloudFront-Role

2. エージェントアップロード

  1. 以下のリンクのBotManager-CloudFront-Agentをダウンロードした後コンソールで**.zip fileを選択**してアップロードします。

  2. アップロードが完了すると以下の3つのファイルが生成されます:

    • botmanager-config.json
    • index.mjs
    • package.json

3. BotManager初期設定適用

  1. エージェントをインストールするドメインを選択しCode sourceでbotmanager-config.jsonに以下の内容をコピー後貼り付けます。
{
"BM_TENANTID": "{TENANT ID}",
"BM_DOMAINNAME": "{DOMAIN}"
}
KeyRequireValueDescription
BM_TENANTIDYes{tenantId}顧客社識別のための固有ID
BM_DOMAINNAMEYes{domainName}リクエストが入ってくるサーバーのドメイン
BM_SERVERURLNohttps://botmanager.stclab.com検出サーバーURL
BM_PROTECTION_SERVERURLNohttps://cdn-botmanager.stclab.comブロックページ(Captcha、Deny、Challenge)URL
BM_SERVER_TIMEOUTNo1000検出サーバーへのHTTPリクエストタイムアウト(ms)
BM_STATIC_BYPASSNofalseLambdaでDocumentではない静的リソース呼び出し時にロジックが実行される場合Documentのときのみ検出するようにする設定値
BM_COOKIE_HTTPONLYNofalseBrowser-AgentなしにLambdaのみ使用する場合識別子保護のためのクッキー設定値
BM_COOKIE_PROTOCOLNohttpsBrowser-Agentでサービスページのプロトコルを知ることができない場合クッキー生成時に該当プロトコル設定に合わせてクッキー生成
BM_LOGLEVELNoERRORログレベル(DEBUG、INFO、WARN、ERROR)
BM_BYPASSNofalseLambdaでBotManager Agentがロジックを実行しないようにするフラグ

4. 新バージョン公開

  1. コード適用が完了したらActionsPublish new versionをクリックして新しいバージョンで公開を進行します。

5. CloudFrontと接続

  1. CloudFrontに適用するbotmanager-cloudfront-agent Lambda ARNをコピーします。

  2. AWSコンソール → CloudFront > デプロイ → BotManager-CloudFront-Agentを適用する対象デプロイを選択します。

  3. Behaviorsタブ → 修正するBehavior右側Editをクリックします。

  4. Lambda Function Associations

    • Viewer Request → コピーしたbotmanager-cloudfront-agentバージョンARNを貼り付けます。
    • Viewer Response → 同一ARNを貼り付けます。
警告

後ろにバージョン名を必ず入れてください。(バージョンが1の場合:1を追加すればよいです。)

  1. 無効化のためにInvalidationsタブでCreate invalidationをクリックします。

  2. オブジェクトパスに/*を入力し無効化生成をクリックします。

  3. コンソールでCloudFront無効化状態を確認してください。(デプロイ完了待機5-10分要)

インストール完了!

完了するとCloudFrontにBotManager-CloudFront-AgentがLambda@Edgeに接続されてボットおよびマクロを検出・ブロックできるようになります。