Slide 1

Slide 1 text

©2024 Metaps Holdings, Inc. WAFでどのリクエストがBlockされたのか、 ログを集計してSlackで簡単に⾒れるようにした 株式会社メタップスホールディングス SREエンジニア 是永 総⼀郎

Slide 2

Slide 2 text

©2024 Metaps Holdings, Inc. ⾃⼰紹介 是永 総⼀郎 株式会社メタップスホールディングス SREエンジニア Soichiro Korenaga 機械設計エンジニア→インフラエンジニア →SRE 趣味:折り紙 @s_korenaga

Slide 3

Slide 3 text

©2024 Metaps Holdings, Inc. 折り紙

Slide 4

Slide 4 text

©2024 Metaps Holdings, Inc. 社名
 株式会社メタップスホールディングス 
 (Metaps Holdings, Inc.) 
 設立
 2023年1月26日 
 資本金
 100百万円(資本準備金を含む)
 ※2023年12月末時点
 所在地
 東京都渋谷区渋谷二丁目24番12号 
 渋谷スクランブルスクエア 
 従業員数
 72名 ※2023年12月末時点
 経営陣
 代表取締役 山﨑 祐一郎 取締役   原 大輔
 取締役   青沼 克典 
 社外取締役 大谷 仁人 
 監査役   萩野矢 宏樹 事業内容
 クラウドとAIを中心にしたインキュベーション 
 テクノロジー企業への投資 
 
 MISSION テクノロジーでお金と経済のあり方を変える
 
 世界を解き放つ
 
 
 VISION 会社概要

Slide 5

Slide 5 text

©2024 Metaps Holdings, Inc. 5 srestはAWSファンデーショナルテクニカルレビュー (FTR)認証を取得しています 無料トライアル実施中 >

Slide 6

Slide 6 text

©2024 Metaps Holdings, Inc. ©2024 Metaps Holdings, Inc. 6 インフラ基盤 アプリケーションが 動いてる環境 アプリケーションのエラーを トラッキングするツール オンコール担当 (SRE) に障害を エスカレーションするサービス インフラ基盤の監視 エラートラッキング オンコール通知 srestは各種インフラサービスのインテグレーション先となり、 各サービスのイベントログを集積‧可視化する基盤に イベントログの集積‧可視化 システムメトリクス 監視ツール 6 6 無料トライアル実施中 >

Slide 7

Slide 7 text

©2024 Metaps Holdings, Inc. AWS WAFに関するトイル削減について

Slide 8

Slide 8 text

©2024 Metaps Holdings, Inc. AWS WAFとは AWS WAF: Web アプリケーションリソースに転送される HTTP (S) リクエストを監視できる Web アプリケーション ファイアウォール 下記リソースタイプを保護可能 ‧Amazon CloudFront ディストリビューション ‧Amazon API Gateway REST API ‧Application Load Balancer ‧AWS AppSync GraphQL API ‧Amazon Cognito ユーザープール ‧AWS App Runner サービス ‧AWS 検証済みアクセスインスタンス

Slide 9

Slide 9 text

©2024 Metaps Holdings, Inc. 困った通知 WAFがブロックしたアクセスが⼀定ラインを超えたらdatadogでアラート 通知が多い…

Slide 10

Slide 10 text

©2024 Metaps Holdings, Inc. 困った通知 WAFがブロックしたアクセスが⼀定ラインを超えたらdatadogでアラート 通知が多い… 基本的には問題無い (URIに.gitや.envが⼊っているなど) が、確認するのが⾯倒

Slide 11

Slide 11 text

©2024 Metaps Holdings, Inc. 困った通知 ⾯倒なので alertを契機にブロックしたリクエストの内容を通知するLambdaを作成

Slide 12

Slide 12 text

©2024 Metaps Holdings, Inc. 通知Lambdaの完成 Datadogの通知がきた後に ⼤まかな内容を通知 表⽰する内容 ‧URL ‧ClientIP;Country ‧WAF Rule group;rule ‧リクエスト数 無差別攻撃かどうかくらいは分かる

Slide 13

Slide 13 text

©2024 Metaps Holdings, Inc. 構成図

Slide 14

Slide 14 text

©2024 Metaps Holdings, Inc. 構成図

Slide 15

Slide 15 text

©2024 Metaps Holdings, Inc. athenaクエリ クエリの内容 SELECT header.value || httprequest.uri AS url, httprequest.clientip || ';' || httprequest.country AS ip_country, terminatingruleid || ';' || rulegroup.terminatingrule.ruleid AS rule, count(httprequest.uri) as count FROM "waf_logs", UNNEST(httprequest.headers) t(header), UNNEST(rulegrouplist) t(rulegroup) WHERE DAY = 'yyyy/mm/dd' AND timestamp > 'xxxxxxxxxx' AND action = 'BLOCK' AND header.name = 'Host' AND rulegroup.terminatingrule.ruleid != '' GROUP BY concat(header.value, httprequest.uri), concat(concat(httprequest.clientip, ';'), httprequest.country), concat(concat(terminatingruleid, ';'), rulegroup.terminatingrule.ruleid) ORDER BY count desc, ip_country LIMIT 10

Slide 16

Slide 16 text

©2024 Metaps Holdings, Inc. 確認が楽に 無差別に来る悪意のあるリクエストはひと⽬で分かるように

Slide 17

Slide 17 text

©2024 Metaps Holdings, Inc. WAFのログを深掘り WAFのログには様々な情報が載っている ‧クライアントの情報(IP、国) ‧リクエスト情報(ヘッダー、クエリ⽂字列、User-Agent、httpversion) ‧Rule情報(Ruleグループ名、Rule名、実施したaction、BLOCK理由) ‧CAPCHA、CHALLENGE情報 ブロックしたアクセスログを⾒れば様々な攻撃の⼿法を学べる

Slide 18

Slide 18 text

©2024 Metaps Holdings, Inc. WAFのログを深掘り WAFの運⽤ ‧ルールの調整 攻撃のパターンを分析してルールをカスタマイズ 意図しないブロックがないか確認(特にマネージドルール) ‧訓練 実際にシステムに攻撃してみる →守れているか確認 この攻撃なら対策しているを⾃信を持って⾔えるように  定期的に⾒直す

Slide 19

Slide 19 text

©2024 Metaps Holdings, Inc. ログの取扱 ただし… WAFのログには機密情報 ‧Headerの内容 ‧Cookieの内容 等が含まれるため、公開範囲‧扱いには⼗分気をつける Header情報は除外設定が楽だがCookieはちょっと⼤変

Slide 20

Slide 20 text

©2024 Metaps Holdings, Inc. まとめ ‧WAFのブロックしたリクエストの⼤まかな内容を通知するLambdaを作成 ‧WAFのログは情報の宝庫だが機密情報も含むため扱いは注意

Slide 21

Slide 21 text

©2024 Metaps Holdings, Inc. ©2024 Metaps Holdings, Inc.