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

Oracle Data Safeの機能概要と特徴

oracle4engineer
December 19, 2022
3.4k

Oracle Data Safeの機能概要と特徴

Oracle Databaseをよりセキュアにするクラウドサービス。Oracle Database Cloud だけでなくオンプレミスのデータベースも同様にセキュアに。

oracle4engineer

December 19, 2022
Tweet

More Decks by oracle4engineer

Transcript

  1. Oracle Databaseをより安全に利用するためのクラウドベースのデータベース・セキュリティ・サービス データベースとData Safeを接続し、以下のセキュリティ機能を提供 - セキュリティ・アセスメント(Security Assessment) - ユーザー・アセスメント (User

    Assessment) - 機密データ検出(Sensitive Data Discovery ) - データ・マスキング(Data Masking) - アクティビティ監査(Activity Auditing) セキュリティ対策が後手になりがちなデータベースに対して、CISベンチマークを 基準にしたリスク評価やマスキング、監査ログ監視等の運用により データベースをセキュアな状態に保つ Oracle Cloud上のOracle DBだけでなく、オンプレミスや他社クラウドの Oracle DBも同様に管理することが可能 Oracle Cloud Databaseが対象の場合は無償 (※監査ログは100万件/月まで無料) オンプレミス、他社クラウド上のOracle DBの場合は有償 (※1DBあたり24000円/月) Oracle Data Safe Copyright © 2022, Oracle and/or its affiliates 3 Oracle Cloud上の データベース 監査 ユーザー 発見 アセス マスク オンプレミス のデータベース Data Safe AWS, Azure上の オラクルデータベース
  2. セキュリティ・アセスメント Copyright © 2022, Oracle and/or its affiliates 5 実際にデータベースを評価した詳細レポート

    設定で明らかな不備のある設定は高リスクとして評価される 評価レポートは、履歴として記録され、過去との差分把握が 容易にできる
  3. ユーザー・アセスメント Copyright © 2022, Oracle and/or its affiliates 8 検出されたユーザー・アカウント一覧

    付与されたロールやシステム権限ごとにリスク評価され 総合的なアカウント評価になる
  4. データベースに格納されている機密データの列を検出する 検出方法は、以下の2パータン - NAME, ID, PASSWORDといった機密データを示すキーワードを含んでいる列 - メールやクレジット番号といったデータ形式が一般的に固定化されており かつ推測できる列 120以上の定義済みの機密データ・タイプ

    ユーザー独自の機密データ・タイプの定義を追加可能 - マイナンバー, 携帯電話番号, 社員番号など 発見した機密列は、データモデルととしてData Safeに登録され 必要時に任意の値にマスキングができる - マスキングの実行には機密データの検出が事前に必要 ユーザー独自の機密データ・タイプを定義すれば日本語の使用可 機密データ検出 Copyright © 2022, Oracle and/or its affiliates 9 Table XYZ Name Candy Column 2 xxxxxxx Column 3 xxxxxxx Email [email protected] Column 5 xxxxxxx Column 6 xxxxxxx Bank Name Mizuho Bank Acc No 2891721 Column 9 xxxxxxx Column 10 xxxxxxx Card No 4123123488990121
  5. 120以上の定義済みのSensitive Type 機密データ検出 Copyright © 2022, Oracle and/or its affiliates

    10 氏名, 住所, 電話番号, EMAIL, 性別, 銀行口座, ID, 生年月日, 学歴, 職歴, パスポート番号, 社会保障番号(US) 社員番号, ユーザーID等 Identification Biographic IT Financial Healthcare Employment Academic SSN Name Email Phone Passport DL Tax ID … Age Gender Race Citizenship Address Family Data Date of Birth Place of Birth … IP Address User ID Password Hostname GPS location … Credit Card CC Security PIN Bank Name Bank Account IBAN Swift Code … Provider Insurance Height Blood Type Disability Pregnancy Test Results ICD Code … Employee ID Job Title Department Hire Date Salary Stock … College Name Grade Student ID Financial Aid Admission Date Graduation Date Attendance …
  6. 機密データ・タイプの設定例 機密データ検出 Copyright © 2022, Oracle and/or its affiliates 11

    Sensitive Type Name: Card Number Column Name Pattern: 列名に含まれるキーワードを特定する正規表現 Column Comment Pattern: コメントに含まれるキーワードを特定する正規表現 Column Data Pattern: データのフォーマットを特定する正規表現 ※ Column Data Patternはすべてのデータが対象でなく、 5行フェッチし4/5(80%)が正規表現とマッチする場合に機密 データとして検出する
  7. 機密性の高いデータを不可逆な形式にてマスキング データベースの特性を考慮したアーキテクチャ - 表の制約や表と表の関係性を認識した一貫性のあるマスキング - 列データの要素数、分布、件数など、本番データの特性を維持したマスキング環境の作成 GUIで自由に定義できる様々なデータマスキング・タイプを提供 60を超える定義済みのマスキング・テンプレート - クレジット・カード番号,

    Eメール, URL, 血液型, 郵便番号, 社会保障番号(US,Canada).. ユーザー独自のマスキング定義を追加設定可能 - 携帯番号, 社員番号, 郵便番号, マイナンバー, パスポート番号など日本固有のデータフォーマット RDMSの特性とカーディナリティを保持したままマスキング 条件分岐を含む複雑なマスキング定義は、PL/SQLでファンクションとして作成 データ・マスキング Copyright © 2022, Oracle and/or its affiliates 12 Database Cloud Data Safe
  8. 様々なマスキング形式を提供 データ・マスキング Copyright © 2022, Oracle and/or its affiliates 13

    固定数値 固定文字列 ランダム桁数 ランダム数値 ランダム文字列 配列リスト シャッフル 置換 SQL式 NULL値 切り捨て 部分文字列 表の列の値 ユーザ定義関数 正規表現 暗号化 ランダム文字 ランダム数値+固定文字列 シャッフル ID NAME 1 SMITH 2 ALLEN 3 JONES 4 CLARK 5 ADAMS : : ID NAME 1 akeskaf 2 oweiks 3 daikels 4 ilekdik 5 oetdjgqk : : ID CARDNUMBER 1 7488-2984-1736-7400 2 4033-6177-0089-6401 3 6141-5126-0475-8802 4 1139-4145-6222-3703 5 8337-6263-1608-0104 : : ID CARDNUMBER 1 5870-2967-9149-5700 2 9634-7334-4874-2301 3 8430-8214-6445-1102 4 1573-9537-1503-5503 5 0606-3321-6271-8304 : : ID COUNTRY 1 US 2 JP 3 US 4 UK 5 FR : : ID COUNTRY 1 US 2 FR 3 UK 4 FR 5 JP : :
  9. 主キー / 一意 / 参照整合性制約を自動検知 データ・マスキング Copyright © 2022, Oracle

    and/or its affiliates 14 ID NAME CID 1 SMITH 1 2 ALLEN 4 3 JONES 1 4 CLARK 2 5 ADAMS 3 : : : CID COUNTRY_NAME 1 UNITED_KINGDOM 2 UNITED_STATES 3 AUSTRALIA 4 IRELAND 5 CANADA : : ID NAME CID 1 Aaafeh 83 2 Aafhed 65 3 Aaaafhe 83 4 Bodofa 39 5 aaahfied 9 : : : CID COUNTRY_NAME 83 UNITED_KINGDOM 39 UNITED_STATES 9 AUSTRALIA 65 IRELAND 7 CANADA : : 参照整合性を維持したマスキング (ランダム文字列+ランダム数値) 外部キー制約を自動的に 検知し、整合性を維持
  10. 独自マスキング・フォーマットの設定 データ・マスキング Copyright © 2022, Oracle and/or its affiliates 15

    作成する携帯番号のマスキング形式 070 – 1234 - 6789 Random List [070-, 080-, 090-] Random Number [4 digit] Fixed String [-] Random Number [4 digit]
  11. 正規表現でのマスキング データ・マスキング Copyright © 2022, Oracle and/or its affiliates 16

    正規表現 置換 する値 意味 対象データ マスキング結果 ¥d * すべての数字を *で置換 東京都港区1-992 Oracleビル103号室 東京都港区*-*** Oracleビル***号室 ¥d{4} * 連続した4桁の数字を *で置換 080-1234-5678 080-****-**** ¥d{4}/¥d{2}/¥d{2} ¥1/**/** 西暦はそのままで 年月日を*で置換 1975/10/12 1975/**/** ¥w+@(¥w) ****@¥1 @より前方は *で置換 [email protected] m ****@oracle.com
  12. ユーザー定義関数の作成例 データ・マスキング Copyright © 2022, Oracle and/or its affiliates 17

    /* ランダムでひらがな5文字を生成する関数 CREATE OR REPLACE FUNCTION RANDOM_HIRAGANA( RID IN VARCHAR2 , COLUMN_NAME IN VARCHAR2 , ORIG_VAL IN VARCHAR2 ) RETURN VARCHAR2 AS data varchar2(1000); type array1 is varray(999) of varchar2(4); data_array array1 := array1(); i number:=0; max_num number:=0; return_str varchar2(10); ID フリガナ 1 あべたろう 2 とうきょうはなこ 3 すずきいちろう ID フリガナ 1 あきこしさ 2 なにとあい 3 さとしあい ランダムひらがなで マスキング BEGIN data := 'あいうえおかきくけこさしすせそたちつてとはひふへほはひふへほ やゆよつわあいうえおかきくけこさしすせそたちつてとはひふへほはひふ へほやゆよつわ'; max_num :=LENGTH(data); For i IN 1..max_num loop data_array.extend; data_array(i) := SUBSTR(data,i,1); End loop; for i IN 1..5 loop return_str := return_str || data_array(round(dbms_random.value(1,max_num))); end loop; RETURN return_str; END RANDOM_HIRAGANA;
  13. Oracle Databaseの監査ログを定期的に取得し、ログ分析やレポートを提供 対象は、Databaseに格納されている監査表のみ (Unified_Audit_Trail, FGA_LOG$, AUD$, DVSYS.AUDIT_TRAIL$) Data Safeまたはオンプレミス・コネクターがターゲットDBに直接SQLアクセスして監査ログを取得 監査データのオンライン保持期間は1~12カ月

    (デフォルト 6カ月) オンラインを超える監査ログの保存は、アーカイブとしてオフラインで保持可能 (最大6年) CISベンチマークやSTIGといったコンプラインス対応の独自の監査ポリシーを適用可能 目的ごとに定型化されたレポート分析画面 監査ログは100万レコード/DB/月までは無料 - 以降、1万レコード単位で課金(¥12) プリセットされたアクティビティ・レポート(PDF, XLS) アクティビティ監査 Copyright © 2022, Oracle and/or its affiliates 18 Data Safe Oracle Database AUD$ FGA_LOG$ Unified Audit
  14. アクティビティ監査 Copyright © 2022, Oracle and/or its affiliates 20 ユーザー作成変更といったデータベースの変更操作

    (DDL)やログイン・ログオフといった情報を監査ログから 抽出する定義済みの各種レポート
  15. アクティビティ監査 Copyright © 2022, Oracle and/or its affiliates 21 ユーザーの好みに合わせたポリシーやプリセットされた

    ポリシーをターゲットのデータベースにプロビジョニングする ことで監査設定が反映される
  16. OCIにあるOracle Databaseへの接続 (プライベート・エンドポイント) Copyright © 2022, Oracle and/or its affiliates

    22 Autonomous DB, Cloud Database System, Database on Compute Oracle Cloud Infrastructure Customer VCN Private Subnet Oracle Data Safe Private Endpoint Data Safeは、プライベート・エンドポイントを経由して使ってターゲットDBに接続する Oracle Cloud内のクローズドなアクセス Security ListもしくはNetwork Security GroupにData Safeとのinbound/outbound通信の許可が必要
  17. オンプレミスにあるOracle Databaseへの接続 (プライベート・エンドポイント) Copyright © 2022, Oracle and/or its affiliates

    23 On-premises, Cloud@Customer Oracle Cloud Infrastructure Customer VCN Private Subnet Private Endpoint FastConnect / VPN Connect Oracle Data Safe FastConnectまたはVPN接続で、オンプレミス上にあるデータベースはOCIのPrivateサブネットの 延長線上にあるという構成 Data Safeは、プライベート・エンドポイントを経由して使ってターゲットDBに直接接続する ターゲットDBのネットワークは、 Data Safeからのinbound/outbound通信の許可が必要
  18. オンプレミスにあるOracle Databaseへの接続 (オンプレミス・コネクター) Copyright © 2022, Oracle and/or its affiliates

    24 On-premises, Cloud@Customer Oracle Cloud Infrastructure Oracle Data Safe Data Safe On- Premises Connector TLS Tunnel Data Safe On- Premises Connector On-Premises Connectorをインターネット通信が可能なサーバにインストールする On-Premises Connectorは、オンプレミス上のターゲットDBにアクセスし、その情報をData Safeにアップロードする 通信はOn-Premises Connectorが起点となるため、Data SafeからのInbound通信は発生しない On-Premise ConnectorターゲットDBのネットワークは、 Data Safeへのoutbound通信の許可が必要
  19. • Oracle Linux 7以上 • Python 3.5以上 • Java 7以上

    インストール手順 1. On-Premises ConnectorをData Safeコンソールからダウンロード 2. zipファイルを解凍 3. 以下コマンドを実行 $ python setup.py install --connector-port=<port> [--https-proxy=<proxy:port>] 例) $ python setup.py install --connector-port=1560 --https-proxy=https://www- proxy.domain.com:80 On-Premises Connectorのインストール要件 Copyright © 2022, Oracle and/or its affiliates 25
  20. サポートされるターゲット・データベース Copyright © 2022, Oracle and/or its affiliates 26 Oracle

    Cloud Database Versions Autonomous Data (Shared Exadata Infrastructure) latest version Autonomous Data (Dedicated Exadata Infrastructure) latest version Database System - Bare Metal, VM, Exadata - Oracle Database Edition(SE, EE, EEHP, EEEP) 11.2.0.4*, 12.1*, 12.2.0.1 or later Oracle Database on Compute instance - Oracle Database Edition (Standard, Enterprise) 11.2.0.4*, 12.1*, 12.2.0.1 or later On-Premises Oracle Database - Oracle Database Edition (Standard, Enterprise) 11.2.0.4*, 12.1*, 12.2.0.1 or later
  21. 価格 27 サービス名 単価 単位 1 Data Safe for Database

    Cloud Service (*) 無償 2 Data Safe for Database Cloud Service – Audit Record Collection Over 1 Million Records ¥14.0 1万レコード/ターゲット/月 3 Oracle Cloud Infrastructure - Data Safe for On-Premises Databases (**) ¥28,000 1DB 4 Oracle Cloud Infrastructure - Data Safe for On-Premises Databases – 10,000 Audit Records Per Target Per Month ¥14.0 1万レコード/ターゲット/月 * 監査機能は、 100万レコード/ターゲット/月まで無償、その他の機能は無償 **監査機能は、 100万レコード/ターゲット/月まで利用可能、その他の機能は追加コストなく利用可能 Copyright © 2022, Oracle and/or its affiliates