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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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 Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.2k
Deep Data Security 機能解説
oracle4engineer
PRO
2
240
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
1
420
Oracle AI Databaseデータベース・サービスのメンテナンス(BaseDB/ExaDB-D/ExaDB-XS)
oracle4engineer
PRO
4
1.7k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.6k
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2.1k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
3.1k
CrossplaneによるCloud Native Control Plane
oracle4engineer
PRO
0
120
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
1
570
Other Decks in Technology
See All in Technology
#エンジニアBooks 30分でわかる 「技術記事を書く技術」 / engineer-books 2026-06-30
jnchito
1
150
GitHub Copilot運用のリアル ~AI Credit時代にどう向き合うか~
takafumisu2uk1
0
560
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
300
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
420
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
200
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
190
どうして今サーバーサイドKotlinを選択したのか
nealle
0
150
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
230
AIは、人間らしい仕事の夢を見るか?─ AI時代のtoB/toEプロダクトを再設計する
techtekt
PRO
0
190
AWS Summit 2026で見えたSIerにとっての Amazon Quickの位置づけ
maf_0521
0
130
認証認可だけじゃない! ID管理の構成要素と ライフサイクルを意識しよう
ritou
1
370
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
0
150
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Code Reviewing Like a Champion
maltzj
528
40k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
160
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
760
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
640
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
How to make the Groovebox
asonas
2
2.2k
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