Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OCI Web Application Firewall 概要

OCI Web Application Firewall 概要

v2がリリースされたOCI WAFの機能特徴をアップデートしています

140494d272a4d89883a94fdfdb29dea2?s=128

oracle4engineer
PRO

January 18, 2022
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. OCI Web Application Firewall 2022年1月18日 日本オラクル株式会社

  2. Safe harbor statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以 下の事項は、マテリアルやコード、機能を提供することを確約するものではないため、購買 決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリース、時期及び価格については、弊 社の裁量により決定され、変更される可能性があります。 2

    Copyright © 2020, Oracle and/or its affiliates | Confidential: Internal
  3. Webアプリケーションの保護をクラウド型で提供するOCIのマネージドサービス OWASP Top10に代表される様々なサイバー攻撃のトラフィックを解析し、Webアプリケーションを保護 Webアプリケーションのプロキシとして動作し、多層的に不正なアクセスを検出・遮断 Oracle Cloudだけでなくオンプレミスや他クラウド上にあるWebアプリケーションも同等の保護が可能 Web Application Firewall Copyright

    © 2021, Oracle and/or its affiliates 3 WAF and Anti-Bot Protection クラウドベース Web APP オンプレミス Web APP Oracle Cloud Web APP 悪意のボット ハッカー ユーザー 善良なボット スパムメール アクセス制御 脅威 インテリジェンス ボット対策 保護ルール すぐにデプロイできる俊敏性 マネージドサービスによる設定・運用管理の容易性 特定の国, URL IP, ユーザー エージェント等の 制限 最新の脅威情 報 を基 に脆 弱 性をつく攻撃を 防御 悪意のボットを ブロックさせるた めのトラフィック 行動分析 サイバー攻撃を 遮断する600を 超えるルール およびOWASP トップ10への対応 専門 チーム 極度な状況の 場 合 に動 員 さ れる専門家
  4. エンタープライズ・クラスの保護とクラウドの簡便さを併せ持つサービス 誰でも簡単に最先端の保護ロジックが利用可能 • 600を超える保護ルールが基本機能に同梱、チェックボックスをつけるだけで有効化 • 最新の脅威情報データベースを反映し保護ルールを自動更新 • AI & 機械学習によるアクセス解析とレコメンデーションを搭載

    • インテリジェントな対ボット防御ロジックを複数実装、選択するのみで利用可能 • OCI、オンプレミス、他クラウド問わずDNSの設定変更のみで既存Webアプリケーションを保護 • OCI Flexible Load Balancerに直接デプロイし、Public及びPrivateネットワーク上のWEBアプリケーションも同様に保護 高性能、高可用性 • エニーキャストIPにより、世界中のデータセンターのリソースを同時に利用できるグローバルWAFと、ロードバランサに統合された リージョン内WAFの2つのデプロイタイプを用意 • 大規模DoS攻撃時には自動で経路を大規模スクラビングセンターに瞬時に変更しサービスを保護 • 専門のITセキュリティチームがインターネットの脅威を24x365で監視、対応 シンプルで安価な価格体系 • 無償: 1インスタンス、1000万リクエストまで • 有償: 1インスタンス 600円/月、100万リクエスト 72円/月 Web Application Firewall の特長 Copyright © 2021, Oracle and/or its affiliates 4
  5. WAFで作成できる2種類のポリシー Copyright © 2021, Oracle and/or its affiliates 5 エッジ

    ポリシー (WAF v1) WAF ポリシー (WAF v2) 機能提供開始 2019年2月~ 2021年10月~ 特徴 ドメインのDNSレコード更新を用いて フルスタックのWAF機能を使用できる OCI Flexible Load Balancerに直接デプロイし 従来よりも簡単でシンプルな設定・構成 対象アプリケーション すべてのパブリックのアプリケーション OCIのVNC内アプリケーションのみ アプリケーション・エンドポイント パブリックのみ パブリック及びプライベート アクセス制御 〇 〇 脅威インテリジェンス 〇 × (対応予定) WAF保護ルール 〇 〇 BOT対策 〇 × (対応予定) レート制限 〇 〇 キャッシュ 〇 × (対応予定) アクセス・ログ WAF Service内 Logging Service連携 ポリシーの反映 10分~1時間 10秒~1分 従来からのポリシーはエッジポリシーとして、新しくリリースされたFlexible Load Balancerにデプロイできるポリシーは WAFポリシーとして再定義されたため、それぞれの特徴を比較 (※2021年12月時点)
  6. OCI Web Application Firewallのグローバル・アーキテクチャ Copyright © 2021, Oracle and/or its

    affiliates 6 Web Server 攻撃者 攻撃者 攻撃者 リージョン内WAF Edge PoP Edge PoP • Webサーバー(オリジンサーバー)の前段にリバースプロキシとして配置 • 実際のWAFリバースプロキシサーバーは、世界中のOCIリージョンとエッジPoPに分散配置 • IPエニキャストによりクライアントに最も近いWAFにルーティングされ、フィルタリングされたトラフィックのみバックエンドに転送 • 設定(WAFポリシー)はOCIのグローバルリソースとして一括管理、「反映」ボタンを押すと世界中のWAFにキャスト OCI REGION VCN WAF Policy Internet Gateway Customer Premises Equipment 他クラウド / オンプレミス も保護可能
  7. 1. クライアントはDNSに www.example.com の名前解決を依頼、CNAME(別名)のwww-example- com.o.waas.oci.oraclecloud.net を取得 2. クライアントは www-example-com.o.waas.oci.oraclecloud.net にリクエストを送出

    3. クライアントに最も近いWAFに到達、フィルタリングし、オリジン(lb.examples.com)に転送 4. 良好なトラフィックのみがインターネットでオリジンサーバーに到達 従来のエッジポリシーを使用した場合のトラフィックの流れ DNS WAF オリジン OCI/他クラウド/オンプレ ミス OCIリージョン / エッジPoP Welcomed Users / Good Bots Bad Actors / Bad Bots DNSレコード www.example.com CNAME www-example-com.o.waas.oci.oraclecloud.net SSL/TLS証明書 Copyright © 2021, Oracle and/or its affiliates 7 www-example-com.o.waas.oci.oraclecloud.net lb.example.com
  8. エッジポリシーの利用開始までのステップ 8 ・外部公開URIの登録 ・オリジン・サーバーURI の登録 エッジポリシーの作成 CNAMEの登録 ボット管理 - CAPCHA

    - JavaScript Challenge - Human Interaction 保護ルール -推奨される保護の有効化 保護の有効化 WAFが生成する URIを利用中DNS にCNAMEレコードと して登録 これによりトラフィック がWAFを経由する ようになる アクセスルール Step1 Step3 Step4 Step2 SSL証明書の設定 (オプション) SSL(TLS)サーバー 証明書をWAFに登録 Copyright © 2021, Oracle and/or its affiliates
  9. FLB上でWAF保護ポリシーを適用し、 VCN内アプリケーションを保護 VCN内のフレキシブル・ロード・バランサー(パブリック/プライベート)に対してWAF保護ポリシーを適用 - インターネット・アプリケーションだけではなく、VCN内部のプライベートなアクセスに対してもWAFでの保護が可能に DNSには、ロードバランサーのIPアドレスを登録することで、クライアントはWAFを経由したアクセスになる WAFのバックエンドサーバーとして保護できるのは、VNCインスタンスのみ フレキシブル・ロード・バランサーに直接デプロイするWAFポリシー Copyright –

    © 2021 Oracle and/or its affiliates. All rights reserved. 9 OCI パブリック・サブネット プライベート・サブネット VCN DRG パブリック・ ロード・バランサ インターネット・ ゲートウェイ インスタンス インスタンス プライベート・ ロード・バランサ WAFポリシー WAFポリシー オンプレミス 保護 保護 インターネット
  10. 保護ルール 事前定義済のルールに基づいて悪 意のあるトラフィックからアプリケーショ ンを保護 アクセス制御 ユーザーの要件に応じた条件を設 定し、一致した場合の挙動を制御 する 脅威インテリジェンス 外部機関から提供を受け日々更

    新されるBad IPリストを使ったフィル タリング Bot管理 状況に応じインテリジェントに判断し てアプリケーションを保護するWAFの 応用機能 OCI Web Application Firewall 4つの保護機能 Copyright © 2021, Oracle and/or its affiliates 10
  11. アクセス・ルール (Access Rules) トラフィック制御の条件に設定できるパラメータ アクセス制御 (Access Control) Copyright © 2021,

    Oracle and/or its affiliates 11 評価基準 内容 備考 URL • URL is • URL is not • URL starts with • URL ends with • URL contains • URL regex URL正規表現マッチングはPerl互換の正規表現 IPアドレス • Client IP Address is • Client IP Address is not IPv6未対応 地域 / 国 • Country is • Country is not APIには、2文字の国別コードを使用 UserAgent • User Agent is • User Agent is not HTTPヘッダ • HTTP Header contains 値は、コロンで区切った<name>:<value>で入力する必要がある エッジポリシー WAFポリシー
  12. アクセス・ルール (Access Rules) 条件に一致するトラフィックに対する操作を定義 • ログに記録し許可 • 検出のみ • ブロック

    • 別のURLにリダイレクト • バイパス(他の保護を適用外にする) • CAPTCHAを表示 アクセス制御 (Access Control) Copyright © 2021, Oracle and/or its affiliates 12 エッジポリシー WAFポリシー
  13. IPアドレス・ホワイトリスト (IP Address Whitelist) WAFの制御対象から除外するIPアドレスもしくは CIDRを指定 IP アドレス・ホワイトリストは一番最初に評価され、 対象のIPアドレスもしくはCIDRからのトラフィックは WAFの分析対象から除外

    IP Whitelist アクセス制御 (Access Control) Copyright © 2021, Oracle and/or its affiliates 13 エッジポリシー WAFポリシー
  14. 外部機関から提供を受けた悪意のあるIPリストを使ったフィルタリング 脅威インテリジェンス(Threat Intelligence)とは「IPアドレスをキーとした脅威情報のデータベース」のようなもの OCI Web Application Firewallでは、複数の外部機関を通じて収集したBad IPリストを日々更新して提供 • 2021年現在19の異なるリストを提供中

    • 最新のソース一覧は以下参照 • https://docs.cloud.oracle.com/iaas/Content/WAF/Tasks/threatintel.htm 有効化作業にはCLI/APIを通じた操作が必要(コンソールでは有効化できない) 脅威インテリジェンス (Threat Intelligence) Copyright © 2021, Oracle and/or its affiliates 14 エッジポリシー
  15. ルールに基づいて悪意のあるトラフィックからアプリケーションを保護 保護ルール (Protection Rules) Copyright © 2021, Oracle and/or its

    affiliates 15 事前定義済ルールがサービスに同梱 • 現時点で600以上のルールが定義済 • 最新の脅威情報を元に随時アップデート ユーザーがルールの適用可否をカスタマイズ • Block(ブロック)、Detect(検知のみ) 、Off(無効) • mod_security フォーマットによるカスタム・ルールの登録 AI機能による運用サポート • 一定期間のトラフィックを機械学習(ML)で自動的に分析し、 推奨アクションを提示 (右画面) • OWASPの推奨事項などをタグでフィルタリング ブロック時のアクション指定 • レスポンスコード • エラーページ エッジポリシー WAFポリシー
  16. フォームに入力された値をチェックし、アプリケーションへの不正な操作をブロック 保護ルール (Protection Rules) Copyright © 2021, Oracle and/or its

    affiliates 16 クロスサイトスクリプティング PHPインジェクション SQLインジェクション OSインジェクション ファイル・インクルージョン ディレクトリ・トラバーサル etc.. アプリケーションの脆弱性を突いた攻撃 ブロック時には、レスポンスコード 403 、指定したメッセージを表示させる <script>-----</script> ' OR 1=1 # エッジポリシー WAFポリシー
  17. レイヤー7 DDoS攻撃やブルートフォース攻撃に対して 受け付けるリクエスト数を制限することでWEBアプリケー ションを保護する 期間(秒)あたりのリクエストに達した場合にブロック IPアドレスや国コードといった条件と組み合わせたレート 制限の指定も可能 レート制限管理 Copyright ©

    2021, Oracle and/or its affiliates 17 WAFポリシー
  18. 状況に応じインテリジェントに判断してアプリケーションを保護するWAFの応用機能 ボット管理 (Bot Management) Copyright © 2021, Oracle and/or its

    affiliates 18 単純なルールでは判別不可能なBotを、複雑なロジック を用いアダプティブに判断して検知、ブロックを行う 5種類の保護をサポート • JavaScriptチャレンジ • ヒューマン・インタラクション・チャレンジ • デバイスのフィンガープリント・チャレンジ • アクセス・レート制限 (API経由で設定可能) • CAPCHAチャレンジ 良好なBotホワイトリスト機能で、サーチエンジンなどにも 対応 エッジポリシー
  19. JavaScriptによる簡単な計算などのチャレンジ(問 い合わせ)をクライアントに送り、ブラウザーからのリク エストか識別する機能 閾値内にJavaScriptを受け付けずにリクエストを 行った場合にブロックアクションを実施 • エラーページの表示 • CAPTCHA ボット管理

    (Bot Management) ※エラーページ ※ブロック時のエラーログ Copyright © 2021, Oracle and/or its affiliates 19 JavaScriptチャレンジ (JavaScript Challenge) エッジポリシー
  20. マウスやキーボードによる入力操作の有無や動き具 合などで人間による操作であるか判断 ブラウザ内のさまざまなイベントリスナーをチェック JavaScript Challengeをパスしたのちにcookiesを 生成し、IPアドレスとフィンガープリントをもとに行動を 分析 画面の参照パターン ページ遷移 リンクのクリック回数

    [root@web01 opc]# oci waas human-interaction-challenge get --waas- policy-id ocid1.waaspolicy.oc1..aaaaaaaa4cfdrmewdfoz4v63zibycdoukag4eoyvn3dmexl5kc 7hvykuo5fq { "data": { "action": "DETECT", "action-expiration-in-seconds": 60, "challenge-settings": { "block-action": "SHOW_ERROR_PAGE", "block-error-page-code": "HIC", "block-error-page-description": "Access blocked by website owner. Please contact support.", "block-error-page-message": "Access to the website is blocked.", "block-response-code": 403, "captcha-footer": "Enter the letters and numbers as they are shown in image above.", "captcha-header": "We have detected an increased number of attempts to access this website. To help us keep this site secure, please let us know that you are not a robot by entering the text from the image below.", "captcha-submit-label": "Yes, I am human.", "captcha-title": "Are you human?" }, "failure-threshold": 10, "failure-threshold-expiration-in-seconds": 60, "interaction-threshold": 3, "is-enabled": true, "recording-period-in-seconds": 15, "set-http-header": null } } ボット管理 (Bot Management) Copyright © 2021, Oracle and/or its affiliates 20 ヒューマン・インタラクション・チャレンジ (Human Interacion Challenge) エッジポリシー
  21. ブラウザ経由で取得できるパラメータを元に判定 ブラウザから取得する50を超える属性をもとにハッ シュ値(フィンガープリント)を生成 フィンガープリントを取得できなかった場合、悪性ボッ トからのトラフィックを認識してブロック [root@web01 opc]# oci waas device-fingerprint-challenge

    get --waas- policy-id ocid1.waaspolicy.oc1..aaaaaaaa4cfdrmewdfoz4v63zibycdoukag4eoyvn3dmexl5kc 7hvykuo5fq { "data": { "action": "DETECT", "action-expiration-in-seconds": 60, "challenge-settings": { "block-action": "SHOW_ERROR_PAGE", "block-error-page-code": "DFC", "block-error-page-description": "Access blocked by website owner. Please contact support.", "block-error-page-message": "Access to the website is blocked.", "block-response-code": 403, "captcha-footer": "Enter the letters and numbers as they are shown in image above.", "captcha-header": "We have detected an increased number of attempts to access this website. To help us keep this site secure, please let us know that you are not a robot by entering the text from the image below.", "captcha-submit-label": "Yes, I am human.", "captcha-title": "Are you human?" ボット管理 (Bot Management) Copyright © 2021, Oracle and/or its affiliates 21 デバイスのフィンガープリント・チャレンジ (Device Fingerprint Challenge) エッジポリシー
  22. アクセス・レート制限 (Access Rate Limiting) 同一IPからの一定時間あたりのアクセス数で判定 特定の期間における固有のIPからの要求数に対する閾 値を設定し、閾値を超えた場合に応答コードを返信 ボット管理 (Bot Management)

    [root@web01 opc]# oci waas address-rate-limiting get-waf --waas-policy- id ocid1.waaspolicy.oc1..aaaaaaaa4cfdrmewdfoz4v63zibycdoukag4eoyvn3dmexl5kc 7hvykuo5fq { "data": { "allowed-rate-per-address": 1, "block-response-code": 503, "is-enabled": true, "max-delayed-count-per-address": 10 }, "etag": "2019-02-22T07:21:12.383Z" } [root@web01 opc]# Copyright © 2021, Oracle and/or its affiliates 22 エッジポリシー
  23. CAPTCHAチャレンジ (CAPTCHA Challenge) 画像に描かれた内容など、その判別が人間には可 能でコンピュータのプログラムには不可能なものを 使って、人間の操作であることを判別する方法 既存アプリケーションの改修不要 指定単位 • URLパス単位で必ず表示

    • アクセス・ルールと組み合わせた特定条件下で 表示 ボット管理 (Bot Management) Copyright © 2021, Oracle and/or its affiliates 23 エッジポリシー
  24. 1. ブラックリスト・ホワイトリスト • IPホワイトリスト • 良好なBotのホワイトリスト • 脅威インテリジェンスを元にしたIPブラックリスト 2. アクセス・ルール

    3. JavaScriptチャレンジ(Bot管理) 4. デバイスのフィンガープリント・チャレンジ(Bot管理) 5. ヒューマン・インタラクション・チャレンジ(Bot管理) 6. CAPTCHAチャレンジ(Bot管理) 7. 保護ルール 8. アクセス・レート制限(Bot管理) OCI Web Application Firewall 保護の適用順序 Copyright © 2021, Oracle and/or its affiliates 24
  25. Webページや特定のファイルタイプなど、リクエストされた 静的コンテンツをEdgeノードにキャッシュ 条件ルール - URL指定 - 開始URLパス - 終了URLパス -

    URLに含むパス 条件ルールは、キャッシュ及びキャッシュのバイパスで使用 キャッシュを明示的にパージ可能 キャッシュ Copyright © 2021, Oracle and/or its affiliates 25
  26. エッジポリシーのアクセスログは、WAFサービス内で独自管理される WAFサービスのコンソール内に簡易的なログ表示機能 ログの最大保持期間は7日間, SRリクエストでログを定期的に オブジェクト・ストレージにアーカイブさせるような設定が可能 WAFポリシーのアクセスログはLoggingサービスで管理される Loggingサービスが提供する簡易的なログ検索とグラフ機能 ログの最大保持期間は6カ月 Service Connector

    Hubで、ログをオブジェクト・ストレージや Logging Analyticsなどにアーカイブして長期保管が可能 Copyright © 2021, Oracle and/or its affiliates 26 エッジポリシー WAFポリシー Object Storage WAF ログファイルの保存 WAF Logging Service Connector Hub WAFのアクセス・ログ Logging Analytics Object Storage Logging Analytics
  27. オブジェクト・ストレージに格納してあるエッジポリシーのログや LoggingサービスからService Connector Hub経由で送信 されたWAFポリシーのログをLogging Analyticsで分析 Logging Analyticsは、機械学習のテクノロジーを活用した 高度なログ分析を提供 -

    250種類以上のログに対応した事前定義済みパーサー - OCIやオンプレミスにある様々なOSやミドルウェアのログに対応し ログの取り込みからビジュアライズまでをサポート - ユーザー独自のアプリケーションや未サポートのログに対応する カスタム・パーサを簡単に手動作成 異常値の検出、クラスタ分析、トレンド分析など、経験やスキル を問わず誰でも高度な分析手法が可能 ログデータに応じたアラート通知 WAFのログ分析用に開発されたダッシュボードが ログ監視の効率化と自動化をサポート (2022年予定) Logging Analyticsを組み合わせたログのビジュアライズ Copyright © 2021, Oracle and/or its affiliates 27 アクセス急増によるDDoS攻撃の検出 アクセスログを包括的に監視するダッシュボード
  28. 価格 Copyright © 2021, Oracle and/or its affiliates 28 SKU

    メトリック 単価 Web Application Firewall – Instance 1インスタンス ¥0 2インスタンスからは、1インスタンスごとに ¥600/月 Web Application Firewall - Requests 1000万リクエスト/月 ¥0 1000万リクエストからは、100万リクエストごとに ¥72/月 WAFの課金体系は、インスタンスとリクエストのメトリックで構成される インスタンスは、WAFのポリシー、リクエストは実際にWAFが処理するHTTPリクエストを意味する ひとつめのWAFポリシーで1000万リクエスト/月までは、無償として提供される
  29. Oracle Cloud Infrastructure は無償で DDoS 対策済み 機能 OCI DDoS Protection

    OCI Web Application Firewall 保護対象 OCI OCI / 他クラウド / オンプレミス 常時監視 ✔ ✔ レイヤー3/4攻撃からの保護 ✔ ✔ レイヤー7攻撃からの保護 - ✔ 保護ポリシー変更 - ✔ ロギング、アラート、通知 - ✔ 有償 - ✔ DDoS対策とWebアプリケーション保護 Copyright © 2021, Oracle and/or its affiliates 29
  30. 一般的なL3および4に対するネットワーク 攻撃からOCIインフラを常時保護 • SYN flood、UDP flood、ICMP flood、NTP reflection、DNS reflectionなど フルマネージドサービス

    • ユーザによる設定、監視不要(<->設定のカスタ マイズやログ参照不可) 標準機能のため追加コスト不要 (参考) OCI DDoS Protection : 無償のL3/L4 DDoS保護サービス OCI Region DDoS Protection compute Database Storage Internet 正常トラフィック 不正トラフィック Copyright © 2021, Oracle and/or its affiliates 30
  31. None