Windows環境での
Oracleセキュリティ
Webでもクラサバでも一元管理
-日本オラクル株式会社
マーケティング本部 システム製品マーケティンググループ 担当シニアマネジャー 坂本 英樹Agenda
y
OracleのWindowsへの取り組み
y
Windows環境でのOracleセキュリティ
–
1:クライアント/サーバー環境
Active Directory/Enterprise User Security 連携
y 1-1:Windowsのシステム固有の認証
y 1-2:Kerberos認証アダプタを利用した認証
y 1-3:Enterprise User Securityが実現する外部認証
–
2:Webアプリケーション環境
OracleAS- Single Sign On/Active Directory連携
y 2-1:Oracle Application Server 10
gセキュリティ
y 2-2:Oracle Identity ManagementによるSingle Sign On
y 2-3:Oracle Internet Directory – Active Directory コネクタ
Oracle9i Database Release 2(9.2.0)
Oracle8i Enterprise Edition R8.1.7
1997/9 1995/5 NT 3.5 1994/6 NT 3.1 1996/1 NT 3.51 1996/12 NT 4.0 1997/7 Win2000 NT 4.0 EE 1998/1 (2000/2) (1997/11) (1996/12) (1996/1) (1994/12) (1993/末)
オラクル社のWindows版データベースの歴史
Oracle Fail Safe
Oracle8 Enterprise Edition R8.0
Oracle Parallel Server Option
Oracle7 Server R7.3
Oracle7 Server R7.2
Oracle7 Server R7.1
Oracle7 Server R7.0
2002/1 2002/9 2003/5 業界初のWindows NT版DBMS NTスレッドに対応 パフォーマンスモニ タとの統合 Win2003 (32/64-bit) (2003/5)Oracle9i Release 2 (9.2.0) 64-bit Itanium
Oracle Database 10g (10.1.0) (32-bit)
2004/5Microsoft .NET – Oracle統合
• Oracle Data Provider for .NET
• .NETにネイティブに接続するDBのミドルウェア
• Visual Studioとの統合 – HelpはVSからF1キーを押すだ
け、Server Explorer統合、
Intellisenseによる補完など• 豊富なXMLサポートで強力な.NET アプリケーションを
実現
• Web Services
• WS-Iによる相互運用性を提供
• 複合的なアプリケーション開発
• Web Services 、 WSDLを使うことで .NET アプリケーションをJ2EE Webサー ビスと統合が可能
Agenda
y
OracleのWindowsへの取り組み
y
Windows環境でのOracleセキュリティ
– 1:クライアント/サーバー環境
Active Directory/Enterprise User Security 連携 y 1-1:Windowsのシステム固有の認証
y 1-2:Kerberos認証アダプタを利用した認証
y 1-3:Enterprise User Securityが実現する外部認証
– 2:Webアプリケーション環境
OracleAS- Single Sign On/Active Directory連携
y 2-1:Oracle Application Server 10g セキュリティ
y 2-2:Oracle Identity ManagementによるSingle Sign On y 2-3:Oracle Internet Directory – Active Directory コネクタ
Client/Server環境でのWindowsと
Oracleデータベースの統合
SCOTT クライアント Active Directory (Windowsドメイン) データベース EXAMPLE¥SCOTT Oracle RDBMSに ログイン Windowドメインに ログオン •Windowsにログインすれば、Oracleへの接続も可 •パスワード情報は、AD側のみで管理 ドメイン名:EXAMPLE sqlplus /@orclOracle Portal 管理コンソール Oracle E-Business Suite Release 11i Oracle Internet Directory Single Sign-On Microsoft AD(Active Directory) & KDC(Key
Distribution Center) User sign-on 双方向同期 Windows 環境 認証 、パスワード のアップデート
Windows – Oracle統合:Webでの
Directory/Security統合概要
OracleのID管理基盤を導入するメリット
y
企業で必要となる3つの認証を一元化
–ネットワークへのWindows認証、C/Sアプリへの認
証、Webアプリの認証を一元化
y
統合することで...
–ユーザーは多くのIDとパスワードを覚えきれない
悪夢を避けられる
–結果として管理が充分行き届くことでセキュリテ
ィが向上
–管理者は、パスワードのルール(例:英数字と記
号で10文字以上、1ヶ月ごとに変更)の徹底が可能
Agenda
y
OracleのWindowsへの取り組み
y
Windows環境でのOracleセキュリティ
– 1:クライアント/サーバー環境
Active Directory/Enterprise User Security 連携 y 1-1:Windowsのシステム固有の認証
y 1-2:Kerberos認証アダプタを利用した認証
y 1-3:Enterprise User Securityが実現する外部認証
– 2:Webアプリケーション環境
OracleAS- Single Sign On/Active Directory連携
y 2-1:Oracle Application Server 10g セキュリティ
y 2-2:Oracle Identity ManagementによるSingle Sign On y 2-3:Oracle Internet Directory – Active Directory コネクタ
通常の認証方法(データベース認証)
SCOTT クライアント Active Directory (Windowsドメイン) データベース SCOTT sqlplus scott/tiger@orcl Oracle RDBMSに ログイン Windowドメインに ログオン •Windowsにログオンしたあと、再度Oracleにログ インする手間が掛かる •パスワードの二重管理によるセキュリティの問題 •Windows認証との関連は無し ドメイン名:EXAMPLEWindowsのシステム認証の実際
SCOTT クライアント Active Directory (Windowsドメイン) データベース EXAMPLE¥SCOTT Oracle RDBMSに ログイン Windowドメインに ログオン •Windowsにログインすれば、Oracleへの接続も可 •パスワード情報は、AD側のみで管理 Windowsにログインすれば、Oracleへの接続時は、ユーザーID/パスワードは不要 ドメイン名:EXAMPLE sqlplus /@orcl設定方法
データベース・サーバー側 1. 初期化パラメータの設定 • REMOTE_OS_AUTHENT=FALSE(デフォルト値) • OS_AUTHENT_PREFIX=“OPS$”(デフォルト値) 2. SQLNET.ORAの設定 • SQLNET.AUTHENTICATION_SERVICES = (NTS) 3. 外部ユーザーの作成• CREATE USER ….. EXTERNALLY 4. データベース・ロールの付与
• GRANT CONNECT TO <外部ユーザー> クライアント側
1. SQLNET.ORAの設定
外部ユーザーの作成
SQL> CREATE USER “OPS$EXAMPLE¥KAINOUE” IDENTIFIED EXTERNALLY;
SQL> GRANT CONNECT TO “OPS$EXAMPLE¥KAINOUE”;
OPS$EXAMPLE¥KAINOUE
初期化パラメータ:OS_AUTHENT_PREFIXの値
NTLM認証の場合のセキュリティ侵害
の危険
REMOTE_OS_AUTHENT=TRUE Windowsのログイン資格証明を利用してADと認証を統合できるのは、データベー スがWindowsで稼動している場合のみ SMITH Admin権限があり、 Databaseに“Smith”という ユーザー名があることを 知っている EXAMPLE¥JAMES FOO¥SMITH マシン名:FOO なりすましSQL> SELECT * FROM V$SESSION_CONNECT_INFO;
SID AUTHENTI OSUSER NETWORK_SERVICE_BANNER
--- --- --- ---151 OS smith Windows NT TCP/IP NT Protocol Adapter…
151 OS smith Oracle Advanced Security: encryption service… 151 OS smith Oracle Advanced Security: crypto-checksumming…
Agenda
y
OracleのWindowsへの取り組み
y
Windows環境でのOracleセキュリティ
– 1:クライアント/サーバー環境
Active Directory/Enterprise User Security 連携 y 1-1:Windowsのシステム固有の認証
y 1-2:Kerberos認証アダプタを利用した認証
y 1-3:Enterprise User Securityが実現する外部認証
– 2:Webアプリケーション環境
OracleAS- Single Sign On/Active Directory連携
y 2-1:Oracle Application Server 10g セキュリティ
y 2-2:Oracle Identity ManagementによるSingle Sign On y 2-3:Oracle Internet Directory – Active Directory コネクタ
Kerberos(ケルベロス)認証とは?
y
WindowsにとってのKerberos認証
– Windows 2000および2003ネットワークのデフォルト認証プロ トコル – Windows 2000、XPクライアントの環境では、Kerberosサービ スの相互運用が可能y
仕組み
– 「信頼のおける第3者機関による証明」と「秘密鍵暗号を用 いた暗号化」を利用y
実世界に例えると...
– KDC(鍵発行局:役所のようなもの)が発行したTGT(印鑑 証明書+IDカードのようなもの)とST(捺印のようなもの) を使った認証Kerberos認証を印鑑証明に例えると
クライアント 市役所・区役所などの第3 社機関(KDC) 1.リソースを 利用したいので 印鑑証明取得 TGT 2.IDカードや 印鑑証明を発 行 捺印(ST) 銀行や企業など 捺印(ST) 3.最初は印鑑証明付きで 提示し、実印だと分かっ た相手にはその後捺印だ けで通用 印鑑証明(TGT)Windows以外のプラットホームでOracleが稼動している場合も、Kerberos アダプ タを使用してActive Directoryと認証を統合することが可能です。
KDC
(Active Directory)
1. もちろん、AD以外のKDC(Key Distribution Center)サーバーでもこの機能は利用可能です 2. Kerberos認証アダプタの機能を利用するには、Advanced Security Optionが必要です
データベース
クライアント
Windowsの認証方式
y
平文(ひらぶん・クリアテキスト)認証
–パスワードがネットワークを流れる問題
y
LM認証 、NTLM認証、NTLM v2認証
–チャレンジ・レスポンスを使用して、パスワード
を使った暗号情報をネットワークで伝達
y
Kerberos認証
–「信頼のおける第3者機関による証明」と「秘密鍵
暗号を用いた暗号化」を利用した認証方法
–KDC(鍵発行局:役所のようなもの)が発行した
TGT(印鑑証明書+IDカードのようなもの)とST(
捺印のようなもの)を使って認証
Kerberosによる認証の仕組み(1/3)
クライアント Active Directory (DC/KDC) (1)ログオン要求 (2)クレデンシャル(セッション 鍵とTGT)の発行 クレデンシャル・・・信任状TGT・・・Ticket Granting Ticket:チケット保証チケット DC・・・Domain Controller
Kerberosによる認証の仕組み(2/3)
クライアント Active Directory (DC/KDC) 1.リソースを 利用したい TGT 2.サービス・ チケット発行 ST リソース ST 3.サービスチ ケット提示Kerberosによる認証の仕組み(3/3)
クライアント Active Directory (DC/KDC) ・・・・・・ 2回目以降のアクセスは、STを提示するだけ リソース ST 1.チケット提 示Kerberos認証の設定方法
データベース・サーバー側
1. SQLNET.ORAの設定 クライアント側
1. SQLNET.ORAの設定
• SQLNET.AUTHENTICATION_SERVICES = (KERBEROS5), etc 2. 外部ユーザーの作成
• CREATE USER ….. EXTERNALLY 3. データベース・ロールの付与
• GRANT CONNECT TO <外部ユーザー>
1. Kerberosサービス割り当てに利用するアカウントの作成 2. サービス・プリンシパルへのKeyTab作成
Agenda
y
OracleのWindowsへの取り組み
y
Windows環境でのOracleセキュリティ
– 1:クライアント/サーバー環境
Active Directory/Enterprise User Security 連携 y 1-1:Windowsのシステム固有の認証
y 1-2:Kerberos認証アダプタを利用した認証
y 1-3:Enterprise User Securityが実現する外部認証
– 2:Webアプリケーション環境
OracleAS- Single Sign On/Active Directory連携
y 2-1:Oracle Application Server 10g セキュリティ
y 2-2:Oracle Identity ManagementによるSingle Sign On y 2-3:Oracle Internet Directory – Active Directory コネクタ
ディレクトリーで管理されていない
SCOTT クライアント Active Directory (Windowsドメイン) データベース SCOTT システム管理者ディレクトリーによる一元管理
SCOTT クライアント Active Directory (Windowsドメイン) データベース データベースのスキーマ管理から解放される SCOTT ユーザー情報を定期的に ADと同期をとる システム管理者Oracle Internet Directory (ディレクトリサーバー)
Enterprise User Security
*システムが3層構造の場合でも、エンター・プライズ・セキュリティにてプロキシ認証を利 用する事により、ユーザー情報を一元管理することができます。
*Enterprise User SecurityでのKerberos認証の利用は、Oracle10gの新機能です
効果:管理コストの軽減と、その結果運用ミスが減
ることでのセキュリティの向上
• ディレクトリ・サーバーを利用した外部認証による
ユーザー情報を一元管理
• 3つの認証方式
•SSL認証でのエンタープライズ・ユーザー
•パスワード認証でのエンタープライズ・ユーザー
•Kerberos認証でのエンタープライズ・ユーザー
EUSで可能な認証方法と主な特徴
2層環境、3層環境の両方で使用可 能
yクライアント/サーバー間のSSL 処理が不要で高速
yAdvanced Security Option固有の暗 号化は使用可能 y単一のグローバルなユーザー/パ スワードをサポート yデータベース毎に個別の認証が 必要 yパスワード・ベースの認証をサ ポートします。 yPKI証明書ベースのクライアント 証明は使用できない パスワード認証 2層環境、3層環境の両方で使用可 能 2層環境、3層環境の両方で使用 可能 yクライアント/サーバー間のSSL 処理が不要で高速
yAdvanced Security Option固有の暗 号化は使用可能 接続時間は多少掛かるが、ネッ トワークセキュリティは強固 yKerberosの暗号化チケットと認証 子を使用するシングル・サイン・ オンをサポート SSLを使用したシングル・サイ ン・オンをサポート yKerberosチケットでの認証をサポ ートします。 PKI証明書ベースの認証をサポ ートします。 Kerberos認証 SSL認証 •パスワード認証の場合、ADとの連携においてパスワードをAD側から取得できません
Agenda
y
OracleのWindowsへの取り組み
y
Windows環境でのOracleセキュリティ
– 1:クライアント/サーバー環境
Active Directory/Enterprise User Security 連携 y 1-1:Windowsのシステム固有の認証
y 1-2:Kerberos認証アダプタを利用した認証
y 1-3:Enterprise User Securityが実現する外部認証
– 2:Webアプリケーション環境
OracleAS- Single Sign On/Active Directory連携
y 2-1:Oracle Application Server 10g セキュリティ
y 2-2:Oracle Identity ManagementによるSingle Sign On y 2-3:Oracle Internet Directory – Active Directory コネクタ
Oracle Application Serverとは
y
Oracle Application Server 10
gはスイート製品
(J2EEアプリケーション・サーバだけではない)
–
セキュリティ機能、キャッシュサーバー機能、ディレ
クトリ連携など
y
様々なアプリケーションへのアクセス環境を安全
にするセキュリティ管理基盤
Æ Single Sign On機能を提供するOracle Identity
Managementを提供
求められる企業内インフラ整備
Oracle Identity Management
休暇管理システム 障害報告管理システム 文書管理、稟議、福利厚生 部門単位、人事、研修、プロジェクト管理 ... etc. 他によくある社内業務のオンライン化
アイデンティティ・
マネージメント
Directory SSO local system local system 管理コスト 管理 コスト 管理 コスト 集中的な管理運用Oracle Application Server 10
g
Security
User Cluster HTTP基本認証 電子証明書認証 SSO認証 J2EEアプリケーション (JAAS/JavaACC) OracleAS Portal etc.Authentication Authorization Database HTTP/ HTTPS LDAP/ LDAPS SSO認証チケット (HTTP Cookie) LDAP/ LDAPS HTTP/ HTTPS Oracle Net Encryption Other Repository Sync / Replica SSO認証 サーバ ディレクトリ
Agenda
y
OracleのWindowsへの取り組み
y
Windows環境でのOracleセキュリティ
– 1:クライアント/サーバー環境
Active Directory/Enterprise User Security 連携 y 1-1:Windowsのシステム固有の認証
y 1-2:Kerberos認証アダプタを利用した認証
y 1-3:Enterprise User Securityが実現する外部認証
– 2:Webアプリケーション環境
OracleAS- Single Sign On/Active Directory連携
y 2-1:Oracle Application Server 10g セキュリティ
y 2-2:Oracle Identity ManagementによるSingle Sign On y 2-3:Oracle Internet Directory – Active Directory コネクタ
Oracle Identity Management とは
y
Oracle Identity Management は、統合認証(
シングル・サインオン)環境を実現するために
必要とされる機能群の総称
y
個々の製品から選んで最適な統合認証を揃える
ことはコストがかかるが、Oracle Application
Server 10
gではSSO、LDAP Directory、Directory
Oracle Identity Management
Oracle Identity Management
Directory PKI SSO Provisioning / Integration Certificate Authority Single Sign-On Delegation Service User Application Directory Database
Oracle Identity Management
Oracle Identity Management
User Application Server Directory Database
統合認証(シングル・サインオン)
基盤の提供
- パスワード認証 - 電子証明書認証 仮想的な 識別情報リポジトリ (メタディレクトリ) アプリケーションとの 同期(プロビジョニング) ユーザ自身 による情報管理OracleAS Single Sign-On について
y
Application Server付属のWebシングルサインオン機能
y
エージェント型シングル・サインオン
– エージェント機能: 「パートナ・アプリケーション」と呼ばれ
るSSO Cookieチェック機構を実装したアプリケーション
– mod_osso、OracleAS Portal、SSO SDKで開発したAP
y
ユーザ情報リポジトリは、Oracle Internet Directory
Oracle HTTP Server with mod_osso
OracleAS Single Sign-On
(1) request
(2) login (3) response User
OracleAS Single Sign-On について
y
認証の方式
–パスワード
–電子証明書
y
多重認証
–Webサイトの認証を数値によって重み付け
–アクセスレベルをより制限するために利用可能
・ パスワード認証 < 電子証明書
・ サイトAの認証
<
サイトBの認証
利用パターン1 (通常利用)
Oracle製品の認証基盤としての利用
User
(1)初期アクセス J2EEプラットフォーム
Oracle Identity Management
Directory SSO認証 (4)SSO認証 チケット発行 (2)認証依頼 (3)認証処理 (5)アクセスw/SSO (6)アプリケーション毎に 認可、アクセス制御 OracleAS Portal Database ★ 必要に応じて自身の DB access
利用パターン2 (組み合わせて利用)
3rd Party SSO と組み合わせての利用
Oracle HTTP Server with mod_osso
Oracle Identity Management (1) request
(2) login (3) response
User
2a. redirect / login 2b. ticket 2c. ticket check 2d. ticket check Sync
Windows認証と連携した
動作もサポート。
3rd Party SSOAgenda
y
OracleのWindowsへの取り組み
y
Windows環境でのOracleセキュリティ
– 1:クライアント/サーバー環境
Active Directory/Enterprise User Security 連携 y 1-1:Windowsのシステム固有の認証
y 1-2:Kerberos認証アダプタを利用した認証
y 1-3:Enterprise User Securityが実現する外部認証
– 2:Webアプリケーション環境
OracleAS- Single Sign On/Active Directory連携
y 2-1:Oracle Application Server 10g セキュリティ
y 2-2:Oracle Identity ManagementによるSingle Sign On y 2-3:Oracle Internet Directory – Active Directory コネクタ
ADとの連携
ADコネクタによるADとOIDの同期
-Active Directory OID
sales group1 SCOTT JOE OracleContext Users SCOTT JOE JAMES FORD SMITH group2 JAMES FORD SMITH jp.oracle.com Mapping Rule(ActiveChgImp) DomainRules ou=group1,ou=sales,dc=jp,dc=axa,dc=com:cn=users,dc=jp,dc=oracle,dc=com: ou=group2,ou=sales,dc=jp,dc=axa,dc=com:cn=users,dc=jp,dc=oracle,dc=com: サブツリー同期 •マッピング・ルール(ActiveChgImp)に従い値を レプリケートする •同期間隔は一定間隔(秒単位指定)にて実施 jp.axa.com