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
OCI WAF保護ルールの考え方
Search
oracle4engineer
PRO
May 25, 2021
Technology
4.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OCI WAF保護ルールの考え方
oracle4engineer
PRO
May 25, 2021
More Decks by oracle4engineer
See All by oracle4engineer
Oracle AI Databaseデータベース・サービスのメンテナンス(BaseDB/ExaDB-D/ExaDB-XS)
oracle4engineer
PRO
4
1.6k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
3k
CrossplaneによるCloud Native Control Plane
oracle4engineer
PRO
0
110
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
0
440
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
300
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
Oracle Database Gold Image
oracle4engineer
PRO
1
180
Other Decks in Technology
See All in Technology
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.4k
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
2.4k
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
220
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
6
5.3k
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
2
650
On-behalf-of Token exchange with AgentCore Identity
hironobuiga
2
230
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
21
7k
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
1.1k
入門!AWS Blocks
ysuzuki
1
140
MCP Appsを作ってみよう
iwamot
PRO
4
670
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
380
攻撃者視点で考えるDetection Engineering
cryptopeg
3
1.9k
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
3.7M
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Leo the Paperboy
mayatellez
7
1.8k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
How GitHub (no longer) Works
holman
316
150k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Ethics towards AI in product and experience design
skipperchong
2
310
YesSQL, Process and Tooling at Scale
rocio
174
15k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
Transcript
OCI WAF保護ルールの考え方 Ver.4.1 日本オラクル株式会社 テクノロジー事業戦略統括 テクノロジー・クラウド・エンジニアリング本部 セキュリティ&マネジメント・ソリューション部 2022年12月14日
Agenda 1. OCI WAFの概要 2. OCI WAF保護ルールの概要 3. OCI WAF運用の考え方
4. OCI WAF保護ルールの選択 2 Copyright © 2022, Oracle and/or its affiliates
OCI WAFの概要 3 Copyright © 2022, Oracle and/or its affiliates
巧妙化するサイバー攻撃からWebアプリケーションを保護 OCI Web Application Firewallの概要 Copyright © 2022, Oracle and/or
its affiliates 4 サービス概要/特徴 • OCI WAFは、世界中にあるデータセンターのリソースを同 時に利用できるエッジポイントのWAFとリージョン内のロード バランサにアタッチするWAFの2つのタイプを用意 • クロスサイト・スクリプティング、SQLインジェクションなどの 不正アクセスの脅威からWebアプリケーションを保護 • 600を超える保護ルールのチェックボックスをつけるだけで 有効化 • 最新の脅威情報データベースを反映し保護ルールを自動 更新 • L7 DDoS攻撃への保護 (※L2/3 DDoSは、OCIの標準機 能) ユース・ケース • グローバルWAFを一定期間学習させ、検出される推奨アク ションを利用し、検知またはブロックの必要な保護 ポリ シーを選別して適用 • WAFと連携している脅威インテリジェンスからの通知を基に フィッシングサイトやダークネットのノードからのアクセスを無条 件でブロック • 検出したアクセスログをOCI Logging Analyticsで分析し、 アクセス元やサイバー攻撃の傾向を把握し、効果的な セキュリティ対策を実施 Bad Bots Hackers Good Visitors Good Bots Spammers WAF サービス価格 • Instance: ¥0/ 1インスタンス • Instance: ¥700/ 2インスタンス以降 • Requests: ¥0 / 1000万リクエスト迄 • Requests: ¥84 / 1000万リクエスト超で100万リクエスト毎
4つの保護機能 OCI Web Application Firewallの機能 Copyright © 2022, Oracle and/or
its affiliates 5 1. 保護ルール 事前定義済のルールに基づいて悪意の あるトラフィックからWebアプリケーションを 保護 4. ボット管理 悪意あるボットからWebアプリケーション を保護するためのトラフィック行動分析 2. アクセス制御 ユーザー要件に応じた条件を設定し、 一致した場合の挙動を制御 3. 脅威インテリジェンス 外部機関から提供される脅威情報を 基にBad IPアドレスからのアクセスを フィルタリング 本資料で主に解説する機能
OCI WAF保護ルールの概要 Copyright © 2022, Oracle and/or its affiliates 6
OCI WAF保護ルールの分類 Copyright © 2022, Oracle and/or its affiliates 7
①OWASP ModSecurity Core Rule Set(CRS) & Top 10 ③CVE(共通脆弱性識別子) ②Common Attack Pattern Enumeration & Classification(CAPEC) ➄Oracle独自定義 ④WASC Threat Classification (WASCTC)
OCI WAF運用の考え方 OCI WAFの運用で考慮するべき2つの点とWAFルールの 設定例 8 Copyright © 2022, Oracle
and/or its affiliates
False Positive と False Negative WAFの運用で考慮するべき点① ◆ False Positive •
保護ルールを厳しくしすぎることによる過剰検知 • 善良なユーザーの行動まで規制してしまう ◆ False Negative • 不十分な保護ルール設定による見逃し • 悪意のあるユーザーの行動を許してしまう 9 Copyright © 2022, Oracle and/or its affiliates Hacker User User Hacker 対策例: 全ての保護ルールをブロックせず、ブロックするか迷ったもの、ブロック する必要がないものは「検知」として設定する。ログから攻撃の有 無を確認し、一般ユーザーからの通信が過剰検知されていなけれ ば「ブロック」として設定する。 対策例: 事前に検知・ブロックさせたい攻撃を定義し、該当する保護ルールを 「検知」または「ブロック」とする。攻撃に関する定義が困難な場合、 一旦、全てまたは推奨事項の保護ルールを「検知」設定とし、経過 監視にて攻撃 状況を把握いたうえで、保護ルールを最適化する。
適用するルールの特性(例)CRSのバージョンの違い WAFの運用で考慮するべき点② ➢ OCI WAFで使用されているOWASP Core Rule Set(CRS)のバージョン • CRS
2.2.9 ・・・誤検知(False Positive)が多い • CRS 3.0 ・・・ ver. 2.2.9から大幅に誤検知(False Positive)を削減 • CRS 3.1 ・・・ 文法などの細かな修正 • CRS 3.2 ・・・ 検知、ブロックするルールを追加 • CRS 3.3 ・・・ 最新版(2022年6月時点) https://github.com/coreruleset/coreruleset/branches/stale CRSに基づいた保護ルールを使用したい場合は、CRSバージョン3.0以上のルールを選択することで False Positive(過剰検知)を減らすことができます。 Copyright © 2022, Oracle and/or its affiliates 10
WAFの設定例(基本編) エッジポリシー/WAFポリシー 11 Copyright © 2022, Oracle and/or its affiliates
保護ルール アクセス制御 Bot管理 ※2 事前定義された攻撃に対する 保護ルールを検知またはブロック。 攻撃に関する定義が困難な場合、 全てまたは推奨事項※1の保護 ルールを「検知」させ、経過監視に て攻撃状況を把握。 オラクルマネージドの保護ルールで 提供されていない場合、カスタム保 護ルールを作成。 定期的なログの確認および追加 された保護ルールの確認。 また、合わせて世の中の最新の セキュリティ動向も確認。 最新のセキュリティ動向およびログ の検知/ブロック状況を鑑み、保護 ルールを見直し、最適化していく。 事前定義されたアクセス拒否リスト などを基に、特定のIPアドレスや ユーザーエージェントなどからのアク セスを制限。 必要に応じて、信頼できるIPアドレ ス(端末)をIPアドレス・ホワイト リストに登録。(保護ルールなどの バイパスが可能となる) 定期的にログ(アクセス状況)を 確 認 し、 疑 わ しい IP アドレスや ユーザーエージェントなどの有無を 精査。 精査された疑わしいIPアドレス やユーザーエージェントなどの情報 を基に、アクセス制御を見直し、 最適化していく。 Webアプリの特性に合わせて、 必要なBot対策を有効化。 ✓ JavaScriptチャレンジ ✓ ヒューマン・インタラクション・チャレンジ ✓ フィンガープリントチャレンジ ✓ CAPTCHAチャレンジ 公開アプリケーションの特性を鑑み 善良ボットのアクセスを許可する場 合、「良好なBotホワイトリスト」より 有効化。 定期的にログを確認し、Bot対策 の状況について把握・精査。 精査された情報を基に、Bot管理 の設定を見直し、最適化していく。 ※1 保護ルールの推奨事項はエッジポリシーのみで提供されています(2022年6月時点) ※2 OCI Web Application Firewall WAFポリシーではBot管理の機能は提供されていません。(2022年6月時点)
WAFの設定例(応用編) 想定されるシステム構成(例) Copyright © 2022, Oracle and/or its affiliates 12
エンドユーザー WAF HTTPメソッド: GET, POST, PUT, DELETE, PATCH HTTPレスポンス Webサーバー 商品・顧客 情報DB APサーバー
WAFの設定例(応用編) ユースケース①: 不正ログインからアプリケーションを保護 Copyright © 2022, Oracle and/or its affiliates
13 WAF Webサーバー 商品・顧客 情報DB APサーバー Bot Bot Bot ① BOTによるリスト型攻撃 ② 攻撃者による不正アクセス カード情報 住所 パスワード…
WAFの設定例(応用編) ユースケース①: 不正ログインからアプリケーションを保護 Copyright © 2022, Oracle and/or its affiliates
14 WAF Webサーバー 商品・顧客 情報DB APサーバー Bot Bot Bot カード情報 住所 パスワード… ② 不正アクセスへの対策 • 保護ルール ⁻ 認知してる不正アクセス・攻撃がある場合、該当する保護ルールを「ブロック」 ⁻ カード情報などを保護する保護ルールを「検知」または「ブロック」 ⁻ 例. CC Leakage, PCI(Payment Card Industry) • アクセス制御 ⁻ ECサイト会員の居住国以外の国からアクセスを検知 ⁻ 定期的にログを確認し、攻撃と思われるIPアドレスからのアクセスをブロック ① Botによるリスト型攻撃への対策※ • Bot管理 ⁻ Webアプリの特性に合わせてBotへのチャレンジを有効化 ⁻ 例1. 個人情報を扱うURLにアクセスするユーザーにCAPTCHAチャレンジを 有効化 ⁻ 例2. ヒューマンインタラクション・チャレンジを有効化し、機械的な操作を行って いるユーザーからのアクセスを制御 ⁻ 「良好なBotホワイトリスト」から、検索エンジンのボットからのアクセスを許可 ⁻ 例. Naver, Yahoo, Googlebot ※Bot管理はエッジポリシーのみで提供されています(2022年6月時点) ① BOTによるリスト型攻撃 ② 攻撃者による不正アクセス
WAFの設定例(応用編) ユースケース②: 脆弱性を悪用した攻撃からアプリケーションを保護 Copyright © 2022, Oracle and/or its affiliates
15 WAF Webサーバー 商品・顧客 情報DB APサーバー CVE-2019xxx CVE-2020xxxx ① 製品の脆弱性を悪用した攻撃 CVE-2019xxx CVE-2020xxxx SQL Injections XSS HTTPヘッダー ② アプリケーションの仕様の脆弱性 を悪用した攻撃 攻撃者 攻撃者
WAFの設定例(応用編) ユースケース②: 脆弱性を悪用した攻撃からアプリケーションを保護 Copyright © 2022, Oracle and/or its affiliates
16 WAF Webサーバー 商品・顧客 情報DB APサーバー CVE-2019xxx CVE-2020xxxx ① 製品の脆弱性を悪用した攻撃への対策 • 保護ルール ⁻ アプリケーションを構成しているサービス・製品の脆弱性の有無をCVE 識別子ポータルやExploitコードポータルなどで定期的に確認。 ⁻ ドキュメントの保護ルール一覧ページから、CVE識別子が割り当てられている 脆弱性に対応した保護ルールがあれば「検知」する。 ⁻ オラクルマネージドの保護ルールで脆弱性を十分に保護できない場合、 カスタム保護ルールを作成。 ① アプリケーションの仕様の脆弱性を攻撃への対策 • 保護ルール ⁻ SQL Injections, XSSなどの攻撃手法のタグがついた保護ルールを 「検知」する。 ⁻ 例. SQL Injections、Local File Inclusion、XSS、HTTP • アクセス制御 ⁻ アプリの仕様上存在しないHTTPメソッドを含んだアクセスを「ブロック」する。 ⁻ ディレクトリ情報など、不正なパスを含んだURLによるアクセスを「ブロック」 する。 ① 製品の脆弱性を悪用した攻撃 CVE-2019xxx CVE-2020xxxx ② アプリケーションの仕様の脆弱性 を悪用した攻撃 SQL Injections XSS HTTPヘッダー 攻撃者 攻撃者
WAFの設定例(応用編) Tips ① 保護ルールの「推奨項目」は、機械学習を用いて自社環境に沿った保護ルールが抽出されます。先ずは、対象となる サイバー攻撃を検知できる様、「検知」モードとして設定することをお奨めします。 ② サイバー攻撃の兆候を把握する為、定期的にログを確認します。ログからサイバー攻撃と思われる兆候が確認できた 場合、対象の保護ルールを「検知」から「ブロック」モードに設定変更することをお奨めします。 ※1 ③
「ブロック」モードで設定している保護ルールについては、サイバー攻撃への防御状況に加え、ユーザーからの通常通信 が“False Positive”としてブロックされていないかを定期的に監視することをお奨めします。“False Positive”が疑わ れる場合、自社の対応プロセスなどを鑑みて、必要に応じて「検知」モードに設定変更することを検討してください。 ④ 導入しているWebアプリケーションのパフォーマンス監視ツールのBotが、「Botホワイトリスト」にある場合、該当のBot からのアクセスを許可するこをお奨めします。※2 ※1:保護ルールの「推奨項目」はエッジポリシーのみで提供されています ※2:Botホワイトリストはエッジポリシーのみで提供されています 17 Copyright © 2022, Oracle and/or its affiliates
OCI WAF保護ルールの選択 Copyright © 2022, Oracle and/or its affiliates 18
保護ルールのタグ 19 Copyright © 2022, Oracle and/or its affiliates ➢
保護ルールは、分類、攻撃手法、保護対象のタグで識別されています。 例: SQL Injection (SQLi) SQL Injection Character Anomaly Usage 【分類】 例:OWASPルールの場合 CRS3はバージョン3.0以上を指し、CRS3の記 載がないものはバージョン2.2.9を指す。 【分類】 OWASP Top10のA1 【保護対象】: PCI(クレジットカード情報) 【攻撃手法】: SQLインジェクション WASCTC OWASP CRSに基づいているものは、ルールIDがCRSのルールIDと同じ(一部例外あり) 保護ルールによっては、原則と外れるタグの場合も あります。
タグの一例 ➢ 分類 • A1~A10 • CAPEC • OWASP •
CRS3 • CVE • WASCTC ➢ 攻撃手法 • SQL Injection • Cross-site Scripting(XSS) • Local File Inclusion(LFI) • PHP Injection • Remote File Inclusion(RFI) • HTTP • Exploit kit • WASCTC ➢ 保護対象 • CC Leakage(クレジットカー ド情報漏洩) • Wordpress • Server_webapp • PCI(Payment Card Industry) • SharePoint • Apps 20 Copyright © 2022, Oracle and/or its affiliates
エッジポリシーの保護ルールの設定例 例1)SQL Injectionsをブロックする ➢ 保護ルールの画面にて、「Ctrl+F」で”SQL Injections”の文字列を検索し、タグにSQL Injectionがある保護ルールを選択する ➢ OCIドキュメントの「サポートされている保護ルール」を 参考に保護ルールの画面にあるフィルタにて、”SQL
Injections”に関する保護ルールのIDを検索し、保 護ルールを選択する 21 Copyright © 2022, Oracle and/or its affiliates
エッジポリシーの保護ルールの設定例 例2)OWASP CRS2.2.9の誤検知から回避 ➢ 「CRS3」のタグが振り分けられている保護ルールを選択すると確実 22 Copyright © 2022, Oracle
and/or its affiliates 参照: https://github.com/SpiderLabs/owasp-modsecurity- crs/blob/v3.2/master/rules/REQUEST-944-APPLICATION-ATTACK-JAVA.conf GitHubに公開されているCore Rule Setより
WAFポリシーの保護ルールの設定例 例1) SQL Injectionsをブロックする ➢ 保護ルールの選択画面の「タグによるフィルタ」にて、 “SQL Injection”と“SQLi”のタグを選択し、フィルタ された保護ルールを選択 23
Copyright © 2022, Oracle and/or its affiliates
WAFポリシーの保護ルールの設定例 例2)製品の脆弱性を悪用した攻撃から保護する ➢ 保護ルールの選択画面の「タグによるフィルタ」にて、 CVE識別子ポータルで公開されているCVEコードを入 力し、CVEコードに対応した保護ルールを選択 例)CVE-2021-44228:2021年12月11日に発表さ れたApache Log4jの脆弱性を示すCVEコード 24
Copyright © 2022, Oracle and/or its affiliates
WAFポリシー保護ルール選択時のTips ➢ 保護ルールのバージョンについて WAFポリシーの保護ルールは、同じルールIDに複数のバージョンがあります。最新のバージョンを選択するためには、「Filter by version」から“最新”を選択すると、最新の保護ルールが表示されます。 25 Copyright © 2022,
Oracle and/or its affiliates
OCI WAF保護ルールReference ◼ OCI Web Application Firewall エッジポリシーで用意されている保護ルール https://docs.cloud.oracle.com/ja-jp/iaas/Content/WAF/Reference/protectionruleids.htm ◼
OWASPのModSecurity Core Rule Set(CRS) ※ OWASP公式のGitHubに公開 https://coreruleset.org ◼ Common Attack Pattern Enumeration & Classification(CAPEC) https://capec.mitre.org ◼ Common Vulnerabilities and Exposures(CVE) https://cve.mitre.org ◼ WASC Threat Classification(WASCTC) http://projects.webappsec.org/w/page/13246927/FrontPage 26 Copyright © 2022, Oracle and/or its affiliates