Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
Search
izzii
February 07, 2025
Technology
1
620
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
February 07, 2025
Tweet
Share
More Decks by izzii
See All by izzii
コストとセキュリティに関する Datadog 活用術
izzii
0
47
ポストコロナ時代の SaaS におけるコスト削減の意義
izzii
1
700
スタートアップが AWS FTR を取得するべき理由
izzii
0
610
触って理解する Go コンパイラ最適化 go conference mini 2023
izzii
2
400
Goのとある未定義動作 golang.tokyo #33
izzii
1
780
Other Decks in Technology
See All in Technology
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4.3k
Evolution of Claude Code & How to use features
oikon48
1
610
IBM Bobを使って、PostgreSQLのToDoアプリをDb2へ変換してみよう/202603_Dojo_Bob
mayumihirano
1
340
20260311 ビジネスSWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
320
OCI Security サービス 概要
oracle4engineer
PRO
2
13k
Keycloak を使った SSO で CockroachDB にログインする / CockroachDB SSO with Keycloak
kota2and3kan
0
120
楽しく学ぼう!ネットワーク入門
shotashiratori
1
340
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
8
7.2k
進化するBits AI SREと私と組織
nulabinc
PRO
0
160
Kubernetesにおける推論基盤
ry
1
380
Postman v12 で変わる API開発ワークフロー (Postman v12 アップデート) / New API development workflow with Postman v12
yokawasa
0
120
複数クラスタ運用と検索の高度化:ビズリーチにおけるElastic活用事例 / ElasticON Tokyo2026
visional_engineering_and_design
0
150
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
390
Agile that works and the tools we love
rasmusluckow
331
21k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
830
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
130
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
400
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
80
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.9k
sira's awesome portfolio website redesign presentation
elsirapls
0
190
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Transcript
WAF に頼りすぎない AWS WAF 運用術 市川悠人 @ テックタッチ株式会社
Meguro Sec #1 2025/02/07
自己紹介 名前:市川悠人/izzii 所属:テックタッチ株式会社 職種:セキュリティ、SRE 趣味:登山!ボルダリング! X: ahneahneahne
自己紹介 大学院:ゲノムインフォマティクス 仕事1:ERP の AI エンジニア 仕事2:WAF の事業部長 仕事3:DAP
の SRE 文字列をいじる仕事をしてきてる? WAF の提供側の経験があります!
テックタッチ株式会社の紹介 プログラミング不要でブラウザで動くあらゆるサービスの UX の拡張が行える DAP (Digital Adaptation Platform) サービスを提供しています。
テックタッチ株式会社の紹介
WAF に頼りすぎない。と言っておきながら 2重で使ってます! App ALB Fargate AWS WAF … agent
WAF
WAF に頼りすぎるって何? 攻撃の見極め 攻撃のハンドリング 両方を WAF に依存しすぎている状態
WAF に頼りすぎるって何? 攻撃の見極め 攻撃のハンドリング 両方を WAF に依存しすぎている状態 WAF の運用を難しくしている
WAF に頼りすぎてしまうのはなぜ? WAF の外側と内側について、 知らない || コントロールできないことが原因 AWS WAF
アプリケーション インターネット
WAF に頼りすぎてしまうのはなぜ? WAF の内側をコントロールできるなら、 頼りすぎなくて済む。 AWS WAF
インターネット App Fargate
WAFに頼りすぎない運用とは
攻撃者にとってヒントが少ないのはベター しかし分業的ソフトウェア開発では外形的なヒントが一切ないのは非効率 攻撃に対してどのレスポンスを返す?
200 OK 400 Bad Request 403 Not Allowed etc. 404
Not Found 500 Internal Server Error 無視している?悪用成功した? ナイスブロック! ナイスブロック?それともDB まで行った? 例外処理に失敗した? 攻撃文字列にどのレスポンスを返す? 受信者目線での「攻撃」は送信者目線では、 スキャニングである場合が大半 https://attack.mitre.org/techniques/T1595/
攻撃文字列にどこでレスポンスを返す? WAF Multiplexer Validator Business Logic 403 Not Allowed 404
Not Found DB 400/422 .. 500 Internal Server Error 404 Not Found ナイスブロック! ナイスブロック! ナイスブロック!
攻撃文字列にどこでレスポンスを返す? メリ デメ (AWS) WAF 正規表現が使える プロのルールを利用できる 早くない
リクエストサイズ制限がある Multiplexer (ミドルウェア、プロキシ) 2分探索で早い ホワイトリスト方式限定 脆弱性を含みうる Validator (アプリケーション) 正規表現が使える ホワイトリスト方式限定 作るのはあなた https://aws.amazon.com/jp/about-aws/whats-new/2024/03/aws-waf-larger-body-inspections-regional-r esources/
非専門家の API Protection 運用 App 世間、自社への攻撃動向を元にルールを更新 (ある程度 managed) 攻撃を 400,
404, etc. で返せるようにコードを更新 検知されたが通過した攻撃
WAF log にステータスコードは載らない 2025-01-23T10:11:23 /.env rule001 で遮断しました 2025-01-23T10:11:23
/api/users rule002 で検知しました 通しました 2025-01-23T10:11:23 /api/users 500 123ms 紐づけたい! AWS WAF log App log https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html
custom header を用いて攻撃であることを伝える GET /api/users Accept: application/json X-amzn-waf-my-custom-header: foo GET
/api/users Accept: application/json label match を使って COUNT 対象のリクエ ストにカスタムヘッダーをつけます。丁寧に ルールとヘッダーバリューの対応づけをして いくと WCU は比較的嵩みます。ザックリで も案外運用は周ります。 https://docs.aws.amazon.com/waf/latest/developerguide/customizing-the-incoming-request.html https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-label-match-examples.html
https://dev.classmethod.jp/articles/update-securityhub-matchdetails-for-regex/ application log に BODY は載らないのが普通 waf log にも載らない
実は少しの間 WAF log の正規表現ルールで検知した文字列の詳細がログに記録 されていました。 しかし気がついたらドキュメントごと機能が消えていました。。 アプリケーションで出力する(常に全て出力するのは一般的ではない)か 脆弱性診断で妥協するか。 BODY の扱いは難しい..
WAFに頼ろう
プロ任せでいいものはプロ任せ どういった文字列が攻撃か? という判断は WAF およびルールに任せてしまおう AWS WAF インターネット App
Fargate
非常事態には超頼もしい Log4j のシグネチャはコロコロと変わり続けていました。 最新のルールを信頼せよ。 AWS WAF インターネット App Fargate
ミドルウェアを理解して使えていますか? WAF Multiplexer Validator Business Logic 403 Not Allowed 404
Not Found 怖いねー DB 400/422 .. 500 Internal Server Error 404 Not Found 怖いねー ナイスブロック! ナイスブロック! ナイスブロック! ミドルウェアが脆弱性を含んでいたり、 脆弱な設定にしていたり
テイクノートメッセージ - アプリケーションで攻撃を防ぐという選択肢も持ちましょう。 - 攻撃か否かの判断は WAF(ルール)に任せましょう。 - 攻撃の遮断はアプリケーションと分担しましょう。 - custom
header を利用してステータスコードと検知を並べましょう。 - matchdetails によって BODY が見れるようになるかも?現状はアプリケーションで出 力するしかない。 - あなたの設定や知識は完璧ではないので WAF に頼りましょう。
宣伝 弊SREの同僚が書籍を出版しました。 AWS でのメジャーな IaC ツール、 CDK と terraform の比較が詳細に書かれていま
す。 IaC ツールは色々な選択肢が出てきていますが、 比較論に目を通すことで技術選定の目を鍛えら れるのでは?