Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloudflareを用いたボット軽減対策

Avatar for adacchi3 adacchi3
November 17, 2021

 Cloudflareを用いたボット軽減対策

2021年11月17日に開催されたATEAM TECH MeetUp_Ver.2『CDN Study』での登壇資料です。
https://ateam.connpass.com/event/228073/

Avatar for adacchi3

adacchi3

November 17, 2021
Tweet

Other Decks in Programming

Transcript

  1. 1 © 2021 Ateam Inc. 1 自己紹介 ◧ 足立拓也(Takuya Adachi)

    ■ 2019年3月静岡大学大学院総合科学技術研究科情報学専攻修了 ■ 2019年4月株式会社エイチーム新卒入社 ■ 株式会社エイチームフィナジー テクニカルソリューション部 ■ 保険代理店事業部で扱っているシステムの開発・運用・保守
  2. 2 © 2021 Ateam Inc. 2 ナビナビ保険 ◧ 保険比較・ファイナンシャルプランナー(FP)に無料相談できる 総合保険サイト

    ■ 保険業界に精通している方や、FPの資格を有した方をメインに運営 ■ 保険選びに必要な知識を分かりやすくコンテンツ化 ◧ 主に使っている技術 ■ Cloudflare(エンタープライズプラン) ■ Google Cloud Run (フルマネージド) ■ Ruby on Rails ■ GraphQL ■ React ■ TypeScript ■ TailwindCSS
  3. 3 © 2021 Ateam Inc. 3 Cloudflare ◧ インターネットに接続するすべてのものを安全、プライベート、高速、 信頼性の高いものにするべく設計されたグローバルネットワーク

    ■ https://www.cloudflare.com/ja-jp/what-is-cloudflare/ ◧ 機能 ■ DNS管理 ■ SSL/TLS(証明書の管理) ■ ファイアウォール ■ Caching ■ Workers ■ ページルール ■ ネットワーク設定の管理 ■ ...etc
  4. 9 © 2021 Ateam Inc. 9 発生原因 ◧ Cloudflare Workersでの環境変数の参照方法で誤りがあった

    ■ チャレンジャーで404レスポンスが発生 miss... 正常に動作 404発生
  5. 10 © 2021 Ateam Inc. 10 再発防止策 ◧ 4xxアラートの設定 ■

    1分間に10回以上4xxレスポンスが発生したらアラート通知 ■ 同様の事象が発生した際に気付くことができる…はず!
  6. 11 © 2021 Ateam Inc. 11 再発防止策 ◧ 4xxアラートの設定 ■

    1分間に10回以上4xxレスポンスが発生したらアラート通知 ■ 同様の事象が発生した際に気付くことができる…はず! ■ これが事の始まりでした…
  7. 18 © 2021 Ateam Inc. 18 4xxアラートの詳細 ◧ 海外からのBotのアクセス(1アラートで40リクエストほど) ■

    www.rar ■ wp-admin ■ wp-admin/post.php ■ ...etc ◧ 上記のアクセスをサーバーが404で返却 ■ Botからのアクセスでアラート通知したくない ■ そもそもサーバーで処理させたくない • 脆弱性にヒットした場合が怖い • サーバーに少なからず負荷が掛かっている
  8. 21 © 2021 Ateam Inc. 21 Cloudflareファイアウォール ◧ ドメインへのWebリクエストをモニタリングして、 特定のルールセットに基づいて不必要なトラフィックを除外

    ■ マネージドルール ■ ファイアウォールルール ■ ボット分析 ■ DDoS攻撃からの保護 ■ レート制限 ■ ユーザエージェントのブロック ■ ブラウザ整合性チェック
  9. 24 © 2021 Ateam Inc. 24 ファイアウォールルールの追加 ◧ 場所、IP アドレス、ユーザー

    エージェント、URI などに基づき、 リクエストをフィルター処理してゾーンでの受信トラフィックをコントロール ■ 日本からのアクセス • アクセス許可 ■ 検索エンジン等の既知の無害なボット • アクセス許可 ■ 海外からのアクセス • チャレンジ(CAPTCHA) – 直近24時間内でのチャレンジ解決率: 0.83% – 約1,000件アクセスあった場合、8件が解決 • ブロック
  10. 26 © 2021 Ateam Inc. 26 実施結果 ◧ Cloudflare Firewallを用いることで海外からのBotアクセスを遮断

    ■ サーバー負荷軽減 ■ 検知したいインシデントを検知できるように ■ アラート確認の工数削減 ■ 安眠の獲得
  11. 27 © 2021 Ateam Inc. 27 他にもCloudflareにはいろいろな機能があります ◧ SuperBotFight Mode

    ■ AIによるBotアクセスの制御 ◧ Cloudflare Workers ■ エッジでのJavaScriptの実行 ■ 2021/11/16にアップデート! ◧ Polish ■ 画像最適化 • ファイルサイズの削減 • WebP配信