...

Oracle Advanced Security

by user

on
Category: Documents
21

views

Report

Comments

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
Fly UP