Comments
Description
Transcript
Oracle Advanced Security
Oracleセキュリティ機能と考え方 - Lock your Information ! - 日本オラクル株式会社 マーケティング本部 システム製品マーケティンググループ 担当シニアマネジャー 北野晴人 2 セキュリティの3つの要素 情報に関する yC y I yA (Confidentiality) : 機密性 (Integrity) :完全性 (Availability) :可用性 セキュリティは基本的にはこの3つを守るためにある。 (ISO/IEC17799での考え方) 3 セキュリティの評価・認証の制度 組織におけるセキュリティ管理の基準と 評価・認証 BS7799 ISO/IEC17799 ISMS・JIS-X5080(日本国内) 情報セキュリティ監査制度 製品の機能・実装に関する評価・認証 ISO/IEC15408 (Common Criteria) FIPS-140 公正な第三者による 評価と認証 製品に関するセキュリティの評価・認証 Oracleは ISO/IEC15408(EAL4)取得 ISO/IEC15408とは セキュリティ製品(ハード/ソフトウェア)およびシステムの開発や製造、運用などに関する 国際評価基準。1999年6月にCC(Common Criteria)V2.1をもとに採択された。 日本国内においてはJIS X5070とも同等。2002年12月から正式に国内でも取得可能。 日本はCCRA(CCの国際間相互乗り入れのための条約)に2003年10月に正式加盟。 米国:National Security Telecommunications Information Systems Security Policy(NSTISSP) #11 国家安全保障に関わるシステムでは第3者評価認証を要求 日本:「ISO/IEC15408を活用した調達のガイドブック」(経済産業省) ISO/IEC15408 の評価、認証を既に受けている製品等の利用を推進 5 なぜデータベースでセキュリティ? y 価値の高い情報の多くがデータベースに格納されている。 y ファイル単位で情報を保管するよりもリスクを低減できる。 (=ファイルを盗まれている情報漏洩事件) y アプリケーションでのセキュリティ対策を回避された場合にも 有効である。 y 複数のアプリケーションでデータベースを共有することで、 セキュリティ対策も共有できる。 y 後から付加する対策よりも開発・運用のトータルコストが安く なる。 データベースには「情報を守るための」セキュリティ 機能が内蔵されていなければならない 6 誰をどこで“くい止める”のか? 認証情報の一元管理・SSO OID Browser Clients ICカード 指紋認証 厳密なユーザ認証 LDAP/SSL 個人情報等 USBトークン PKI Web Server SSL SQL Clients 権限を持たない不正アクセス 通信データの 暗号化 × アクセス制御 格納データの暗号化 × 権限を持った範囲外への不正アクセス 正当な権限を使った情報漏洩 通信データの 暗号化 (盗聴) × 監査の実施 × × (権限外アクセス) (ファイル窃取) 対策と機能をマッチングする 認証の強度を上げ、一元管理で 漏れや人為的ミスをなくす Oracle Identity Management (SSO,OID,OCA) ・ 外部認証・グローバル認証 通信データを暗号化する SSL, Advanced Securityの利用 きめ細かいアクセス制御を行う アクセス権限の最小化と 仮想プライベートデータベース 格納データを暗号化する 暗号化ツールキットの利用 DBAを監査する DBA監査機能の利用 一般ユーザを監査する 標準監査機能・ファイングレイン 監査の利用 8 ただしOracleの機能だけで全てがカバーできるとは限らない ユーザ認証とアカウント管理 厳密なアカウント管理とユーザ認証 y パスワード・ポリシーの設定 – – – – – パスワードの暗号化 ログイン試行回数の制限 パスワード有効期間及び猶予期間の設定 パスワード変更履歴管理 設定されたパスワードの難易度の検証 CREATE PROFILE 文により制限を作成 UTLPWDMG.SQL スクリプトにより難易度を検証 (VERIFY_FUNCTIONを作成) 10 厳密なアカウント管理とユーザ認証 y 認証情報の集約化 – エンタープライズユーザセキュリティ (複数のデータベースインスタンスに対するシングルサインオン等) – ディレクトリ・サーバ(Oracle Internet directory)を使った 一元管理 y 厳密な認証 – – – – ローカル認証 プロキシ認証(アプリケーションに依託) 外部認証(サードパーティ製の認証パッケージを利用) グローバル認証(ディレクトリサーバとデジタル証明書を 利用できる) Oracle Advanced Securityが必要な場合があります。 11 アクセス制御と 仮想プライベートデータベース (VPD:Virtual Private Database) なぜアクセス制御は重要か? y 様々な属性の人がシステムにアクセスする可能性がある。 y 各ユーザの属性によって権限は限定されなければならない。 取締役等高職位の人 小 権限 大 一般の社員など 派遣・臨時社員など 関連業者など 顧客など 13 アクセス制御と最小権限の原則(例) 経理データ1 経理データ2 経理データ3 顧客データ1 顧客データ2 顧客データ3 経理部社員 経理課長 ○ ○ × △ × △ × △ × × × × 経理部長 ○ ○ △ △ △ × 経理本部長 ○ ○ ○ △ △ △ 経理担当取締役 ○ ○ ○ △ △ △ 営業部社員 △ × × ○ × × 営業課長 △ △ × ○ △ × 営業部長 営業本部長 △ △ △ △ △ △ ○ ○ ○ ○ △ ○ 営業担当取締役 △ △ △ ○ ○ ○ アクセス権限種別 ○:読みとり・書き込み可 △:読みとりのみ ×:アクセス不可 データの機密性レベル 1:機密性 低 2:機密性 中 3:機密性 高 情報も異なる属性を持っている 14 従来のオブジェクト権限でのアクセス制御 表1 表2 表3 (例) 表に「SELECT」権限が あったら表内のデータは 全て検索できてしまう。 アクセス権設定 アクセス権設定 アクセス権設定 15 ビューを使ったアクセス制御 必要な情報だけを見せるビュー ビュー1 ユーザ1 ビュー 2 ユーザ2 ユーザ3 ビュー3 情報マスタ表1 ビューとユーザ数が増えると管理が困難になる 16 *ユーザはロールと関連づけて使用できる場合もある 仮想プライベートデータベース(VPD)の 行レベルのアクセス制御 新機能:さらに行レベル アクセス制御を列単位で 実施することが可能 表1 アクセス権設定 アクセス権設定 アクセス権設定 (例) 表に「SELECT」権限が あっても、許可された行の データしか検索結果として 返さない。 17 WebアプリケーションにおけるVPD Group=‘FIN’ Name=‘Sato’ ファイングレイン・アクセスコントロールで 動的にSQL文を書き換える アプリケーション・コンテキストに ユーザの属性を格納 SELECT * FROM HR_DETAIL WHERE DEPT=‘FIN’ ; Group:’FIN’ ポリシー Group=‘SALES’ Name=‘Suzuki’ SELECT * FROM HR_DETAIL; Group:’SALES’ Webアプリケーション “WEBAPP” SELECT * WEBAPP.HR_DETAIL表 FROM HR_DETAIL WHERE DEPT=‘SALES’ ; 18 データベースのローカルユーザでなくてもアクセスコントロールが可能 監査機能 監査機能の概要 y 標準監査機能 – – – – デフォルトで実施される監査(起動・停止・DBA接続) SQL文に対する監査 権限に対する監査 オブジェクト単位の監査 y DBA監査 – データベース管理者を監査する機能 y ファイングレイン監査 – より詳細な監査条件の設定が可能 20 DBA監査機能 y SYSとすべてのSYSOPER / SYSDBAユーザーの 使用に対してOSファイルに監査ログを出力する – – 通常の監査では監査証跡がデータベース内に格納さ れるため客観性がない。 データベース管理者とサーバ管理者の権限を分離して 監査ログのファイルに対するアクセス権をデータベース 管理者に与えないようにする。 21 ファイングレイン監査 y ファイングレイン監査を使ったきめ細かい監査 – データの値ベースの詳細な監査 – 監査証跡(ログ)の出力をカスタマイズ (SYS.DBA_FGA_AUDIT_TRAILビューへの出力) – ユーザー定義監査アクションの実施(管理者へのメール 送信など) – 不要な証跡を残さないことによる管理・分析作業の負担 を軽減する 22 ファイングレイン監査 実行イメージ 監査条件 : POSITION = ‘CEO’ 監査 ポリシー 監査列 : SALARY (PL/SQLストアドプロシージャで実装) 監査しない SELECT NAME, ADDRESS FROM HR.EMP 監査する SELECT NAME, SALARY FROM HR.EMP WHERE POSITION = ‘CEO’ 監査ログ SELECT name, salary FROM hr.emp WHERE position = ‘CEO’, <timestamp>, <userid>, <bind vars> etc. 管理者にメール通知 格納データの暗号化 格納データの暗号化 y 機密性の高い情報のより高度な保護が可能 – – – データを列レベルで暗号化して格納 データ・ファイルが窃取された場合にも有効 鍵管理はアプリケーションに委任 y サーバー側に実装可能 – – あらゆるアプリケーションから利用可能 コンポーネント化するため再利用が容易 保護する情報資産の価値・機密性の高さとのバランスを検討 25 格納データの暗号化 顧客ID 氏名 住所 電話番号 クレジットカード番号 ID345 Tom Oracle Tokyo Akasaka xxxxxxxx ID346 Jim Oracle xxxxxxxx 3761-xxxx-yyyy-zzzz ID347 Tem Oracle Tokyo Youga xxxxxxxx ID348 Dan Oracle xxxxxxxx xxxx-xxxx-yyyy-zzzz Tokyo Nakano Tokyo Shibuya 3541-xxxx-yyyy-zzzz 4541-xxxx-yyyy-zzzz 機密性の高いデータだけを暗号化 暗号化鍵 26 格納データの暗号化 顧客ID 氏名 住所 電話番号 クレジットカード番号 ID345 Tom Oracle Tokyo Akasaka xxxxxxxx mCJs8AakmrFH90v 3541-xxxx-yyyy-zzzz ID346 Jim Oracle xxxxxxxx p$hv/WiMnhfasWl 3761-xxxx-yyyy-zzzz ID347 Tem Oracle Tokyo Youga xxxxxxxx V%Jsa6aUmrFs9gd 4541-xxxx-yyyy-zzzz ID348 Dan Oracle xxxxxxxx l4gE#WaMyrdH9Gz xxxx-xxxx-yyyy-zzzz Tokyo Nakano Tokyo Shibuya 機密性の高いデータだけを暗号化 暗号化鍵 27 暗号化方式(1) y PL/SQL (DBMS_OBFUSCATION_TOOLKIT) – 暗号化: DES, Triple-DES(2key,3key) – 鍵生成 y 安全な鍵生成関数を提供(GetKeyプロシージャが安全な 乱数生成ジェネレータをコール) y DBMS_RANDAMパッケージは使わない。 ※鍵管理は開発者が意識する必要あり データベース内で保管 OS上でファイルとして保管 ハードデバイスなどで保管 – 符号化: MD5(意図しないデータ改ざんを検知する) 28 暗号化方式(2) y DBMS_CRYPTO (Oracle Database 10gからの新機能) – 暗号化: DES, Triple-DES(2key,3key),AES,RC4 – 符号化: MD5,MD4,SHA-1(意図しないデータ改ざんを 検知する) DBMS_CRYPT DBMS_OBFUSCATION_ TOOLKIT 暗号化アルゴリズム DES、Triple-DES、AES、 RC4、Triple-DES_2KEY DES、Triple-DES パディング方式 PKCS5、0(ゼロ) なし ブロック暗号連鎖モード CBC、CFB、ECB、OFB CBC ハッシュ・アルゴリズム MD5、SHA-1、MD4 MD5 ハッシュ・アルゴリズム (キーを必要とする) HMAC_MD5、HMAC_SH1 なし 暗号化対象データ型 BLOB/CLOB/RAW VARCHAR2/RAW 29 通信データの暗号化 通信データの暗号化 y Network上のOracle Net通信を暗号化・符号化 – RC4・DES・3DES・AES暗号化アルゴリズム MD5・SHA-1ハッシュアルゴリズム – SSL(デジタル証明書を使用) – Oracle Advanced Security Oracle Advanced Securityによる暗号化 通信経路上での盗聴対策としての暗号化を提供 佐藤さん 盗聴者 SSL 鈴木さん Oracle Portal データベースリンクの 間を暗号化 データベースとアプリケーション サーバの間を暗号化 データベースとクライアントの間を暗号化 32 資料:各セキュリティ機能とバージョン Or ac le Dat abase Se c u r it y機能 Or ac le Advan c e d Se c u r it y(* 1 ) 暗号化ツールキッ ト 仮想プライベートデータベース( VPD) ファイングレイン監査 En t e r pr i se Use r Se c u r it y(* 3 ) DBA監査( * 2 ) パスワード暗号化 プロキシ 認証( 8 i: N- T ie r 認証及び許可) Or ac le Dat abase 1 0 g Or ac l e 9 i Dat abase Or ac le 8 i Dat abase EE SE EE SE EE SE ○ − ○ − ○ − ○ ○ ○ ○ △ − ○ − ○ − ○ − ○ − ○ − − − ○ − ○ − ○ − ○ ○ ○ ○ − − ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ △ △ *1 有償オプションです *2 9iR2新機能です *3 Oracle Application Server Enterprise Edition またはStandard EditionとIdentity Management Optionの購入が必要です。また電子証明書を利用する場合はOracle Advanced Security があわせて必要です。 33