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 Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
Deep Data Security 機能解説
oracle4engineer
PRO
2
290
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
1
570
Oracle AI Databaseデータベース・サービスのメンテナンス(BaseDB/ExaDB-D/ExaDB-XS)
oracle4engineer
PRO
4
1.9k
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.2k
CrossplaneによるCloud Native Control Plane
oracle4engineer
PRO
0
130
Other Decks in Technology
See All in Technology
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
4.1k
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
260
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
2.2k
最近評価が難しくなった
maroon8021
0
260
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
1
240
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
3.4k
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
3.6k
AIで政治は変わるのか? — 中高生と考えたAI時代の民主主義(東海高校サタデープログラム)
eitarosuda
0
410
次世代ランサムウェア対策の考察 / 20260704 Mitsutoshi Matsuo
shift_evolve
PRO
5
1.7k
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
160
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
1
150
貴方はどのエンジニアリングを磨くのか
hatyibei
0
110
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
107
250k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
650
How to Ace a Technical Interview
jacobian
281
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
290
Discover your Explorer Soul
emna__ayadi
2
1.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
340
Building Adaptive Systems
keathley
44
3.1k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Making Projects Easy
brettharned
120
6.7k
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