...

Oracle9i Application Server セキュリティ・ガイド , リリース 2(9.0.2)

by user

on
Category: Documents
25

views

Report

Comments

Transcript

Oracle9i Application Server セキュリティ・ガイド , リリース 2(9.0.2)
Oracle9i Application Server
セキュリティ・ガイド
リリース 2(9.0.2)
2002 年 7 月
部品番号:J05891-01
Oracle9i Application Server セキュリティ・ガイド , リリース 2(9.0.2)
部品番号:J05891-01
原本名:Oracle9i Application Server Security Guide, Release 2 (9.0.2)
原本部品番号:A90146-01
原本著者:Laurel P. Hale
原本協力者:Henry Abrecht, Mike Cowan, Janis Greenberg, John Heimann, Pushkar Kapasi, Mark
Kennedy, Jeffrey Levinger, Bruce Lowenthal, Rita Moran, Julia Pond, Frank Rovitto, Deborah Steiner
Copyright © 2002, Oracle Corporation. All rights reserved.
Printed in Japan.
制限付権利の説明
プログラム(ソフトウェアおよびドキュメントを含む)の使用、複製または開示は、オラクル社との契
約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権に関する法律に
より保護されています。
当プログラムのリバース・エンジニアリング等は禁止されております。
このドキュメントの情報は、予告なしに変更されることがあります。オラクル社は本ドキュメントの無
謬性を保証しません。
* オラクル社とは、Oracle Corporation(米国オラクル)または日本オラクル株式会社(日本オラクル)
を指します。
危険な用途への使用について
オラクル社製品は、原子力、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーション
を用途として開発されておりません。オラクル社製品を上述のようなアプリケーションに使用すること
についての安全確保は、顧客各位の責任と費用により行ってください。万一かかる用途での使用により
クレームや損害が発生いたしましても、日本オラクル株式会社と開発元である Oracle Corporation(米
国オラクル)およびその関連会社は一切責任を負いかねます。当プログラムを米国国防総省の米国政府
機関に提供する際には、『Restricted Rights』と共に提供してください。この場合次の Notice が適用され
ます。
Restricted Rights Notice
Programs delivered subject to the DOD FAR Supplement are "commercial computer software" and use,
duplication, and disclosure of the Programs, including documentation, shall be subject to the licensing
restrictions set forth in the applicable Oracle license agreement. Otherwise, Programs delivered subject to
the Federal Acquisition Regulations are "restricted computer software" and use, duplication, and
disclosure of the Programs shall be subject to the restrictions in FAR 52.227-19, Commercial Computer
Software - Restricted Rights (June, 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA
94065.
このドキュメントに記載されているその他の会社名および製品名は、あくまでその製品および会社を識
別する目的にのみ使用されており、それぞれの所有者の商標または登録商標です。
目次
はじめに ...........................................................................................................................................................................
xi
対象読者 .................................................................................................................................................................... xii
このマニュアルの構成 ............................................................................................................................................ xii
関連文書 ................................................................................................................................................................... xiii
表記規則 ................................................................................................................................................................... xvi
マニュアルの利用について .................................................................................................................................... xx
1 Web 環境におけるセキュリティの基礎
インターネットの将来性と問題点 ....................................................................................................................... 1-2
セキュリティの問題についての概要 ........................................................................................................... 1-2
セキュリティ上の脆弱性 ............................................................................................................................... 1-6
プロセスの変化 .......................................................................................................................................
ユーザー数の拡大 ...................................................................................................................................
データの高い価値 ...................................................................................................................................
セキュリティの実現に必要なシステムの属性 ...........................................................................................
1-7
1-7
1-7
1-8
システムのホスティングとデータ交換 ............................................................................................... 1-8
セキュリティとその他のビジネス・ニーズ間でのトレードオフ ........................................................... 1-9
インターネット環境でのセキュリティの必要性 ............................................................................................. 1-10
機密保護 ......................................................................................................................................................... 1-10
認証 ................................................................................................................................................................. 1-11
パスワード関連の脅威 ......................................................................................................................... 1-11
認可 ................................................................................................................................................................. 1-12
データへの無許可のアクセス ............................................................................................................. 1-12
侵入 ......................................................................................................................................................... 1-13
否認防止 ......................................................................................................................................................... 1-13
i
ネットワークの攻撃 ..................................................................................................................................... 1-13
データの破損 .........................................................................................................................................
機密情報の損失または表示 .................................................................................................................
サービス拒否(DoS)...........................................................................................................................
障害の封入 .....................................................................................................................................................
1-13
1-14
1-14
1-15
複雑なユーザー管理要件 ............................................................................................................................. 1-15
多層システム .........................................................................................................................................
複数システムのセキュリティ管理のスケーリング .........................................................................
インターネット環境でのセキュリティに関する考慮事項 .............................................................................
公開鍵インフラストラクチャ(PKI)の使用に関する考慮事項 ..........................................................
1-16
1-16
1-17
1-17
認証に関する考慮事項 ................................................................................................................................. 1-19
パスワード .............................................................................................................................................
証明書と認証局 .....................................................................................................................................
Secure Sockets Layer(SSL)認証と X.509v3 デジタル証明書 .....................................................
セキュアな資格証明を LDAP 準拠のディレクトリに格納する ....................................................
シングル・サインオン .........................................................................................................................
認可に関する考慮事項 .................................................................................................................................
1-19
1-20
1-21
1-22
1-22
1-24
暗号化に関する考慮事項 ............................................................................................................................. 1-25
データ整合性に関する考慮事項 ................................................................................................................. 1-26
Web ブラウザのセキュリティ ........................................................................................................................... 1-27
データベース・アクセスのセキュリティ ......................................................................................................... 1-28
エンタープライズ・ユーザー・セキュリティ ......................................................................................... 1-28
認証とデジタル証明書 ................................................................................................................................. 1-29
中間層からデータベースへの接続 ............................................................................................................. 1-30
プロキシ認証 ................................................................................................................................................. 1-30
JAAS ....................................................................................................................................................................... 1-30
ファイアウォール ................................................................................................................................................. 1-31
まとめ ..................................................................................................................................................................... 1-32
2 Oracle9i Application Server セキュリティのアーキテクチャと機能
Oracle9iAS の概要 ................................................................................................................................................. 2-2
Oracle9iAS のセキュリティ・アーキテクチャ ................................................................................................. 2-2
Oracle9iAS のセキュリティ・アーキテクチャの要素 .............................................................................. 2-3
Oracle9i Application Server への公開鍵インフラストラクチャ(PKI)の実装 .................................. 2-5
Secure Sockets Layer(SSL)................................................................................................................. 2-5
Oracle Wallet ........................................................................................................................................... 2-5
ii
Oracle Wallet Manager ..........................................................................................................................
Oracle Internet Directory ......................................................................................................................
必要なセキュリティを実現するためにインストールするコンポーネント ...................................................
Oracle9iAS のデフォルトのユーザー・パスワード・ポリシー .....................................................................
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン .............................................
集中ユーザー・プロビジョニングとシングル・サインオン・モデルの概要 .......................................
2-5
2-5
2-6
2-7
2-8
2-9
集中ユーザー・プロビジョニングとシングル・サインオン・モデルの利点 ..................................... 2-10
Oracle Internet Directory の概要 ............................................................................................................... 2-10
Oracle Internet Directory におけるセキュリティの概要 ...............................................................
Oracle コンテキスト : ディレクトリの管理と委任モデル .............................................................
Oracle Internet Directory の実装方法 ...............................................................................................
Delegated Administration Service(DAS)......................................................................................
Oracle9iAS Single Sign-On の概要 ............................................................................................................
2-12
2-13
2-14
2-15
2-15
Oracle9iAS Single Sign-On のコンポーネント ................................................................................
Oracle9iAS Single Sign-On の機能の概要 ........................................................................................
Oracle9iAS での認可、認証および SSL ...........................................................................................................
Oracle HTTP Server のセキュリティ ........................................................................................................
2-16
2-17
2-23
2-23
Oracle HTTP Server セキュリティ・サービスの概要 ....................................................................
Oracle HTTP Server によるアクセス制御、ユーザー認証および認可 ........................................
Oracle HTTP Server での Secure Sockets Layer(SSL)と PKI ....................................................
Oracle HTTP Server を使用した Oracle データベースへのセキュアなアクセス ......................
Oracle Wallet Manager の概要 ...................................................................................................................
2-24
2-25
2-25
2-26
2-27
Oracle9iAS Portal のセキュリティの概要 ................................................................................................ 2-28
Oracle9iAS Portal の概要 ....................................................................................................................
ポータル・ユーザー .............................................................................................................................
ポータル・グループ .............................................................................................................................
ポータル認証 .........................................................................................................................................
ポータル認可 .........................................................................................................................................
アプリケーションの Oracle9iAS Portal との統合 ...........................................................................
Oracle9iAS Portal の HTTPS サポート .............................................................................................
Oracle9iAS Portal での監査 ................................................................................................................
JAAS のセキュリティ ..................................................................................................................................
2-28
2-29
2-29
2-30
2-30
2-30
2-31
2-31
2-32
JAAS の認証機能 ..................................................................................................................................
JAAS の認可機能 ..................................................................................................................................
JAAS の委任機能 ..................................................................................................................................
Oracle9iAS Web Cache のセキュリティ ...................................................................................................
2-32
2-33
2-34
2-34
次に行うこと ......................................................................................................................................................... 2-35
iii
3 Oracle9iAS Single Sign-On の設定
Oracle9iAS Single Sign-On の概要 ....................................................................................................................
Oracle9iAS Single Sign-On のセキュリティ機能の設定 ................................................................................
Single Sign-On サーバーの SSL 有効化 ............................................................................................................
デジタル証明書のための Oracle9iAS Single Sign-On の設定 .......................................................................
システム要件 ...................................................................................................................................................
3-2
3-3
3-4
3-5
3-5
タスクの設定 ................................................................................................................................................... 3-6
Oracle HTTP Server(SSL)...................................................................................................................
Single Sign-On DAD(mod_plsql).....................................................................................................
ユーザー名のマッピング・モジュール ...............................................................................................
Oracle Internet Directory ......................................................................................................................
Single Sign-On サーバー .......................................................................................................................
タイムアウトの有効化 .........................................................................................................................................
SSO のセッション・タイムアウトの設定 ................................................................................................
3-6
3-8
3-9
3-9
3-9
3-10
3-10
グローバル・ユーザーの非アクティブのタイムアウトの設定 ............................................................. 3-11
IP チェックの有効化 ............................................................................................................................................ 3-12
Oracle9iAS Single Sign-On サーバーの IP チェックの有効化 ............................................................... 3-12
mod_osso の IP チェックの有効化 ............................................................................................................ 3-13
パスワード・ポリシーの管理 ............................................................................................................................. 3-13
4 HTTP サーバーのセキュリティの設定
Oracle HTTP Server のセキュリティの概要 ..................................................................................................... 4-2
httpd.conf の構成パラメータの指定 ........................................................................................................... 4-3
ホストベースのアクセス制御の理解 ................................................................................................................... 4-3
仮想ホストのアクセス制御 ........................................................................................................................... 4-4
ホストベースのアクセス制御方式の概要 ................................................................................................... 4-4
IP アドレスによるアクセスの制御 ......................................................................................................
ドメイン名によるアクセスの制御 .......................................................................................................
ネットワークやネットマスクによるアクセスの制御 .......................................................................
環境変数によるアクセスの制御 ...........................................................................................................
ユーザー認証の概要 ...............................................................................................................................................
Basic 認証の使用と mod_auth による認可 ........................................................................................................
mod_auth で Basic 認証設定に使用するディレクティブ ........................................................................
4-5
4-6
4-6
4-7
4-8
4-9
4-9
ユーザー認可 ................................................................................................................................................. 4-10
ユーザーを認証する Secure Sockets Layer (SSL)の使用
)の使用 ......................................................................... 4-10
mod_ossl による HTTP 通信の保護 .......................................................................................................... 4-10
iv
SSL を設定するディレクティブのクラスの理解 ..................................................................................... 4-12
mod_ossl ディレクティブの使用 ............................................................................................................... 4-13
SSLWallet ...............................................................................................................................................
SSLWalletPassword .............................................................................................................................
SSLPassPhraseDialog ...........................................................................................................................
SSLCARevocationPath ........................................................................................................................
SSLCARevocationFile ..........................................................................................................................
SSLMutex ...............................................................................................................................................
SSLSessionCache ..................................................................................................................................
SSLSessionCacheTimeout ...................................................................................................................
SSLProtocol ...........................................................................................................................................
SSLCipherSuite .....................................................................................................................................
SSLVerifyClient ....................................................................................................................................
SSLLog ...................................................................................................................................................
SSLLogLevel ..........................................................................................................................................
SSLOptions ............................................................................................................................................
SSLRequireSSL ......................................................................................................................................
SSLRequire ............................................................................................................................................
Wallet パスワードを暗号化する iasobf ユーティリティの使用 ..................................................................
4-13
4-14
4-14
4-15
4-15
4-16
4-17
4-17
4-18
4-19
4-22
4-22
4-23
4-24
4-25
4-26
4-29
5 Oracle Wallet Manager の使用方法
公開鍵インフラストラクチャ(PKI)について
)について ................................................................................................
公開鍵インフラストラクチャ(
Wallet のパスワード管理 ......................................................................................................................
強度の高い Wallet 暗号化 .....................................................................................................................
Microsoft Windows レジストリ ...........................................................................................................
Oracle Wallet の機能 ..............................................................................................................................
下位互換性 ...............................................................................................................................................
PKCS #12 のサポート ............................................................................................................................................
サード・パーティ Wallet のインポート .....................................................................................................
5-2
5-3
5-3
5-3
5-4
5-4
5-5
5-5
Oracle Wallet のエクスポート ...................................................................................................................... 5-6
複数の証明書のサポート .......................................................................................................................................
LDAP ディレクトリのサポート ..........................................................................................................................
Wallet の管理 ........................................................................................................................................................
Oracle Wallet Manager の起動 ...................................................................................................................
5-7
5-9
5-10
5-10
Wallet の新規作成 ........................................................................................................................................ 5-11
既存の Wallet を開く ................................................................................................................................... 5-12
Wallet を閉じる ............................................................................................................................................ 5-12
v
変更の保存 ..................................................................................................................................................... 5-12
開いている Wallet を新しい場所に保存 ................................................................................................... 5-13
システムのデフォルトへの保存 ................................................................................................................. 5-13
Wallet の削除 ................................................................................................................................................ 5-13
パスワードの変更 ......................................................................................................................................... 5-14
自動ログインの使用方法 ............................................................................................................................. 5-14
自動ログインの有効化 .........................................................................................................................
自動ログインの無効化 .........................................................................................................................
証明書の管理 .........................................................................................................................................................
ユーザー証明書の管理 .................................................................................................................................
5-14
5-15
5-15
5-15
証明書要求の追加 .................................................................................................................................
Wallet へのユーザー証明書のインポート ........................................................................................
Wallet からのユーザー証明書の削除 ................................................................................................
証明書要求の削除 .................................................................................................................................
ユーザー証明書のエクスポート .........................................................................................................
ユーザー証明書要求のエクスポート .................................................................................................
信頼できる証明書の管理 .............................................................................................................................
5-16
5-17
5-18
5-18
5-18
5-18
5-19
信頼できる証明書のインポート .........................................................................................................
信頼できる証明書の削除 .....................................................................................................................
信頼できる証明書のエクスポート .....................................................................................................
すべての信頼できる証明書のエクスポート .....................................................................................
Wallet のエクスポート ........................................................................................................................
5-19
5-20
5-21
5-21
5-21
6 Oracle9iAS Portal によるセキュリティの設定
Portal セキュリティ・モデル ............................................................................................................................... 6-2
ユーザー認証および権限モデル ................................................................................................................... 6-4
Portal セキュリティのアーキテクチャ ....................................................................................................... 6-6
Oracle9iAS Portal と Oracle9iAS Single Sign-On の関係 .................................................................
Oracle9iAS Portal と Oracle Internet Directory の関係 ....................................................................
Oracle9iAS Portal と Oracle Directory Integration Server の関係 ................................................
Oracle9iAS Portal と Delegated Administration Service の関係 ..................................................
ユーザーとグループの作成 .................................................................................................................................
「ユーザー」ポートレット ...........................................................................................................................
6-6
6-7
6-16
6-19
6-19
6-20
「Portal ユーザー・プロファイル」ポートレット ................................................................................... 6-21
「グループ」ポートレット ........................................................................................................................... 6-22
「Portal グループ・プロファイル」ポートレット ................................................................................... 6-23
vi
アクセス権限の付与 ............................................................................................................................................. 6-24
「アクセス」タブ ........................................................................................................................................... 6-24
Portal セキュリティの管理 ................................................................................................................................. 6-29
インストール時のセキュリティ設定 ......................................................................................................... 6-29
Oracle9iAS Portal のデフォルトのスキーマとアカウント ............................................................ 6-30
インストール後のセキュリティ・チェックリスト ................................................................................. 6-32
7
mod_plsql の設定 .................................................................................................................................
Oracle9iAS Portal の軽量ユーザーのパスワードの保護 ................................................................
不要なオブジェクトの削除 .................................................................................................................
プロバイダ・コンポーネントへのパブリック・アクセスの取消 .................................................
管理ページへのアクセス制御 .............................................................................................................
Oracle9iAS Portal 監視パッケージの保護 ........................................................................................
SSL と「ログイン」ポートレットの使用に関する考慮事項 .........................................................
Oracle Internet Directory 接続のための LDAP over SSL の使用に関する考慮事項 ..................
アプリケーション・エンティティ・パスワードの変更 .................................................................
「グローバル設定」ページの LDAP 設定の変更 ......................................................................................
6-33
6-33
6-34
6-34
6-34
6-35
6-36
6-37
6-39
6-39
Oracle Internet Directory パラメータのキャッシュ .......................................................................
Oracle Directory Integration Server の同期 .....................................................................................
グループ作成ベース DN .....................................................................................................................
グループ検索ベース識別名(DN)....................................................................................................
6-40
6-40
6-40
6-41
JAAS サポートの構成
構成が必要な JAAS コンポーネント .................................................................................................................. 7-2
サンプル・ファイル ....................................................................................................................................... 7-2
J2SE および J2EE 環境に共通の構成タスクの実行 ........................................................................................... 7-3
タスク 1: コンポーネントを正しくインストールしたかの確認 .............................................................. 7-3
タスク 2: JAZN スキーマとデフォルト・エントリを Oracle Internet Directory に
ロード ( オプション ) ..................................................................................................................................... 7-5
タスク 3: JAAS をポリシー・プロバイダとして指定(オプション)..................................................... 7-6
タスク 4: Java2 ポリシー・ファイルの構成(オプション)..................................................................... 7-7
タスク 5: LoginModule 構成ファイルの作成(オプション).................................................................. 7-8
タスク 6: 個々の Java 環境にあわせた構成タスクの実行 ........................................................................ 7-9
J2SE 環境にあわせた構成タスクの実行 ............................................................................................................. 7-9
タスク 1: JAAS プロパティ・ファイルの構成 ........................................................................................... 7-9
タスク 1a: J2SE 用の LDAP ベースのプロバイダ・タイプを構成 .................................................. 7-9
タスク 1b: J2SE 用の XML ベースのプロバイダ・タイプを構成 .................................................. 7-11
vii
J2EE 環境にあわせた構成タスクの実行 ........................................................................................................... 7-12
タスク 1: JAAS Provider の構成および JAZNUserManager の有効化 ................................................ 7-12
タスク 1a: J2EE 用の LDAP ベースのプロバイダ・タイプを構成(オプション)..................... 7-13
タスク 1b: J2EE 用の XML ベースのプロバイダ・タイプを構成 ................................................. 7-14
タスク 2: 認証方式およびフィルタ・モードの構成 ................................................................................ 7-16
タスク 3: SSL 環境用にアプリケーションを構成 .................................................................................... 7-19
タスク 4: OC4J への HTTP リクエストを委譲するよう mod_oc4j を構成 .......................................... 7-20
タスク 5: セキュリティ・ロール(run-as)の構成 ................................................................................ 7-21
RealmPrincipal クラス ........................................................................................................................ 7-22
<jazn> タグと <user-manager> プロパティの相違点 ................................................................................... 7-23
8 Oracle9iAS Web Cache のセキュリティの構成
デフォルトのセキュリティ設定の変更 ............................................................................................................... 8-2
HTTPS プロトコル・サポートの構成 ................................................................................................................ 8-5
タスク 1: Wallet の作成 ................................................................................................................................. 8-6
Wallet を使用可能にして Windows 上で開く ................................................................................... 8-6
タスク 2: HTTPS リスニング・ポートと Wallet の場所の構成 .............................................................. 8-9
タスク 3: HTTPS リクエストのみをサイトへ許可 .................................................................................. 8-10
9 Oracle9i Application Server によるセキュアなデータベース・アクセスの構成
Oracle9i Database Server にセキュアなアクセスを提供 ................................................................................ 9-2
Oracle9iAS によるプロキシ認証 .................................................................................................................. 9-2
多層アプリケーションの監査 ....................................................................................................................... 9-3
保護アプリケーション・ロール ................................................................................................................... 9-3
アプリケーションのクエリー・リライト : Virtual Private Database(VPD)..................................... 9-4
ストアド・データの選択的暗号化 ............................................................................................................... 9-4
中間層接続管理 ............................................................................................................................................... 9-5
データベース内での Java セキュリティの実装 ......................................................................................... 9-5
クラス実行 ...............................................................................................................................................
SecurityManager クラス .......................................................................................................................
mod_plsql によるデータベース・アプリケーション・アクセスの保護 ......................................................
mod_plsql の概要 ...........................................................................................................................................
9-5
9-5
9-6
9-6
mod_plsql によるユーザー認証 ................................................................................................................... 9-6
Basic(データベース制御による認証)................................................................................................ 9-7
Oracle9i Application Server の Basic 認証モード .............................................................................. 9-7
viii
認証解除 ................................................................................................................................................... 9-8
Global OWA、Custom OWA および Per Package(Custom 認証).............................................. 9-8
PUBLIC に付与される PL/SQL プロシージャの保護 .............................................................................. 9-9
JDBC による安全なデータベース接続の提供 ................................................................................................. 9-10
Java Database Connectivity(JDBC)の概要 .......................................................................................... 9-11
Oracle Advanced Security の Java 暗号化機能 ........................................................................................ 9-11
JDBC-Oracle Call Interface ドライバ ................................................................................................
Applet およびアプリケーション用 JDBC Thin ドライバ ..............................................................
JDBC サーバー側 Thin ドライバ ........................................................................................................
Oracle Java SSL .....................................................................................................................................
事実上すべてのクライアントへの安全な接続 .................................................................................
9-12
9-12
9-13
9-13
9-13
用語集
索引
ix
x
はじめに
このマニュアルでは、Web セキュリティの基本概念および Oracle9i Application Server のセ
キュリティ・フレームワークとその使用方法について説明します。最初に、パブリックなイ
ンターネット環境で、プライベートな業務システムを運用する際に生じるセキュリティ面で
の問題と要件の概要について説明します。次に、Oracle9i Application Server のセキュリティ
機能について紹介し、セキュアな中間層を設定するための構成について説明します。
「はじめに」の項目は次のとおりです。
■
対象読者
■
このマニュアルの構成
■
関連文書
■
表記規則
■
マニュアルの利用について
xi
対象読者
『Oracle9i Application Server セキュリティ・ガイド』は、セキュリティ管理者、アプリケー
ション開発者、データベース管理者、システム・オペレータ、および次の作業を担当するそ
の他の Oracle ユーザーを対象としています。
■
中間層システムのセキュリティの設定
■
アプリケーションのセキュリティ要件の分析
■
セキュリティ・テクノロジの実装
■
中間層システムのセキュリティの管理
このマニュアルの読者は、Web サーバーの管理およびインターネットやネットワーキングに
関する概念についての一般的な知識があることを前提としています。
このマニュアルの構成
このマニュアルは、次の章から構成されています。
第 1 章「Web
環境におけるセキュリティの基礎」
章「
この章では、インターネット環境における通信およびデータ・セキュリティの基本概念につ
いて説明し、データやシステムを保護する必要があるセキュリティ上の脅威について説明し
ます。
第 2 章「Oracle9i
Application Server セキュリティのアーキテクチャと機能」
章「
この章では、Oracle9i Application Server のセキュリティ・フレームワーク(アーキテク
チャなど)について説明します。また、各要素とそれらの要素がどのようにして連携するの
かについても説明します。
第 3 章「Oracle9iAS
Single Sign-On の設定」
章「
この章では、Oracle9iAS Single Sign-On のセキュリティ機能について説明し、中間層にシン
グル・サインオンを設定するための基本的な構成について説明します。また、Oracle9i
Application Server の他の要素で、Oracle SSO テクノロジを利用できるようにする方法につ
いても説明します。
第 4 章「HTTP
サーバーのセキュリティの設定」
章「
この章では、Oracle HTTP Server のセキュリティ機能について説明し、セキュアな HTTP
サーバーを設定するための基本的な構成について説明します。Basic 認証用の設定方法や
Secure Sockets Layer(SSL)の使用方法などについて説明します。
xii
第 5 章「Oracle
Wallet Manager の使用方法」
章「
この章では、Oracle Wallet でのデジタル証明書の要求、格納、管理を行うためのソフトウェ
ア・プログラムである Oracle Wallet Manager の使用方法について説明します。
第 6 章「Oracle9iAS
Portal によるセキュリティの設定」
章「
この章では、Oracle9iAS Portal のセキュリティ機能について説明し、セキュアな企業ポータ
ルを設定するための基本的な構成について説明します。
第 7 章「JAAS
サポートの構成」
章「
この章では、Java 2 Standard Edition(J2SE)環境用と Java 2 Enterprise Edition(J2EE)環
境用の Java Authentication and Authorization Services(JAAS)の構成方法について説明し
ます。
第 8 章「Oracle9iAS
Web Cache のセキュリティの 構成」
章「
この章では、Oracle9iAS Web Cache のセキュリティ機能について説明し、基本的なセキュ
リティ設定について説明します。
第 9 章「Oracle9i
Application Server によるセキュアなデータベース・アクセスの構成」
章「
この章では、Oracle9i Application Server から Oracle データベースへ安全にアクセスできる
よう設定する方法について紹介します。
用語集
用語集には、Web セキュリティと Oracle 環境に関連する用語についての解説があります。
関連文書
詳細は、次に示す Oracle 製品の関連文書を参照してください。
セキュリティについての必要な情報を見つけることができるように、ドキュメントの中には
説明が追加されているものもあります。
■
『Oracle9i Application Server Quick Tour』
アプリケーション・サーバーの概要について、図や画面例などを使って簡単に説明して
います。
■
『Oracle9i Application Server 概要』
アプリケーション・サーバーの各機能の概要について説明しています。
■
『Oracle Internet Directory 管理者ガイド』
Oracle Internet Directory について詳しく説明しています。Delegated Administration
Service や Directory Integration Service の内容およびそれらの使用方法などについて説
明しています。
xiii
■
『Oracle Internet Directory アプリケーション開発者ガイド』
C API や PL/SQL API を使用して、アプリケーションから Oracle Internet Directory へ
アクセスできるようにする方法について詳しく説明しています。
■
『Oracle9iAS Single Sign-On 管理者ガイド』
Oracle9i Application Server にシングル・サインオンできるようにする方法について詳
しく説明しています。
■
『Oracle9iAS Single Sign-On アプリケーション開発者ガイド』
Oracle9iAS Single Sign-On をアプリケーションで使用できるようにする方法について詳
しく説明しています。
■
『Oracle HTTP Server 管理ガイド』
■
『Oracle9iAS Portal 構成ガイド』
■
『Oracle9iAS Containers for J2EE サービス・ガイド』
Oracle9i Application Server がサポートするすべての J2EE サービス(JAAS など)につ
いて詳しく説明しています。
■
『Oracle9iAS Containers for J2EE ユーザーズ・ガイド』
■
『Oracle9iAS Web Cache 管理および配置ガイド』
■
『Oracle9i Application Server mod_plsql ユーザーズ・ガイド』
Oracle HTTP Server のプラグイン・モジュールである mod_plsql を設定して使用する方
法について詳しく説明しています。このモジュールによって、中間層と Oracle データ
ベース間での通信が可能になります。
Oracle9i Application Server プラットフォーム別ドキュメントの中には、次のドキュメント
プラットフォーム別ドキュメント
があります。
■
『Oracle9i Application Server インストレーション・ガイド』
必要なセキュリティ機能を実現するために、インストールする必要のあるものについて
詳しく説明しています。
■
『Oracle9i Application Server リリース・ノート』
■
『Oracle9i Application Server Oracle9i Application Server 1.x からの移行』
旧バージョンの Oracle9i Application Server から移行する場合に、実行する必要のある
作業(デジタル証明書の移行など)について詳しく説明しています。
■
xiv
『Oracle9i Application Server パフォーマンス・ガイド』
Oracle データベースのドキュメントの中には、次のドキュメントがあります。
データベースのドキュメント
■
『Oracle Advanced Security 管理者ガイド』
Oracle データベース・オプションの Oracle Advanced Security を設定して使用する方法
について詳しく説明しています。このオプションによって、Oracle データベースのクラ
イアントやサーバーに、暗号化、整合性の保護、高度な認証などの機能を付与すること
ができます。
■
『Oracle9i データベース管理者ガイド』
Oracle9i Database Server の機能であるプロキシ認証について説明しています。この機能
によって、Oracle9i Application Server はデータベースとの間に認証されたセッション
を確立します。
■
『Oracle9i アプリケーション開発者ガイド - 基礎編』
Oracle9i Application Server でデータベースのプロキシ認証を使用できるようにする方
法について詳しく説明しています。
リリース・ノート、インストレーション・マニュアル、ホワイト・ペーパーまたはその他の
関連文書は、OTN-J(Oracle Technology Network Japan)の Web サイトから無償でダウン
ロードできます。OTN-J を使用するには、オンラインでの登録が必要です。次の URL で登
録できます。
http://otn.oracle.co.jp/membership
OTN-J のユーザー名とパスワードをすでに取得している場合は、次の OTN-J Web サイトの
文書セクションに直接接続できます。
http://otn.oracle.co.jp/document
xv
表記規則
この項では、このマニュアルの本文およびコード例に使用されている表記規則について説明
します。ここで説明する内容は、次のとおりです。
■
本文の表記規則
■
コード例の表記規則
■
Windows オペレーティング・システムの表記規則
本文の表記規則
本文中には、特別な用語が一目でわかるように、様々な表記規則が使用されています。次の
表に、本文の表記規則と使用例を示します。
表記規則
意味
太字
太字は、テキスト内で定義されている用語、 この句を指定することにより、索引構成表
索引構成表が作成
索引構成表
用語集に記載されている用語、またはその されます。
両方に該当する用語を示します。
固定幅フォントの
大文字
固定幅フォントの大文字は、システムに
よって指定される要素を示します。この要素
には、パラメータ、権限、データ型、
Recovery Manager キーワード、SQL キー
ワード、SQL*Plus またはユーティリティ・
コマンド、パッケージとメソッド、システ
ム指定の列名、データベース・オブジェク
トおよび構造体、ユーザー名およびロール
が含まれます。
固定幅フォントの
小文字
固定幅フォントの小文字は、実行可能ファ
イル、ファイル名、ディレクトリ名および
ユーザー指定要素のサンプルを示します。こ
れらの要素には、コンピュータ名、データ
ベース名、ネット・サービス名および接続
識別子、さらにユーザー指定のデータベー
ス・オブジェクトおよび構造体、列名、
パッケージおよびクラス、ユーザー名およ
びロール、プログラム・ユニットおよびパ
ラメータ値が含まれます。
例
この句は、NUMBER 列にのみ指定可能です。
データベースをバックアップするには、BACKUP
コマンドを使用します。
USER_TABLES データのディクショナリ・ビュー
の TABLE_NAME 列を問い合せます。
DBMS_STATS. GENERATE_STATS プロシージャを
使用します。
sqlplus と入力し、SQL*Plus を開きます。
パスワードは、orapwd ファイルに指定されてい
ます。
データファイルおよび制御ファイルを
/disk1/oracle/dbs ディレクトリにバックアッ
プします。
department_id、department_name および
location_id 列は、hr.departments 表内に存
在します。
注意 : プログラム要素の中には、大文字と
小文字が混在して使用されているものもあ QUERY_REWRITE_ENABLED 初期化パラメータを
ります。これらの要素については、表示され true に設定します。
ているとおりに入力してください。
oe ユーザーで接続します。
JRepUtil クラスによってこれらのメソッドが実
装されます。
xvi
表記規則
意味
例
固定幅フォントの
小文字の
イタリック
固定幅フォントの小文字のイタリックは、
プレースホルダまたは変数を示します。
parallel_clause を指定できます。
Uold_release.SQL を実行します。old_
release は、アップグレード前にインストール済
のリリースを示します。
コード例の表記規則
コード例では、SQL、PL/SQL、SQL*Plus またはその他のコマンドライン構文が示されま
す。この中では、次の例のように、固定幅フォントが使用され、通常の本文とは区別して表
示されます。
SELECT username FROM dba_users WHERE username = 'MIGRATE';
次の表に、コード例に使用される表記規則と使用例を示します。
表記規則
意味
[]
大カッコはオプションの項目を示します。大 DECIMAL (digits [ , precision ])
カッコ自体は入力しないでください。
{}
中カッコは、カッコ内の項目のうちの 1 つ
を指定する必要があることを示します。中
カッコ自体は入力しないでください。
|
縦線は、大カッコまたは中カッコ内の選択 {ENABLE | DISABLE}
肢を示します。これらのオプションのうちの [COMPRESS | NOCOMPRESS]
1 つを入力します。縦線自体は入力しないで
ください。
...
水平の省略記号は、次のどちらかを示しま
す。
■
■
.
.
例
{ENABLE | DISABLE}
CREATE TABLE ... AS subquery;
コード中で、例に直接関係のない部分
が省略されていること。
SELECT col1, col2, ... , coln FROM
コードの一部が繰返し可能であること。 employees;
縦方向の省略記号は、コード中で、例に直
接関係のない行が何行か省略されているこ
とを示します。
.
その他の表記
大カッコ、中カッコ、縦線および省略記号
以外の記号は、表示されているとおりに入
力してください。
acctbal NUMBER(11,2);
acct
CONSTANT NUMBER(4) := 3;
xvii
表記規則
意味
例
イタリック体
イタリック体のテキストは、特定の値を指
定する必要のあるプレースホルダまたは変
数を示します。
CONNECT SYSTEM/system_password
大文字で表記されている部分は、システム
によって指定される要素を示します。ユー
ザーが定義する用語と区別するために、こ
れらの用語は大文字で表記されます。用語が
大カッコで囲まれている場合を除いて、表
示されている順序およびスペルのとおりに
入力します。ただし、これらの用語には大文
字・小文字の区別がないため、小文字で入
力しても構いません。
SELECT last_name, employee_id FROM
employees;
大文字
小文字
xviii
DB_NAME = database_name
SELECT * FROM USER_TABLES;
DROP TABLE hr.employees;
小文字で表記されている部分は、ユーザー SELECT last_name, employee_id FROM
が指定するプログラム要素を示します。たと employees;
えば、表、列またはファイルの名前を示し sqlplus hr/hr
ます。
CREATE USER mjones IDENTIFIED BY
注意 : プログラム要素の中には、大文字と
ty3MU9;
小文字が混在して使用されているものもあ
ります。これらの要素については、表示され
ているとおりに入力してください。
Windows オペレーティング・システムの表記規則
次の表に、Windows オペレーティング・システムに関する表記規則と使用例を示します。
表記規則
「スタート」>
ファイル名および
ディレクトリ名
C:¥>
HOME_NAME
意味
例
プログラムの起動方法を示します。
Database Configuration Assistant を起動するに
は、「スタート」>「プログラム」>「Oracle HOME_NAME」>「Configuration and Migration
Tools」>「Database Configuration Assistant」を
選択します。
ファイル名およびディレクトリ名では、大 c:¥winnt"¥"system32 と
文字と小文字を区別しません。また、特殊文 C:¥WINNT¥SYSTEM32 は、同じように解釈されま
字のうち、左山カッコ(<)
、右山カッコ
す。
(>)、コロン(:)、二重引用符(")、スラッ
シュ(/)、パイプ(|)およびダッシュ(-)
は使用できません。円記号(¥)は、引用符
に囲まれている場合でも、要素の区切り文
字として扱われます。ファイル名が¥¥で始ま
る場合、Windows では汎用命名規則に従っ
た名前であると見なされます。
現在のハード・ディスク・ドライブを表す C:¥oracle¥oradata>
Windows コマンド・プロンプトを示しま
す。コマンド・プロンプトのエスケープ文字
はカレット(^)です。表示されるプロンプ
トは、作業中のサブディレクトリを表しま
す。このマニュアルでは、コマンド・プロン
プトと呼びます。
Windows コマンド・プロンプトで二重引用
符(")を使用するときには、円記号(¥)
をエスケープ文字として付けなければなら
ない場合があります。カッコおよび一重引用
符(')の場合には、エスケープ文字を付け
る必要はありません。エスケープ文字および
特殊文字の詳細は、ご使用の Windows オ
ペレーティング・システムのドキュメント
を参照してください。
C:¥>exp scott/tiger TABLES=emp
QUERY=¥"WHERE job='SALESMAN' and
sal<1600¥"
Oracle ホーム名を示します。ホーム名は、
最大 16 文字の英数字で指定できます。ホー
ム名に使用できる特殊文字はアンダースコ
アのみです。
C:¥> net start OracleHOME_
NAMETNSListener
C:¥>imp SYSTEM/password
FROMUSER=scott TABLES=(emp, dept)
xix
表記規則
意味
例
ORACLE_HOME
および
ORACLE_BASE
Oracle8 リリース 8.0 以下の製品では、
Oracle のコンポーネントをインストールす
ると、最上位の ORACLE_HOME ディレクト
リの下に、すべてのサブディレクトリが配
置されます。このディレクトリには、デ
フォルトで次のいずれかの名前が使用され
ます。
%ORACLE_HOME%¥rdbms¥admin ディレクトリに
移動します。
■
C:¥orant(Windows NT の場合)
■
C:¥orawin98(Windows 98 の場合)
このリリースは、Optimal Flexible
Architecture(OFA)のガイドラインに準拠
しています。すべてのサブディレクトリが
最上位の ORACLE_HOME ディレクトリの下
にあるとは限りません。ORACLE_BASE と
呼ばれる最上位ディレクトリがあり、デ
フォルトでは C:¥oracle になります。
Oracle ソフトウェアが 1 つもインストール
されていないコンピュータに Oracle9i リ
リース 1(9.0.1)をインストールすると、初
めて作成される Oracle ホーム・ディレクト
リのデフォルト設定は C:¥oracle¥ora90
になります。Oracle ホーム・ディレクトリ
は、ORACLE_BASE の直下にあります。
このマニュアルの中で例として使用されて
いるディレクトリ・パスは、OFA の規則に
準拠しています。
マニュアルの利用について
マニュアル内にある外部 Web サイトへのリンクの利用について このマニュアルには、オ
ラクル社が所有または管理していない他の企業や組織の Web サイトへのリンクが記載され
ている場合があります。オラクル社では、このような Web サイトの利用に関する評価も代弁
も行いません。
xx
1
Web 環境におけるセキュリティの基礎
この章では、Web 環境におけるセキュリティ要件の概要について説明します。セキュリティ
の担当者にとっては、ここで取り上げる問題とその解決策は馴染みのあるものと思います。
この章では、経験の少ない読者が直面する問題や現時点での対応方法を理解するためのフ
レームワークについて説明します。
この章の項目は次のとおりです。
■
インターネットの将来性と問題点
■
インターネット環境でのセキュリティの必要性
■
インターネット環境でのセキュリティに関する考慮事項
■
Web ブラウザのセキュリティ
■
データベース・アクセスのセキュリティ
■
JAAS
■
ファイアウォール
■
まとめ
Web 環境におけるセキュリティの基礎
1-1
インターネットの将来性と問題点
インターネットの将来性と問題点
この項では、インターネットのセキュリティに関する問題の概要について説明します。
■
セキュリティの問題についての概要
■
セキュリティ上の脆弱性
■
セキュリティの実現に必要なシステムの属性
■
セキュリティとその他のビジネス・ニーズ間でのトレードオフ
セキュリティの問題についての概要
コンピュータ・システムのセキュリティとは、無許可での、偶発的な、悪意のある、または
その他の不正なアクセス、使用、破壊または表示から、データ、プロセスおよび送信を保護
することをいいます。この章では、そのようなあらゆる好ましくない影響を「不適当」とい
います。
インターネットに接続されている今日の世界では、セキュリティへの関心は単なるソリュー
ションを超えて高まっています。それは、新たなインターネット・ユーザーやインターネッ
ト・ビジネスでのつながりにおいて、そのような不適当な事態の起こる可能性の高さと複雑
さが何倍にも増しているからです。
データベース、アプリケーション、オペレーティング・システムおよび通信手段がいっそう
複雑化して入り混じったものになる一方で、同様にして攻撃者の数も増加し、その手口の巧
妙さも複雑化してきました。攻撃者は、未成年者、競争相手、外国の政府、犯罪者であった
りすることがあります。不適当な行動の源がどのようなものであれ、そのようなもくろみが
失敗することが理想的な状況です。セキュリティ・システムやセキュリティ手段を設計する
際の目標は、利用できるリソースを可能な限り最大限に活用して、次の目的を達成すること
にあります。
■
■
■
システムへの不適当なアクセスを拒否し、正当性を証明できない者がアクセスを求めて
もユーザーとして振る舞えないようにする。
システムへの不適当なアクセスが行われた場合に、データベースやシステム・リソース
への不適当なアクセスを拒否し、正当なユーザーであってもアクセス許可のあるリソー
スについてのみアクセスできるようにする。
データベースへの不適当なアクセスが行われた場合でも、重要なデータまたは機密デー
タの変更は特定のユーザー、またはそのような機密データに対する特定の権限を持つ
ユーザーしか行うことができないようにする。あるいは、そのデータベースにはない追
加情報や、アクセス権を付与する承認者からは推測できない追加情報、つまりオリジナ
ルのパスワードによってのみ行うことができるようにする。
1-2 Oracle9i Application Server セキュリティ・ガイド
インターネットの将来性と問題点
■
データへの不適当なアクセスが行われた場合に、次の保護がアクティブになるようにす
る。
■
■
■
■
■
特別な情報がないとデータを使用できない。
データの操作は、データベース内のルールや関係によって統制されているその他の
データへのリンクによる制約を受ける。
不適当なデータの通信は困難であるか、不可能である。
不適当なデータの通信は信用されることも、使用されることもなく、その通信に依
存することもない。
システム・リソースへの不適当なアクセスが行われた場合に備えて、所有権のないファ
イルの削除、制限のある回線での通信、ファイアウォール型バリアの回避など、不適当
な使用を制限するための制約を設ける。
これらの目的は、不適当なアクセスや使用を防御するレイヤーを表します。そして、時間、
資金、スタッフおよび " ユーザーの使いやすさ " の制約の中で、各レイヤーをできるだけ頑
強で壊れにくいものにすることを意味しています。しかし、このレイヤーによる防御では、
そのレベルへのアクセスが有効であっても偶然または故意に不適当な操作を行う可能性のあ
るユーザーによる不適当な動作に対する防御を各レイヤーごとに備える必要があります。
この章では、E-Business やインターネットで相互にやり取りする上でよく見られるセキュリ
ティ上の様々な脆弱点に対応するための現時点における概念や方法について、表 1-1、1-2 お
よび 1-3 に定義した用語を使用して説明します。これらの定義を読むと、セキュリティの専
門家たちのアプローチが理解しやすくなるとともに、このマニュアルで説明するセキュリ
ティを確保するための各手段の間の関係が明確になります。
表 1-1 侵入に関する用語
用語
意味
無許可(Unauthorized)
アクセスまたは動作で、予測されないかまたは明示的な許可のな
いもの、あるいはセキュリティを担当する権威者、幹部または管
理者の許可のないもの。
偶発的(Accidental)
アクセスまたは動作で、ユーザーがその発生または実際の結果を
予期しないもの。
悪意(Malicious)
アクセスまたは動作で、意識的にセキュリティ保護の裏をかく、
破壊する、または被害を与えるもの。システム、データまたは他
のユーザーのいずれかに対して危害を加えたり、規則、慣習また
は法により支払われることのない、または禁止されている利益を
得たりするための作為を伴うことがある。
不適当(Inappropriate)
無許可での、偶発的な、悪意のある、またはその他の動作で、法
律、慣習または管理上の選択による権利のない情報や権限を取得
しようとする目的またはその影響を伴うもの。
Web 環境におけるセキュリティの基礎
1-3
インターネットの将来性と問題点
表 1-2 保護に関する用語
用語
意味
認証(Authentication)
エンティティが本人(本物)であることを確認するプロセスまた
はその結果をいい、通常、自分自身のこと、自分しか知らないこ
と、または自分の持っているものをもとにして確認する。たとえ
ば、自分が投票者であることを証明する、社会保障番号を知らせ
る、または運転免許証を所持していることによって本人であるこ
とが確認される。
認可(Authorization)
エンティティがアクセスできるオブジェクトや実行できるアク
ション(表示、追加、変更、削除など)を設定するプロセスまた
はその結果。たとえば、社内記録のプロファイルの参照を許可し
て変更は許可しないよう設定したり、タイトルの変更を許可して
給与情報の変更は許可しないよう設定することができる。
アカウンタビリティ
(Accountability)
動作とその動作を実行した人またはエンティティとの間における、
確認することができて、拒否することのできない関連性。
証明書(Certificates)
信頼できる第三者が発行するデジタル認証記録で、ユーザーとマ
シンを識別するためのもの。
電子署名
(Electronic Signature)
デジタル署名ともいう。メッセージを暗号化して圧縮したもの。
送信する電子メールや電子ドキュメントなどに署名する人以外、
一意のデジタル署名を作成することはできないので、署名者が本
人であることを確実に証明できる。
暗号化(Encryption)
プレーン・テキストを解読しにくい形の情報に変換すること。こ
の変換は、数学的な処理によって行う。特定の語句または数値が
暗号化の中心になっている場合、そのような語句または数値を
キーと呼ぶ。
復号化(Decryption)
解読しにくい形の情報を元のプレーン・テキストに変換すること。
復号化とは、暗号化したものを元に戻すことである。キーを使用
する場合、複合化するにはキーを知っていて使用できる必要があ
る。
整合性(Integrity)
データの元の形式、関連およびルール。これらの内容が権限また
は通知なしに変更された場合、整合性が失われた、または破損し
たという。
権限(Permissions)
データを表示したり、特定の動作を実行できるようにするエン
ティティの属性。権限がないと、動作が制限または禁止される場
合がある。
1-4 Oracle9i Application Server セキュリティ・ガイド
インターネットの将来性と問題点
表 1-2 保護に関する用語(続き)
保護に関する用語(続き)
用語
PKI、公開鍵または秘密鍵
特権(Privileges)
否認防止
(Non-repudiation)
意味
公開鍵インフラストラクチャ(PKI): インターネット・トランザ
クションの当事者が本人(本物)であることを確認および証明す
るための認証局(CA)発行のデジタル証明書を利用したシステ
ム。各当事者は、他者に対して使用できる公開鍵と自分だけが
知っている秘密鍵を持つ。これらのキーは、メッセージまたはト
ランザクションの暗号化と復号化に使用される。正当であること
がわかっている CA からの証明書を持つ CA も証明書を発行でき
るため、PKI のことを信頼階層ともいう。1-20 ページの「証明書
と認証局」を参照。
「権限」を参照。
送信したメッセージまたはトランザクションが送信者本人による
ものであることを否定できないようにすること。
表 1-3 脆弱性に関する用語
用語
再ルーティング
(Rerouting)
意味
メッセージまたはトランザクションが、その元のソースで意図し
た場所とは異なる別の宛先へ届くようにすること。元の処理を中
断したり、その結果を偽装してメッセージまたはトランザクショ
ンが元の宛先で作成されているかのように見せることを目的とす
る。
監視(Observing)
目的の通信の当事者以外のエンティティがメッセージ、トランザ
クションまたはパケットを表示すること。保護されたデータをデ
コードしたり、プライベートな通信を表示、公開または使用する
ことを目的とする。
否認(Repudiation)
送信したメッセージまたはトランザクションが送信者本人による
ものであることを否定すること。
破損(Corruption)
データベースまたは通信における内容または関連を無許可で(隠
れて)変更すること。
Web 環境におけるセキュリティの基礎
1-5
インターネットの将来性と問題点
セキュリティ上の脆弱性
概要で説明したように、インターネットを介した企業や個人による接続が急激に増大したた
め、貴重なデータや機密データが今までにないほど多くのリスクにさらされることになりま
した。図 1-1 に、ご使用のシステムのセキュリティ・プランに含める必要のある複雑なコン
ピューティング環境を示します。
図 1-1 システムのセキュリティ要求の範囲
データベース・
サーバー
ファイア
ウォール
ファイア
ウォール
インターネット
クライアント
アプリケーション・
サーバー
データベースとそのデータベースを収容しているサーバーを保護する必要があります。ま
た、内部のデータベース・ユーザーの権利を管理して保護し、E-Business の顧客やそのデー
タの機密性を保証する必要もあります。
インターネットを活用すると、顧客、サプライヤ、従業員およびパートナが必要なときに必
要なビジネス情報を得られるようにして、情報をより効果的に利用できるようになります。
E-Business に最も期待できる点は、少ないコストで、多くの人が、タイムリに情報にアクセ
スできることです。
1-6 Oracle9i Application Server セキュリティ・ガイド
インターネットの将来性と問題点
プロセスの変化
これらの利点は、信用と信頼のおける人的プロセスがインターネットを介した簡単なアクセ
スに置き換わることによる、セキュリティの脆弱性という課題を抱えています。" 仲介者を
削減する " ことを頻繁に行いすぎると、これまで仲介者によって保たれてきた情報の機密保
護を絶つことにもなってしまいます。電話、メールまたは Fax で受け取った注文書の入力な
ど、従業員が行う典型的な従来型のビジネス・プロセスのほとんどは、今ではインターネッ
ト接続を使って外部の人たちが直接行うようになりました。従業員は必ずしも信頼できると
は限りませんが、少なくとも身元が明らかで、機密データへのアクセスは職能によって制限
されています。物理的および手続き上の管理を容易に行うことができるとともに、企業方針
に反して社外に機密情報を渡すような従業員に対する懲罰や法的手段もあります。懲罰によ
る威嚇は、無許可のアクセスの防止に役立ちます。
ユーザー数の拡大
しかし、インターネットを利用できる世界では、見込客、顧客、サプライヤ、パートナ、元
従業員など、企業の外部にいる人たちもユーザーに含まれます。潜在的なユーザーのコミュ
ニティは、イントラネットを介してデータにアクセスする身元が判明しているユーザーの小
規模なグループから、インターネットを介してデータにアクセスする数千ものユーザーに拡
大しています。
すべてのこうしたユーザーは、ビジネス情報にオンラインで直接かつ迅速にアクセスできま
す。情報の中には正当な各ユーザーに関するものがわずかながらありますが、その他は正当
なアクセス中であっても保護する必要があります。また、それらの情報はすべて不正なアク
セスから保護する必要があります。
データの高い価値
さらに、アクセスできるデータは変化しています。オンライン・データは、いっそう多種多
様な、タイムリで、統合された、貴重なものになってきました。同時に、それはかつてない
ほど魅力的なものになっています。その理由として、インターネットに対応したビジネス手
法により効率的になった点がいくつか挙げられます。様々なコストを削減または排除できる
一方で、かつてない将来性を獲得し、より多くの顧客にサービスを提供することができま
す。また、サプライヤが一元化された注文情報に直接アクセスしてジャストインタイムで購
入できるよう操作を簡略化することにより在庫を削減することができます。オンラインでの
競争入札は、企業にとっては支払うコストの低減に、顧客にとっては価格の低減にそれぞれ
役立ちます。他の企業や顧客がインターネットを介してビジネス情報を直接送受信できるよ
うにすると、手作業でデータを処理するときに発生する、コストのかかるエラーや遅延を低
減または排除することができます。
これらのインターネット・プロセスは、電子データ交換(EDI)の仕組みに取って代わるこ
ともよくあります。このメカニズムは通常、企業独自のものであり、複数の企業の内部デー
タ・インフラストラクチャと統合するのは困難です。
Web 環境におけるセキュリティの基礎
1-7
インターネットの将来性と問題点
すでに細分化されている部門データベースをリンクまたは一元化すると、ユーザーはより使
いやすい情報を手に入れ、そこからより多くの恩恵を受けることができます。すでに物理的
に独立していて互換性のないデータベースやアプリケーションを " 情報のサイロ " または
" 情報の島 " といいますが、これらを統合すると、販売、製造、配送および財務に関する情
報をより迅速かつ便利に使用することができます。
しかし、正当なユーザーが正確なデータをタイムリかつ広範囲に利用できるようにするほ
ど、侵入者にとってもその価値が大きくなります。無許可のアクセスに対する見返りが大き
くなるにつれて、企業機密の侵害やデータの破損または誤った使用による企業イメージや効
率に対する潜在的ダメージも増大します。
セキュリティの実現に必要なシステムの属性
インターネットを介して業務システムにアクセスできるユーザー・コミュニティの多様性と
規模のために、誤った使用からの保護はいっそう複雑化しています。このレベルでのリスク
や複雑さに対処するには、業務システムやセキュリティ・システムを次のように設計する必
要があります。
■
スケーラブルであること
インターネットを使用しないシステムよりもはるかに多く
の、つまり数千ではなく数百万ものユーザーやトランザク
ションを処理できるようにします。
■
管理しやすいこと
各ユーザーへのアカウントやパスワードの割当て、そのユー
ザーが入力または編成するすべての関連情報の処理などの管
理タスクを、信頼性と安全性を確保しつつ自動化します。
■
相互運用できること
顧客、サプライヤ、パートナなどの固有なシステムと通信ま
たは統合し、アウトソーシングによって外部から提供される
リソースを獲得し、相互に協力することでサービスを提供で
きるようにします。
これらの要件は、Java、C、XML などの広く受け入れられている標準に基づいて設計する必
要があります。その場合に限り、E-Business システムに展開されたセキュリティ・メカニズ
ムで複数のシステム、Thin クライアント、複数層アーキテクチャ間でのフレキシビリティや
相互運用性を実現することができます。
システムのホスティングとデータ交換
セキュアなホスティングとデータ交換により、同じ関心を持つコミュニティ間でのセキュア
なデータ共有をサポートしながら、顧客またはユーザーによるデータ・アクセスを経済的か
つ安全に区分化することができます。Oracle9i Application Server では公開鍵インフラストラ
クチャとエンタープライズ・ユーザー・セキュリティをサポートしているので、これらの実
現が可能になります。
1-8 Oracle9i Application Server セキュリティ・ガイド
インターネットの将来性と問題点
ホスティングのセキュリティについての主な課題は、ホスティングされている個々のユー
ザー・コミュニティのデータをそれぞれ切り離しておくことです。ホスティングされている
コミュニティごとに個別のシステムを提供する場合、それらのユーザー・コミュニティごと
にインストール、構成、管理を個別に行わなければならないという欠点があります。この解
決策では、ホスティングする側の企業にとって経済性という面でのメリットはほとんど期待
できません。
Oracle 9i を使用すると、様々な要素によりホスティング・サービス・プロバイダのコストを
大幅に削減することができます。たとえば、これらの要素の中には、複数のユーザー・コ
ミュニティが単一のハードウェアやソフトウェアのインスタンスを共有できるようにするメ
カニズムがあります。これにより、異なるユーザー・コミュニティからデータを安全に分離
し、単一の管理インタフェースですべてのホスティングされているコミュニティにサービス
を提供することができます。
データ交換におけるデータの分離と共有に関する要件についても同様のことがいえます。た
とえば、あるサプライヤの入札価格が他のサプライヤから見えないようにし、その入札を要
求しているものがすべての入札価格を評価できるようにすることができます。さらに、いく
つかの組織からなるグループが選択的にデータを共有したり、共同で作業して共同入札など
を行うような " 同じ関心を持つコミュニティ " をサポートすることもできます。
セキュリティとその他のビジネス・ニーズ間でのトレードオフ
どのようなシステムでも 100 パーセント安全で平穏なアクセスをユーザーに提供することは
できません。つまり、アクセスする際のセキュリティと便利さはトレードオフの関係にあり
ます。コストとパフォーマンスにおいても同様のトレードオフが求められます。
データの保護に複数のセキュリティ・メカニズムを使用すると、その防御を破るためのコス
トが増加します。また、1 つのソリューションだけでは、システムの総合的なセキュリティ
を確保することはできません。たとえば、システムのセキュリティを突破する方法が 8 つあ
ることがわかった場合、セキュリティを改善するにはまず最初に、特定の方法で突破するの
に多額のコストがかかるようにします。次に、ハッカーにとってきわめて突破しにくい 128
ビット暗号化技術を組み込んだり、あるいは別の手段によって、その次の方法で突破するの
に多額のコストがかかるようにします。これらの障害に遭遇すると、犯人は侵入してデータ
を復号化するのではなく、CEO を買収しようとすることがあります。一般論として、セキュ
リティを突破するのにかかるコストが、保護されているデータの価値よりも大きくなった場
合は、システムのセキュリティ・レベルをそれ以上は上げないでおくことができます。
さらに、あらゆる可能な防御手段を使ってすべてのデータを保護しようとすると、パフォー
マンスの低下を招くことがあります。このため、保護の必要なデータを的確に見きわめる必
要があります。セキュリティ保護を特定のクラスのデータに適用し、他のクラスのデータに
は適用しないようにする場合があります。たとえば、地域別の販売データは保護する必要が
あり、販売促進用の写真は保護しなくてもよい場合があります。
Web 環境におけるセキュリティの基礎
1-9
インターネット環境でのセキュリティの必要性
インターネット環境でのセキュリティの必要性
この項では、Web 環境におけるシステムのセキュリティの必要性について次の項目別に説明
します。
■
機密保護
■
認証
■
認可
■
否認防止
■
ネットワークの攻撃
■
障害の封入
■
複雑なユーザー管理要件
機密保護
機密保護とは、重要なデータまたは機密データが暴露されたり、公開されたりしないように
することをいいます。データを安全な方法で格納および転送して、クレジット・カード番号
などの情報が盗まれないようにする必要があります。
インターネットを介したり、Wide Area Network(WAN)環境では、一般通信事業者とプ
ライベート・ネットワークの所有者のいずれもが、安全の確保されていない地上通信線を介
してネットワークの一部をルーティングすることがあります。マイクロウェーブや通信衛星
でリンクしたり、サーバーの数が多い場合には特に攻撃を受けやすくなります。このような
状況では、貴重なデータを興味のある当事者が閲覧できる状態にしておくことになります。
ただし、クレジット・カード番号のように機密であることがわかっているデータの通信は、
機械的に暗号化することにより、たとえ観察されたとしても、内容を読み取ったり使用した
りすることはできなくなっています。
建物内や学校の構内の Local Area Network(LAN)環境では、限られたエリア内のネット
ワークにアクセスできる部内者が対象外のデータを表示する可能性があります。ネットワー
ク Sniffer はネットワーク・トラフィックに入り込んでたやすく盗聴することができます。パ
ケット Sniffer はユーザー名とパスワードを見つけだして盗むように作られています。パス
ワードを頻繁に変更すれば、データが盗まれたとしても次の変更までの間しか使用できない
ので、不正に使用されるリスクを減らすことができます。
1-10 Oracle9i Application Server セキュリティ・ガイド
インターネット環境でのセキュリティの必要性
認証
認証とは、アクセスしようとしているユーザーが本人であることを確認するプロセスをいい
ます。認証方式の中には、名前やパスワードによってあらかじめユーザーを確認する必要が
あるものもあれば、改ざんできない証明書を使うことでそのような確認を行わない方式もあ
ります。無防備であるネットワーク上の様々なポイントにおいて、いくつもの方法で認証を
行うことにより、無許可のアクセスや操作から保護することができます。
認証方式がコンテキストごとに異なる場合でも考え方は同じです。データベースの認証では、
データベースはユーザーの識別と認証の両方を行います。外部認証では、オペレーティン
グ・システムまたはネットワーク・サービスが認証を行います。SSL(Secure Sockets Layer)
によってデータベース・ユーザーの識別情報が正当なものであることが確認されると、その
ユーザーはグローバル・ユーザーとなり、グローバル・ロールによるデータベースへのアク
セスが企業ディレクトリにより認証されます。ユーザーがプロキシ・サーバーを介した接続
を許可されている場合、この確認プロセスは多層認証および多層認可と呼ばれます。
いくつものポイントでパスワードを要求すると、無許可のアクセスや操作に対する階層化さ
れた防御として機能することができます。その場合、あるレベルで盗まれたパスワードを
使って下位レベルのサービスのロックを解除することはできなくなります。クレジット・
カード会社など、機密性の高い貴重なデータに保護対策を講じている企業の中には、社会保
険番号、母親の旧姓、郵便番号のようないくつもの識別項目を要求するものもあります。こ
れらの項目は通常、複数のパスワードとして使用されることはありませんが、パスワードが
指定されていないときに組み合せて認証方式として使用されることがあります。これらの項
目は個人特有のものであり、一般には入手したり推測しにくいという利点があります。その
ため、パスワードを決める際の基準として推奨されることがよくあります。その反面、パス
ワードは一般に選択できて変更しやすいことが必要なので、これらの項目には有利性が欠け
ています。
パスワード関連の脅威
ただし、ユーザーに複数のパスワードを要求すると特有の問題が生じます。大規模なシステ
ムでは、ユーザーは使用するアプリケーションやサービスごとにいくつものパスワードを覚
えておく必要があります。たとえば、開発者は、ワークステーション上にある開発アプリ
ケーション、メール送信用の PC、テストやバグのレポート、設定の管理に使ういくつもの
コンピュータやイントラネット・サイトにアクセスすることがあります。複数のパスワード
を管理することの問題に対する一般的なユーザーの対応からセキュリティの脆弱性が生じま
す。
■
ユーザーは、自分の名前、意味のある文字、または辞書に載っている単語のような容易
に推測できるパスワードを選ぶことがよくあります。これらのパスワードはすべて、よ
く使われているパスワードのリストや辞書に載っている "guest"、"welcome"、"admin"
などの単語を使ってトライするだけの攻撃で突破されてしまいます。
Web 環境におけるセキュリティの基礎
1-11
インターネット環境でのセキュリティの必要性
■
■
パスワードを安易に決めてしまうとそのパスワードを使って本人になりすまされる可能
性があるにもかかわらず、ユーザーはすべてのマシンまたは Web サイトで使用するパ
スワードを 1 つに統一しようとすることがよくあります。既知のパスワードから容易に
導き出せる、バリエーションが少ししかないパスワードを使用するユーザーにも同様の
リスクが伴います。
複雑なパスワードを使用するユーザーの場合は、攻撃者が容易に見つけ出せる場所にパ
スワードを書き留めたり、パスワードを忘れてしまったために管理やサポートのための
コストと手間のかかる作業が必要になることがあります。
これらの方策はすべて、パスワードの秘密性とサービスの可用性に関して妥協しています。
ユーザーの立場から見ると、複数のパスワードを覚えておくことは骨の折れることです。管
理者の立場から見ると、複数のユーザーのアカウントとパスワードを管理するのは複雑で時
間とコストがかかります。正当なユーザーからのパスワードの問合せは、ヘルプデスクで対
応する時間の中でかなりの比率を占めています。複雑さに対するユーザーの反応は、期待さ
れるセキュリティの利点と妥協することがよくあります。
認可
認可によって、アクセスが許可された後にシステム、アプリケーションまたはデータが誤っ
て使用されないように保護し、使用できるオブジェクトと操作を管理します。認可とは通常、
ユーザーがどのオブジェクトのレコードにアクセスし、メンテナンスできるようにするかを
決定するプロセスのことです。そのような認可の規定はアクセス制御といわれます。追加の
パスワードを要求したり、承認されたユーザーや許可された操作の一覧と照合してリソース
の要求が有効であるか確認することができます。たとえば、権限を一覧にしたディレクトリ
は認可の機能を果たします。一方、データベース・ソフトウェアはその情報を使って参照で
きるデータに制限を加えることでアクセス制御を行います。
データへの無許可のアクセス
たとえば、Oracle データベースが提供するデータやサービスはこのような認可操作によって
保護されています。Oracle9i Application Server を使用すると、バックエンド・データベース
が提供するサービスへのアクセスを調整することができます。各トランザクションについて、
Oracle9i Application Server はユーザーの識別情報をデータベースにレポートします。その時
点で、データベースでのシステム固有のアクセス制御に移行し、認可機能で設定されている
とおりに、要求者の識別情報に基づいてリソースの制限が加えられます。ユーザーのデータ
ベース権限によって、そのユーザーがアクセスできるデータ(テーブル、列および行)が決
まります。
1-12 Oracle9i Application Server セキュリティ・ガイド
インターネット環境でのセキュリティの必要性
侵入
認可は、Web サイトを破壊しようとするハッカーに対する防御でもあります。ハッカーたち
は、ユーザーを他のサイトにリダイレクトし、クライアントやサーバーをだましてそのサイ
トが他のサイトであると信じ込ませようとすることもあります。
Web サイトの破壊を防止するため、サイトのコンテンツを管理する管理機能へのアクセスを
制御することができます。盗まれた Web 接続に対する保護を支援するため、ユーザー認可と
暗号化を利用することができます。
否認防止
否認防止の目的は、信頼性を保持し、誤った使用を防止することにあります。否認防止とは、
実際にメッセージを送信するとき、送信者が後になって送信内容の責任を否認できないよう
にすることをいいます。
虚偽の申立てがあった場合に対抗するためには、送信者本人だけが使用でき、どの受信者で
も確認できるデジタル " 署名 " が必要になります。デジタル署名により、他の誰かが第三者
からのものであると偽ったメッセージを送信するという平行して発生する問題も解決できま
す。
そのような署名はどのようにして作成され、どのようにして保護されるのでしょうか。ある
人の秘密鍵(その人のデジタル署名機能)がハッカーに盗まれた場合、ハッカーがそのキー
を使って行った操作に対してはその人が責任を負うことになります。
関連項目 : 暗号化およびキーの配布とデジタル署名に使用される公開鍵
と秘密鍵については、1-17 ページの「インターネット環境でのセキュリ
ティに関する考慮事項」を参照してください。
ネットワークの攻撃
この項では、様々な種類のネットワーク攻撃について説明します。
■
データの破損
■
機密情報の損失または表示
■
サービス拒否(DoS)
データの破損
分散環境では、悪意のある第三者がデータを改ざんしてコンピュータ犯罪を犯す可能性があ
ります。メッセージがネットワーク間で移動するときに改ざんされて被害を受けることがあ
りますが、より深刻なのはサイト自体に行われる場合です。
データ変更攻撃では、ネットワーク上の未認可の当事者が送信中のデータを傍受して、デー
タが転送される前にそのデータの一部を変更します。たとえば、銀行取引額を $100 から
$10,000 に変更します。
Web 環境におけるセキュリティの基礎
1-13
インターネット環境でのセキュリティの必要性
再実行攻撃では、有効なデータのセット全体がネットワークに再度投入されます。たとえば、
当初 $100 の銀行振替処理が 1 回から、数千回にもわたって繰り返されることがあります。
通常の保護が行われている場合、メッセージに対するこの種類の損害はめったにありませ
ん。より危険な攻撃は、表示されるデータまたはもとになるデータベースのいずれかに対し
て、検出されない変更としてサイト自体に行われます。その後の訪問者またはユーザー、さ
らには責任を負うべき企業に損害を与える高い可能性があります。
認証と認可のレベルは、ハッカーが管理機能やデータベース機能にアクセスしてその機能を
使用し、サイトのデータを破損、偽装または誤用するのを防止する上で、最初に行うべき防
御です。
監査メカニズムによりデータの改ざんを確実に検出することができます。否認防止メカニズ
ムは加害者を特定するのに役立ちます。
機密情報の損失または表示
送信中のデータが変更または表示されたり、データベースのデータにアクセスして無許可で
データのコピーや共有が行われることがあってはなりません。未認可の当事者が、ネット
ワークまたは正当なユーザーの利用可能なオンラインで、送信中の機密情報を傍受、表示お
よび誤用できないようにする必要があります。
サービス拒否(DoS)
)
サービス拒否(
データと Web のセキュリティには、認可ユーザーが必要に応じて情報にアクセスできるこ
とも含まれます。システムのセキュリティ自体では可用性を確保することはできませんが、
可用性はセキュリティなしには成立しません。
たいていの DoS 攻撃では、きわめて大量のリクエストを繰り返し行ってサイトを圧倒する
ことにより、正当なユーザーがサービスを受けられないようにします。結果として、正当な
ユーザーのサービスが遅くなったり、リソースのオーバーロードで実際にサイトがシャット
ダウンすることがあります。攻撃されたサイトのセキュリティには、このような攻撃に対す
る手立てがほとんどありません。
その一方で、DoS 攻撃の標的でない他のシステムでのセキュリティ上の欠陥を利用して、多
くのそのような攻撃が開始されます。それは、DoS 攻撃を行うためのリクエストを繰り返し
生成するために後で使用する権利とリソースを確保することを意図しています。
サイト自体を保護するだけでなく、セキュリティを保護する適切な手段を使って、悪意のあ
る侵入者が他の場所に攻撃を仕掛けるために利用される恐れのある脆弱性が露呈しないよう
にします。各ユーザーが利用できるシステム・リソースを制限する個別のユーザー・プロ
ファイルが役立ちます。例としては、ユーザーに対する利用可能なディスク容量、同時セッ
ションの許容数、許容 CPU 処理時間および論理 I/O 量の制限があります。
1-14 Oracle9i Application Server セキュリティ・ガイド
インターネット環境でのセキュリティの必要性
障害の封入
セキュリティが侵害された場合、その結果生じる損害をどのようにして抑えますか。
インターネット上でのセキュリティのリスクを少なくする最良の方法は、複数のレイヤーか
らなるセキュリティ・メカニズムを提供することです。レイヤーごとの独立したセキュリ
ティ手段により、セキュリティの 1 つに障害が発生しても重要な情報のすべてが危険にさら
されるのを防止することができます。この概念は強力なデータ保護といわれます。強力な
データ保護により、アプリケーションのレイヤーの中だけでなく、クライアントからアプリ
ケーション・サーバーやデータ・サーバーにいたるまで、適格で包括的なセキュリティを確
保できます。
Oracle9i Application Server を使用すると、アクセス制御、データの暗号化、および包括的
な監査により障害を封入することができます。データベースへのアクセスは、設定された識
別情報のあるものだけがエントリの取得を許可されるよう意図されたコントロールにより制
限されます。それでもなお、未認可のエンティティがアクセスを取得したとしても、データ
が暗号化されているので不正なエンティティによるデータの表示または使用は困難(不可
能)です。さらに、Oracle9i Application Server の監査により、この侵害がすばやく明らかに
され、そのエンティティを追跡するための貴重な情報が提供されます。
他のレベルでの例として、Oracle9i Application Server でアプリケーションがルート権限を
使用できないようにしたり、クロスサイト・スクリプティングの使用を禁止することがあり
ます。つまり、ルート権限を使用している人でさえ通常のメッセージに Java スクリプトを挿
入してマシン構成全体を第三者に送信できないことになります。
複雑なユーザー管理要件
セキュリティ・メカニズムは、トランザクションの数やデータベースのサイズが非常に大き
くなったとしても効率よく簡単に管理できる必要があります。企業の吸収合併が行われた場
合、または単に Web サイトが予想を上回る成功を収めた場合でも、ユーザーの数が 1 か月
で 6,000 から 6,000,000 になることもありえます。企業のシステムは、自社のデータやトラン
ザクションの機密と統合を互いに妥協することなく、このような多数の同時ユーザーを処理
できる必要があります。不満を持っている顧客または見込み客は競争相手または法律家に頼
ることもあります。
大規模な環境では、ユーザーのアカウントやパスワードを管理する負荷のためにシステムが
エラーや攻撃に対して脆弱になることがあります。信頼できるセキュリティのためには、す
べての層にわたってユーザーが実際には誰であるのかを知る必要があります。
Oracle9i Application Server には、インターネット規模のアプリケーション開発をサポート
する数多くのセキュリティ機能があります。これらの機能には、プロキシ認証、インター
ネットや関連する公開鍵インフラストラクチャ(PKI)標準、ディレクトリベースの権限管
理のようなエンタープライズ・ユーザー・セキュリティ機能などがあります。
Web 環境におけるセキュリティの基礎
1-15
インターネット環境でのセキュリティの必要性
多層システム
ユーザー管理の問題は、多層システムでは特に複雑になります。ほとんどのパッケージ・ア
プリケーションの場合と同様に、典型的なセキュリティ・モデルは 1 つの大規模アプリケー
ション・ユーザーによるアクセス依存です。ユーザーはアプリケーションに接続し、アプリ
ケーション(またはアプリケーション・サーバー)は制限のない権限を使用して監査なしで
ログオンし、誰でも完全にアクセスできるようにします。このモデルでは、特にインター
ネットでデータがリスクにさらされます。Web サーバーまたはアプリケーション・サーバー
はファイアウォールによるセキュリティに依存します。ファイアウォールは通常、外部から
の継続的な攻撃を前提としていて、1 つの侵害が多数の問題を引き起こすことがあります。
複数システムのセキュリティ管理のスケーリング
数百のユーザーを処理できるセキュリティ・メカニズムは、大規模なユーザー・コミュニ
ティの処理には適さないことがあります。このため、セキュリティ管理はスケーラブルであ
ることが必要です。数十万ものユーザーを 1 つのシステムで十分に管理するのは困難です。
複数のそのようなシステムでセキュリティを管理する必要があるときは、複雑な部分を分割
してその問題を克服するためのいくつかの方法が必要です。共有、自動セルフサービスおよ
び委任のインテリジェントな組合せによってのみ管理することができます。
複数のアプリケーションのサブスクライバ用に個別のデータベースを作成してメンテナンス
することは、アプリケーション・サービス・プロバイダにとって費用効率のよいモデルでは
ありません。技術的には可能であっても、個別データベース・モデルはすぐに管理できなく
なります。この問題に対応するには、1 つだけインストールしたアプリケーションで複数の
企業をホスティングし、集中的に管理できるようにする必要があります。
ユーザーの識別情報と権限を 1 つの中央リポジトリで安全に管理できるようにすれば、他の
システムやアプリケーションはここを保護開始点として信頼することができます。下位レベ
ルでは、その他のシステムやアプリケーションの機能や内容に応じて、適切なセキュリティ
上の確認プロセスを追加する必要が生じる場合もあります。しかし、協調して動作するエン
ティティ間で負荷が分割され、その固有のサービスと密接に関連して的を絞ります。
管理、特にセキュリティに対するスケールの課題は、協調して動作する複数のアプリケー
ションやデータベースと集中管理の組合せによって達成することができます。業界標準に基
づいて、ディレクトリを使用した複数のレイヤーによるセキュリティを適用することによ
り、システムの管理コストを削減し、ビジネスの効率を向上させることができます。
1-16 Oracle9i Application Server セキュリティ・ガイド
インターネット環境でのセキュリティに関する考慮事項
インターネット環境でのセキュリティに関する考慮事項
この項では、多層ネットワーク環境を対象としたシステム・セキュリティに関して考慮すべ
きいくつかの重要な項目について説明します。
■
公開鍵インフラストラクチャ(PKI)の使用に関する考慮事項
■
認証に関する考慮事項
■
認可に関する考慮事項
■
暗号化に関する考慮事項
■
データ整合性に関する考慮事項
公開鍵インフラストラクチャ(PKI)の使用に関する考慮事項
公開鍵インフラストラクチャ( )の使用に関する考慮事項
前の項で説明したように、効果的なインターネット・セキュリティには、スケーラブルで、
分散システムのセキュリティをサポートする安全な情報交換メカニズムが必要です。公開鍵
インフラストラクチャ(PKI)は、最小限の手間でこれらの要件を満たすテクノロジです。
Oracle9i Application Server では、PKI の要素を使って電子商取引を展開するためのセキュ
アでリジリエンスのある環境を提供することができます。この信頼できる環境は、企業のイ
ントラネットからインターネットに配置する E-Business アプリケーションにいたるまで、あ
らゆるタイプの電子的なやり取りを仮想的に取り扱うシステムの構築をサポートしていま
す。
強度の高いシステム・セキュリティづくりは、システムの物理的なセキュリティと従業員の
信頼性の確保から始めます。これらを適切に行うと、PKI で次のプロセスをサポートするこ
とにより、安全な電子商取引とインターネット通信を拡張することができます。
認証
組織がインターネットへの扉を開くとき、ユーザーとマシンの識別
情報が正当なものであるかを確認することが重要になってきます。
PKI をはじめとする厳密な認証方式では、再使用可能なパスワード
を送信したり格納したりしないで識別情報を確認することができま
す。これにより、その人(マシン)が本人(本物)であることを確
認できます。この確認は通常、従来の暗号化を使用した信頼できる
第三者による認証または証明書サービスによって行われます。PKI を
適切に使用すると、他人になりすますことが事実上不可能になり、
システムやアプリケーションが互いの接続や送信を信頼できるよう
にするメカニズムをサポートできます。
暗号化
暗号化と整合性のアルゴリズムは、通信をセキュアにしたり、ある
コンピュータから他のコンピュータに送信されるデータのプライバ
シーを確保するために使用されます。それらによって、データの機
密性を保ち、データを修正できないようにし、さらに欠落したパ
ケットを検出できるようになります。
Web 環境におけるセキュリティの基礎
1-17
インターネット環境でのセキュリティに関する考慮事項
否認防止
否認防止とは、デジタル署名の付いたトランザクションまたは電子
メールの送信者が、自分の送信したものでないと主張できないよう
にすることです。PKI を使用してデジタル署名をすると、電子送信に
署名する人以外、一意のデジタル署名を作成することはできないの
で、署名者が本人であることを確実に証明できます。これにより、
他人のデジタル署名を作成できなくなるので、なりすましを防止で
きます。PKI デジタル署名により、特定のユーザーが一定の操作を
行ったことを証明できます。
公開鍵暗号では、安全な方法による通信を望むエンティティは特定のセキュリティ資格証明
を提示する必要があります。一連のセキュリティ資格証明は Wallet に格納されます。セキュ
リティ資格証明は次のもので構成されます。
公開鍵と秘密鍵
この形式の暗号化では、非公開の秘密鍵と数学的に関連付けられて
いる公開鍵を使用します。情報の暗号化には公開鍵だけが使用され、
情報の復号化には対応する秘密鍵だけが使用されます。キーのペア
の所有者だけが秘密鍵を知っており、公開鍵は広く配布してその所
有者と関連付けておくことができます。公開鍵で暗号化されたメッ
セージは、関連付けられた秘密鍵を知っている所有者だけが復号化
できます。このような非対称鍵暗号の技術はデジタル署名でも使用
され、インターネットでのなりすましや有効なメッセージの拒否を
防止することができます。
デジタル証明書
証明書は信頼できる第三者が発行するデジタル識別子で、ユーザー
とマシンを識別するためのものです。その第三者が、ユーザーとマ
シンの識別情報が正当なものであることを証明できるだけの信頼で
きる情報を受け取ると、証明書が発行されます。証明書は Wallet ま
たはディレクトリに安全に格納され、その第三者を信頼するイン
ターネット上のユーザーが本人であることを証明します。
認証局(CA)
認証局は、デジタル証明書の提供者としての役割を果たす信頼でき
る独立した第三者です。
1-18 Oracle9i Application Server セキュリティ・ガイド
インターネット環境でのセキュリティに関する考慮事項
暗号化キーのペアを使用してセキュアな暗号化されたチャネルを確立すると、メッセージの
プライバシーを確保して、メッセージの送信者が本人であることを確認できます。公開鍵を
サーバーまたは中央のディレクトリから広く配布しても、秘密鍵を共有しないのでセキュリ
ティが脅かされることはありません。エンティティの公開鍵はユーザーの証明書で認証局の
署名付きで公開されます。セキュアな情報を送信するエンティティは、受信者の公開鍵を
使って情報を暗号化できます。この方法で暗号化された通信を受け取るエンティティは、自
分の秘密鍵を使ってメッセージを復号化します。(場合によっては、送信者は受信者から
「メッセージの送信者」を再保証してもらう必要があります。コード化メッセージを受信者
の公開鍵を使ってもう一度暗号化するとうまくいきます。受信者は、二重に暗号化された
メッセージを自分の秘密鍵を使って復号化し、復号化したコード化メッセージは、送信者の
秘密鍵によって暗号化(署名)されているため、さらに送信者の公開鍵を使って復号化しま
す。元のメッセージが両者の鍵を使って暗号化されていない場合、復号化した内容は読むこ
とができません。
)
認証に関する考慮事項
効果的な認証が行われないと、認可ポリシーはほとんど価値のないものになります。認証方
式は、自分自身に関すること、たとえば、自分が誰であるか、何を知っているか、何を持っ
ているかなど、一意に関連付けられているものを提供するユーザーによって異なります。
この項では、認証サービスの次の観点について説明します。
■
パスワード
■
証明書と認証局
■
Secure Sockets Layer(SSL)認証と X.509v3 デジタル証明書
■
セキュアな資格証明を LDAP 準拠のディレクトリに格納する
■
シングル・サインオン
パスワード
パスワードは認証の基本的な形式の1つです。ユーザーは、システム、アプリケーションま
たはデータへの無許可のアクセスを防止するため、接続するときに正しいパスワードを提供
する必要があります。パスワードに依存するセキュリティ・システムでは、パスワードを常
に秘密にしておく必要があります。ただし、パスワードは盗難や誤った使用に対して無防備
です。
基本的なパスワード機能を強化し、Web サイト、アプリケーションまたはデータベースのよ
り高度なセキュリティ管理を可能にする多くの方法があります。たとえば、パスワード管理
ポリシーを管理者やセキュリティ担当者がユーザー・プロファイルを通して管理する方法が
あります。管理者はパスワードの複雑さについての基準を設定し、パスワードの再使用を拒
否することができます。パスワードは一定の時間が経過した後、時間切れでタイム・アウト
することがあります。その場合、パスワードは格納されることも、保護されない形式でネッ
トワークを介して送信されることもありません。
Web 環境におけるセキュリティの基礎
1-19
インターネット環境でのセキュリティに関する考慮事項
証明書と認証局
クライアントとサーバー、サーバーとサーバー、ユーザーとクライアントおよびサーバーの
両方の間で、信頼できる認可レベルを使用してネットワークのすべてのメンバーを認証する
ことは、ネットワーク上のノードで自らの識別情報を偽装する脅威に対処する効果的な方法
です。PKI モデルでは、この方法には証明書と認証局が含まれます。
認証局(CA)とは、ユーザー、データベース、管理者、クライアント、サーバーなどが本
人(本物)であることを証明できる、信頼できる第三者です。認証局は、証明書サービスを
提供する外部の企業であったり、社内の MIS 部門のような内部組織であることもあります。
認証局には、自局の証明書と公開鍵および秘密鍵があり、証明書と公開鍵は公開され、秘密
鍵は安全に保管されています。ユーザーを承認(証明書を発行する)するときには、認証局
はユーザーの識別情報が正当なものであるかを確認してから証明書を与え、認証局の秘密鍵
で署名します。サーバーとクライアントは認証局のルート証明書を使って、認証局が作成し
た署名が有効なものであるか確認します。認証局の主なサービスは次のとおりです。
■
証明書の発行
■
証明書の取消し
■
人またはその他のエンティティがその証明書で明示されていることの確認
■
不正な使用により引き起こされる損害に対する責任を負うこと
証明書は、ネットワークにアクセスしようとしているユーザー(デバイス)が本人(本物)
であることを証明する電子パスポートのようなものです。証明書はセキュリティ・ポリシー
やその他のインフラストラクチャとともに使用され、エンティティの情報が正しいこと、お
よび証明書に " パスポート番号 " として示されている公開鍵が実際にそのエンティティに属
していることを保証します。証明書の主な内容は次のとおりです。
■
証明書でのユーザー名
■
ユーザーの公開鍵
■
証明書に関連付けられた権利や用途についての情報
証明書のその他の確認情報には、証明書を発行した認証局の名前、有効期限、認証局が証明
書に割り当てた一意のシリアル番号、認証局の署名、および証明書の署名に使用した特定の
アルゴリズムを表すアルゴリズム識別子が含まれています。
エンティティの公開鍵に認証局が署名するとき、証明書が作成されます。証明書は信頼でき
る認可レベルで署名され、安全な方法で取得されるので、アクセスするたびに本物であるか
どうかを確認する必要はありません。クライアントまたはサーバーは、エンティティの証明
書が既知の信頼できる認証局の発行したものであることを確認することで、エンティティが
本人であることを確認できます。サーバーにとって必要なのは、証明書が取り消されている
かどうかを確認するだけです。クライアントとサーバーはこれらの証明書を使って、SSL の
ような公開鍵暗号によるセキュアなプロトコルを使用してアクセスすることができます。
どの証明書にも既知の信頼できる認証局の署名がありますが、証明書に名前の記載されてい
る特定の認証局を確認システムが理解できるとは限りません。システムがこの証明書を信頼
できるようにするには、この証明書を発行した認証局が正当なものであるかを確認した認証
1-20 Oracle9i Application Server セキュリティ・ガイド
インターネット環境でのセキュリティに関する考慮事項
局の名前も記載し、さらにその認証局が正当なものであるかを確認した認証局の名前も記載
します。こうすると、受け取った証明書を前の確認プロセスで結果的に確認した信頼できる
認証局のリストになります。この中で一番前のものをルート証明書といいます。Oracle9i
Application Server にはデフォルトの信頼できるルート証明書があるので、ユーザーは各自
の証明書をインストールする必要はありません。
Secure Sockets Layer(
(SSL)認証と
)認証と X.509v3 デジタル証明書
Netscape 社の開発した Secure Sockets Layer (SSL)プロトコルは、広く受け入れられてい
るネットワーク・セキュリティの標準です。公開鍵インフラストラクチャにおける認証、
データ暗号化、およびデータ整合性を提供します。SSL はインターネット全体で広く採用さ
れ、ユーザーに確立されたデジタル認証を提供し、メッセージの盗聴、改ざん、および偽造
を防止します。SSL ではデジタル証明書(X.509v3)および公開鍵と秘密鍵のペアを使用して
ユーザーとシステムを認証します。SSL は現在利用されているすべての Web サーバーや
Web ブラウザでサポートされています。また、LDAP や IMAP など他のプロトコルからも許
容されています。
SSL は、多層システムにおける層の間で交換されるユーザー・データの保護の問題に対処し
ます。SSL は業界標準に準拠した高度な暗号化と整合性のアルゴリズムにより、インター
ネット上でデータの信頼性が失われることのないようシステム開発者とユーザーに機密性を
提供します。クライアントからサーバーへの認証だけを行うパスワードによる認証とは異な
り、SSL はサーバーからクライアントおよびクライアントからサーバーの両方を認証するこ
とができます。ユーザーはクレジット・カード番号などの機密情報を入力する前にサーバー
からの認証を受けなければならないので、Web につながっている多層システムではこの機能
が役立ちます。図 1-2 に、インターネットと Oracle9i Application Server を介してリモート・
クライアントから Oracle サーバーにリンクする SSL で保護された通信を示します。
図 1-2 インターネットと Oracle の通信を保護する SSL
ファイア
ウォール
ファイア
ウォール
Oracle9i
Application
Server
Oracle9i
Database Server
クライアント
SSL
HTTP
インターネット
SSL
Oracle Net
関連項目 : 2-25 ページの「Oracle HTTP Server での Secure Sockets Layer
(SSL)と PKI」
Web 環境におけるセキュリティの基礎
1-21
インターネット環境でのセキュリティに関する考慮事項
セキュアな資格証明を LDAP 準拠のディレクトリに格納する
多くの組織では、ユーザーと認可を LDAP 準拠のディレクトリで個別に管理しています。資
格証明をディレクトリにセキュアに格納し、機能を拡張してユーザーを集中管理することも
できます。これにより、ユーザーのモビリティもサポートされます。
PKI を使用して、デジタル証明書などのセキュアな資格証明を "Wallet" というコンテナに格
納することができます。Wallet は、Secute Sockets Layer で必要とされるキーや信頼できる証
明書のような認証データを管理するために使用されます。Wallet は LDAP 準拠のディレクト
リに格納できます。セキュリティ管理者は、Oracle Wallet Manager などのツールを使って
サーバー上のセキュリティ資格証明を管理します。Wallet の所有者もこのツールを使ってク
ライアント上のセキュリティ証明を管理します。
公開鍵証明書標準(PKCS)は、PKI ベンダーの RSA が制定したセキュリティ標準のセット
です。特に、Oracle9i Application Server はセキュアな資格証明の保管や移送を規定したの標
準である PKCS #12 をサポートしています。
関連項目 :
2-10 ページの「Oracle Internet Directory の概要」
シングル・サインオン
Web ベース・アプリケーションへのシングル・サインオン(SSO)を使用すると、ユーザー
は一度ログオンするだけで複数のデータベースやサービスにアクセスすることができます。
ユーザーは複数の個別の識別情報やパスワードを覚えておく必要はありません。それは、
ユーザーが登録済の各アプリケーションやリソースに初めてログインすると SSO がすべて
の識別情報やパスワードを処理するからです。このマニュアルの後にある SSO に関する章で
説明しますが、SSO は SSL、証明書、および IP チェックなどの機能とともに使用できます。
この項では、シングル・サインオン機能によって時間を節約し、セキュリティを向上できる
理由について説明します。
たくさんの企業が従業員、顧客およびパートナに使用してもらうために様々な Web ベース
の E-Business アプリケーションを配置しているというところから始めることにします。それ
ぞれのアプリケーションは、通常、ユーザーまたはアカウントの ID およびパスワードを要
求します。
ユーザーの立場から見ると、たくさんのアカウントやパスワードの組合せを覚えておくのは
面倒でやっかいなことです。次に述べるように、ショートカットを使いたい誘惑で、個別の
ユーザーのセキュリティが低下するだけでなく、ユーザー・コミュニティ全体のセキュリ
ティも低下してしまいます。個別の違反が、悪意の有無に関わらず、それ以外の人の一部ま
たは全部を損害や機密の損失にさらすことになります。
管理者の立場から見ると、各ユーザーごとに複数のアカウントやパスワードを管理すること
はコストがかかり、潜在的な不安を抱えることになります。
そのため、シングル・サインオンを使用すると、ユーザーはインターネットに関連するボ
リュームによるコピーや急速に変化する環境でのセキュリティの保持にかかる負担を軽くし
て利益を得ることができます。
1-22 Oracle9i Application Server セキュリティ・ガイド
インターネット環境でのセキュリティに関する考慮事項
この項では、次の点について説明します。
■
複数のアカウントとパスワードは安全でない
■
複数のパスワードはコストがかかる
複数のアカウントとパスワードは安全でない
たいていのユーザーが覚えていられるパスワードの数はほんのわずかです。複数のログイ
ン・アカウントを持っているユーザーは、覚えやすいパスワードを選ぶ、異なるアカウント
に同じパスワードを選ぶ、パスワードを変更するよう求められても再使用する、またはパス
ワードをメモしておくといったことがよくあります。こうした習慣はすべてパスワードのセ
キュリティを低下させてしまいます。
パスワードをメモしたり、覚えやすい(推測しやすい)パスワードを選ぶと、パスワードを
危険にさらす可能性が高くなります。パスワードを盗まれると、ユーザーがパスワードを変
更するよう要求されても再使用した場合や、複数のシステムで同じパスワードを使用した場
合に損害を受ける可能性があります。
多くのシステムは、ユーザーに複雑なパスワードを選択させたり、パスワードを再使用でき
ないようにする、パスワード管理機構を備えています。ただし、ユーザーはこれらの機構を
破ってセキュリティを低下させる方法を見つけ出すことがあるので、逆効果になることがあ
ります。たとえば、ユーザーにランダムなパスワードを使用するよう強制すると、たいてい
の場合はメモされることになります。
組織内でのユーザーの所属や機能的な役割を変更すると、組織のアプリケーションを使用す
るときにそのユーザーの権限において対応する変更が必要になります。ユーザーごとに複数
の独立したアカウントがあると、関連付けられたユーザー権限は組織の変更に対応しなくな
ることが多くなります。たとえば、ユーザーが退職したり、役割が変更された後でも、その
ユーザーのアカウントとアクセス権限がシステム内で長い間変更されないままになっている
ことがあります。このような環境では、システムは不満を持つ元従業員の潜在的な攻撃に対
して無防備になっています。
シングル・サインオンの単一エントリ・ポイントにより、アクティブなユーザーに権限を与
え、管理者が条件の変更を 1 か所で管理できるようになります。
複数のパスワードはコストがかかる
ユーザーごとに複数のアカウントとパスワードを管理するのはコストがかかります。多くの
企業配置では、システム管理者の時間のかなりの部分がアカウントやパスワードに関連する
問題に費やされています。この時間には、ユーザーが入社したときにユーザーのアカウント
を最初に作成することや、退職したときにアカウントを削除することなどがあります。また、
ユーザーの役割が変更されたときに設定を変更したり、パスワードを忘れたときに再設定す
ることなどもあります。管理者は複数のシステムにアクセスし、要件の異なる複数の管理イ
ンタフェースを使用してシステムごとにユーザー・アカウントを追加または削除する必要が
あります。これらの作業はすべてコストがかかり、様々なエラーが発生する可能性を含んで
います。シングル・サインオンを使用すると、いずれの作業のコストも削減できます。
Web 環境におけるセキュリティの基礎
1-23
インターネット環境でのセキュリティに関する考慮事項
関連項目 :
■
■
2-8 ページの「Oracle9iAS での集中ユーザー・プロビジョニングとシ
ングル・サインオン」
第 3 章「Oracle9iAS Single Sign-On の設定」
認可に関する考慮事項
認可とは、ユーザー、ホストまたはクライアントの識別情報に基づいてデータ、リソースま
たはサービスへのアクセスを制御するプロセスのことです。認可が適切に行われると、ユー
ザー、プログラムまたはプロセスは適切な権限を取得します。ユーザーはいったん認証プロ
セスで識別されると、その後は適切に認可されます。
企業システムでは、ディレクトリにおいて認証管理と権限の制御の集中化が求められること
がよくあります。このアプローチには、次のような 2 つの重要な側面があります。
■
■
シングル・ステーション管理(SSA)— この機能は、複数の管理ツールを使用して個々
のユーザーがアクセスする異なるアプリケーションのアカウントを設定しなければなら
ない、システム管理者の問題に対処します。SSA を使用すると、システム管理者は単一
の管理インタフェースから複数のアプリケーションのアカウントを設定、管理および削
除することができます。
シングル・ソース制御(SSC)— この機能は、ユーザー権限が個々のアプリケーション
で個別に管理されていることが多いという問題に対処します。SSC を使用すると、複数
のアプリケーションに対するユーザーのロールや権限に関する情報のソースを集中化
し、ユーザーのロールや権限の変更が単一のソースで管理されているすべてのアプリ
ケーションで迅速かつ整合性を保って反映されるようになります。
たとえば、企業内で 40 台のサーバーにアクセスする必要のあるユーザーについて考えてみ
ます。シングル・ステーション管理を使用すると、管理者は 1 か所からユーザーのアクセス
を設定できるので、40 台のマシンに個別にログインする手間が省けます。40 台のサーバーで
ユーザーの権限を変更するには、システム管理者はシングル・ソース制御を利用して 1 台の
サーバーで変更を行うことができます。
それでもなお、状況によっては、シングル・サインオンは組織の要求に対する認可レベルの
集中化における以上の優れたソリューションになります。Oracle9i Application Server では、
どちらを選択しても適切に使用できます。
関連項目 :
2-15 ページの「Delegated Administration Service(DAS)」
『Oracle9iAS Single Sign-On アプリケーション開発者ガイド』
1-24 Oracle9i Application Server セキュリティ・ガイド
インターネット環境でのセキュリティに関する考慮事項
暗号化に関する考慮事項
イントラネットまたはインターネットを介してやり取りされる機密情報は、暗号化すること
により保護することができます。暗号化とは、復号化鍵を使ってのみ読むことのできるパ
ターンに情報を変換することです。このセキュリティ方式は、復号化鍵を持っていないと復
号化が事実上不可能なので強力です。
たとえば、セキュアな方法でクレジット・カードを使用して、インターネットで企業の製品
を購入する買い手について考えてみます。買い手のクレジット・カード番号は暗号化鍵で暗
号化されています。暗号化されたクレジット・カード番号は、ネットワークを介してデータ
ベースに送信されます。番号自体が暗号化されているのでさらに暗号化するよう指示されて
はいませんが、暗号化を使用するとメッセージをスクランブルし、受信者以外は誰も読めな
いように変えることができます。サーバーは復号化鍵を使ってメッセージを復号化し、クレ
ジット・カード番号を読みとります。
暗号化ではデータベースを使って、クライアントからの送信や中間層からの送信を含むすべ
ての通信を処理する必要があります。また、データベースですべてのプロトコルを保護する
必要があります。表 1-4 に、データの暗号化と復号化で業界標準になっている暗号化アルゴ
リズムを示します。
表 1-4 暗号化アルゴリズム
アルゴリズム
特徴
RSA Data Security RC4
データ・プライバシー保護のための高速暗号化が可能。シーク
レットで、ランダムに生成された各セッション固有のキーを使用
して、すべてのデータ値、SQL 文、およびストアド・プロシー
ジャ・コールとその結果を含む、すべてのネットワーク・トラ
フィックを完全に保護します。クライアントまたはサーバー(あ
るいはその両方)は、暗号化モジュールを使用してデータの保護
を保証するよう依頼またはリクエストすることができます。
これはストリーム暗号文といわれ、メッセージで一度に 1 ビット
を処理できる暗号化方式です。ネットワークを介して送信される
データ用に最適化されていますが、Cookie のように格納されたり
再使用されるデータには適しません。
データ暗号化規格(DES)
米国 Data Encryption Standard(DES)アルゴリズムで使用され
る対称鍵暗号によってネットワーク通信を保護します。DES は金
融機関やその他の多くの機関で必要とされています。
これはメッセージをいくつかのブロックに細分化して各ブロック
を暗号化する対称ブロック暗号化方式です。このタイプの暗号化
は、Cookie やトークンのように格納されるデータの暗号化に最適
です。ネットワークを介して送信されるデータ用には最適化され
ていません。
Web 環境におけるセキュリティの基礎
1-25
インターネット環境でのセキュリティに関する考慮事項
表 1-4 暗号化アルゴリズム(続き)
暗号化アルゴリズム(続き)
アルゴリズム
特徴
トリプル DES(3DES)
DES アルゴリズムを 3 回行ってメッセージ・データを暗号化しま
す。3DES により強度の高いメッセージ・セキュリティが得られま
すが、その強度が暗号化を行うプロセッサの速度に依存するため、
パフォーマンスの低下を伴います。3DES は通常、標準の DES ア
ルゴリズムでデータ・ブロックの暗号化にかかる時間の 3 倍かか
ります。
DES と同様に、3DES は格納されるデータに適したブロック暗号
化方式です。
暗号化されたデータの機密性は、通信中の当事者間で共有される秘密鍵の存在に依存しま
す。そのような秘密鍵を提供して管理することを鍵管理といいます。マルチユーザー環境で
は、当事者が機密性を維持していることや送信が保護されていることを確認するのは難しい
ので、秘密鍵を保護された状態で配布するのは困難です。このような問題を解決するために
公開鍵暗号が考案されました。
データ整合性に関する考慮事項
さらに、暗号化には、データが改ざんされていないことやパケットが再実行されていないこ
とを確認するために使用される整合化アルゴリズムがあります。再実行攻撃では、悪意のあ
る監視者は他の目的で前に入力されたもののコピーを挿入し、実行中の操作を妨害して、た
いていは破壊的な効果を伴います。これらの整合性アルゴリズムを使用してデータ・ブロッ
クの破損を検出できます。
表 1-5 整合性アルゴリズム
アルゴリズム
特徴
MD5 チェックサム ハッシングを介したデータ整合性を提供し、ネットワークで送信されてい
るときにデータが変更されたり盗まれたりしていないことを保証します。シ
ステム管理者は、この方法でデータの変更を検出できます。
MD5 アルゴリズムでは任意のサイズのメッセージを 128 ビットのメッセー
ジ・ダイジェストに変換します。数学者たちは各ダイジェストがすべての実
際の目的について一意であり、その限りにおいてコンピュータで同じメッ
セージ・ダイジェストを持つ 2 つの異なるメッセージを作成したり、指定
された対象メッセージ・ダイジェストを持つメッセージを生成したりする
ことは不可能(合理的な時間では事実上不可能)であると信じています。
MD5 アルゴリズムはデジタル署名を意図しています。大きなファイルは、
PKI システムで秘密鍵を使って暗号化する前に、信頼できる安全な方法で
圧縮する必要があります。
要約すると、MD5 はチェックサムやその他の一般的に使用されている方法
よりも、より確実にデータの整合性をチェックします。
1-26 Oracle9i Application Server セキュリティ・ガイド
Web ブラウザのセキュリティ
表 1-5 整合性アルゴリズム(続き)
整合性アルゴリズム(続き)
アルゴリズム
特徴
Secure Hash
MD5 と同様に、この方法では大きなメッセージ・ダイジェストに高いセ
Algorithm(SHA) キュリティを提供します。SHA はアメリカ政府規格です。
Web ブラウザのセキュリティ
Web ブラウザを使用すると、Web サイトを検索してアクセスし、トランザクション、電子
メールおよびインスタント・メッセージを送受信して、インターネットを便利に使うことが
できます。インターネットを介して送信またはアクセスされる重要なデータが侵入者に壊さ
れたりコピーされたりしないようにするには、セキュアなブラウザが不可欠になります。そ
のようなデータの例には、顧客の名前、電子メール ID、アドレスおよびクレジット・カー
ド番号があります。
システム全体のセキュリティ像では、Web ブラウザは E-Business サイトがほとんど制御で
きないコンポーネントのようなものです。たとえば、Web 店舗を運営するとき、顧客が使用
するブラウザを制御できないことがあります。それでも、顧客のブラウザは、使用するシス
テムのセキュリティに影響を与えるので、考慮する必要があります。
たいていの商用可能な Web ブラウザは多くのセキュリティ関連機能をサポートしています。
ただし、ユーザーはブラウザを正しく設定してそのセキュリティ機能を活用する必要があり
ます。
ブラウザのセキュリティに関する問題を十分考慮することは、このマニュアルの対象範囲外
です。
注意 : オラクル社では、"Server Gated Cryptography" としても知られて
いる Global Server ID をサポートしていません。ユーザーのブラウザでも
サポートしている場合、128 ビット暗号化またはトリプル DES という強力
な暗号化をサポートします。
関連項目 : ご使用の Web ブラウザに付属しているマニュアルを参照して
ください。
Web 環境におけるセキュリティの基礎
1-27
データベース・アクセスのセキュリティ
データベース・アクセスのセキュリティ
Oracle9i Application Server(Oracle9iAS)はデータベース・クライアントとして使用できま
す。この設定では、データベース・セキュリティの基本的概念がすべて適用されます。この
ようなシステムを設計するとき、Oracle9i が持つ多くの強力なセキュリティ機能を使用でき
ます。この項では、サーバーのセキュリティに関する主な問題の概要について説明し、
Oracle9i Application Server でどのように処理しているかについても説明します。
■
エンタープライズ・ユーザー・セキュリティ
■
認証とデジタル証明書
■
中間層からデータベースへの接続
■
プロキシ認証
エンタープライズ・ユーザー・セキュリティ
Oracle9i Application Server では、エンタープライズ・ユーザー・セキュリティは
Oracle9iAS Portal が提供しています。この項では、Oracle9iAS Portal のアーキテクチャに反
映されているユーザーとグループ、およびユーザーとデータベース・スキーマの関係につい
て紹介します。
数百万ものユーザーがポータルにアクセスするインターネット・コンピューティングでは、
ユーザーの表示はできる限り軽量であることが必要です。各ユーザーがそれぞれにデータ
ベース・スキーマと個別のデータベース・ログインを持つ必要のある状況を避けることが重
要です。
Oracle9iAS Portal では、ユーザー・アカウントに独自のデータベース・スキーマは不要で
す。Oracle9iAS Portal は当初、PL/SQL に実装されたので、PL/SQL コードを実行する際に
は今でもデータベース・アカウントが必要です。ユーザーは実行中のプロシージャについて
デフォルトで単一のスキーマにマップされます。Oracle9iAS Portal がインストールされる
と、データベース管理者、ポータル管理者および一般ユーザーに対してユーザー・アカウン
トのデフォルト・セットが作成されます。
Oracle9iAS Single Sign-On を使用して、管理者はユーザー名とパスワードを指定し、ユー
ザーに付与される Oracle9iAS Single Sign-On の権限レベルを指定します。この権限レベルは
End User(エンド・ユーザー)または Full Administrator(総合管理者)のいずれかです。
Full Adminstrator 権限は、ユーザーや Oracle9iAS Single Sign-On のその他の管理タスクを
生成する際に必要です。
Oracle9iAS Portal ではグループがサポートされているので、1 度の操作で一連のユーザーに
権限を付与することができます。さらに、Oracle9iAS Portal システムの特定の属性をグルー
プに関連付けることができるので、ユーザーが自分の環境設定で指定したデフォルトのグ
ループがある場合には、それらの属性を自分のセッションに適用することができます。この
例としては、グループのデフォルトのホーム・ページやデフォルトのスタイルがあります。
1-28 Oracle9i Application Server セキュリティ・ガイド
データベース・アクセスのセキュリティ
ユーザー、グループおよびアクセス権の管理は、次第にディレクトリで行われるようになっ
てきました。Oracle Enterprise Security Manager は、企業ユーザーや企業ロールを Oracle
Internet Directory のような LDAP ディレクトリで集中管理するために使用するグラフィッ
ク・ユーザー・インタフェースです。システム管理者は、このツールを使って新規のエン
タープライズ・ドメインの作成、登録ユーザーや公開されたデータベースのエンタープライ
ズ・ドメインへの関連付け、エンタープライズ・ドメインでのシステム上のエンタープライ
ズ・ロールの許可などの様々なタスクを実行できます。
Oracle Enterprise Manager から起動する Oracle Enterprise Security Manager は数万人規模
のユーザーに対応するので、数千ものユーザーやシステムを様々なドメインで管理すること
ができます。
関連項目 :
2-10 ページの「Oracle Internet Directory の概要」
認証とデジタル証明書
認証とは、システムに提示されているユーザーの識別情報が正当なものであるかを確認する
プロセスです。この識別情報は、通常、ログイン画面に入力されます。一般に、ユーザーは
識別にはユーザー名を、確認にはパスワードを入力します。
認可は、特定の HTTP リクエストの処理を求めている人またはエンティティの認証に依存し
ます。Oracle HTTP Server にある多くの機能を呼び出して、様々な形式のユーザー認証を設
定することができます。ユーザー認証には、次のものがあります。
■
X.509 証明書
■
Basic 認証
Basic 認証は標準の Web 認証方式です。ユーザー・コードとパスワードの組合せが BASE64
でエンコードされた文字列としてクリアテキストで送信されるため、あまりセキュアとはい
えません。セキュリティが重要な場所では、Oracle HTTP Server がユーザー・コードとパス
ワード情報をリクエストしたときにリクエスト / 応答ダイアログの機密が保護されるので、
SSL 機能を使用する必要があります。
ユーザーの識別情報が正当なものであることが確認されて認可されると、URL リクエストの
他の処理を制限または許可するためのルールを適用できるようになります。また、ユーザー
認証を IP およびホスト名に関する要件と結合し、ディレクティブのどちらか一方または両
方が満たされているときにだけ処理が許可されるようにすることができます。
関連項目 :
■
■
2-8 ページの「Oracle9iAS での集中ユーザー・プロビジョニングとシ
ングル・サインオン」
2-23 ページの「Oracle9iAS での認可、認証および SSL」
Web 環境におけるセキュリティの基礎
1-29
JAAS
中間層からデータベースへの接続
Oracle9i Application Server を Oracle9i データベースへの安全な接続として使用するときは、
アプリケーション・サーバーは自分自身をデータベースに対して認証する必要があります。
これらの認証プロシージャは Web ブラウザの使用する認証プロシージャごとに異なります。
関連項目 :
9-5 ページの「中間層接続管理」
プロキシ認証
プロキシ認証とは、管理者が特定のユーザーの集まりのためだけに中間層接続を可能にでき
る Oracle9i データベースの機能です。中間層ではそれ自体を認証し、各ユーザーを個別に認
証することなく中間層のユーザーのために軽量セッションを確立することができます。
さらに、Oracle9i データベースでは、特定のユーザーのために特定のデータベース・ロール
のセットを想定する権限を特定の中間層に与える設定をすることができます。つまり、デー
タベースは軽量セッションを介してユーザーのために動作しているとき、中間層とクライア
ント・ユーザーの識別情報を使って中間層の権限を確認します。
関連項目 :
9-2 ページの「Oracle9iAS によるプロキシ認証」
JAAS
Java による開発は Web にとって大変重要なので、Java セキュリティは Oracle9i Application
Server にとって必要不可欠な機能です。JAAS は、Web シングル・サインオン、ネットワー
ク暗号化、およびその他の機能を含む Oracle9i Application Server の広範なセキュリティ・
サービス・セットの一部です。JAAS は、Java 準拠のアプリケーションを開発するためのコ
アとなるセキュリティ・サービスを提供します。オラクル社はこれらの製品のすべてを新興
の Java セキュリティの業界標準に対応するように設計しています。
JAAS は、ユーザー認証とアクセス制御をサポートする Java パッケージである Java
Authentication and Authorization Service(JAAS)の Oracle 実装版です。JAAS の仕様はま
だ J2EE セキュリティ・モデルと統合されていませんが、JAAS は Oracle 環境での Java アプ
リケーション開発者のために JAAS を J2EE と統合しています。これにより、開発者は、J2EE
単独では提供できないコア・セキュリティ機能を Java アプリケーションに追加することが
できます。
JAAS は、次の領域における主なセキュリティ・サービスを提供します。
認証
ユーザーの識別。
認可
ユーザーの実行できる操作の制限。
委任
他のユーザーの権限でコードをセキュアに実行できるようにする。
1-30 Oracle9i Application Server セキュリティ・ガイド
ファイアウォール
JAAS は、Java アプリケーションを開発するすべての顧客に利益をもたらします。JAAS は、
Oracle9i Application Server の多くの Java コンポーネントでも使用され、それらのコンポー
ネントに認証および認可サービスを提供します。
関連項目 :
■
■
2-32 ページの「JAAS のセキュリティ」
JAAS のサポートの詳細は、『Oracle9iAS Containers for J2EE サービ
ス・ガイド』を参照してください。
ファイアウォール
ネットワーク・インフラストラクチャに潜む弱点を取り除くため、復号化と再暗号化の煩雑
さを伴わずにプロトコル間でデータを受け渡しできる方法を選ぶことがあります。それを安
全に行うには、ネットワーク・プロトコルの境界を越えてデータを安全に送信する方法が必
要です。
インターネットを使うと、企業のイントラネットを広大なパブリック・ネットワークに接続
することができます。この機能はビジネス上の大きなメリットをもたらしますが、データや
コンピュータ・システムへのリスクも伴います。システムのプライバシーや整合性を保護す
る 1 つの方法は、パブリック・ネットワークとイントラネットの間にファイアウォールを設
けることです。
ファイアウォールはネットワーク上の単一の制御ポイントであり、未認可のクライアントが
サーバーに接続できないようにします。ファイアウォールはフィルタとして動作し、未認可
のネットワーク・ユーザーがイントラネットを使用できないよう振り分けます。送信されて
いるパケットの内容に基づいてアクセスを制御することでこの機能を実現し、個別のプロト
コルやアプリケーションへの攻撃から守ることができます。
ファイアウォールはルールをベースにしています。接続できるクライアントと接続できない
クライアントを定義したルールのリストを保持しています。クライアントのホスト名や IP 名
をルールと比較して、クライアントにアクセス権を付与するかしないかを決定します。
Web 環境におけるセキュリティの基礎
1-31
まとめ
まとめ
インターネットは通信、商取引およびビジネス慣習において、拡張と効率の両面で、膨大で
比類のない好機をもたらします。これらの好機は、ほとんどすべてが危険を伴います。この
ような危険には、個人的、職業上および商業活動の各領域で日々行われるやり取りの信頼性
におけるプライバシー、預金、信用に対する脅威が含まれます。
脆弱性の各領域でアカウンタビリティとセキュリティ制限の両方を適用するメカニズム、ポ
リシー、および慣習を選択することにより、これらの脅威を削減または排除することができ
ます。セキュアな通信は盗聴を無益なものにします。
認証によってシステムへの不正なアクセスを制限し、認可ポリシーによってデータが不正に
表示されたり操作されたりしないよう制限することができます。
このマニュアルの後の項で説明する各アプリケーションには、この章で説明した脆弱性から
ユーザーとデータを保護する組込みのセキュリティ機能があります。これらの機能は、オラ
クル社が提供してサポートする他のセキュリティ・ソフトウェアと結合してシームレスに実
行することもできます。
このマニュアルで説明した原則や技術を理解してマスターすれば、効果的なセキュリティを
サイトやシステムに提供するのに必要な手順を実施する準備が整います。
関連項目 : これらのセキュリティの脅威に Oracle9iAS がどのように対処
するのかについては、第 2 章「Oracle9i Application Server セキュリティ
のアーキテクチャと機能」を参照してください。
1-32 Oracle9i Application Server セキュリティ・ガイド
2
Oracle9i Application Server
セキュリティのアーキテクチャと機能
Oracle9i Application Server (Oracle9iAS)はすべての Oracle9iAS コンポーネントだけでな
く、アプリケーション・サーバーに配置されているサードパーティ製や独自のアプリケー
ションもサポートする包括的なセキュリティ・フレームワークを備えています。このフレー
ムワークでは、認証は Oracle9iAS Single Sign-On を、認可と集中ユーザー・プロビジョニ
ングは Oracle Internet Directory を、Java 2 Enterprise Edition(J2EE)アプリケーションで
のセキュリティは Oracle Java Authentication and Authorization Service(JAAS)プロバイ
ダをそれぞれベースにしています。
この章では、Oracle9iAS のセキュリティ・アーキテクチャと機能の概要について説明しま
す。この章の項目は次のとおりです。
■
Oracle9iAS の概要
■
Oracle9iAS のセキュリティ・アーキテクチャ
■
必要なセキュリティを実現するためにインストールするコンポーネント
■
Oracle9iAS のデフォルトのユーザー・パスワード・ポリシー
■
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
■
Oracle9iAS での認可、認証および SSL
■
次に行うこと
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-1
Oracle9iAS の概要
Oracle9iAS の概要
Oracle9iAS は、企業の E-Business への進化をサポートする、信頼性が高くスケーラブルで
セキュアな中間層アプリケーション・サーバーです。この製品を使用すると、中間層イン
ターネットの基盤を作り上げる際の技術的な複雑さを管理することができます。Oracle9iAS
の提供する技術的な基盤により、ビジネスが拡張されます。自社のすべての Web サイトで、
まず小規模から始めて、ユーザー数の増加と機能の複雑化に対応していくことができます。
Oracle9iAS には、アプリケーションの開発や配置のための全般的なフレームワークを提供す
るコンポーネントだけでなく、特定のアプリケーション・サービスや機能を提供するコン
ポーネントもあります。この章では、Oracle9iAS Infrastructure の提供するセキュリティ・
サービスに焦点を当てます。この中には、Oracle9iAS Single Sign-On サーバーと、LDAP
バージョン 3 に準拠するディレクトリ・サービスの Oracle Internet Directory が含まれてい
ます。また、Oracle HTTP Server、Oracle9iAS Web Cache、Oracle9iAS Portal、および
JAAS(Java Authentication and Authorization Service)の提供するセキュリティ・サービス
の概要についても説明します。セキュリティ・サービスは広範囲にわたるアプリケーション
の開発や配置戦略をサポートします。
Oracle9iAS のセキュリティ・アーキテクチャ
Oracle9iAS は、Apache をベースにした Oracle HTTP Server、Oracle9iAS Containers for
J2EE、および Oracle9iAS Portal を使用した Web アプリケーションの開発および配置のため
のソリッドなフレームワークを提供します。このアプリケーションは、Oracle9iAS
Infrastructure の提供する高度なセキュリティ機能を使用します。Oracle9iAS Infrastructure
は、Oracle9iAS Metadata Repository、Oracle Internet Directory、Oracle9iAS Single
Sign-On、および Oracle Management Server で構成されます。Oracle9iAS によるセキュリ
ティは、Oracle HTTP Server で提供される十分にテストされ、高度な設定が可能な Web セ
キュリティ・サービスで始め、包括的な一連の Web シングル・サインオン・サービスを追
加し、LDAP バージョン 3 準拠のディレクトリ・サービスである Oracle Internet Directory
で利用できる集中ユーザー・プロビジョニングを使ってさらに拡張します。さらに、
Oracle9iAS には、Oracle 実装版の Java Authorizaton and Authentication Services (JAAS) for
J2EE アプリケーション・セキュリティおよび広範なポータル認可とアプリケーション統合メ
カニズムもあります。Oracle9iAS は、Oracle Advanced Security を使った Oracle データベー
ス・システムへのセキュアなアクセスもサポートしています。
この項では、アプリケーション・サーバーのセキュリティ・アーキテクチャの概要について
説明します。インターネット環境で必要となるセキュリティ機能をアーキテクチャの様々な
要素がどのようにして提供するのかについて説明します。
関連項目 : Oracle9iAS Infrastructure の詳細とセキュリティのソフトウェ
ア要件の一覧は、2-6 ページの「必要なセキュリティを実現するためにイ
ンストールするコンポーネント」を参照してください。
2-2 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS のセキュリティ・アーキテクチャ
Oracle9iAS のセキュリティ・アーキテクチャの要素
図 2-1 に、Oracle9i Application Server の各要素がどのように連携して機能するのかを示しま
す。
図 2-1 Oracle9i Application Server のセキュリティ・アーキテクチャ
Oracle9i Application Server
Oracle9iAS
Containers
for J2EE
Oracle9iAS
Web Cache
Oracle
HTTP Server
クライアント
Oracle
Net
Oracle9iAS
Portal
Oracle
データベース
SSO
Oracle9iAS
Metadata
Repository
OID
Oracle9iAS のセキュリティ機能
説明
Oracle9iAS Web Cache
HTTPS をサポートするよう設定できる Web キャッシュをフロ
ントに配置して、頻繁にアクセスされる Web ページまたはポー
タル・ページを格納します。
Oracle HTTP Server
Web サーバーは、HTTP と HTTPS の両方に Web リスナー・
サービスを提供し、プラグインを介して認証と認可のリクエス
トをルーティングします。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-3
Oracle9iAS のセキュリティ・アーキテクチャ
Oracle9iAS のセキュリティ機能 (続き)
説明(続き)
Oracle9iAS Containers for J2EE および JAAS Oracle9iAS Containers for J2EE は、Oracle9iAS に Java 実行環
境を提供します。JAAS を使用すると、Java アプリケーションと
セキュアにアクセスし、Java に準拠したアプリケーションを
Oracle9iAS Single Sign-On と統合して実行することができます。
Oracle9iAS Portal
ポータルは、Web ページの作成と管理を行うためのインフラス
トラクチャを提供します。Java アプリケーションを介してコン
テンツにリンクすることにより、それぞれのポータル・ページ
に複数の Web ページを表示することができます。ポータルは
Oracle9iAS Single Sign-On を使用して、コンテンツやアプリ
ケーションにセキュアにアクセスするためのシングル・サイン
オン機能を提供します。
Oracle9iAS Single Sign-On
シングル・サインオン(SSO)機能は、単一の統合された認証
サービスを Oracle9iAS コンポーネント、アプリケーションおよ
び Web ページに提供します。Single Sign-On サーバーは、ユー
ザーに関する情報を Oracle Internet Directory に格納し、その情
報と照合してユーザーを認証します。
Oracle Internet Directory
LDAP バージョン 3 に準拠したディレクトリは、認証と集中
ユーザー・モデルにより中間層のサービスを提供します。この
モデルではユーザーに関する情報を生成、管理および格納する
ことができます。
Oracle9iAS Metadata Repository
Oracle9i Enterprise Edition 用のデータベースで、Oracle9iAS の
コンポーネントで使用するスキーマによって、あらかじめシー
ドされています。
注意 : SSO 機能が必要な場合は、Oracle9iAS Single Sign-On サーバーと
Oracle Internet Directory をインストールする Oracle9iAS Infrastructure を
最初にインストールしてから、その他のコンポーネントをインストールす
る必要があります。
関連項目 : インストールの詳細は、Oracle9iAS プラットフォーム別ド
キュメントの Oracle9i Application Server インストレーション・ガイドを
参照してください。
2-4 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS のセキュリティ・アーキテクチャ
Oracle9i Application Server への公開鍵インフラストラクチャ(PKI)の実装
への公開鍵インフラストラクチャ( )の実装
Oracle9i Application Server の PKI 実装は、業界標準の仕様に準拠する様々なセキュリ
ティ・サービスを提供します。次のような製品と機能一式を備えています。
Secure Sockets Layer(
(SSL)
)
Secure Sockets Layer(SSL)は、証明書による認証を行うためのアプリケーション・レイ
ヤー・プロトコルです。Oracle9iAS の主要なコンポーネントはすべて SSL をサポートしてい
ます。
関連項目 : Oracle9iAS における SSL のサポートの詳細は、2-23 ページの
「Oracle9iAS での認可、認証および SSL」を参照してください。
Oracle Wallet
Oracle Wallet は、証明書と信頼できる証明書を格納して管理するためのコンテナです。これ
らのデータ構造には、ユーザーの秘密鍵、ユーザー証明書、および信頼できる証明書のセッ
ト(ユーザーが信頼するルート証明書のリスト)がセキュアに格納されます。
Oracle Wallet Manager
セキュリティ管理者が Oracle のクライアントとサーバーの両方で公開鍵セキュリティ接続
情報の管理に使用する Java 準拠のアプリケーションです。Oracle Wallet を生成します。
Oracle Wallet Manager は、ユーザーの公開鍵と秘密鍵のペアを生成し、接続情報を管理し
ます。PKCS #10 証明書要求を認証局に発行し、証明書を Wallet にインストールします。
VeriSign、RSA および Baltimore CyberTrust からの信頼できる証明書が付属しているので、
サイトの内部認証局を使用できます。
関連項目 : Oracle Wallet と Oracle Wallet Manager の詳細は、第 5 章
「Oracle Wallet Manager の使用方法」を参照してください。
Oracle Internet Directory
Oracle9i データベースに構築された LDAP V3 準拠のディレクトリである Oracle Internet
Directory により、PKI ベースのシングル・サインオンを使用できるようになります。X.509
証明書を使って認証されたユーザーについて、セキュリティの属性や権限など、ユーザーや
システムの設定環境をセキュアに管理できます。Oracle Internet Directory は属性レベルのア
クセス制御を行い、特定の指名されたユーザー(たとえば、セキュリティ管理者)に対する
特定の属性の権限をディレクトリが読み取り、書き込みまたは更新できるようにします。
SSL 暗号化によるディレクトリの問合せや応答の保護と認証もサポートします。
関連項目 : Oracle9iAS における Oracle Internet Directory および集中
ユーザー・プロビジョニングの詳細は、2-8 ページの「Oracle9iAS での集
中ユーザー・プロビジョニングとシングル・サインオン」を参照してくだ
さい。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-5
必要なセキュリティを実現するためにインストールするコンポーネント
必要なセキュリティを実現するためにインストールするコン
ポーネント
Oracle9iAS にはインストール・オプションがあり、必要な機能だけをインストールすること
ができます。セキュリティ機能を持つ主要なソフトウェア・インストールは次の 2 つです。
■
Oracle9iAS Infrastructure インストール
■
Oracle9i Application Server インストール
Oracle9iAS Infrastructure インストール このインストールでは、シングル・サインオン
(SSO)
、LDAP ディレクトリおよび集中管理機能をインストールします。Oracle9iAS
Metadata Repository、Oracle Internet Directory、Oracle9iAS Single Sign-On および Oracle
Management Server をインストールし、Oracle Management Server 以外のすべてのコン
ポーネントを設定します。Infrastructure を最初にインストールして設定した後、Oracle9i
Application Server インストールにより Oracle9iAS コンポーネントをインストールします。
Oracle9i Application Server インストール このインストールでは、インストールする
Oracle9iAS コンポーネントを選択できます。たとえば、Web サーバー、Java 実行時環境お
よび Web キャッシュなどを含む基本インストール・タイプである "J2EE and Web Cache" を
選択できます。ソフトウェアの基本セットとポータル、ワイヤレス・アプリケーション、ビ
ジネス・インテリジェンスおよびメッセージングを使用できるようにするための機能を含
む、Oracle9iAS のすべてのコンポーネントをインストールするよう選択することもできま
す。
このタイプのインストールのコンポーネントでは、Oracle9iAS Infrastructure をインストー
ルしなくても SSL を介して PKI をサポートすることができます。ただし、この
Infrastructure がサポートする機能は、Oracle9i Application Server インストールの多くのコ
ンポーネントに対するセキュリティには直接関係ありません。
表 2-1 に、Web サイトとアプリケーションに必要なセキュリティ機能を確保するためにイン
ストールと設定を行う必要があるソフトウェア・インストールを示します。
2-6 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS のデフォルトのユーザー・パスワード・ポリシー
表 2-1 Oracle9iAS でのセキュリティ・サービスのインストール要件
必要なセキュリティ機能
インストールと設定を行うソフトウェア
中間層での SSL と PKI
Oracle9i Application Server インストール
JAAS によるセキュアな Java アプリケーショ
ンの開発と配置
Oracle9i Application Server インストール
LDAP ディレクトリによるシングル・サイン
オンと集中ユーザー・プロビジョニング
Oracle9iAS Infrastructure を最初にインストール
した後、Oracle9i Application Server をインス
トールして設定する
関連項目 : インストールの詳細は、Oracle9iAS プラットフォーム別ド
キュメントの Oracle9i Application Server インストレーション・ガイドを
参照してください。
Oracle9iAS のデフォルトのユーザー・パスワード・ポリシー
Oracle9iAS Infrastructure をインストールして Oracle Internet Directory をセキュリティ管理
に使用するときは、デフォルトのセキュリティが実装されています。これらのデフォルトの
セキュリティ設定には、デフォルトのユーザー・パスワード・ポリシーが含まれています。
このパスワード・ポリシーは、ユーザー・コンテナで管理されるすべてのユーザー・エント
リに適用されます。このコンテナは、ディレクトリ内でサブスクライバのユーザー検索ベー
ス(orclcommonusersearchbase)によって識別されます。表 2-2 に、Oracle Internet
Directory をセキュリティ管理に使用するときの Oracle9iAS のデフォルトのユーザー・パス
ワード・ポリシーを示します。
表 2-2 Oracle9iAS のデフォルトのユーザー・パスワード・ポリシー
パスワード・ポリシー
値
パスワードの有効期限
60 日
アカウントがロックアウトされるまでの最大試行失敗回数
10*
パスワードに必要な最小文字数
5
パスワードに必要な数字の最小文字数
1
*
誤ったパスワードで 10 回連続でログインに失敗すると、24 時間、ユーザーのアカウントはロックさ
れます。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-7
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
関連項目 :
■
■
パスワード・ポリシーにおける変更については、Oracle9i Application
Server プラットフォーム別ドキュメントにある『Oracle9i Application
Server リリース・ノート』を参照してください。
Oracle Internet Directory については、2-8 ページの「Oracle9iAS での
集中ユーザー・プロビジョニングとシングル・サインオン」を参照し
てください。
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・
サインオン
Oracle9iAS Infrastructure をインストールすると、シングル・サインオン(SSO)と集中
ユーザー・プロビジョニングを使用できるようになります。SSO と集中ユーザー・プロビ
ジョニングは、Oracle9iAS Single Sign-On と Oracle Internet Directory によって実現されま
す。これらのサービスがインストールされると、セキュリティに関連する次のタスクがイン
ストール・プログラムにより自動的に実行されます。
■
■
■
■
Oracle Internet Directory をインストールし、インストール時に入力した情報に従って、
ご使用の環境にあわせて設定します。
Oracle Internet Directory のディレクトリ情報ツリー
ディレクトリ情報ツリーにある
Oracle 製品に対するデフォ
ディレクトリ情報ツリー
ルトの管理および配置の構造をセットアップします。
Oracle9iAS Single Sign-On サーバーをインストールし、インストール時に入力した情報
に従って、ご使用の環境にあわせて設定します。
Oracle HTTP Server のモジュールである mod_osso を設定し、SSO を使用するアプリ
ケーションのために HTTP サーバーが Single Sign-On サーバーへのリクエストをルー
ティングできるようにします。
2-8 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
Oracle9iAS Infrastructure が提供するセキュリティ・サービスの説明は次の項目にあります。
■
集中ユーザー・プロビジョニングとシングル・サインオン・モデルの概要
■
集中ユーザー・プロビジョニングとシングル・サインオン・モデルの利点
■
Oracle Internet Directory におけるセキュリティの概要
■
Oracle コンテキスト : ディレクトリの管理と委任モデル
■
Oracle Internet Directory の実装方法
■
Delegated Administration Service(DAS)
■
Oracle9iAS Single Sign-On の概要
■
Oracle9iAS Single Sign-On のコンポーネント
■
Oracle9iAS Single Sign-On の機能の概要
集中ユーザー・プロビジョニングとシングル・サインオン・モデルの概要
Oracle9iAS Infrastructure のインストール時に、Web アプリケーションにアクセスするすべ
てのユーザーとグループは Oracle Internet Directory に作成、格納、管理され、Oracle9iAS
Single Sign-On で認証されます。
このモデルでは、次の手順に従って、ユーザーが作成および認証され、Web アプリケーショ
ンにアクセスできるようになります。
1.
最初に、Web ベースの GUI である Delegated Administration Service を使用してユー
ザーの識別エントリをディレクトリに作成します。この GUI は Oracle Internet
Directory のコンポーネントです。内部のセキュリティ・ポリシーによっては、ユーザー
が独自のエントリを作成したり、集中管理者がユーザーの識別エントリをディレクトリ
に作成することがあります。通常は、管理者がユーザーのエントリを作成し、ユーザー
が電話番号や住所などの情報を変更します。
2.
ユーザーは Oracle9iAS へのアクセスが必要になるたびに中央の企業サーバーに接続し、
Oracle9iAS Single Sign-On にログインします この段階で、ユーザーは自分の名前とパ
スワードを入力します。
3.
Single Sign-On サーバーがディレクトリ内にある情報と照合してユーザーを認証し、
ユーザーのブラウザに Cookie を設定します。
4.
SSO の Cookie をブラウザで使用すると、ユーザーはパーソナライズされた自分のポー
タル・ビューに表示される経費報告書、電子メール、カレンダーなどの利用可能なすべ
ての Web アプリケーションにアクセスできます。
あるいは、ユーザーは特定の Web アプリケーションの URL をブラウザに入力して、
Oracle9iAS Single Sign-On のログイン・ダイアログ・ボックスを表示し、アプリケーション
にアクセスする前に認証を受けることができます。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-9
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
集中ユーザー・プロビジョニングとシングル・サインオン・モデルの利点
集中ユーザー・プロビジョニングとシングル・サインオンは、包括的な Oracle9iAS セキュ
リティ・フレームワークの重要な機能です。さらに、これらの機能によりセキュリティのリ
スクが低減し、セキュリティに携わる管理者と従業員の作業効率が向上します。
Oracle Internet Directory の提供する集中ユーザー・プロビジョニングは LDAP バージョン
3 に準拠するディレクトリです。これにより、ユーザーの識別情報とセキュリティ情報をア
プリケーション・サーバーの様々なコンポーネントに個別に格納して管理する必要がなくな
ります。ユーザーの識別情報やセキュリティ情報はすべて中央リポジトリに格納されるので、
管理者は 1 か所でユーザーを管理することができます。その結果、このような情報の管理に
かかる時間が削減され、ユーザーの識別情報が危険にさらされる可能性も少なくなります。
Oracle9iAS は、Web ベースのアプリケーションへのシングル・サインオン(SSO)もサポー
トしています。ビジネスが SSO の導入を検討する背景には、多くの理由があります。この中
には、企業が従業員、顧客およびパートナによる使用を目的として配置している Web ベー
スの E-Business アプリケーションの使用が増加していることがあります。SSO を使用しない
場合、ユーザーはアクセスするアプリケーションごとに識別情報やパスワードを個別に管理
する必要があります。複数のユーザー名やパスワードを管理しなければならない場合、ユー
ザーはそれらのユーザー名やパスワードを忘れたり、なくしたりしやすくなります。ユー
ザーが様々なアプリケーションや情報に対して複数のユーザー名やパスワードを管理しなけ
ればならない場合、管理者はそれらのユーザー名やパスワードを把握しておく必要がありま
す。つまり、複数のアカウントやパスワードを管理することは危険でコストがかかります。
集中ユーザー・プロビジョニングとシングル・サインオンを使用すると、従業員の作業効率
が向上し、インターネット・インフラストラクチャをセキュアにすることができます。
Oracle Internet Directory の概要
Oracle Internet Directory は、Oracle9iAS でのユーザーとグループの管理を統合します。分散
しているユーザー、グループおよびネットワーク・リソースの情報を取得して格納します。
このディレクトリは、ディレクトリ・サービスのインターネット標準となっている
Lightweight Directory Access Protocol(LDAP)バージョン 3 を実装しています。LDAP は
初期の ISO X.500 Directory Access Protocol(DAP)標準に基づいていますが、その標準を
かなり単純化して、LDAP をより効率の良い、簡単で実装しやすいものにしています。
LDAP は、インターネット環境用に開発された "Thin クライアント " アプリケーションへの
配置に特に適しています。
Oracle Internet Directory はセキュリティ製品ではありません。Oracle9iAS Single Sign-On
のユーザー名やパスワードのようなセキュリティ・データを含む企業データを管理するテク
ノロジです。
各 LDAP ディレクトリ・サーバーのインスタンスは図 2-2 の構成と似ています。
2-10 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
関連項目 : Oracle Internet Directory の詳細は、特に指定されていない限
り、次のドキュメントを参照してください。
■
『Oracle Internet Directory 管理者ガイド』
■
『Oracle Internet Directory アプリケーション開発者ガイド』
■
『Oracle9i Directory Service 統合および配置ガイド』
図 2-2 LDAP サーバー・インスタンスのアーキテクチャ
Oracle9iAS Infrastructure
Oracle Internet Directoryインスタンス
LDAP
リクエスト
Oracle
ディレクトリ・
サーバー
Oracle Net
OID
リスナー/
ディスパッチャ
Oracle Net
リスナー/
ディスパッチャ
Oracle
ディレクトリ・
サーバー
Oracle Net
Oracle
ディレクトリ・
サーバー
Oracle Net
Oracle9iAS
Metadata
Repository
..
.
Oracle9i /
LDAP
クライアント
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-11
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
Oracle Internet Directory におけるセキュリティの概要
Oracle Internet Directory は、ディレクトリ・アクセス制御を広範囲にわたって柔軟にサ
ポートします。この中にはエントリ
エントリ・レベル、属性レベル、およびスクリプトによるアクセ
エントリ
ス制御があり、様々なレベルのセキュリティを提供して企業やサービス・プロバイダ固有の
要求を満たします。管理者は、特定のディレクトリ・オブジェクトやディレクトリ・サブツ
リー全体へのアクセスを許可したり、制御したりすることができます。ディレクトリには、
匿名、パスワードおよび証明書の 3 つのレベルのユーザー認証が実装されていて、認証アク
セスとデータ・プライバシーに Secure Sockets Layer(SSL)バージョン 3 を使用していま
す。
さらに、ディレクトリには企業環境またはホスト環境においてアプリケーション・メタデー
タへのアクセスの制御に使用できる多くの強力な機能があります。アプリケーション・メタ
データとはアプリケーションの動作やそれらのデータにアクセスできる人を統制する情報を
いいます。このためには、ディレクトリを委任管理用に配置します。この配置を使用して、
グローバル管理者は部門管理者がその部門内でアプリケーションのメタデータにアクセスで
きるように設定できます。これらの部門管理者は自部門のアプリケーションへのアクセスを
制御できます。
Oracle Internet Directory には、次の重要なセキュリティに関する利点があります。
セキュリティ上の利点
説明
データ整合性
Oracle Internet Directory は、SSL を使用してデータが送信中に変
更、削除および再実行されていないことを保証します。SSL は暗号
化によるセキュアなメッセージ・ダイジェストを生成します。MD5
アルゴリズムまたは Secure Hash Algorithm(SHA)のいずれかを
使用して暗号チェックサムを生成し、ネットワークを越えて送信さ
れる各パケットに含めます。
データの機密保護
Oracle Internet Directory では、SSL の暗号化を使用してデータが送
信中に不用意に開示されることがないよう保護します。
パスワードの保護
パスワードを保護するため、Oracle Internet Directory では MD4 ア
ルゴリズムをデフォルトで使用します。MD4 は 128 ビット・ハッ
シュまたはメッセージ・ダイジェストを生成する一方向ハッシュ関
数です。
データ・アクセス制御
Oracle Internet Directory では、属性の読取り、書込み、または更
新という属性レベルまでのアクセス制御をサポートしています。
2-12 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
Oracle コンテキスト : ディレクトリの管理と委任モデル
ディレクトリでは、Oracle ソフトウェアに関するすべての情報は Oracle コンテキストと呼
ばれるルート・コンテナに格納されます。Oracle9iAS Infrastructure のインストール時に
Oracle コンテナのスタータが自動的に生成されます。Oracle コンテキストは DIT(ディレク
トリ情報ツリー)の任意のエントリに作成できます。Oracle Net Configuration Assistant は、
ディレクトリ・アクセスを設定するために使用するツールです。Oracle コンテキストを構築
する際のもとになる望ましい場所として、発行されたディレクトリ・エントリのリストを表
示します。
図 2-3 に、Oracle9iAS Infrastructure のインストール時にセットアップされる Oracle コンテ
キストのスタータの概要図を示します。Oracle コンテキストのスタータは、Oracle コンテキ
ストのルートの下に " 製品 " コンテナや " グループ " コンテナがあるディレクトリ・サブツ
リーと非常によく似ています。この図では、" 製品 " コンテナの下に 2 つの製品のコンテナが
あり、さらに DIT に表示される Oracle9iAS 製品すべてに共通するすべてのエントリを保持
するコンテナがあります。
図 2-3 Oracle コンテキスト・スタータのある DIT 構造の概要図
サイト・
ルート
ルート・
Oracle
コンテキスト
サブスクライバのDIT
Subscribers' DIT
製品
Oracle9iAS
Portal
ポータル・
エントリ
委任管理
サーバー
DASエントリ
グループ
共通
すべての
製品に共通
する情報
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-13
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
Oracle Internet Directory の実装方法
Oracle Internet Directory ノードは、Oracle9iAS Metadata Repository 上で動作するアプリ
ケーションとして実装されます。リポジトリは同一システム上にある場合も、別のシステム
上にある場合もありますが、Oracle Internet Directory はプラットフォームに依存しない
Oracle データベース接続ソリューションの Oracle Net Service を使用してリポジトリと通信
します。図 2-4 に、この関連を示します。
図 2-4 Oracle Internet Directory のアーキテクチャ
Oracle9iAS
LDAPクライアント
Oracle9iAS
Infrastructure
Oracle
Internet
Directory
サーバー
ディレクトリ管理
SSLを介した
LDAP
Oracle Net
接続
Oracle9iAS
Metadata
Repository
2-14 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
Delegated Administration Service(
(DAS)
)
DAS は Web ベースの GUI ツールです。このツールを使用すると、ディレクトリ管理者は
ユーザーを作成し、ユーザーは管理者の介入なしに住所、電話番号、写真など自分の個人
データを変更できます。ユーザーは DAS を使用してアクセス権のあるディレクトリのその他
の部分を検索できるので、管理者はその他のタスクを自由に実行できます。
このツールはサーブレットと呼ばれる小さな Java プログラムに依存しています。サーブレッ
トはクライアントからリクエストを受け取り、ディレクトリにあるデータを取得または更新
して受け取ったリクエストを処理し、クライアントに送り返す結果を生成します。
Oracle9iAS Single Sign-On の概要
Oracle9iAS Single Sign-On(SSO)テクノロジは Web ユーザーにシングル・サインオンを提
供します。このテクノロジは、Oracle9i Application Server の提供する環境のような、複数の
Web ベースのアプリケーションが Oracle9iAS Portal を介してアクセスできる環境で動作す
るように設計されています。SSO に関する Oracle の方針は様々なテクノロジにわたります。
Web ベース・アプリケーションの拡大しつつある分野に対して、オラクル社では Web シン
グル・サインオンの提供に主眼を置いたフレームワーク、Oracle9iAS Single Sign-On を開発
しました。
Oracle9iAS Single Sign-On のアプローチには多くの利点があります。ブラウザ・クライアン
トから Oracle のアプリケーションやツールのような Web ベースのアプリケーションへの標
準プロトコルによるセキュアな SSO を提供します。SSO フレームワークのあらゆる利点を引
き出すパートナ・アプリケーションと、既存の製品やサードパーティ製品をサポートする外
部アプリケーションの両方をサポートしています。パートナ・アプリケーションは SSO フ
レームワーク内で動作し、ユーザー認証は SSO サービスに依存しています。外部アプリ
ケーションは固有のユーザー名とパスワードを継続して使用することができます。
Oracle9iAS Single Sign-On のアプローチは、パートナ・アプリケーションと集中型の
Oracle9iAS Single Sign-On サーバーの両方で作成される Cookie に依存しています。
この項の項目は次のとおりです。
■
Oracle9iAS Single Sign-On のコンポーネント
■
Oracle9iAS Single Sign-On の機能の概要
関連項目 :
■
『Oracle9iAS Single Sign-On 管理者ガイド』
■
『Oracle9iAS Single Sign-On アプリケーション開発者ガイド』
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-15
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
Oracle9iAS Single Sign-On のコンポーネント
Oracle9iAS Single Sign-On は、次の項で説明するコンポーネントで構成されています。
■
Oracle9iAS Single Sign-On サーバー
■
mod_osso
Oracle9iAS Single Sign-On サーバー
Oracle9iAS Single Sign-On サーバーは Oracle9iAS SSO テクノロジのコアとなるものです。
Oracle9iAS Single Sign-On サーバーは、mod_osso を介して Oracle HTTP Server と統合され
ています。mod_osso は HTTP サーバーのプラグイン・モジュールであり、SSO の必要な
HTTP リクエストを、最初の認証のために Single Sign-On サーバーにルーティングします。
また、Oracle9iAS Single Sign-On によって、Oracle Internet Directory にあるユーザー情報
を管理できるようになります。Oracle9iAS Single Sign-On を、その他の Oracle 以外のアプリ
ケーション用 SSO テクノロジと統合することもできます。PKI クライアント認証をサポート
しているので、様々な Web アプリケーションで PKI 認証を実行することができます。API
を介して、Oracle9iAS Single Sign-On を、Netegrity Site Minder などのサードパーティの認
証メカニズムと統合することもできます。
Oracle9iAS Single Sign-On は、次の 2 種類のアプリケーションで使用することができます。
■
■
パートナ・アプリケーション パートナ・アプリケーションは認証を Single Sign-On サー
バーに委任するように設計または変更されています。パートナ・アプリケーションは
Oracle9iAS Single Sign-On の認証サービスを利用しているので、独自に認証モジュール
を実装する必要はありません。
外部アプリケーション 外部アプリケーションは固有のユーザー名とパスワードを保持す
るアプリケーションで、ユーザー認証の役割を Oracle9iAS Single Sign-On に委任しま
せん。これらのアプリケーションは、SSO フレームワーク内で動作するように開発およ
び変更されていません。一般的な外部アプリケーションは、カスタム・サービスへのア
クセスにユーザー名とパスワードを必要とするポータル Web サイトのような、サード
パーティが開発または配置したものを指します。
mod_osso
Oracle9iAS Single Sign-On の mod_osso コンポーネントは、Oracle HTTP Server にプラグイ
ンされるモジュールです。このモジュールを使用すると、HTTP リスナーはパートナ・アプ
リケーションとして Single Sign-On サーバーを使用してユーザーを認証できるようになりま
す。mod_osso をインストールして設定すると、Web アプリケーションは SSO 認証を必要と
する URL をモジュールに登録できるようになります。HTTP サーバーが URL リクエストを
受け取ると、mod_osso は SSO 認証を必要とするリクエストを検出して Single Sign-On サー
バーにリダイレクトします。Single Sign-On サーバーはユーザーを認証すると、ユーザーの
認証された ID をセキュア・トークンまたは Cookie で mod_osso に戻します。このモジュー
ルはユーザーの ID を Cookie から取得し、ユーザーの識別情報を HTTP サーバー・インス
タンスで実行されているアプリケーションに伝播します。このモジュールはユーザーの識別
情報を CGI や Oracle9iAS Containers for J2EE で実行されているアプリケーションに伝播し、
ユーザーの静的ファイルへのアクセスを認証することができます。
2-16 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
注意 : ほとんどのアプリケーションについては、Oracle9iAS で
Oracle9iAS Single Sign-On を利用するときには、mod_osso を使用するこ
とをお薦めします。
Oracle9iAS Single Sign-On の機能の概要
この項の項目は次のとおりです。
■
最初の認証
■
パートナ・アプリケーションへの認証
■
外部アプリケーションへの認証
■
LDAP との統合
■
PKI のサポート
■
多層統合
最初の認証
ユーザーは、mod_osso を含むパートナ・アプリケーションに初めてアクセスしようとする
と、Oracle9iAS Single Sign-On にリダイレクトされます。Oracle9iAS Single Sign-On はユー
ザーが SSO の Cookie のセットを持っているかどうかを確認し、持っていない場合はユー
ザー名とパスワードを送信して認証を受けるようリクエストします。ユーザーがそれらを送
信すると、Oracle9iAS Single Sign-On はパスワードが正当なものであるかを確認してユー
ザーのブラウザに SSO の Cookie を設定します。 その後、クライアントは Oracle9iAS
Single Sign-On を使用したすべての HTTP 通信でこの Cookie を送信し、自分を認証するこ
とにより Cookie が有効な間は再認証しなくても済むようにします。2-19 ページの図 2-5 に、
Oracle9iAS Single Sign-On でパートナ・アプリケーションが認証される様子を示します。
SSO の Cookie は Oracle9iAS Single Sign-On で暗号化されるので、第三者に設定されたり読
み取られることはありません。Cookie は、管理者の設定した一定の時間(通常は 8 時間)が
経過するか、ユーザーがブラウザをシャットダウンすると有効期限切れになります。SSO の
Cookie は永続的なものではなく、ブラウザがシャットダウンされると削除されます。
Oracle9iAS Single Sign-On サーバー、ブラウザ・クライアントおよびアプリケーションの間
でのやり取りはすべて標準の HTTP で行われることに注意してください。Cookie をサポート
すること以外、クライアントに必要な特別な要件はありません。Oracle9iAS Single Sign-On
サーバーとクライアントの間で SSL を有効にして、ユーザー名、パスワードおよび SSO の
Cookie が、Oracle9iAS Single Sign-On サーバーにスプーフィング攻撃を仕掛ける恐れのあ
る第三者に傍受されないようにすることをお薦めします。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-17
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
パートナ・アプリケーションへの認証
ユーザーが認証され SSO の Cookie が設定されると、Oracle9iAS Single Sign-On はユーザー
をパートナ・アプリケーションにリダイレクトし、暗号化したトークンをパートナ・アプリ
ケーションの URL に含めます。このトークンにはユーザーの識別情報とセッション情報が含
まれます。トークンは Oracle9iAS Single Sign-On とパートナ・アプリケーションだけが共有
するキーで暗号化されます。これにより、トークンが本物であり Oracle9iAS Single Sign-On
で作成されたものであることをパートナ・アプリケーションに保証することができます。
パートナ・アプリケーションは URL トークンを受け取って復号化し、認証されたユーザー
にアプリケーションへのアクセスを許可するかどうかを決定します。アクセスを許可するに
は、ユーザーのブラウザにパートナ・アプリケーションの Cookie を設定します。クライア
ントは、パートナ・アプリケーションの Cookie を後続の HTTP リクエストとともにパート
ナ・アプリケーションへ送信します。これにより、アプリケーションはユーザーを
Oracle9iAS Single Sign-On にリダイレクトして認証を受けなくてもユーザーを識別してアク
セスを許可することができます。 SSO の Cookie と同様に、パートナ・アプリケーションの
Cookie も一定の時間が経過すると有効期限が切れます。SSO の Cookie と異なるのは、パー
トナ・アプリケーションの Cookie には永続性のあるものとないものがあること、つまりブ
ラウザがシャットダウンした後も有効なままのものとそうでないものがあることです。パー
トナ・アプリケーションの Cookie の有効期限はアプリケーションが決定するので、SSO の
Cookie の有効期限と異なることがあります。2-19 ページの図 2-5 に、パートナ・アプリケー
ションでの認証がどのように行われるのかを示します。
SSO の Cookie と同様に、SSL 暗号化を使用してブラウザとパートナ・アプリケーション間
での Cookie の交換を保護するようお薦めします。
2-18 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
図 2-5 Oracle9iAS Single Sign-On におけるパートナ・アプリケーションへの認証
1
7
2
6
ブラウザ
3
パートナ・
アプリケーションA
Single Sign-On
Enter your Single Sign-On User name and password to login.
User name
Password
4
ユーザー名
5
パスワード
Oracle
Internet
Directory
Single Sign-On
サーバー
1.
ユーザーがパートナ・アプリケーション A にアクセスします。アプリケーション A は、
アプリケーション A の Cookie がないのでユーザーが認証されていないと判断します。
2.
パートナ・アプリケーション A はユーザーを Single Sign-On サーバーにリダイレクト
します。
3.
Single Sign-On サーバーはユーザー名とパスワードのページを表示し、これらの情報を
入力するようユーザーに要求します。
4.
Single Sign-On サーバーはパスワードが正当なものであるかを確認し、Single Sign-On
サーバーへの認証のために SSO の Cookie をユーザーのブラウザに設定します。
5.
SSO の接続情報は Oracle Internet Directory に格納されます。
6.
Single Sign-On サーバーはユーザーを暗号化トークンとともにパートナ・アプリケー
ション A にリダイレクトし、ユーザーをアプリケーションに認証します。
7.
パートナ・アプリケーション A はアプリケーションの Cookie をユーザーのブラウザに
設定します。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-19
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
外部アプリケーションへの認証
外部アプリケーションは認証された ID を Oracle9iAS Single Sign-On から直接受け入れるこ
とはできません。Oracle9iAS Single Sign-On は Web フォームで SSO をサポートしている外
部アプリケーションに SSO を提供します。Oracle9iAS Single Sign-On は外部アプリケーショ
ン固有のユーザー名とパスワードを Oracle9iAS Single Sign-On の表で保持するパスワード・
ストアを使用して SSO を提供します。この表へのアクセスは Oracle9iAS Single Sign-On に
より制限され、パスワードは暗号化でさらに保護されています。Oracle9iAS Single Sign-On
により認証されたユーザーが外部アプリケーションにアクセスする必要がある場合、
Oracle9iAS Single Sign-On はその指定されたアプリケーション用のユーザーのユーザー名と
パスワードをパスワード・ストアから取り出して適切な Web フォームにセットし、アプリ
ケーションに送信します。これをユーザーが意識することはありません。2-20 ページの図 2-6
に、外部アプリケーションへの認証がどのように行われるのかを示します。
Oracle9iAS Single Sign-On と外部アプリケーションの間で SSL 暗号化を使用して、アプリ
ケーションのパスワードがネットワーク内で露呈しないようにします。
図 2-6 Oracle9iAS Single Sign-On における外部アプリケーションへの認証
外部
アプリケーション
ブラウザ
1
3
2
Single Sign-On
サーバー
1.
ユーザーが外部アプリケーションへのアクセスを要求します。アプリケーションはユー
ザーを Single Sign-On サーバーにリダイレクトします。
2.
Single Sign-On サーバーは外部ユーザー名とパスワードを検索します。
3.
Single Sign-On サーバーは外部ユーザー名とパスワードを外部アプリケーションに送信
します。
2-20 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
LDAP との統合
LDAP ディレクトリは、ユーザーに関する企業規模情報の単一ソースとして使用されること
が多くなっています。これらのディレクトリは、企業内で複数のアプリケーションまたは
サービスを使用するユーザーのプロビジョニング(作成および構成)と管理に役立つメカニ
ズムを提供します。これは、LDAP が広くサポートされているインターネット標準プロトコ
ルであること、および LDAP ディレクトリが企業内のどこからでもアクセスできるユーザー
情報の便利な単一ソースとして使用できることによります。Oracle Internet Directory はセ
キュア、高速、スケーラブルで可用性の高いディレクトリ・サービスなので、このタイプの
アプリケーションに特に適しています。
Oracle9iAS Single Sign-On を使用すると、Oracle Internet Directory で SSO のユーザー名と
パスワードを検証できます。特に指定しない限りこれがデフォルトです。ユーザーが SSO の
ユーザー名とパスワードを最初の認証の一部として送信すると、Oracle9iAS Single Sign-On
はこのユーザー名とパスワードを使用して LDAP 経由で Oracle Internet Directory と照合し
ます。LDAP の照合が成功すると、SSO のユーザー名とパスワードが検証されたと見なされ
ます。
PKI のサポート
PKI 認証は多くのアプリケーションでパスワードのかわりに使用されるようになってきまし
た。Web ベースのアプリケーションでは、PKI 認証は通常、X.509 証明書を交換することに
より、Secure Sockets Layer(SSL)セッションの利用の一部として行われます。 証明書を
持っているユーザーはパスワードを入力しなくても複数のアプリケーションを認証すること
ができるので、PKI 自体を SSO の提供のために使用できます。
ユーザーは PKI を使用して Oracle9iAS Single Sign-On の認証を受けることができます。
Oracle9iAS Single Sign-On がサポートする Web ベースのアプリケーションと PKI を使用で
きるその他のアプリケーションの両方に SSO が提供されます。SSO のユーザー名とパスワー
ドを提供するかわりに、ユーザーはクライアントとサーバーの X.509 証明書を交換して SSL
で Oracle9iAS Single Sign-On の認証を受けることができます。パートナ・アプリケーション
と外部アプリケーションへの認証は、前に説明したように Cookie ベースのアプローチで行
われます。ディレクトリは証明書の ID を SSO ユーザー名に翻訳します。
注意 : 証明書の ID を SSO のユーザー名に翻訳するには、その証明書が
ディレクトリにあるユーザーのエントリにユーザー属性としてあらかじめ
追加されている必要があります。
このアプローチの利点は、Oracle9iAS Single Sign-On が PKI を使用できるときは
Oracle9iAS Single Sign-On フレームワーク内で実行されるアプリケーションも自動的に PKI
が有効になることです。Oracle Internet Directory は名前マッピングの役割を引き受けます。
さらに、Cookie を受け取って確認するのに必要なシステム・リソースが SSL の交換よりも
少ないので、SSO フレームワークへの最初の認証に PKI を使用してパートナ・アプリケー
ションへの認証に Cookie を使用すると、PKI だけの認証アプローチよりもパフォーマンス
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-21
Oracle9iAS での集中ユーザー・プロビジョニングとシングル・サインオン
が向上します。短期間のセッションが多い Web アプリケーションでは、この方法はサーバー
のパフォーマンスとスループットの向上につながります。
最後に、PKI で Oracle9iAS Single Sign-On を有効にすると、ユーザーは PKI を使用して
Oracle Application に認証することができます。この方法では、Oracle アプリケーションは
パートナ・アプリケーションとして SSO フレームワークに参加できます。
多層統合
Oracle9iAS Single Sign-On は、Web クライアントにアクセスするための SSO を Web サー
バーに提供します。Web サーバーは多層アーキテクチャの中間層として配置され、バックエ
ンド層のデータベースへのアクセスを提供することが多くなってきました。データベースへ
のアクセスを要求する Web アプリケーションのユーザーは、そのデータベースに格納され
ているデータにアクセスするためにデータベースのユーザー名とパスワードを入力する必要
はありません。Oracle9iAS Single Sign-On は Web ベース以外のアプリケーションをサポー
トしていませんが、Oracle データベースには多層アーキテクチャによるデータベースへのセ
キュアなアクセスをサポートするよう特別に設計された機能があります。
Oracle9iAS には、データベースにアクセスしてデータベース上でアプリケーションを起動す
る多くのメカニズムがあります。これらの中で最も一般的に使用されているものは、Oracle
HTTP Server にプラグインされる Fat クライアントの JDBC と mod_plsql です。これによ
り、Oracle9iAS は Oracle データベース・プログラミング言語の PL/SQL で記述されたデー
タベース・アプリケーションを起動することができます。Fat クライアントの JDBC と mod_
plsql は Oracle クライアント - サーバー・ネットワーク・プロトコルの Oracle Net を使用し
て Oracle データベースにアクセスできるので、Fat クライアントの JDBC または mod_plsql
を使用する開発者は Oracle9i Database のオプションである Oracle Advanced Security を使
用することができます。暗号化、整合性の保護および厳密な認証を提供する Oracle
Advanced Security を使用して、Oracle9iAS と Oracle データベース間のデータ交換を保護す
ることができます。
関連項目 :
■
9-6 ページの「mod_plsql によるデータベース・アプリケーション・ア
クセスの保護」
■
『Oracle9i Application Server mod_plsql ユーザーズ・ガイド』
■
『Oracle Advanced Security 管理者ガイド』
2-22 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での認可、認証および SSL
Oracle9iAS での認可、認証および SSL
アプリケーション・サーバーの主要な各コンポーネントは、SSL を使用せずにユーザーを認
可および認証する一連の基本セキュリティ・サービスを備えています。このサービスは単独
で使用することも、その他のコンポーネントと連携して使用することもできます。この項で
は、次の Oracle9iAS コンポーネントで使用できる基本セキュリティ・サービスについて説
明します。
■
Oracle HTTP Server のセキュリティ
■
Oracle Wallet Manager の概要
■
Oracle9iAS Portal のセキュリティの概要
■
JAAS のセキュリティ
■
Oracle9iAS Web Cache のセキュリティ
Oracle HTTP Server のセキュリティ
Oracle HTTP Server は Oracle9iAS の Web サーバー・コンポーネントです。Oracle HTTP
Server は、Apache HTTP Server をベースにしています。Apache のオープン・ソース Web
サーバーは最も広く採用されている Web サーバー製品の1つです。多くの既存のアプリ
ケーションをサポートし、フレキシブルで汎用的なセキュリティ・モデルを提供します。
Apache はセキュアなアプリケーションを配置するために十分にテストされたプラット
フォームです。Apache に詳しいユーザーの方々であれば、Oracle HTTP Server を使用して
セキュアな Web サイト・アプリケーションを構築して配置することが容易に行えることが
わかるはずです。
この項では、次の項目における Oracle HTTP Server のセキュリティ機能について説明しま
す。
■
Oracle HTTP Server セキュリティ・サービスの概要
■
Oracle HTTP Server によるアクセス制御、ユーザー認証および認可
■
ユーザーの認証と認可
■
Oracle HTTP Server での Secure Sockets Layer(SSL)と PKI
■
Oracle HTTP Server を使用した Oracle データベースへのセキュアなアクセス
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-23
Oracle9iAS での認可、認証および SSL
Oracle HTTP Server セキュリティ・サービスの概要
Oracle HTTP Server は module の短縮形を表す "mod" と呼ばれる様々な標準の拡張機能で、
Apache を拡張します。その中にはオラクル社が開発した mod も含まれています。Web ブラ
ウザのあるユーザーは標準の Web プロトコルを使用して Oracle9iAS にアクセスできます。
HTTP とセキュアな HTTP、つまり HTTPS をサポートする HTTP リスナーがあり、標準の
HTTP 形式で情報をユーザーに提供します。静的 Web ページと動的コンテンツの両方にアク
セスできます。
Oracle HTTP Server セキュリティ・サービスには、Basic 認証、クライアントの提供する
X.509 証明書、および IP アドレスまたはホスト名アドレスで作成されたユーザーの識別情報
に基づいてファイルやサービスへのアクセスを禁止または許可する機能があります。
Oracle HTTP Server セキュリティのもう 1 つの重要な機能に、クライアントとサーバー間で
交換されるデータの保護があります。この機能は SSL プロトコルによって提供され、データ
の整合性およびユーザーと HTTP サーバーの厳密な認証を提供します。
さらに、Oracle HTTP Server は侵入の企てを検出して解決するのに必要なロギングやその他
の機能を備えています。HTTP サーバーがシングル・サインオン・サービスへのリクエスト
を受け取って Oracle9iAS Single Sign-On サーバーにルーティングできるようにする mod_
osso など、その他の Oracle9i Application Server コンポーネントとの統合も提供します。
Oracle HTTP Server は、Oracle アプリケーションやデータベースなど、その他の Oracle 製
品とも良好に統合されています。このようにして、Oracle HTTP Server は Web アプリケー
ションを開発して配置するための包括的なセキュリティ・サービスを提供します。
関連項目 :
■
■
■
■
HTTP サーバーを SSL 用に設定する方法については、第 4 章「HTTP
サーバーのセキュリティの設定」を参照してください。
mod_osso およびシングル・サインオン・サービスについては、第 3
章「Oracle9iAS Single Sign-On の設定」を参照してください。
HTTP サーバーと Oracle データベース間でのセキュアな通信について
は、第 9 章「Oracle9i Application Server によるセキュアなデータ
ベース・アクセスの構成」を参照してください。
HTTP サーバーの設定と使用方法の詳細は、
『Oracle HTTP Server 管理
者ガイド』を参照してください。
2-24 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での認可、認証および SSL
Oracle HTTP Server によるアクセス制御、ユーザー認証および認可
モジュールまたは URL リクエストは Oracle HTTP Server に届くと、多くの Web サーバー
に共通するプラグイン・アーキテクチャによって実装されている多数のステップで処理され
ます。
アクセス制御 Oracle HTTP Server のアクセス制御は Apache アクセス制御メカニズムに基
づいています。サーバーの管理者は、サーバー上の特定のファイル、ディレクトリまたは
URL へのアクセスを禁止することができます。サーバー上の制限されている各オブジェクト
について、管理者はメインの構成ファイル httpd.conf にあるディレクティブを使用して、
要求者に関連付けられた 1 つ以上の属性に基づいてオブジェクトへのアクセスを拒否または
許可することができます。管理者は deny、allow、order などのディレクティブを構成し、
ホスト名、IP アドレス、ブラウザのタイプなどのユーザー属性に基づいて、それ以上の処理
を禁止することができます。制限は、特定のファイル、ディレクトリまたは URL 形式に適用
することができます。
注意 : Oracle HTTP Server はオープン・ソース Apache サーバーに基づ
いていますが、セキュリティを向上させるアクセス制御の拡張が行われて
います。たとえば、Apache サーバーでは接尾辞 .htaccess の付いている
ファイルを使用してディレクトリまたはフォルダごとにアクセスを制限で
きます。.htaccess を処理するとセキュリティの問題が発生し、パ
フォーマンスを低下させることがあるので、これらのファイルの処理は
Oracle HTTP Server では無効になっています。
ユーザーの認証と認可 多くのアプリケーションでは、ユーザーの識別情報に基づいて Web
サーバー上のリソースへのアクセスを制御する必要があります。Oracle HTTP Server には、
X.509 証明書、ユーザー名とパスワードのペア(基本認証)
、およびその他のフォームを使用
した Single Sockets Layer(SSL)を介したクライアント認証など、ユーザー認証のためのメ
カニズムがあります。サーバー管理者は httpd.conf ファイルにある構成ディレクティブを
使用して、特定の URL へのアクセスが特定のユーザーに制限されるように指定することが
できます。
Oracle HTTP Server での Secure Sockets Layer(
(SSL)と
)と PKI
Secure Sockets Layer は、Oracle HTTP Server とクライアント・ブラウザ間にポイントツー
ポイントのセキュリティを提供します。SSL の提供するセキュリティ関連のサービスには、
認証、認可、機密保護、データ整合性などがあります。HTTP サーバーは、オラクル社が開
発した mod_ossl と呼ばれるモジュールを使用して SSL をサポートします。PKI も実装する
必要がある場合は、Oracle Wallet Manager を使用して証明書を要求、格納および管理する
ことができます。これらの機能については次の項で説明します。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-25
Oracle9iAS での認可、認証および SSL
mod_ossl この Oracle HTTP Server モジュールは HTTP サーバーへのプラグインで、その
サーバーが SSL を使用できるようになります。OpenSSL モジュールの mod_ssl とよく似て
います。ただし、OpenSSL モジュールとは対照的に、mod_ossl は SSL バージョン 3 をサ
ポートする Oracle 実装および Certicom 社と RSA Security 社のテクノロジに基づいていま
す。
関連項目 :
■
■
mod_ossl とその使用方法の詳細は、4-10 ページの「ユーザーを認証す
る Secure Sockets Layer (SSL)の使用」を参照してください。
Oracle9iAS における証明書の使用方法の詳細は、2-27 ページの
「Oracle Wallet Manager の概要」を参照してください。
Oracle HTTP Server を使用した Oracle データベースへのセキュアなアク
セス
Oracle9iAS では、Oracle データベース・バックエンド・リポジトリを使用して多層システ
ムを簡単に構築することができます。Oracle9iAS には、データベースにアクセスしてデータ
ベース上でアプリケーションを起動する多くのメカニズムがあります。これらの中で最も一
般的に使用されているものは、Oracle HTTP Server にプラグインされる JDBC と mod_plsql
です。これにより、アプリケーション・サーバーは Oracle データベース・プログラミング
言語の PL/SQL で記述されたデータベース・アプリケーションを起動することができます。
mod_plsql は Oracle クライアント・サーバー・ネットワーク・プロトコルを使用して
Oracle データベースにアクセスできるので、mod_plsql を使用する開発者は Oracle
Advanced Security の利点を活用して、Oracle9iAS と Oracle データベース間でのデータの交
換を保護することができます。Oracle Advanced Security は、暗号化、整合性の保護および
厳密な認証サービスを Oracle データベースのクライアントとサーバーに提供します。SSL の
ような業界標準の暗号化プロトコル、および RSA RC4、DES、および 3DES を含む標準暗号
化アルゴリズムをサポートしています。
Oracle9i データベースのプロキシ認証を使用することもできます。これは 3 層アプリケー
ション設計に関連するパフォーマンスの問題に対処するよう設計されています。特に、
Oracle9iAS が Oracle9i データベースにアクセスし、アプリケーション・サーバーがユー
ザーのコンテキストを切り替えるたびにログアウトして再度ログインする必要なしに、特定
のデータベース・ユーザー権限を取得できます。プロキシ認証を使用すると、アプリケー
ション・サーバーは Fat クライアントの JDBC または mod_plsql を Oracle9i データベースと
ともに使用して単一認証セッションを構築することができます。個別の認証接続情報をセッ
ション内の各ユーザーに送信することを必要とせずに複数のユーザーにかわって対応するこ
とができます。さらに、データベースはアプリケーション・サーバーの認証のための識別情
報とアプリケーション・サーバーがかわりにプロキシ認証を行うユーザーの識別情報の両方
を使用できます。このため、プロキシ認証を使用すると、データベースはデータベースでの
スーパー・ユーザー権限を許可する必要なしに、制限付きの信頼を中間層アプリケーショ
ン・サーバーに委任することができます。プロキシ認証は Oracle9i データベースで使用でき
ます。
2-26 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での認可、認証および SSL
関連項目 :
■
9-6 ページの「mod_plsql によるデータベース・アプリケーション・ア
クセスの保護」
■
『Oracle9i Application Server mod_plsql ユーザーズ・ガイド』
■
『Oracle Advanced Security 管理者ガイド』
■
■
プロキシ認証については、
『Oracle9i データベース管理者ガイド』を
参照してください。
中間層サーバーをプロキシ・ユーザー向けに設計する方法について
は、
『Oracle9i アプリケーション開発者ガイド - 基礎編』を参照してく
ださい。
Oracle Wallet Manager の概要
Oracle Wallet Manager は、セキュリティ管理者が Oracle クライアントとサーバーの両方で
公開鍵のセキュリティ接続情報の管理に使用する Java 準拠のアプリケーションです。Oracle
Wallet Manager は、ユーザーの公開鍵と秘密鍵のペアを生成し、接続情報を管理します。
PKCS #10 証明書要求を認証局に発行し、証明書を Wallet にインストールします。VeriSign、
RSA および Baltimore CyberTrust からの信頼できる証明書が付属しているので、サイトの内
部認証局を使用できます。
関連項目 : Oracle Wallet Manager とその使用方法の詳細は、第 5 章
「Oracle Wallet Manager の使用方法」を参照してください。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-27
Oracle9iAS での認可、認証および SSL
Oracle9iAS Portal のセキュリティの概要
この項では、Oracle9iAS Portal のセキュリティの様々な側面について説明します。
■
Oracle9iAS Portal の概要
■
ポータル・ユーザー
■
ポータル・グループ
■
ポータル認証
■
ポータル認可
■
アプリケーションの Oracle9iAS Portal との統合
■
Oracle9iAS Portal の HTTPS サポート
■
Oracle9iAS Portal での監査
関連項目 :
■
■
第 6 章「Oracle9iAS Portal によるセキュリティの設定」
『Oracle9iAS Portal 構成ガイド』
Oracle9iAS Portal の概要
Oracle9iAS Portal は、企業のイントラネットでビジネス情報へのゲートウェイを提供する
企業ポータル・プログラムです。企業ポータル市場をターゲットにしていますが、
Oracle9iAS Portal はより大規模なインターネット・コミュニティへのアクセスを提供するよ
う拡張することもできます。
Oracle9iAS Portal により、Oracle9iAS を使用する顧客は自社の Web コンテンツとアプリ
ケーションを編成し、論理的で一貫性のある Web ポータル・フォーマットをユーザーに提
供することができます。ユーザーを作成して、Oracle9iAS Portal で作成したコンテンツへの
アクセスを管理するための一連のツールも備えています。企業ポータルは、既存の市場ス
ペースの統合と拡張の両面で、次の 3 つの強力なコンポーネントを利用できます。
■
■
■
Oracle データベースに備わっている強力な情報管理テクノロジ。
ERP、カスタマ・リレーションシップ・マネジメント(CRM)
、およびビジネス・イン
テリジェンス(BI)を含む、重要なビジネス・データを管理する広範囲にわたる Oracle
アプリケーションや他のベンダーのアプリケーション。
このテクノロジを活用してアプリケーションをイントラネット上の他のデータストアと
統合するポータル・フレームワーク。
2-28 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での認可、認証および SSL
この項では、Oracle9iAS Portal のセキュリティ機能とアーキテクチャの概要について説明し
ます。Oracle9iAS Portal は、ユーザーがポータルのコンテンツやアプリケーションにアクセ
スするための包括的で拡張可能な認可モデルをユーザーの権限やグループに基づいて提供し
ます。イベント・ログ・サービスによるセキュリティ・イベントの監査もサポートしていま
す。
ポータル・ユーザー
数百万ものユーザーがポータルにアクセスする可能性のあるインターネット・コンピュー
ティング・モデルでは、ユーザーの表示はできる限り軽量である必要があります。多数の
ユーザーと大量のデータをセキュアでスケーラブル、かつフォールト・トレラントな方法で
管理するため、Oracle9iAS Portal は Oracle データベースのセキュリティとデータを管理す
るテクノロジを活用しています。
Oracle9iAS Portal は固有のユーザー・アカウントを定義しています。それらは Oracle デー
タベースに関連付ける固有のデータベース・スキーマを個々に持たないため、" 軽量 " と呼
ばれます。対照的に、Oracle9iAS Portal のユーザー・アカウントは Oracle9iAS Single
Sign-On のユーザー・アカウントと一意に対応しています。Oracle9iAS Portal には、
Oracle9iAS Single Sign-On を使用できるように設定されているアプリケーションのユーザー
を管理するための便利なメカニズムがあります。
インストール後のユーザー Oracle9iAS Portal のインストール時に、ユーザー・アカウント
がデフォルトのセットで作成されます。このセットには、ポータルの管理者用のアカウント
とパブリック・アカウントが含まれています。パブリック・アカウントを使用すると、特定
のポータル・コンテンツがパブリックにアクセスできるようになります。つまり、自分の
Oracle9iAS Portal ユーザー・アカウントを持っていないユーザーや、アカウントは持ってい
るがまだログインしていないユーザーがそのコンテンツにアクセスできます。
関連項目 : Oracle9iAS Portal のインストール時にデフォルトで作成され
るユーザーのリストについては、6-31 ページの表 6-10「Oracle9iAS Portal
のデフォルト・ユーザー」を参照してください。
ポータル・グループ
Oracle9iAS Portal はグループをサポートしています。グループは、2 つの目的で主に使用さ
れます。グループは、1 回の操作で一連のユーザーに権限を付与することができる便利な方
法です。さらに、ポータル・システムの特定の属性をグループに関連付けることができるの
で、ユーザーが自分の環境設定で指定したデフォルトのグループがある場合には、それらの
属性を自分のセッションに適用することができます。属性の例としては、グループのデフォ
ルトのホーム・ページやデフォルトのスタイルがあります。ユーザーは複数のグループに属
することができるので、自分のプロファイルにデフォルトのグループを指定してグループの
環境設定を継承できるようにする必要があります。グループの環境設定を上書きするような
個人の環境設定を指定してはなりません。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-29
Oracle9iAS での認可、認証および SSL
グループにはユーザーだけでなく他のグループが含まれることもあります。これにより、階
層化されたグループを構成することができます。他のグループのサブグループに属するユー
ザーは、グループ・メンバーシップによる親グループのメンバーです。親グループに与えら
れる権限は、サブグループのユーザーも同様に見なされます。
関連項目 : Oracle9iAS Portal のインストール時にデフォルトで作成され
るグループのリストについては、6-31 ページの表 6-11「Oracle9iAS Portal
のデフォルト・グループ」を参照してください。
ポータル認証
Oracle9iAS Portal は、ユーザー認証のために Oracle9iAS SSO のパートナ・アプリケーショ
ンとして実装されます。認証されていないユーザーでも、パブリック・ユーザー・アカウン
トを使って Oracle9iAS Portal 上にある特定のコンテンツにアクセスすることを許可される
場合があることに注意してください。
ポータル認可
認可は、ユーザーの識別情報に基づいて Oracle9iAS Portal の様々な領域へのアクセスを制
御するプロセスです。ユーザーが識別されると、認証プロセスを経た後、Oracle9iAS Portal
はユーザーの識別情報に基づいて適切な認可を決定します。
Oracle9iAS Portal では、一般の Web ユーザーにアクセスできるのか、信頼できるポータル
管理者に限られるのかによって、ポータル・オブジェクトをパブリックまたはプライベート
として定義することができます。パブリックのオブジェクトは、識別情報に基づいてアクセ
ス制御ロジックを実装することができます。この場合、ユーザーの識別情報を Oracle9iAS
Single Sign-On から最初に取得する必要があります。この後は、オブジェクトにアクセスす
るユーザーの権限を決定できます。Oracle9iAS Portal には、ポータル内の各オブジェクトに
ついてアクセス制御リストを定義するために使用される権限の拡張可能なセットがありま
す。
アプリケーションの Oracle9iAS Portal との統合
Oracle9iAS Portal の主要な特徴の 1 つに、様々なアプリケーションをそのフレームワークに
統合し、そのフレームワークを使用して業務アプリケーションにアクセスする人にシームレ
スな体験を提供する機能があります。Oracle9iAS Portal はこの目的のために Oracle9iAS
Single Sign-On を活用し、Portal セキュリティとアプリケーション・セキュリティ間の様々
なレベルでの統合をサポートしています。
Oracle9iAS Portal を実装するとアプリケーションは緊密な統合が行われ、ユーザーの識別情
報が Oracle9iAS Portal から取得されます。これらのアプリケーションはポータル・アプリ
ケーションと呼ばれます。Oracle9iAS Portal は Oracle9iAS Single Sign-On のパートナ・アプ
リケーションで、Single Sign-On サーバーからユーザーの識別情報を取得することができま
す。ポータル・アプリケーションは、ユーザーが Oracle9iAS Single Sign-On で認証される
と、ユーザーの識別情報を直接取得します。
2-30 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での認可、認証および SSL
Oracle9iAS Portal でアクセスできるその他のアプリケーションは、Oracle9iAS Single
Sign-On の項で説明されているように、Oracle9iAS Single Sign-On のパートナ・アプリケー
ションまたは外部アプリケーションです。パートナ・アプリケーションはポータル自体に実
装する必要はありませんが、Oracle9iAS Portal も使用する Oracle9iAS Single Sign-On の認
証フレームワークに参加する必要があります。外部アプリケーションは独自の認証メカニズ
ムを持っていますが、Oracle9iAS Single Sign-On の提供する認証フレームワークにあるディ
レクトリは共有しません。
Oracle9iAS Portal の HTTPS サポート
セキュリティを向上させるため、SSL を介して Oracle9iAS Portal を HTTPS モードで実行す
ることができます。ただし、Oracle9iAS Portal を HTTPS モードで実行すると、SSL のオー
バーヘッドによってこのプログラムのパフォーマンスが大幅に低下します。
Oracle9iAS Portal での監査
無許可でのシステムの使用を示す活動を監視する以外にも、セキュリティに関連するイベン
トの監査が、認可ユーザーがシステムの使用ポリシーを遵守していることを確認して " 忠実
なユーザーを忠実な状態に保つ " ための最も効果的な手段となることがあります。
Oracle9iAS Portal には、特定のセキュリティ・イベントのログを記録したり、ポータル・ア
プリケーションで定義された任意のイベントのログを記録するために呼び出すことのできる
ロギング・サービスがあります。Oracle9iAS Portal のアプリケーション構築機能のレポート
機能を利用してログ・データを表示することができます。イベント・ログを使用してセキュ
リティ・イベントを監査すると、システムのセキュリティを攻撃したり、セキュリティ・ポ
リシーに違反する方法でシステムを使用しようとする試みを事前に検出することができま
す。
Oracle9iAS Portal は Oracle9i データベースで動作します。Oracle9iAS Portal の多くのイベン
トは、監査可能なデータベース・イベントを生成します。
関連項目 : ポータルの認可、認証およびアプリケーション統合の詳細は、
第 6 章「Oracle9iAS Portal によるセキュリティの設定」を参照してくださ
い。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-31
Oracle9iAS での認可、認証および SSL
JAAS のセキュリティ
この項では、JAAS で提供される主要なセキュリティ・サービスについて説明します。
■
JAAS の認証機能
■
JAAS の認可機能
■
JAAS の委任機能
関連項目 :
■
■
第 7 章「JAAS サポートの構成」
『Oracle9iAS Containers for J2EE サービス・ガイド』
JAAS の認証機能
JAAS には、次の 2 つの主要な認証のための機能があります。
■
■
Oracle9iAS Single Sign-On を Oracle9iAS Containers for J2EE と統合するセキュリティ・
サーブレット
顧客が Java アプリケーション用に厳密な認証を開発できる LoginModule
JAAS を使用する最大の利点の 1 つに、アプリケーションを Oracle9iAS Single Sign-On と統
合できることがあります。たいていの Web アプリケーションは、Java で開発されているか
どうかに関係なく、ユーザーの体験を拡張するシングル・サインオンを必要としています。
この統合により、どの Java アプリケーションも Web シングル・サインオンに参加し、
Oracle9iAS Single Sign-On の機能を向上させて Oracle9iAS で実行されるアプリケーション
をサポートすることができます。これらのアプリケーションは、Oracle HTTP Server、
Oracle9iAS Portal、または Oracle9iAS Containers for J2EE を使用するように設計されている
かどうかを問いません。
LoginModule には、拡張可能な Java アプリケーション用の認証があります。開発者は、ア
プリケーションや組織の要求に応じてユーザー定義のカスタム認証モジュールを作成するこ
とができます。たとえば、Java による銀行アプリケーションは、リクエスト / 応答メカニズ
ムのような静的コンテンツのみを提示する Web サイトよりもいっそう厳密な認証を必要と
することがあります。開発者は、アプリケーションをその他の JAAS サービスと統合するリ
クエスト / 応答メカニズムを組み込んだ Login Module を作成できます。
2-32 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS での認可、認証および SSL
JAAS の認可機能
ユーザーがいったん認証されたら、そのユーザーにはジョブの実行に必要な最小限の権限の
みを与えるという最小権限の原則を適用することが重要です。JAAS には次の認可機能があ
ります。
■
Oracle Internet Directory で認可を集中管理する機能
■
XML フォーマットのフラット・ファイルで認可を管理する機能
■
サブスクライバでセキュリティ・ポリシーを区分化する機能
■
階層化されたロールベースのアクセス制御のサポート
■
ユーザーベース・ポリシーとコードベース・ポリシーのサポート
Oracle Internet Directory で認可を管理して取り出す機能により、Java アプリケーションは
Oracle Internet Directory の集中ユーザー・プロビジョニングを利用することができます。こ
うすると、Java アプリケーションは独自のユーザー・リポジトリを作成する必要がないの
で、アプリケーションを配置するコストを低減することができます。ただし、Oracle
Internet Directory にある既存のユーザーと認可の定義を使用することができます。Java アプ
リケーションは Oracle Internet Directory からユーザーのロールを取得することができます。
オプションでロールを階層化、つまり、あるロールを他のロールに割り当てることができま
す。
サブスクライバでセキュリティ・ポリシーを区分化する機能はアプリケーションのホスティ
ングをサポートします。たとえば、各レルム(サブスクライバ)は独自のプライベートな区
分化されたポリシーを独自の管理者で管理するように設定できます。ホスティングされてい
るアプリケーションをサブスクライブしている各組織は、独自のユーザーを作成し、独自の
認可をユーザーに与えることができます。この例では、サブスクライバは他のサブスクライ
バのためにユーザーを作成することはできません。
ユーザーベースとコードベースのポリシーを使用すると、アプリケーションはユーザーが特
定の場所から特定の Java アプリケーションにアクセスするとき、特定の権限のみを与える
ようにすることができます。これにより Java の開発者はセキュリティ・ポリシーを高度に
チューニングできます。たとえば、銀行アプリケーションはユーザーに銀行口座の情報を更
新できるアクセス権を与えます。すべてのユーザーに銀行口座情報の更新を認可するのでは
なく、認可を必要としないユーザーもいるので、アプリケーションはユーザーが銀行アプリ
ケーション・ディレクトリから特定のデジタル署名された Java 銀行アプリケーションにア
クセスするときにだけ銀行情報を更新できるようにする必要があります。
たとえば、次のコードでは、DBPrincipal SCOTT は SCOTT が
http://www.oracle.com/HRApp から LARRY の署名があるアプリケーション・コードを
実行するときにだけ AllPermission の権限を付与されるように指定しています。
grant Principal oracle.security.DBPrincipal "SCOTT"
Codebase "http://www.oracle.com/HRApp" signed "LARRY" {
permission java.security.AllPermission;
}
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-33
Oracle9iAS での認可、認証および SSL
JAAS の委任機能
委任機能は、Enterprise JavaBeans、JSP およびサーブレットでの指定されたユーザー
(RunAsClient および RunAsID の両方)にかわってその役割をサポートします。
RunAsClient は、Enterprise Bean が現在のクライアントに関連付けられた許可を使用して
実行するように設定できることを意味しています。RunAsID は、Enterprise Bean が指定さ
れたユーザーに関連付けられた許可を使用して実行する(たとえば、" DBAdmin " として実
行する)ように設定できることを意味しています。これにより、開発者はアプリケーション
内で " 最小権限 " を適用し、ユーザーが機能の実行に必要な権限だけを与えることができま
す。この方法では、ユーザーはビジネス・トランザクション(Enerprise Bean)に関連付け
られた権限を行使できるだけです。
Oracle9iAS Web Cache のセキュリティ
Oracle9iAS Web Cache は、動的 Web ベース・アプリケーションの処理速度を上げてハード
ウェア・コストを削減することを目的とした革新的なコンテンツ配布ソリューションです。
Oracle HTTP Server の前、またはネットワークの周辺部にグローバルに配置された場合、
Oracle9iAS Web Cache はキャッシュ、圧縮および組立て機能を使用して静的および動的
Web ページのスピードを向上させます。Oracle9iAS Web Cache はサージ・プロテクション、
ロード・バランシング、およびフェイルオーバーの機能も Web サーバーに提供します。共用
すると、これらの機能によりアプリケーションのパフォーマンス、および拡張性と可用性を
確保し、ビジネス・オンラインの運用コスト低減の支援することができます。
Oracle9iAS Web Cache を使用すると、応答時間の向上とインフラストラクチャ・コストの
低下という E-Business の利点を同時に得ることができます。Oracle9iAS Web Cache を使用
すると、E-Business は従来よりも少ないコンピューティング資源で様々なコンテンツをすば
やく、より多くの顧客に提供することができます。
Oracle9iAS のセキュリティ・アーキテクチャの一部として、クライアントからの HTTPS リ
クエストを受け入れて Oracle HTTP Server に送信するよう Oracle9iAS Web Cache を設定す
ることができます。
関連項目 :
■
■
第 8 章「Oracle9iAS Web Cache のセキュリティの 構成」
『Oracle9iAS Web Cache 管理および配置ガイド』
2-34 Oracle9i Application Server セキュリティ・ガイド
次に行うこと
次に行うこと
このマニュアルの以降の章では、Oracle9iAS の主要な要素のセキュリティ機能の概念と構成
について説明しています。必要なソフトウェアがインストールしてあり、アプリケーショ
ン・サーバーのセキュリティ機能を設定する必要がある場合は、このマニュアルの以降の章
をお読みください。
アプリケーション・サーバーの管理についての情報が必要な場合は、
『Oracle9i Application
Server 管理者ガイド』および『Oracle9i Application Server アプリケーション開発者ガイド』
を参照してください。
関連項目 : ここで説明していないセキュリティ実装に関連する問題は、
Oracle9i Application Server プラットフォーム別ドキュメントの Oracle9i
Application Server リリース・ノートを参照してください。
Oracle9i Application Server セキュリティのアーキテクチャと機能
2-35
次に行うこと
2-36 Oracle9i Application Server セキュリティ・ガイド
3
Oracle9iAS Single Sign-On の設定
Oracle9iAS Single Sign-On は、1 つのユーザー名とパスワードを使用して、支出レポート、
電子メール、利益情報などの複数の Web ベース・アプリケーションにログインできるよう
にする Oracle9i Application Server のコンポーネントです。このため、Oracle9iAS Single
Sign-On は、すべての Oracle9iAS 機能のセキュリティ・ゲートウェイの役割を果たします。
この章では、Oracle9iAS Single Sign-On のセキュリティ機能を設定する方法について説明し
ます。また、製品構想の概要についても述べます。
この章の項目は次のとおりです。
■
Oracle9iAS Single Sign-On の概要
■
Oracle9iAS Single Sign-On のセキュリティ機能の設定
■
Single Sign-On サーバーの SSL 有効化
■
デジタル証明書のための Oracle9iAS Single Sign-On の設定
■
タイムアウトの有効化
■
IP チェックの有効化
■
パスワード・ポリシーの管理
Oracle9iAS Single Sign-On の設定
3-1
Oracle9iAS Single Sign-On の概要
Oracle9iAS Single Sign-On の概要
この項では、Oracle9iAS Single Sign-On(以降、英字による Single Sign-On、SSO は
Oracle9iAS Single Sign-On を指します)の主な機能について簡単に説明します。各コンポー
ネントについては、次の項で説明します。
関連項目 : Oracle9iAS Single Sign-On の詳細は、『Oracle9iAS Single
Sign-On 管理者ガイド 』を参照してください。
■
Oracle9iAS Single Sign-On サーバー(Single Sign-On サーバー)
サーバーは、Oracle9iAS データベースのプログラム・ロジックから構成されています。
これによって、ユーザーはシングル・サインオンが可能なアプリケーションに安全にロ
グインできます。
■
シングル・サインオンが可能なアプリケーション
シングル・サインオンが可能なアプリケーションには、パートナ・アプリケーションと
外部アプリケーションの 2 つがあります。パートナ・アプリケーションとは、Single
Sign-On サーバーの認証を委譲するアプリケーションのことです。このようなアプリ
ケーションの例として、Oracle9iAS Portal、Oracle9iAS Discoverer、Oracle9iAS
Reports Services が挙げられます。一方、外部アプリケーションは、再認証が必要となり
ますが、Single Sign-On サーバーがこの機能をユーザーのかわりに実行してくれます。
Yahoo! メールなどが例として挙げられます。
パートナ・アプリケーションの場合、mod_osso と呼ばれる Oracle HTTP Server の認証
モジュールか、または Oracle9iAS Single Sign-On Software Development Kit(SDK)の
いずれかを使用して、最初のユーザー・リクエストを Single Sign-On サーバーにリダイ
レクトし、ユーザーがログインした後に発生するアプリケーション・リクエストの妥当
性をチェックします。mod_osso と統合されたアプリケーションは、実際にはパートナ・
アプリケーションではありません。これは、mod_osso しか Single Sign-On サーバーに
登録されないからです。一方、SDK と統合されたアプリケーションは、個別に登録する
必要があります。
■
mod_osso
Oracle HTTP Server の認証モジュール mod_osso は、パートナ・アプリケーションを統
合するために、Oracle9iAS Single Sign-On の以前のリリースで使用されていた Single
Sign-On SDK のかわりになります。mod_osso は、Oracle9iAS アプリケーションに対す
る認証を透過的に行う Single Sign-On サーバーの唯一のパートナ・アプリケーションと
して機能することによって、認証プロセスを簡略化します。
3-2 Oracle9i Application Server セキュリティ・ガイド
Oracle9iAS Single Sign-On のセキュリティ機能の設定
■
Single Sign-On SDK
Single Sign-On Software Development Kit は、PL/SQL 用と JAVA 用の Application
Program Interface(API)から構成されています。また、これらのインタフェースを実
装する方法を説明したサンプル・コードも含まれています。SDK は、Oracle9iAS とは
別々に出荷されます。このため、この API をパートナ・アプリケーションに組み込む必
要があります。mod_osso によって、これらの API の統合化の負担がアプリケーション
開発者から取り除かれます。
Oracle9iAS Single Sign-On のセキュリティ機能の設定
Oracle9iAS Single Sign-On は、Oracle9iAS Infrastructure のインストールの一部として、自
動的にインストールされます。インストール時に、ユーザーは mod_osso を Single Sign-On
サーバーに登録することを選択できます。あるいは、かわりに SDK を使用するように指定す
ることも可能です。
簡易認証以外に、Oracle9iAS Single Sign-On には、いくつかのセキュリティ機能が用意され
ています。これらの機能は、企業でその使用を選択した場合、インストール後に設定を行う
必要があります。これらの機能には、次のようなものがあります。
■
Secure Sockets Layer(SSL)
■
デジタル証明
■
グローバル・ユーザーの非アクティブのタイムアウト
■
IP チェック
パスワード・ポリシーなど、その他の Oracle9iAS Single Sign-On のセキュリティ機能は、
Oracle Internet Directory で管理されます。
この章の残りの部分で、これまでに列挙したセキュリティ機能を設定する方法について説明
します。
関連項目 :
■
■
この項目の詳細は、
『Oracle9iAS Single Sign-On 管理者ガイド』を参
照してください。
特に、Single Sign-On サーバーと Oracle Internet Directory 間におい
て、SSL による接続を必要とする場合は、
『Oracle9iAS Single Sign-On
管理者ガイド』の第 3 章を参照してください。
Oracle9iAS Single Sign-On の設定
3-3
Single Sign-On サーバーの SSL 有効化
Single Sign-On サーバーの SSL 有効化
インストール時に、Single Sign-On サーバーを Secure Sockets Layer(SSL)用に有効化する
ことができます。管理者がこのオプションを選択していない場合は、手動で SSL を設定する
必要があります。
SSL 用の Single Sign-On サーバーを設定するには、次の手順を実行します。
1.
SSL を使用するために、Oracle HTTP Server を設定します。
関連項目 : SSL を使用するための Oracle HTTP Server の設定手順は、
4-10 ページの「ユーザーを認証する Secure Sockets Layer (SSL)の使用」
を参照してください。
2.
Single Sign-On の URL 内にあるすべての HTTP のリファレンスを HTTPS に変更しま
す。このために、ssocfg.sh というスクリプトが用意されています。このスクリプト
は、次の場所に格納されています。
IAS_HOME/sso/bin
次の構文を使用して、コマンドを入力します。
ssocfg.sh protocol new_host new_port [sso_schema_name]
この場合、protocol が https になります(HTTP に戻す場合は、http を使用してくだ
さい)
。new_host パラメータは、Single Sign-On サーバーの Web リスナーのホスト名で
す。新しいホスト名を割り当てるか、既存のホスト名を使用します。new_port パラメー
タはリスナーのポート番号で、sso_schema_name は Single Sign-On スキーマの名前です。
デフォルトのスキーマ名は、orasso になります。構文のこの最後のパラメータは、オプ
ションで指定します。
次の例のようになります。
ssocfg.sh https login.acme.com 443
ポート 443 は、Single Sign-On 用のデフォルトの SSL ポート番号です。
3.
SSL を使用するために、Single Sign-On の URL を保護します。dads.conf ファイルで、
次の HTTP ディレクティブを使用し、SSL を使用する Single Sign-On DAD を保護しま
す。
<IfDefine SSL>
<Location /pls/orasso>
SSLRequireSSL
</Location>
</IfDefine>
dads.conf ファイルは、次の場所に格納されています。
IAS_HOME/Apache/modplsql/conf/dads.conf
3-4 Oracle9i Application Server セキュリティ・ガイド
デジタル証明書のための Oracle9iAS Single Sign-On の設定
デジタル証明書のための Oracle9iAS Single Sign-On の設定
Oracle9iAS Single Sign-On のユーザーは、認証のための SSO のユーザー名やパスワードの
かわりに、デジタル証明書を使用することができます。この形式の認証では、Secure Sockets
Layer(SSL)上のクライアントとサーバー間で、X.509 証明書の交換が行われます。
Oracle9iAS Single Sign-On は、クライアント証明書の有無に関わらず、SSL 用に設定するこ
とができます。1 つ目のオプションであるサーバー認証の場合、セキュリティのレベルが高
くなります。しかし、ユーザーのパスワードは、当て推量や総当たりによる攻撃の被害を受
ける可能性があります。一方、クライアントとサーバーの両側で行う証明書ベースの認証の
場合、データを探し当てたり変更したりすることや、ユーザーのふりをしてクライアントや
サーバーに侵入することは困難になっています。
この項の項目は次のとおりです。
■
システム要件
■
タスクの設定
システム要件
証明書が使用できるシングル・サインオンを続行するには、次の条件を満たす必要がありま
す。
■
■
■
■
■
Single Sign-On サーバー、Oracle Internet Directory、Oracle9iAS リリース 2(9.0.2)を
インストールしておく必要があります。
Oracle HTTP Server に、有効なサーバー証明書をインストールしておく必要がありま
す。
SSO のユーザー名、またはニックネーム、さらにオプションでこのユーザー名のサブス
クライバ名に関する情報を含むように、クライアント証明書の識別名(DN)を指定す
る必要があります。たとえば、DN 内の cn 属性は、ユーザーのニックネームになります
(cn=jsmith)
。o 属性は、ユーザーのサブスクライバ名です(o=acme)
。
Single Sign-On サーバーに、信用できる証明書として、クライアント証明書発行者の証
明書をインストールする必要があります。
ユーザーのブラウザに、信用できる証明書として、サーバー証明書発行者の証明書をイ
ンストールする必要があります。
Oracle9iAS Single Sign-On の設定
3-5
デジタル証明書のための Oracle9iAS Single Sign-On の設定
タスクの設定
証明書が使用できるシングル・サインオンは、Oracle9iAS のデフォルト・オプションではな
いため、手動で設定する必要があります。設定には、次のコンポーネントが必要です。
■
Oracle HTTP Server(SSL)
■
Single Sign-On DAD(mod_plsql)
■
ユーザー名のマッピング・モジュール
■
Oracle Internet Directory
■
Single Sign-On サーバー
Oracle HTTP Server(
(SSL)
)
Oracle HTTP Server を設定するには、次のパスを使用して、サーバー構成ファイルに移動し
ます。
IAS_HOME/Apache/Apache/conf/httpd.conf
httpd.conf ファイルの SSL 用 VirtualHost のセクションに、表 3-1 のパラメータを追加し
ます。
表 3-1 Oracle HTTP Server 証明書が使用できるシングル・サインオン用パラメータ
パラメータ
説明
ServerName
SSL に使用できるサーバーの名前。
SSLEngine [on | off]
SSLEngine パラメータを on に設定すると、SSL 用にサー
バーを使用できます。
SSLWallet file:
サーバーの Wallet の位置またはパス。
SSLVerifyClient
クライアント証明書の検証型。オプションには、次のようなもの
があります。
■
none— 証明書なしの SSL
■
optional— サーバー証明書のみ
■
require— サーバー証明書とクライアント証明書
3-6 Oracle9i Application Server セキュリティ・ガイド
デジタル証明書のための Oracle9iAS Single Sign-On の設定
正しく設定すると、httpd.conf ファイルの SSL 用 VirtualHost のセクションは、次の例のよ
うになります。
## SSL Virtual Host Context
##
#
# file otherwise your virtual host will not respond to SSL requests.
#
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "/private/oracle/work/Apache/Apache/htdocs"
ServerName hostname
ServerAdmin [email protected]
ErrorLog /pivate/oracle/work/Apache/Apache/logs/error_log
TransferLog /private/oracle/work/Apache/Apache/logs/access_log
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
#
#
#
#
Server Wallet:
The server wallet contains the server's certificate, private key
and trusted certificates. Set SSLWallet at the wallet directory
using the syntax: file:<path-to-wallet-directory>
SSLWallet file:/private/iAS/wallet
# Certificate Revocation Lists (CRL):
# Set the CA revocation path where to find CA CRLs for client
# authentication or alternatively one huge file containing all
# of them (file must be PEM encoded)
# Note: Inside SSLCARevocationPath you need hash symlinks
#
to point to the certificate files. Use the provided
#
Makefile to update the hash symlinks after changes.
#SSLCARevocationPath /private/oracle/Apache/Apache/conf/ssl.crl
#SSLCARevocationFile /private/oracle/Apache/Apache/conf/ssl.crl/cabundle.crl
# Client Authentication (Type):
# Client certificate verification type and depth. Types are
# none, optional, require and optional_no_ca. Depth is a
# number which specifies how deeply to verify the certificate
# issuer chain before deciding the certificate is not valid.
SSLVerifyClient optional
</VirtualHost>
Oracle9iAS Single Sign-On の設定
3-7
デジタル証明書のための Oracle9iAS Single Sign-On の設定
Single Sign-On DAD(
(mod_plsql)
)
証明書用に Oracle HTTP Server の PL/SQL モジュールを設定する場合、Single Sign-On
サーバーの Database Access Descriptor(DAD)に環境変数を追加する必要があります。こ
れらの変数を追加するには、次のパスを使用して、DAD の構成ファイルに移動します。
IAS_HOME/Apache/modplsql/conf/dads.conf
dads.conf ファイルに、PlsqlCGIEnvironmentList パラメータと表 3-2 の変数を追加
します。
表 3-2 dads.conf 環境変数
変数
説明
SSL_CLIENT_S_DN
ユーザーの識別名。
SSL_CLIENT_CERT
BASE64 形式のクライアント証明書。
mod_plsql は、これらの変数をユーザー名マッピング・モジュールに渡す必要があります。
正しく設定すると、dads.conf ファイルの該当セクションは、次のようになります。
<IfModule mod_plsql.c>
<Location /pls/orasso>
SetHandler pls_handler
Order deny,allow
PlsqlDatabaseConnectString
PlsqlDatabasePassword
PlsqlDatabaseUsername
PlsqlDefaultPage
PlsqlDocumentTablename
PlsqlDocumentPath
PlsqlDocumentProcedure
PlsqlAuthenticationMode
PlsqlPathAlias
PlsqlPathAliasProcedure
PlsqlSessionCookieName
PlsqlCGIEnvironmentList
</Location>
db_host:db_port:db_sid
password
orasso
orasso.home
orasso.wwdoc_document
docs
orasso.wwdoc_process.process_download
SingleSignOn
url
orasso.wwpth_api_alias.process_download
orasso
SSL_CLIENT_S_DN, SSL_CLIENT_CERT
<IfDefine SSL>
<Location /pls>
SSLOptions +ExportCertData +StdEnvVars
</Location>
</IfDefine>
3-8 Oracle9i Application Server セキュリティ・ガイド
デジタル証明書のための Oracle9iAS Single Sign-On の設定
ユーザー名のマッピング・モジュール
ユーザーの DN をユーザー名にマッピングするモジュールは、次のディレクトリに格納され
ている ssodnmap.pks というパッケージです。
IAS_HOME/sso/admin/plsql/sso
パッケージについてデフォルトの実装を選択した場合は、ファイルの設定は必要ありませ
ん。デフォルトの実装では、ディレクトリ内のユーザーの DN と証明書の DN は同じである
と想定されています。
関連項目 : モジュールをカスタマイズする必要がある場合は、
『Oracle9iAS Single Sign-On 管理者ガイド』の第 4 章を参照しながら、
ssodnmap.pks ファイルを修正してください。
Oracle Internet Directory
証明書ベースの認証を成功させるためには、ユーザー証明書を Oracle Internet Directory に
提示する必要があります。証明書の発行者がサード・パーティの CA である場合、Self
Service Application がこの機能を実行します。
関連項目 : Self Service Application が実行可能かどうか判断するには、
『Oracle9iAS Single Sign-On 管理者ガイド』の第 4 章に記載されている手
順を参照してください。
Single Sign-On サーバー
SSL 用に Single Sign-On サーバーを使用できるようにするには、SSO URL 内にある HTTP
へのすべてのリファレンスを HTTPS に変更する必要があります。このために、ssocfg.sh
というスクリプトが用意されています。
ssocfg.sh を実行するには、次の手順を実行します。
1.
スクリプトが格納されているディレクトリに移動します。使用するパスは、次のとおり
です。
IAS_HOME/sso/bin
2.
次の構文を使用して、コマンドを入力します。
ssocfg.sh protocol new_host new_port [sso_schema_name]
Oracle9iAS Single Sign-On の設定
3-9
タイムアウトの有効化
この場合、protocol が https になります(HTTP に戻す場合は、http を使用してくだ
さい)
。new_host パラメータは、Single Sign-On サーバーの Oracle HTTP Server リス
ナーのホスト名です。新しいホスト名を割り当てるか、既存のホスト名を使用します。
new_port パラメータはリスナーのポート番号で、sso_schema_name は SSO スキーマの名
前です。デフォルトのスキーマ名は、orasso になります。この最後のパラメータは、
オプションで指定します。
次の例のようになります。
ssocfg.sh https login.acme.com 443
ポート 443 は、SSL 上の Single Sign-On 用のデフォルトのポート番号です。
タイムアウトの有効化
Oracle9iAS Single Sign-On には、シングル・サインオンのセッション・タイムアウトとグ
ローバル・ユーザーの非アクティブのタイムアウトの 2 つのタイムアウト機能があります。1
つ目は、SSO のユーザー・インタフェースを使用して設定できます。2 つ目は、コマンドラ
インから設定する必要があります。
この項の項目は次のとおりです。
■
SSO のセッション・タイムアウトの設定
■
グローバル・ユーザーの非アクティブのタイムアウトの設定
SSO のセッション・タイムアウトの設定
デフォルトでは、SSO セッションは 8 時間まで継続します。管理者は「SSO サーバーの編
集」ページで、このデフォルトの時間を短くしたり、または長くしたりすることができま
す。
SSO セッションの継続時間を変更するには、次の手順を実行します。
1.
次の形式の URL を入力します。
http://host:port/pls/Single_Sign_On_DAD
host は Single Sign-On サーバーが配置されるコンピュータの名前です。port はサーバー
のポート番号で、Single_Sign_On_DAD は SSO スキーマのデータベース・アクセス記述
子です。デフォルト DAD は、orasso になります。
「パートナ・アプリケーションへのアクセス」ページが表示されます。
2. 「パートナ・アプリケーションへのアクセス」ページの右上にある「ログイン」をク
リックします。
「Single Sign-On Login」ページが表示されます。
3.
管理ユーザー名とパスワードを入力し、
「ログイン」ボタンをクリックします。
3-10 Oracle9i Application Server セキュリティ・ガイド
タイムアウトの有効化
4.
Single Sign-On ホームページが表示されます。
5.
Single Sign-On のホームページから、続けて次のページに移動します。
—「サーバー管理」リンク
—「SSO サーバー構成の編集」リンク
6. 「SSO サーバーの編集」ページの「SSO セッション・ポリシー」というタイトルの下に、
ユーザーがタイムアウトにならないでログインできる時間を入力します。
グローバル・ユーザーの非アクティブのタイムアウトの設定
Single Sign-On サーバーでは、Web Cookie の SSO_TIMEOUT_ID を使用して、mod_osso が
保護するアプリケーションにおけるユーザーの非アクティブ状態をトレースし、あらかじめ
設定しておいた時間を経過したアイドル時間が発生した場合に、ユーザーに対してアプリ
ケーションを使用するための再認証を要求します。グローバル・ユーザーの非アクティブの
タイムアウトは、ユーザーの非アクティブのタイムアウトを SSO セッション・タイムアウ
トよりももっと短くする必要があるデリケートなアプリケーションに向いた便利な機能で
す。
グローバル・ユーザーの非アクティブのタイムアウトは、デフォルトでは設定されません。
このため、この機能を有効にするには、ssogito.sql スクリプトを実行して、mod_
osso.conf ファイルを変更する必要があります。
グローバル・ユーザーの非アクティブのタイムアウトを設定するには、次の手順を実行しま
す。
1.
SSO スキーマ名(orasso)とパスワードを使用して、SQL*Plus にログインします。
2.
次のコマンドを入力して、ssogito.sql スクリプトを実行します。
SQL> @ssogito.sql
3.
スクリプトを実行すると、フィールドの一覧が表示されます。
4. 「Enter value for timeout_cookie_domain:」フィールドに、Single Sign-On サーバーに
よって使用可能なすべてのアプリケーションに共通するドメイン名を入力します。
注意 : このフィールドが空白になっている場合、デフォルトで、Single
Sign-On サーバーのホスト名がドメイン名になります。
5. 「Enter value for inactivity period:」フィールドに、必要な非アクティブ時間を入力しま
す。たとえば、15 分と入力することができます。
6.
新しい設定を有効にする場合は、[Enter] キーを押します。トランザクションを取り消す
場合は、[Enter] キーを 2 回押します。
Oracle9iAS Single Sign-On の設定
3-11
IP チェックの有効化
7.
トランザクションが完了すると、スクリプトによって、新しいタイムアウト設定のサマ
リーが提供されます。
8.
mod_osso.conf ファイルで、ossoIdleTimeout パラメータを探し、on に設定され
ていることを確認します。
IP チェックの有効化
IP チェックは、Single Sign-On サーバーと mod_osso の両方で使用できます。Single
Sign-On サーバーの場合、IP チェックは SSO のユーザー・インタフェースの「SSO サー
バーの編集」ページでアクティブにします。IP チェックでは、ブラウザの IP アドレスと認
証リクエストの IP アドレスが同じものであるかどうかが確認されます。mod_osso では、
OssoIPCheck ディレクティブによって、Single Sign-On サーバーに認証を要求するユー
ザーが、mod_osso で保護されたアプリケーションにアクセスしているユーザーと同じであ
るかどうかが確認されます。
この項の項目は次のとおりです。
■
Oracle9iAS Single Sign-On サーバーの IP チェックの有効化
■
mod_osso の IP チェックの有効化
注意 : IP チェックは、ブラウザがプロキシ・サーバーを使用しないで、
Single Sign-On サーバーと HTTP Server の両方と通信できる場合にのみ使
用できます。これは、プロキシでは静的 IP アドレスが使用できないからで
す。
Oracle9iAS Single Sign-On サーバーの IP チェックの有効化
IP チェックを有効化するには、次の手順を実行します。
1.
3-10 ページの「SSO のセッション・タイムアウトの設定」に記載される手順に従って、
「SSO サーバーの編集」ページに移動します。
2. 「SSO サーバーの編集」ページの「SSO セッション・ポリシー」というタイトルの下に
ある「SSO サーバーに対して行なわれた要求の IP アドレスを検証する」チェック・
ボックスをオンにします。
3-12 Oracle9i Application Server セキュリティ・ガイド
パスワード・ポリシーの管理
mod_osso の IP チェックの有効化
mod_osso の IP チェックを有効化するには、mod_osso.conf ファイルの OssoIPCheck
ディレクティブを on に設定する必要があります。プロキシ・サーバーを使用している場合
に、OssoIPCheck を有効にすると、エラー・メッセージが表示されます。
パスワード・ポリシーの管理
SSO のユーザー・パスワードは、ユーザーのエントリの属性として、Oracle Internet
Directory に保存されます。これらのパスワードは、SSO のユーザー・インタフェースか、ま
たは Delegated Administration Service(DAS)のいずれかを使用して変更することができま
す。GUI ツールの Oracle Directory Manager を使用すると、ディレクトリの管理者は現場の
ニーズに応じて、パスワードのルールや有効期限を設定したり、アカウントのロックアウト
を行うことができます。
関連項目 : パスワード・ポリシーの設定方法については、『Oracle
Internet Directory 管理者ガイド』の第 18 章に記載されています。
Oracle9iAS Single Sign-On の設定
3-13
パスワード・ポリシーの管理
3-14 Oracle9i Application Server セキュリティ・ガイド
4
HTTP サーバーのセキュリティの設定
このマニュアルの「はじめに」で説明したように、セキュリティは認証、認可、暗号化の 3
つのカテゴリに分類することができます。Oracle HTTP Server では、これらの 3 つのカテゴ
リをすべてサポートしています。Oracle HTTP Server は、Apache Web Server を基盤にして
おり、そのセキュリティのインフラストラクチャは、主として Apache モジュールの mod_
auth や Oracle モジュールの mod_ossl と mod_osso によって提供されます。mod_auth モ
ジュールは、ユーザー名とパスワードの組合せに基づいて認証を行い、mod_ossl モジュー
ルは、SSL で X.509 のクライアント証明書を提示することによって、機密保護と認証を行い、
mod_osso モジュールは、Web アプリケーションのシングル・サインオンを可能にします。
この章では、Oracle HTTP Server のセキュリティ機能について説明し、これらのモジュール
を使用したセキュアな Web サイトをセットアップするための設定情報を提供します。この章
の項目は次のとおりです。
■
Oracle HTTP Server のセキュリティの概要
■
ホストベースのアクセス制御の理解
■
ユーザー認証の概要
■
Basic 認証の使用と mod_auth による認可
■
ユーザーを認証する Secure Sockets Layer (SSL)の使用
■
Wallet パスワードを暗号化する iasobf ユーティリティの使用
関連項目 : Web アプリケーションのシングル・サインオンを可能にする
Oracle モジュールの mod_osso の設定については、第 3 章「Oracle9iAS
Single Sign-On の設定」を参照してください。
HTTP サーバーのセキュリティの設定
4-1
Oracle HTTP Server のセキュリティの概要
Oracle HTTP Server のセキュリティの概要
Apache モデルをもとにした Oracle HTTP Server では、アクセス制御、認証、認可のメソッ
ドが提供されます。これらは、httpd.conf ファイルで使用されるアクセス制御ディレク
ティブによって設定できます。URL リクエストは、Oracle HTTP Server に到着すると、サー
バーのデフォルトの設計や、ユーザーが設定ファイルで設定する構成パラメータの内容に
よって決定される多数のステップを経て処理されます。URL リクエストを処理するステップ
は、多くの Web リスナーで一般的に使用されるモジュールまたはプラグイン・アーキテク
チャによって実装されます。図 4-1 に、サーバーによる URL リクエストの処理方法を示しま
す。このプロセスの各ステップは、サーバーの設定方法によって異なるサーバー・モジュー
ルで処理されます。たとえば、Basic 認証のみを使用する場合、図 4-1 の " 認証 " ステップ
は、mod_auth モジュールで処理されます。
図 4-1 Oracle HTTP Server での URL リクエストの処理ステップ
リクエスト
レスポンス
リクエスト
取得
Post / Read
リクエスト
URI変換
ヘッダー
解析
アクセス
制御
認証
認可
MIMEタイプ・
チェック
コンテンツ
処理
メッセージ・
クリーンアップ
レスポンス
を返す
ロギング
クライアント
Oracle
HTTP Serverの
コア・プロセス
クリーン
アップ
Oracle HTTP Server では、ユーザーの認証と認可の 2 つの段階があります。
■
■
第 1 段階(ホスト・ベースのアクセス制御):
段階(ホスト・ベースのアクセス制御) IP アドレスやホスト名など、受信される
HTTP リクエストとそのヘッダーの詳細を基準にします。
第 2 段階(ユーザー認証):
段階(ユーザー認証) HTTP サーバーの設定に応じて異なる条件を基準にします。
ユーザー名とパスワードの組合せを既知のユーザーとパスワードのリストと照らし合せ
てチェックすることで、ユーザーを認証するようにサーバーを設定することができま
す。また、Web アプリケーションのシングル・サインオン認証や SSL での X.509 クライ
アント証明書を使用するように、サーバーを設定することも可能です。
4-2 Oracle9i Application Server セキュリティ・ガイド
ホストベースのアクセス制御の理解
httpd.conf の構成パラメータの指定
この章で説明する Oracle HTTP Server のすべての設定ディレクティブのパラメータは、
httpd.conf という名前が付いた主要な HTTP サーバー構成ファイルに入力する必要があ
ります。この構成ファイルは、次のディレクトリに格納されています。
■
(UNIX)$ORACLE_HOME/Apache/Apache/conf/httpd.conf
■
(Windows)%ORACLE_HOME%¥Apache¥Apache¥conf¥httpd.conf
関連項目 :
■
■
『Oracle9i Application Server Oracle HTTP Server 管理ガイド』には、
オラクル社がサポートしているすべてのモジュールに関する情報が記
載されています。
『Oracle9i Application Server 管理者ガイド』には Oracle9i Application
Server Administration Service の Oracle HTTP Server ホームページ内
にある httpd.conf ファイルに構成パラメータを指定するための情
報が記載されています。クラスタ化環境の場合、この構成パラメータ
の設定方法を実行してください。
次の項では、HTTP サーバーでホスト・ベースのアクセス制御とユーザー認証を処理する方
法とそれらを設定する方法について説明します。
ホストベースのアクセス制御の理解
リクエスト処理サイクルの初期に、アクセス制御が適用されるため、ホスト名、IP アドレ
ス、ブラウザ・タイプなどのその他の特性に基づいて、それ以降の処理を阻止することがで
きます。このタイプのアクセス制御を設定する場合は、deny、allow、order などのディ
レクティブを使用します。これらの制限は、Oracle HTTP Server の設定ディレクティブを使
用して設定します。次のサンプルに示すように、<files>、<directory>、<location> などの設
定ディレクティブを使用して、特定のファイルやディレクトリ、URL 形式を制限の判断基準
にすることができます。
<Directory /internalonly/>
order deny, allow
deny from all
allow from 192.168.1 us.oracle.com
</Directory>
この例では、192.168.1.* の範囲の IP アドレスから送信されたリクエストか、または
us.oracle.com というホスト名が付いたリクエストが、/internalonly/ ディレクトリ内に
あるファイルにアクセスできます。
HTTP サーバーのセキュリティの設定
4-3
ホストベースのアクセス制御の理解
ファイル・システム・レベルでオブジェクトを一致させる場合は、<Directory> や <Files>
を使用する必要があります。URL レベルでオブジェクトを一致させる場合は、<Location>
を使用する必要があります。ただし、プロキシ制御を指示する場合は、<Directory> を使用
する必要があります。
注意 : インターネット・アクセスにおいて、ホスト名によるアクセスの
許可や制限は、あまり信頼性の高いセキュリティ対策ではありません。ホ
スト名を使用した場合、アクセス権を持ったユーザーへのなりすまし(ス
プーフィング)が比較的容易に実行できるからです。IP アドレスに関して
も同様のことが言えますが、ホスト名よりも不正アクセスが困難になりま
す。ただし、イントラネットの場合は、インターネットのような危険性が
ないため、IP アドレスとホスト名を使用したアクセス制御を設定するの
は、妥当な判断と言えます。この場合、ファイアウォールが適切に設定さ
れていることを前提としています。
仮想ホストのアクセス制御
仮想ホストのアクセス制御をセットアップするには、サーバー構成ファイルの httpd.conf
の仮想ホスト・コンテナ内に、AccessConfig ディレクティブを配置します。仮想ホスト・
コンテナ内で使用する場合、AccessConfig ディレクティブによって、ファイル内のアク
セス制御ポリシーが指定されます。次の例は、この方式で AccessConfig を使用するため
の構文を示している httpd.conf ファイルの一部です。
...
<VirtualHost ip.address.of.host.some_domain.com>
... virtual host directives ...
AccessConfig conf/access.conf
</VirtualHost>
ホストベースのアクセス制御方式の概要
ホストベースのアクセス制御方式を使用すると、HTTP リクエストが送信された場所に基づ
いて、制限されたエリアへのアクセスを制御できます。Oracle HTTP Server では、mod_
access と mod_setenvif を使用して、ホストベースのアクセス制御が行われます。これらのモ
ジュールを使用する httpd.conf に、設定ディレクティブを入力すると、サーバーは、ホ
ストのアドレスや名前、あるいは HTTP リクエスト・ヘッダーの内容から判断して、リクエ
ストを実行または拒否します。
ホストベースのアクセス制御を使用すると、静的な HTML ページ、CGI アプリケーション、
コンポーネントを保護することができます。
4-4 Oracle9i Application Server セキュリティ・ガイド
ホストベースのアクセス制御の理解
Oracle HTTP Server では、次の 4 つのホスト・ベースのアクセス制御方式をサポートしてい
ます。
■
IP アドレスによるアクセスの制御
■
ドメイン名によるアクセスの制御
■
ネットワークやネットマスクによるアクセスの制御
■
環境変数によるアクセスの制御
これらはすべて、保護付きエリアへのアクセスの可否が判断されるマシンに対して指定でき
ます。1 つ以上のホストベースのアクセス制御方式を選択する場合、制限するコンテンツや
アプリケーションを最も効果的に保護する方式にするか、または保守が容易な方式にするか
によって判断します。
注意 : Oracle HTTP Server は、オープン・ソースの Apache Server を
ベースにしていますが、セキュリティをさらに向上させるアクセス制御の
拡張機能が装備されています。たとえば、Apache Server の場合、
.htaccess という接尾辞が付いたファイルを使用して、ディレクトリま
たはフォルダごとにアクセスを制限しています。しかし Oracle HTTP
Server では、これらのファイルの処理は実行できません。これは、
.htaccess の処理によって、セキュリティ上の問題が発生し、パフォー
マンスが低下する可能性があるからです。
IP アドレスによるアクセスの制御
IP アドレスによるアクセス制御は、ホストベースのアクセス制御方式よりも望ましいと言え
ます。このアクセス制御方式の場合、時間やシステム・リソースを消費する DNS 検索を必
要とせず、サーバーも DNS のスプーフィング攻撃を受けにくくなっています。ただし、無
断で IP アドレスが変更されると、サーバーが保護されていない状態のままになってしまい
ます。
IP アドレス・ベースのアクセス制御を設定するには、次の例に示すような構文を使用しま
す。
<Directory /secure_only/>
order deny,allow
deny from all
allow from 207.175.42.154 192.220.208.9
</Directory>
この例の場合、207.175.42.154 と 192.220.208.9 を除いたすべての IP アドレスから送信される
リクエストは、/secure_only/ ディレクトリへのアクセスが拒否されます。
HTTP サーバーのセキュリティの設定
4-5
ホストベースのアクセス制御の理解
ドメイン名によるアクセスの制御
ドメイン名ベースのアクセス制御は、無断で IP アドレスが変更された場合に起こる問題を
解決するために、IP アドレス・ベースのアクセス制御と一緒に使用することができます。こ
れらの方式を組み合せると、IP アドレスを変更した場合でも、アクセスを制限する必要があ
るドメイン名がアクセスを拒否した状態のままになるため、サイトの保護エリアは保護され
たままになっています。
ドメイン名ベースと IP アドレス・ベースのアクセス制御を組み合せるには、次の例に示す
ような構文を使用します。
<Directory /co_backgr/>
order allow,deny
allow from all
# 141.217.24.179 is the IP for malicious.cracker.com
deny from malicious.cracker.com 141.217.24.179
</Directory>
この例の場合、malicious.cracker.com というドメイン名か 141.217.24.179 という IP アドレス
から送信されるリクエストを除いて、/co_backgr/ ディレクトリへのすべてのリクエスト
が許可されます。これはドメイン名や IP アドレスのスプーフィングに対する絶対確実な防止
策ではありませんが、IP アドレスが変更された場合でも、malicious.cracker.com からのサイ
トへのアクセスが防がれます。
ネットワークやネットマスクによるアクセスの制御
IP アドレスによって指定されたネットワークのサブセットに基づいて、アクセスを制御する
ことができます。構文は、次の例のようになります。
<Directory /payroll/>
order deny,allow
deny from all
allow from 10.1.0.0/255.255.0.0
</Directory>
この例の場合、ネットワークとネットマスクの組合せから、アクセスが許可されます。ネッ
トマスクは、IP アドレスがネットワーク、サブネット、ホスト識別子に分割される方法を示
します。ネットマスクを使用すると、IP アドレスのホスト ID の部分のみを参照することが
できます。
前述の例に出てくるネットマスク 255.255.0.0 は、Class B アドレスのデフォルトのネットマ
スク設定です。2 進法の 11111111(10 進法の 255)はネットワーク ID をマスクし、2 進法の
00000000(10 進法の 0)は特定の IP アドレスのホスト ID を保持します。
4-6 Oracle9i Application Server セキュリティ・ガイド
ホストベースのアクセス制御の理解
環境変数によるアクセスの制御
IP アドレスやドメイン名を使用するかわりに、任意の環境変数を使用してアクセスを制御す
ることができます。このタイプのアクセス制御には、BrowserMatch と SetEnvIf の 2 つ
のディレクティブが使用できます。
注意 : 通常、BrowserMatch と SetEnvIf は、セキュリティ・ポリシー
を実装するのには使用しません。これらのディレクティブは、ブラウザの
タイプやバージョンに基づいて、様々なリクエストを処理する際に使用し
ます。
リクエストの送信に使用されるブラウザのタイプに基づいてアクセスの可否を判断する必要
がある場合は、BrowserMatch を使用します。たとえば、Netscape ブラウザから送信され
るリクエストに対してのみ、アクセス権を付与する場合、次の例に示すような構文を使用し
ます。
BrowserMatch ^Mozilla netscape_browser
<Directory /mozilla-area/>
order deny,allow
deny from all
allow from env=netscape_browser
</Directory>
HTTP リクエストに含まれているヘッダー情報に基づいてアクセスの可否を判断する必要が
ある場合、SetEnvIf を使用します。たとえば、HTTP バージョン 1.0 以前を使用している
ブラウザからのアクセスを拒否する場合、次の例のような構文を使用します。
SetEnvIf Request_Protocol ^HTTP/1.1 http_11_ok
<Directory /http1.1only/>
order deny,allow
deny from all
allow from env=http_11_ok
</Directory>
HTTP サーバーのセキュリティの設定
4-7
ユーザー認証の概要
ユーザー認証の概要
ユーザー認証とは、ユーザーであることを確認するために使用されるプロセスを示す用語で
す。Basic 認証では、ユーザー名とパスワードが使用されます。SSL の場合は、キーとクライ
アント証明書の交換が行われます。Oracle9iAS Single Sign-On では、最初に、Oracle
Internet Directory に保存されているユーザー名とパスワードを使用して、最初の認証が済ん
だ後に、ユーザーのブラウザに Cookie を送信します。その後、シングル・サインオンを使
用するように登録されたアプリケーションにユーザーがログインしている間は、ブラウザの
Cookie の有効期限が切れるまで、ユーザーはこの Cookie によって透過的に認証されます。
使用するユーザー認証のタイプは、保護する必要があるコンテンツのタイプに応じて変わり
ます。通常、ユーザー名とパスワードの組合せに基づいて判断される Basic 認証は、最低限
のセキュリティが必要なイントラネット内の静的なコンテンツに適しています。一方、イン
ターネット通信の場合、データが暗号化され、X.509 クライアント証明書がサポートされる
SSL が、一般的に使用されます。これは、パスワードのように慎重な扱いを要する情報を伝
送し、Web アプリケーションやデータベースに対してユーザーを認証するのに適していま
す。また、セキュリティや利便性をさらに向上させるために、Oracle HTTP Server では、シ
ングル・サインオンもサポートされます。これは、1 つのユーザー名とパスワードを使用し
て、複数の Web アプリケーションにログインできるようにするための機能です。
次の項では、Oracle HTTP Server で Basic 認証や SSL を使用する方法について説明します。
■
Basic 認証の使用と mod_auth による認可
■
ユーザーを認証する Secure Sockets Layer (SSL)の使用
関連項目 : シングル・サインオンの動作方法や、Oracle9iAS Single
Sign-On サーバーとの通信をサポートする Oracle モジュールの mod_osso
を使用するように Oracle HTTP Server に登録する方法については、第 3
章「Oracle9iAS Single Sign-On の設定」を参照してください。
4-8 Oracle9i Application Server セキュリティ・ガイド
Basic 認証の使用と mod_auth による認可
Basic 認証の使用と mod_auth による認可
Basic 認証では、HTTP リクエストが処理される前に、ユーザー名とパスワードが要求され
ます。ブラウザが保護付きエリアのページをリクエストすると、Oracle HTTP Server は、
WWW-Authenticate: ヘッダーと設定ディレクティブの AuthName によって設定されるレ
ルムの名前が入った Unauthorized のメッセージ(ステータス・コード 401)を返します。ブ
ラウザがこの応答を受信すると、ユーザー名とパスワードの入力が要求されます。ユーザー
がユーザー名とパスワードを入力すると、ブラウザはこの情報の入った Authorization ヘッ
ダーをサーバーに送り返します。Authorization ヘッダーのメッセージでは、ユーザー名とパ
スワードが Base64 のエンコード形式文字列としてエンコードされます。
基本のユーザー認証と認可は、一緒に実装されることが一般的です。Oracle HTTP Server に
よって提供される第 2 段階のセキュリティであるユーザー認証は、既知のユーザーとパス
ワードのリストと照らし合せてチェックするユーザー名とパスワードの組合せに基づくもの
です。これらのユーザー名とパスワードの組合せは、テキスト・ファイル、データベース、
ディレクトリ・サービスのような様々な形式で保存できます。次に、このタイプのユーザー
認証をサーバーで設定するための設定ディレクティブを httpd.conf で使用します。たとえ
ば、mod_auth の場合、AuthUserFile ディレクティブを使用して、Basic 認証をセット
アップします。
mod_auth で Basic 認証設定に使用するディレクティブ
独自の認証方式では、表 4-1 に記載される設定ディレクティブの組合せを使用する必要があ
ります。
表 4-1 認証の設定ディレクティブ
ディレクティブ名
説明
AuthName
ユーザー名とパスワードが有効なレルムの名前を定義します。レ
ルム名に空白が含まれる場合は、引用符を使用してください。
AuthType
認証タイプを指定します。大部分の認証モジュールでは、クリア
テキストでユーザー名とパスワードが伝送されるためお薦めしま
せん。
AuthUserFile
ユーザー名とパスワードが含まれたファイルへのパスを指定しま
す。
AuthGroupFile
グループ名とグループのメンバーが含まれたファイルへのパスを
指定します。
HTTP サーバーのセキュリティの設定
4-9
ユーザーを認証する Secure Sockets Layer (SSL)の使用
ユーザー認可
ユーザー認可では、ファイルやディレクトリなどの特定のサーバー・リソースに関連付けら
れたアクセス制御リストと照らし合せて、認証ユーザーを確認します。ユーザー認可を設定
するには、通常、仮想ホスト・コンテナ内にある httpd.conf ファイルに、require ディ
レクティブを配置します。ユーザー認可は、ユーザー認証と組み合せて使用することが一般
的です。サーバーは、ユーザーのユーザー名とパスワードを認証すると、リクエストされた
サーバー・リソースと関連付けられたアクセス制御リストとユーザーを比較します。Oracle
HTTP Server がリストからユーザーまたはユーザーのグループを見つけた場合、そのユー
ザーはリソースを使用できるようになります。
ユーザーを認証する Secure Sockets Layer (SSL)の使用
)の使用
SSL は、インターネット上でメッセージを安全に送信するための暗号化通信プロトコルで
す。このプロトコルは、アプリケーション・レイヤー上の Oracle HTTP Server と TCP/IP レ
イヤー間に存在し、クライアントとの安全な接続を行い、暗号化と復号化を透過的に処理し
ます。
SSL を使用すると、相互認証
認証、整合性を確保するデジタル証明書
証明書の使用、機密保護を実現す
認証
証明書
る暗号化
暗号化が可能になるため、クライアントとサーバー間でセキュアな通信が確立されます。
暗号化
このプロトコルは、暗号化
暗号化、メッセージ・ダイジェスト
暗号化 メッセージ・ダイジェスト、証明書
メッセージ・ダイジェスト 証明書に使用される特定のアルゴ
証明書
リズムの組み合わせを選択できるように設計されています。これによって、通常の手順やエ
クスポート、その他の事柄に基づいて、サーバー別にアルゴリズムを選択でき、プロトコル
も新しいアルゴリズムを利用することが可能となります。プロトコル・セッションの確立時
に、クライアントとサーバー間で、どのアルゴリズムを選択するかが決められます。
mod_ossl による HTTP 通信の保護
一般に SSL を使用する理由の 1 つは、ブラウザと Web サーバー間の HTTP 通信を保護する
ことです。この場合、保護されていない HTTP の使用は防ぐことができません。保護バー
ジョンと言うのは、HTTP over SSL(HTTPS)のことです。これらの相違点は、HTTPS が
http:// のかわりに、https:// という URL 方式を使用し、HTTPS のデフォルト通信
ポートが 443 であるということです。
mod_ossl は、Oracle データベースで実装されている Oracle Secure Sockets Layer(SSL)を
使います。mod_ossl は、これまで Oracle HTTP Server で配布されていた mod_ssl の代わり
に提供するものです。今後、オラクル社では mod_ssl をサポートしません。ただし、mod_
ssl から mod_ossl に移行し、テキスト証明書を Oracle Wallet に変換することができるツー
ルが提供されます。
4-10 Oracle9i Application Server セキュリティ・ガイド
ユーザーを認証する Secure Sockets Layer (SSL)の使用
mod_ossl では、SSL v.3.0 がサポートされ、次の機能が提供されます。
RSA や DES の暗号化標準を使用したクライアントとサーバー間での暗号化通信
■
MD5 や SHA のチェックサム・アルゴリズムを使用したクライアント / サーバー通信の
整合性チェック
■
Oracle Wallet を使用した証明書の管理
■
mod_ssl で実行したのと同じような複数のアクセス・チェックによるクライアントの認
可
■
表 4-2 に、Oracle モジュールの mod_ossl と mod_ssl の相違点をまとめます。
表 4-2 mod_ossl と mod_ssl の相違点
機能
mod_ossl
mod_ssl
サポートされている SSL の
バージョン
3.0
2.0、3.0、TLS 1.0
証明書の管理
Oracle Wallet1 , 2
テキスト・ファイル
ディレクトリ別の SSL の再
ネゴシエーション
no
yes
1
2
Oracle Wallet Manager は、mod_ossl 用の証明書を管理するためのツールです。
暗号化されたパスワードをサポートします。
次に示す mod_ssl のディレクティブは、mod_ossl ではサポートされません。
■
SSLRandomSeed
■
SSLCertificateFile
■
SSLCertificateKeyFile
■
SSLCertificateChainFile
■
SSLCACertificateFile
■
SSLCACertificatePath
■
SSLVerifyDepth
注意 :
これらのディレクティブを使用すると、サーバーが起動しません。
関連項目 : Oracle Wallet Manager の詳細および証明書の要求、ストア、
管理を行うための使用方法については、第 5 章を参照してください。
HTTP サーバーのセキュリティの設定
4-11
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSL を設定するディレクティブのクラスの理解
ディレクティブは、使用できるコンテキストに応じて、グローバル、サーバー別、ディレク
トリ別に分類されます。
表 4-3 クラスとディレクティブ
クラス
コンテキスト
使用場所
グローバル
サーバー設定
サーバー構成ファイル内だが、コンテナ・
ディレクティブ(VirtualHost のように始
まりと終わりの範囲を指定するディレクティ
ブ)の外側のみ。
サーバー別
サーバー設定、仮想ホスト
サーバー構成ファイル内で、VirtualHost
ディレクティブの外側(メイン・サーバー
用)と内側の両方。
ディレクトリ
別
サーバー設定、仮想ホスト、
ディレクトリ
あらゆる場所。特に、サーバー構成ファイル
の内側。
各クラスは、そのクラスより上のクラスのサブセットになります。たとえば、ディレクトリ
別クラスのディレクティブは、サーバー別やグローバルのコンテキストでも使用できます。
また、サーバー別クラスのディレクティブは、グローバルのコンテキストで使用可能です。
関連項目 : Oracle HTTP Server で使用可能なすべての設定ディレクティ
ブの使用方法については、
『Oracle9i Application Server Oracle HTTP
Server 管理ガイド』を参照してください。
4-12 Oracle9i Application Server セキュリティ・ガイド
ユーザーを認証する Secure Sockets Layer (SSL)の使用
mod_ossl ディレクティブの使用
HTTP サーバーに SSL を設定するには、必要な mod_ossl のディレクティブを httpd.conf
ファイルに入力します。各ディレクティブについては、後で説明します。
関連項目 : これらのパラメータをメイン HTTP サーバー構成ファイルで
使用する方法については、4-3 ページの「httpd.conf の構成パラメータの
指定」を参照してください。
SSLWallet
説明 :
WRL で Wallet の場所を指定します。
オラクル社では、Oracle Wallet Manager の自動ログイン機能を使用
して作成した Wallet を使用することをお薦めします。自動ログイン
機能によって作成された Wallet では、パスワードが必要ないため、
Wallet を使用する場合、SSLWalletPassword ディレクティブを設
定する必要がありません。
構文 :
SSLWallet wrl
wrl のフォーマットは、ファイル名 :Wallet までのパスになります。
例:
SSLWallet file:/etc/ORACLE/WALLETS/server
wrl のその他の値は、Oracle SSL 製品で許可されている範囲内で使
用できます。
デフォルト :
なし
コンテキスト : サーバー設定、仮想ホスト
注意 : Wallet への自動ログインが有効な場合でも、その Wallet を作成し
たオペレーティング・システムのユーザーのみが使用できます。
関連項目 : Oracle Wallet Manager の自動ログイン機能の使用方法につい
ては、5-14 ページの「自動ログインの使用方法」を参照してください。
HTTP サーバーのセキュリティの設定
4-13
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSLWalletPassword
説明 :
同じコンテキスト内で指定した Wallet にアクセスするために必要な
Wallet のパスワード。クリアテキストの
クリアテキスト Wallet パスワードか、暗号
化されたパスワードのいずれかを選択できます。暗号化されたパス
ワードは、コマンドライン・ツールの iasobf を使用して作成しま
す。このツールについては、後で説明します。
通常の Wallet を使用する必要がある場合、オラクル社ではクリアテ
キスト・パスワードではなく、暗号化されたパスワードを使用する
ことをお薦めします。
構文 :
SSLWalletPassword password
パスワードが必要ない場合は、このディレクティブは設定しないで
ください。
注意 : Oracle Wallet Manager の自動ログイン機能で作成した
Wallet を使用する場合、これらの Wallet ではパスワードが必要ない
ため、このディレクティブは設定しないでください。
デフォルト :
なし
コンテキスト : サーバー設定、仮想ホスト
関連項目 : 4-29 ページ「Wallet パスワードを暗号化する iasobf ユーティ
リティの使用」
SSLPassPhraseDialog
説明 :
有効値 :
Wallet アクセス用のパスフレーズのタイプ。Wallet にアクセスする
際に、mod_ossl によって管理者に要求されるパスフレーズ。
■
■
builtin - サーバーが起動すると、mod_ossl によって各 Wallet
のパスワードがリクエストされます。
exec:path/to/program - サーバーが起動すると、各 Wallet
用に設定された外部プログラムが mod_ossl によってコールさ
れます。このプログラムは、2 つの引数
servername:portnumber と RSA または DSA を使用して起動
します。
構文 :
SSLPassPhraseDialog type
例:
SSLPassPhraseDialog exec:/usr/local/apache/sbin/pfilter
デフォルト :
SSLPassPhraseDialog builtin
コンテキスト : サーバー設定
4-14 Oracle9i Application Server セキュリティ・ガイド
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSLCARevocationPath
説明 :
PEM でエンコードされた証明書失効リスト(CRL)が格納されてい
るディレクトリを指定します。これらの CRL は、証明書を受け入れ
る CA(認証局)から得られます。クライアントがこれらのいずれか
の CRL に載っている証明書を使用して、クライアント自身を認証し
ようとすると、その証明書が取り消されるため、そのクライアント
はサーバーによって認証されなくなります。
構文 :
SSLCARevocationPath path/to/CRL_directory/
例:
SSLCARevocationPath /ias2/Apache/conf/ssl.crl/
デフォルト :
なし
コンテキスト : サーバー設定、仮想ホスト
SSLCARevocationFile
説明 :
証明書を受け入れる CA(認証局)が発行した証明書失効リスト
(CRL)をアセンブルできるファイルを指定します。これらは、クラ
イアント認証に使用されます。このようなファイルは、様々な PEM
でエンコードされた CRL のファイルを作業環境の順番に連結させた
ものです。このディレクティブは、SSLCARevocationPath のかわり
として使用したり、あるいは一緒に使用することが可能です。
構文 :
SSLCARevocationFile file_name
例:
SSLCARevocationFile /ias2/Apache/conf/ssl.crl/ca_bundle.crl
デフォルト :
なし
コンテキスト : サーバー設定、仮想ホスト
HTTP サーバーのセキュリティの設定
4-15
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSLMutex
説明 :
有効値 :
HTTP サーバーのプロセス間で同期化させる必要があるオペレー
ションの SSL エンジンの相互排除用セマフォ(ロック)のタイプ。
■
none - 相互排除をまったく使用しません。
相互排除は、SSL セッションのキャッシュへの書込みアクセス
を同期化するので、この値を使用することはお薦めしません。
相互排除を設定しないと、セッション・キャッシュが判読でき
ない状態になってしまう可能性があります。
■
file:path/to/mutex - ロック用のファイルを使用します。一
意性を確保するために、HTTP サーバーの親プロセスのプロセ
ス ID(PID)がファイル名に追加されます。ファイル名の最初
にスラッシュ('/')が付かない場合、ServerRoot と相関関係が
あるものと判断されます。
この設定は、Windows では使用できません。
■
sem - オペレーティング・システムのセマフォを使用して、書込
みを同期化します。使用されるセマフォは、UNIX の場合は Sys
V IPC セマフォ、Windows の場合は Windows Mutex になりま
す。
オペレーティング・システムでサポートされている場合、これ
が最もお薦めです。
例:
SSLMutex file:/usr/local/apache/logs/ssl_mutex
構文 :
SSLMutex type
デフォルト :
SSLMutex none
コンテキスト : サーバー設定
4-16 Oracle9i Application Server セキュリティ・ガイド
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSLSessionCache
説明 :
有効値 :
グローバル / プロセス間のセッション・キャッシュの格納タイプを
指定します。キャッシュによって、パラレル・リクエスト処理の速
度を向上させる方法をオプションで選択できます。
■
none - グローバル / プロセス間のセッション・キャッシュを使
用不可にします。
機能性には影響を及ぼしませんが、パフォーマンスにあきらか
な犠牲が生じます。
■
■
shmht:/path/to/datafile[bytes] /path/to/datafile によって設定される RAM の共有メモ
リー・セグメント内にある高性能なハッシュテーブル(bytes
はおおよそのサイズを示します)を使用します。このハッシュ
テーブルによって、サーバー・プロセスのローカル SSL メモ
リーのキャッシュが同期化されます。
shmcb:/path/to/datafile[bytes] - 高性能な共有メモ
リー循環バッファ(SHMCB)セッションのキャッシュを使用し
て、サーバー・プロセスのローカル SSL メモリーのキャッシュ
を同期化します。
shmht と比較した場合、shmcb のパフォーマンスの方が、すべ
ての環境において一定しています。
構文 :
SSLSessionCache type
例:
SSLSessionCache shmht:/iasv2/Apache/Apache/logs/ssl_scache(512000)
SSLSessionCache shmcb:/iasv2/Apache/Apache/logs/ssl_scache(512000)
デフォルト :
SSLSessionCache none
コンテキスト : サーバー設定
SSLSessionCacheTimeout
説明 :
セッション・キャッシュ内の SSL セッションの有効期限が切れるま
での秒数。
構文 :
SSLSessionCacheTimeout seconds
デフォルト :
300
コンテキスト : サーバー設定
HTTP サーバーのセキュリティの設定
4-17
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSLProtocol
説明 :
サーバー環境を設定する際に使用する mod_ossl 用の SSL プロトコ
ル。指定したプロトコルを使用したときのみ、クライアントを接続
できます。
有効値 :
■
SSLv3
SSL バージョン 3.0
■
All
SSL バージョン 3.0 および Oracle 製品でサポートされているそ
の他のバージョン
例:
SSL バージョン 3.0 のみを指定するには、このディレクティブを次の
ように設定します。
SSLProtocol +SSLv3
構文 :
SSLProtocol [+-] protocol
デフォルト :
SSLProtocol +SSLv3
コンテキスト : サーバー設定、仮想ホスト
4-18 Oracle9i Application Server セキュリティ・ガイド
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSLCipherSuite
説明 :
SSL のハンドシェイク中にクライアントが使用できる SSL Cipher Suite を
指定します。このディレクティブでは、Cipher Suite を識別するために、
コロンで区切られた暗号の組を指定する文字列を使用します。表 4-4 に、
必要な Cipher Suite を説明するために、文字列で使用できるタグが示しま
す。
タグは、暗号の組を指定する文字列を構成するために、接頭辞を一緒に組
み合せます。
有効値 :
例:
■
none
リストに暗号を追加します。
■
+:
リストに暗号を追加し、リスト内の正しい場所にそれらを配
置します。
■
-:
リストから暗号を削除します(後で追加することも可能です)。
■
!:
リストから暗号を永続的に削除します。
SSLCipherSuite ALL:!LOW:!DH
この例では、低強度の暗号と Diffie-Hellman キー折衝アルゴリズムを使
キー折衝アルゴリズム
用する暗号を除いたすべての暗号が指定されています。
構文 :
SSLCipherSuite cipher-spec
デフォルト :
なし
コンテキスト : サーバー設定、仮想ホスト、ディレクトリ
HTTP サーバーのセキュリティの設定
4-19
ユーザーを認証する Secure Sockets Layer (SSL)の使用
表 4-4 SSLCipher Suite のタグ
関数
タグ
意味
キー交換
kRSA
RSA キーの交換
キー交換
kDHr
RSA キーと Diffie-Hellman キーの交換
認証
aNULL
認証なし
認証
aRSA
RSA 認証
認証
aDH
Diffie-Hellman 認証
暗号化
eNULL
暗号化なし
暗号化
DES
DES エンコーディング
暗号化
3DES
トリプル DES エンコーディング
暗号化
RC4
RC4 エンコーディング
データ整合性
MD5
MD5 ハッシュ関数
データ整合性
SHA
SHA ハッシュ関数
エイリアス
SSLv3
すべての SSL バージョン 3.0 の暗号
エイリアス
EXP
すべてのエクスポート暗号
エイリアス
EXP40
すべての 40 ビットの輸出レベルの暗号のみ
エイリアス
EXP56
すべての 56 ビットの輸出レベルの暗号のみ
エイリアス
LOW
エイリアス
MEDIUM
128 ビット暗号化によるすべての暗号
エイリアス
HIGH
トリプル DES を使用するすべての暗号
エイリアス
RSA
RSA キー交換を使用するすべての暗号
エイリアス
DH
Diffie-Hellman キー交換を使用するすべての暗号
4-20 Oracle9i Application Server セキュリティ・ガイド
すべての低強度の暗号
(輸出レベルの暗号とシングル DES)
ユーザーを認証する Secure Sockets Layer (SSL)の使用
注意 :
■
■
表 4-4 に記載されたタグで示されるすべての暗号が、Oracle Advanced
Security でサポートされるわけではありません。表 4-5 には、バー
ジョン 9i でサポートされている暗号が示されています。
エクスポート・バージョン(輸出レベル)のブラウザを使用する場
合、制限があります。サーバーで 512 ビット・キー・サイズの Wallet
を使用する場合、Oracle モジュールの mod_ossl では、RC4-40 暗号化
のみがサポートされます。
表 4-5 Oracle Advanced Security 9i でサポートされる Cipher Suite
Cipher Suite
認証
暗号化
データ整合
性
SSL_RSA_WITH_3DES_EDE_CBC_SHA
RSA
3DES EDE CBC
SHA
SSL_RSA_WITH_RC4_128_SHA
RSA
RC4 128
SHA
SSL_RSA_WITH_RC4_128_MD5
RSA
RC4 128
MD5
SSL_RSA_WITH_DES_CBC_SHA
RSA
DES CBC
SHA
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
DH anon
3DES EDE CBC
SHA
SSL_DH_anon_WITH_RC4_128_MD5
DH anon
RC4 128
MD5
SSL_DH_anon_WITH_DES_CBC_SHA
DH anon
DES CBC
SHA
SSL_RSA_EXPORT_WITH_RC4_40_MD5
RSA
RC4 40
MD5
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
RSA
DES40 CBC
SHA
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
DH anon
RC4 40
MD5
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA
DH anon
DES40 CBC
SHA
HTTP サーバーのセキュリティの設定
4-21
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSLVerifyClient
説明 :
接続時に、クライアントが証明書を提示する必要があるかどうかを
指定します。
有効値 :
■
■
■
none - クライアント証明書は必要ありません 。
optional - クライアントが有効な証明書を提示することがあり
ます 。
require - クライアントが有効な証明書を提示する必要があり
ます。
構文 :
SSLVerifyClient level
デフォルト :
なし
コンテキスト
サーバー設定、仮想ホスト
注意 : mod_ssl に含まれる optional_no_ca レベル(クライアントは
有効な証明書を提示できますが、証明可能なものである必要はありませ
ん)は、mod_ossl ではサポートされません。
SSLLog
説明 :
SSL エンジン・ログ・ファイルに書き込みするかどうかを指定しま
す。(ErrorLog ディレクティブによって指定した標準 HTTP サー
バー・ログ・ファイルに、エラー・メッセージもコピーされます。
)
このファイルは、symlink 攻撃に使用されないように、root のみが
書き込める場所に配置します。ファイル名の最初にスラッシュ('/')
が付かない場合、ServerRoot と相関関係があるものと判断されま
す。ファイル名の最初にバー('|')が付く場合、バーに続く文字列
は、信頼性の高いパイプを設定できる実行可能プログラムへのパス
であると判断されます。
このディレクティブは、仮想サーバー設定ごとに 1 度のみ実行しま
す。
構文 :
SSLVerifyClient path/to/filename
デフォルト :
なし
コンテキスト : サーバー設定、仮想ホスト
4-22 Oracle9i Application Server セキュリティ・ガイド
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSLLogLevel
説明 :
SSL エンジン・ログ・ファイルの冗長の程度を指定します。
有効値 :
レベルは、次のとおりです(昇順で、各レベルはそのレベルより上
のレベルに含まれます)
。
■
■
■
■
■
■
none - 専用 SSL ロギングは行われません。ErrorLog ディレク
ティブによって指定した標準 HTTP サーバー・ログ・ファイル
に、
「エラー」タイプのメッセージがコピーされます。
error - 「エラー」タイプ(処理が停止する状態)のメッセー
ジのみがログに記録されます。
warn - 非致命的問題(処理が停止しない状態)を通知するメッ
セージがログに記録されます。
info - 重要度の高い処理アクションをまとめたメッセージがロ
グに記録されます。
trace - 重要度の低い処理アクションをまとめたメッセージが
ログに記録されます。
debug - 開発オペレーションや低レベルの入出力オペレーショ
ンをまとめたメッセージがログに記録されます。
構文 :
SSLLogLevel level
デフォルト :
なし
コンテキスト : サーバー設定、仮想ホスト
HTTP サーバーのセキュリティの設定
4-23
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSLOptions
説明 :
有効値 :
様々なランタイム・オプションをディレクトリ単位で制御します。
通常、複数のオプションを 1 つのディレクトリに適用する場合、最
も包括的なオプションが適用されます(オプションはマージされま
せん)
。ただし、SSLOptions ディレクティブ内のすべてのオプショ
ンの前に、プラス('+')記号やマイナス('-')記号が付いている場
合、オプションはマージされます。プラス記号が前に付いたオプ
ションは、現在有効なオプションに追加されます。また、マイナス
記号が前に付いたオプションは、現在有効なオプションから削除さ
れます。
■
■
StdEnvVars - SSL に関連する CGI/SSI 環境変数の規格セット
を作成します。この値は、デフォルトでは使用できません。抽
出オペレーションでは、大量の CPU タイムが消費され、静的コ
ンテンツを処理する場合、アプリケーションを保持しないこと
がほとんどだからです。通常、この値は CGI/SSI リクエストに
対してのみ使用できます。
ExportCertData - 次の追加 CGI/SSI 変数を使用できます。
SSL_SERVER_CERT
SSL_CLIENT_CERT
SSL_CLIENT_CERT_CHAIN_n (n= 0、1、2...)
これらの変数には、現行の HTTPS 接続用サーバーとクライア
ントについて、Privacy Enhanced Mail(PEM)でエンコードさ
れた X.509 証明書が含まれています。これらの変数は、さらに
詳しく証明書をチェックする場合に、CGI スクリプトで使用す
ることができます。クライアント証明書連鎖の他の証明書がす
べて提供されます。このオプションを使用することでパフォー
マンスの損失が発生するため、デフォルトでは、このオプショ
ンはオフになっています。
■
FakeBasicAuth - クライアントの X.509 証明書の識別名(DN)
の subject を HTTP 基本認可ユーザー名として置きかえます。こ
れは、アクセス制御に標準 HTTP サーバー認証方式を使用でき
ることを意味しています。パスワードはユーザーから取得せず
'password' という文字列が代入されます。
4-24 Oracle9i Application Server セキュリティ・ガイド
ユーザーを認証する Secure Sockets Layer (SSL)の使用
有効値 :
(SSLOptions
の続き)
■
StrictRequire - SSLRequireSSL ディレクティブや
SSLRequire ディレクティブに従って、アクセスを禁止すると
きにアクセスを拒否します。StrictRequire がない場合、
SSLRequire ディレクティブや SSLRequireSSL ディレクティ
ブを無視する 'Satisfy any' ディレクティブを設定すること
ができます。これによって、クライアントがホスト制限を渡し
たり、有効なユーザー名とパスワードを提供した場合にアクセ
スを可能にします。
したがって、SSLRequireSSL や SSLRequire を
SSLOptions +StrictRequire と組み合せると、すべての場
合において、'Satisfy any' ディレクティブを無視する機能
が mod_ossl に付加されます。
■
■
CompatEnvVars - 下位互換性用の廃止環境変数を Apache SSL
1.x、mod_ssl 2.0.x、Sioux 1.0、Stronghold 2.x にエクスポート
します。これを使用すると、既存の CGI スクリプトへの互換性
が提供されます。
OptRenegotiate - SSL ディレクティブをディレクトリ別コン
テキストで使用する場合に、SSL 接続再ネゴシエーションを最
適化する処理が実行できます。
構文 :
SSLOptions
デフォルト :
なし
[+-] option
コンテキスト : サーバー設定、仮想ホスト、ディレクトリ
SSLRequireSSL
説明 :
SSL を使用しないクライアントへのアクセスを拒否します。
これは設定エラーが原因で、セキュリティの脆弱性が生じる可能性
がある SSL の使用が可能な仮想ホストやディレクトリを完全に保護
するのに便利なディレクティブです。
構文 :
SSLRequireSSL
デフォルト :
なし
コンテキスト
ディレクトリ
HTTP サーバーのセキュリティの設定
4-25
ユーザーを認証する Secure Sockets Layer (SSL)の使用
SSLRequire
説明 :
任意で複合ブール式が true でない場合に、アクセスを拒否します。
式は、次の構文と一致している必要があります(BNF 文法表記法に
よる)
。
expr ::= "true" | "false"
"!" expr
expr "&&" expr
expr "||" expr
"(" expr ")"
comp ::=word "==" word | word "eq" word
word "!=" word |word "ne" word
word "<" word |word "lt" word
word "<=" word |word "le" word
word ">" word |word "gt" word
word ">=" word |word "ge" word
word "=~" regex
word "!~" regex
wordlist ::= word
wordlist "," word
word ::= digit
cstring
variable
function
digit ::= [0-9]+
cstring ::= "..."
variable ::= "%{varname}"
表 4-6 と表 4-7 に、標準変数と SSL 変数をまとめます。これらは、
varname の有効な値です。
function ::= funcname "(" funcargs ")"
funcname の場合、次の関数が使用できます。
file(filename)
file 関数では、filename という 1 つの文字列引数を使用して、ファ
イルの内容まで展開します。これは正規表現と照らし合せて、ファ
イルの内容を評価する場合に便利です。
構文 :
SSLRequire expression
デフォルト :
なし
コンテキスト : ディレクトリ
4-26 Oracle9i Application Server セキュリティ・ガイド
ユーザーを認証する Secure Sockets Layer (SSL)の使用
表 4-6 SSLRequire varname の標準変数
標準変数
HTTP_USER_AGENT
PATH_INFO
AUTH_TYPE
HTTP_REFERER
QUERY_STRING
SERVER_SOFTWARE
HTTP_COOKIE
REMOTE_HOST
API_VERSION
HTTP_FORWARDED
REMOTE_IDENT
TIME_YEAR
HTTP_HOST
IS_SUBREQ
TIME_MON
HTTP_PROXY_
CONNECTION
DOCUMENT_ROOT
TIME_DAY
HTTP_ACCEPT
SERVER_ADMIN
TIME_HOUR
HTTP:headername
SERVER_NAME
TIME_MIN
THE_REQUEST
SERVER_PORT
TIME_SEC
REQUEST_METHOD
SERVER_PROTOCOL
TIME_WDAY
REQUEST_SCHEME
REMOTE_ADDR
TIME
REQUEST_URI
REMOTE_USER
ENV:variablename
REQUEST_FILENAME
HTTP サーバーのセキュリティの設定
4-27
ユーザーを認証する Secure Sockets Layer (SSL)の使用
表 4-7 SSLRequire varname の SSL 変数
SSL 変数
HTTPS
SSL_PROTOCOL
SSL_CIPHER_ALGKEYSIZE
SSL_CIPHER
SSL_CIPHER_EXPORT
SSL_VERSION_INTERFACE
SSL_CIPHER_USEKEYSIZE
SSL_VERSION_LIBRARY
SSL_SESSION_ID
SSL_CLIENT_V_END
SSL_CLIENT_M_SERIAL
SSL_CLIENT_V_START
SSL_CLIENT_S_DN_ST
SSL_CLIENT_S_DN
SSL_CLIENT_S_DN_C
SSL_CLIENT_S_DN_CN
SSL_CLIENT_S_DN_O
SSL_CLIENT_S_DN_OU
SSL_CLIENT_S_DN_G
SSL_CLIENT_S_DN_T
SSL_CLIENT_S_DN_I
SSL_CLIENT_S_DN_UID
SSL_CLIENT_S_DN_S
SSL_CLIENT_S_DN_D
SSL_CLIENT_I_DN_C
SSL_CLIENT_S_DN_Email
SSL_CLIENT_I_DN
SSL_CLIENT_I_DN_O
SSL_CLIENT_I_DN_ST
SSL_CLIENT_I_DN_L
SSL_CLIENT_I_DN_T
SSL_CLIENT_I_DN_OU
SSL_CLIENT_I_DN_CN
SSL_CLIENT_I_DN_S
SSL_CLIENT_I_DN_I
SSL_CLIENT_I_DN_G
SSL_CLIENT_I_DN_Email
SSL_CLIENT_I_DN_D
SSL_CLIENT_I_DN_UID
SSL_CLIENT_CERT
SSL_CLIENT_CERT_CHAINn
SSL_CLIENT_VERIFY
SSL_CLIENT_M_VERSION
SSL_SERVER_M_VERSION
SSL_SERVER_V_START
SSL_SERVER_V_END
SSL_SERVER_M_SERIAL
SSL_SERVER_S_DN_C
SSL_SERVERT_S_DN_ST
SSL_SERVER_S_DN
SSL_SERVER_S_DN_OU
SSL_SERVER_S_DN_CN
SSL_SERVER_S_DN_O
SSL_SERVER_S_DN_I
SSL_SERVER_S_DN_G
SSL_SERVER_S_DN_T
SSL_SERVER_S_DN_D
SSL_SERVER_S_DN_UID
SSL_SERVER_S_DN_S
SSL_SERVER_I_DN
SSL_SERVER_I_DN_C
SSL_SERVER_S_DN_Email
SSL_SERVER_I_DN_L
SSL_SERVER_I_DN_O
SSL_SERVER_I_DN_ST
SSL_SERVER_I_DN_CN
SSSL_SERVER_I_DN_T
SSL_SERVER_I_DN_OU
SSL_SERVER_I_DN_G
SSL_SERVER_I_DN_I
4-28 Oracle9i Application Server セキュリティ・ガイド
Wallet パスワードを暗号化する iasobf ユーティリティの使用
Wallet パスワードを暗号化する iasobf ユーティリティの使用
自動ログイン機能で作成した Oracle Wallet(SSO Wallet)を使用する場合、このユーティリ
ティを使用する必要はありません。ただし、パスワードを使用して通常の Wallet を利用する
必要がある場合、オラクル社では、パスワードの暗号化ツールである iasobf を使用するこ
とをお薦めします。このツールは、HTTP サーバーの bin ディレクトリに格納されており、
クリアテキスト・パスワードから暗号化された
クリアテキスト
Wallet パスワードを生成します。
暗号化された Wallet パスワードを生成するには、次のコマンド構文を使用します。
iasobf -p password
暗号化されたパスワードは、端末に出力されます。引数は、オプションで指定します。引数
を入力しない場合、パスワードを入力するように要求されます。
Windows システムの場合 : Windows 環境用の相当ツールは、
osslpassword です。これは iasobf と同じように使用することが可能
です。
関連項目 :
■
■
■
■
『Oracle9i Application Server Oracle HTTP Server 管理ガイド』に
Oracle HTTP Server の管理についての詳細が記載されています。
『Oracle9i Application Server パフォーマンス・ガイド』にサーバーの
パフォーマンス・チューニング情報が記載されています。
『Oracle9i Application Server 管理者ガイド』に Oracle HTTP Server の
管理コンソール GUI ツールの使用方法が説明されています。
第 5 章「Oracle Wallet Manager の使用方法」に Wallet の作成方法と使
用方法が説明されています。
HTTP サーバーのセキュリティの設定
4-29
Wallet パスワードを暗号化する iasobf ユーティリティの使用
4-30 Oracle9i Application Server セキュリティ・ガイド
5
Oracle Wallet Manager の使用方法
セキュリティ管理者は Oracle Wallet Manager を使用して、Oracle9i Application Server およ
びその他の Oracle クライアントやサーバー上で公開鍵セキュリティ資格証明を管理します。
これは証明書の要求、格納および管理に使用できます。作成した Wallet は、Oracle Wallet
Manager で開くことができます。
この章では、次の項目において、Oracle Wallet Manager について説明します。
■
公開鍵インフラストラクチャ(PKI)について
■
PKCS #12 のサポート
■
複数の証明書のサポート
■
LDAP ディレクトリのサポート
■
Wallet の管理
■
証明書の管理
Oracle Wallet Manager の使用方法
5-1
公開鍵インフラストラクチャ(PKI)について
公開鍵インフラストラクチャ(PKI)について
公開鍵インフラストラクチャ( )について
従来の秘密鍵や対称鍵による暗号化では、複数の当事者が単一の秘密鍵を共有することに
よって、通信の安全を確保する必要があります。この鍵は、当事者間で送受信される安全な
メッセージを暗号化および復号化するために使用されますが、あらかじめ各当事者に安全な
方法で鍵を配布しておく必要があります。この方法の問題は、鍵を安全に転送し、格納する
のが困難な点です。
公開鍵暗号では、鍵の配布に公開鍵と秘密鍵のペア
公開鍵と秘密鍵のペアや安全な方法を採用することによって、
公開鍵と秘密鍵のペア
この問題を解決しています。該当する秘密鍵
秘密鍵の所有者のみが復号化できるメッセージを暗号
秘密鍵
化するには、自由に入手可能な公開鍵
公開鍵を使用します。
秘密鍵は、その他のセキュリティ資格
公開鍵
証明とともに、Wallet という暗号化されたコンテナに安全な方法で格納されます。
公開鍵アルゴリズムではメッセージの機密性が保証されますが、通信者の ID を検査しない
ので、セキュア通信は必ずしも保証されません。セキュア通信を確立するには、メッセージ
の暗号化に使用する公開鍵を、ターゲット受信者が実際に所有しているか検査することが重
要です。そのようにしないと、第三者が通信を盗み読みし、自分の公開鍵を本物の鍵と偽っ
て公開鍵要求を傍受する可能性があります(介在者
介在者攻撃)
。
介在者
このような攻撃を回避するには、認証
認証という処理によって公開鍵の所有者を検査する必要が
認証
あります。認証は、両方の通信当事者が信頼できる認証局
認証局(CA)という第三者によって行わ
認証局
れます。
CA は、エンティティ名、公開鍵およびその他のセキュリティ資格証明を含む公開鍵証明書
を発行します。この資格証明には通常、CA 名、CA 署名および証明書有効日(発効日、失効
日)が含まれています。
CA は、自らの秘密鍵を使用してメッセージを暗号化します。メッセージの復号化には CA
の公開鍵が使用され、メッセージが CA によって暗号化されたものであるかどうかが確認さ
れます。CA の公開鍵は公開されており、アクセスのたびに認証を受ける必要はありません。
このような CA 公開鍵は、Oracle Wallet に格納されます。
5-2 Oracle9i Application Server セキュリティ・ガイド
公開鍵インフラストラクチャ(PKI)について
Wallet のパスワード管理
Oracle Wallet Manager には、拡張 Wallet パスワード管理モジュールが含まれており、次の
ようなパスワード管理ポリシーガイドラインが規定されています。
■
パスワードの最小文字数(8 文字)
■
パスワード最大長は無制限
■
英数字を混在させて使用することが条件
強度の高い Wallet 暗号化
Oracle Wallet Manager では、強い暗号化を要求する X.509 証明書用の秘密鍵を格納します。
したがって、非常に強度の高い暗号化アルゴリズムである 3 key Triple-DES 暗号化に対応し
ています。
Microsoft Windows レジストリ
Oracle Wallet Manager では、Microsoft Windows システム・レジストリのユーザー・プロ
ファイル領域(Windows 95/98/ME/NT 4.0/2000 の場合)または Windows ファイル管理
システムに、複数の Oracle Wallet を格納することができます。レジストリに Wallet を格納
すると、次のような利点があります。
■
■
■
簡単なアクセス制御。レジストリのユーザー・プロファイル領域に格納した
Wallet に
簡単なアクセス制御
は、関連するユーザーのみがアクセスできます。したがって拡張を行えば、システムへ
のユーザー・アクセス制御が Wallet へのアクセス制御になります。さらに、ユーザーが
システムからログアウトすると、そのユーザーの Wallet へのアクセスが効率的に排除
されます。
容易な管理。Wallet
は特定のユーザー・プロファイルと関連付けられるので、許可を管
容易な管理
理する必要がありません。またプロファイルに格納されている Wallet は、そのユー
ザー・プロファイルが削除されると自動的に削除されます。Oracle Wallet Manager は、
レジストリ内での Wallet の作成および管理に使用できます。
セキュリティの向上。Wallet
はレジストリ内に埋め込まれているので、特定のユー
セキュリティの向上。
ザー・プロファイルに関連付けられている Wallet は、他のすべてのユーザーに対して
透過的です。簡単なアクセス制御および容易な管理と組み合せると、Oracle Wallet に新
たなセキュリティ・レイヤーが加わることになります。
サポートされているオプション
■
レジストリから Wallet を開く。
■
レジストリに Wallet を保存する。
■
レジストリの他の場所に別名保存する。
■
レジストリから Wallet を削除する。
■
ファイル・システムから Wallet を開き、レジストリに保存する。
Oracle Wallet Manager の使用方法
5-3
公開鍵インフラストラクチャ(PKI)について
■
レジストリから Wallet を開き、ファイル・システムに保存する。
関連項目 :
■
■
『Oracle9i Database for Windows 管理者ガイド』
『Oracle9i for Windows ネットワーク、ディレクトリおよびセキュリ
ティ・ガイド』
Oracle Wallet の機能
Oracle Wallet Manager はスタンドアロンの Java アプリケーションであり、Wallet 所有者は
これを使用して Oracle Wallet 内のセキュリティ資格証明の管理や編集を行います。主なタス
クは次のとおりです。
■
公開鍵と秘密鍵のペアを生成し、CA に提出する証明書要求を作成する。
■
エンティティの証明書をインストールする。
■
エンティティの信頼できる証明書
信頼できる証明書を構成する。
信頼できる証明書
■
Wallet を開き、PKI ベースのサービスへのアクセスを有効化する。
■
Oracle Wallet Manager でアクセス可能な Wallet を作成する。
■
Oracle Internet Directory などの LDAP ディレクトリに Wallet をアップロードする。
■
Oracle Internet Directory などの LDAP ディレクトリから Wallet をダウンロードする。
■
Wallet をインポートする。
■
Wallet をエクスポートする。
関連項目 : 既存の LDAP ディレクトリを Oracle Internet Directory と同
期化させる必要がある場合は、
『Oracle9i Directory Service 統合および配置
ガイド』を参照してください。
下位互換性
Oracle Wallet Manager には、Oracle Data Server リリース 8.1.5 に対する下位互換性があり
ます。
5-4 Oracle9i Application Server セキュリティ・ガイド
PKCS #12 のサポート
PKCS #12 のサポート
Oracle Wallet Manager では、X.509 証明書と秘密鍵
秘密鍵を業界標準の
PKCS #12 フォーマットで
秘密鍵
格納します。そのため、Oracle Wallet の構造と、サポートされているサード・パーティの
PKI アプリケーションとの相互運用性が確保され、異なるオペレーティング・システム間で
も Wallet が移植可能になります。
注意 : Oracle Advanced Security および Oracle Wallet Manager は PKCS
#12 に完全準拠していますが、Netscape Communicator や Microsoft
Internet Explorer などのサード・パーティ製品を使用した場合、互換性の
問題が発生することがあります。
サード・パーティ Wallet のインポート
Oracle Wallet Manager では次の PKCS #12 フォーマットの Wallet をサポートし、インポー
トできますが、個々の製品により手順が異なったり、機能に制限があります。
■
Netscape Communicator 4.x
■
Microsoft Internet Explorer 5.x
■
OpenSSL
サード・パーティ Wallet をインポートするには
1.
個々の製品の手順に従って、Wallet をエクスポートします。
2.
エクスポートした Wallet を、各アプリケーションに応じたディレクトリにプラット
フォーム固有のファイル名で保存します。
UNIX および Windows NT の場合、ファイル名は ewallet.p12 です。
他のプラットフォームについては、プラットフォームごとのドキュメントを参照してく
ださい。
3. 「開く」ダイアログ・ボックスで、Wallet が格納されたディレクトリを指定して Wallet
を開きます。
関連項目 :
5-19 ページの「信頼できる証明書のインポート」
Oracle Wallet Manager の使用方法
5-5
PKCS #12 のサポート
注意 :
■
■
Oracle Wallet Manager が指定するディレクトリにサード・パーティ
の PKCS #12 Wallet のファイル名をコピーし、その名前を変更する必
要があります。UNIX/NT の Wallet のファイル名は ewallet.p12
です。
ブラウザは通常、PKCS #12 では信頼できる証明書
信頼できる証明書をエクスポートし
信頼できる証明書
ないので(署名者自身の証明書を除く)
、SSL 接続で相手を認証する
にはトラスト・ポイントが必要になることがあります。これを行うに
は、Oracle Wallet Manager が利用できます。
Oracle Wallet のエクスポート
Oracle Wallet Manager では、Wallet をサード・パーティ環境にエクスポートできます。
Wallet をエクスポートするには
1.
Oracle Wallet Manager を使用して、Wallet ファイルを保存します。
2.
サード・パーティ製品ごとのインポート手順に従って、Oracle Wallet Manager で作成
したプラットフォーム固有の PKCS #12 Wallet ファイルをインポートします(UNIX お
よび NT プラットフォームでは ewallet.p12 と呼ばれます)。
注意 : 現行のブラウザは通常、1 つの Wallet につき 1 件のユーザー証明
書をインポートします。したがって、Oracle Wallet Manager が 1 つの
Wallet につき複数のユーザー証明書をサポートしている場合でも、Oracle
単一鍵ペア Wallet をエクスポートする必要があります。
5-6 Oracle9i Application Server セキュリティ・ガイド
複数の証明書のサポート
複数の証明書のサポート
Oracle Wallet Tools は、1 つの Wallet につき複数の証明書
証明書をサポートしており、次の
Oracle
証明書
PKI 証明書使用に対応しています。
証明書使用
■
SSL
■
S/MIME 署名
■
S/MIME 暗号化
■
コード署名
■
CA 証明書署名
Oracle Wallet Manager では、単一のデジタル・エンティティについて複数の証明書をサ
ポートします。この場合、各証明書は一連の Oracle PKI 証明書使用に使うことができます。
ただし、同一の証明書をこのような用途のすべてに使用できるわけではありません (使用上
の正当な組合せについては、表 5-2 および 5-3 を参照してください)
。証明書要求と証明書
は、1 対 1 でマッピングされている必要があります。複数の証明書を取得して同じ Wallet に
インストールする際、同一の証明書要求は使用できません。
Oracle Wallet Manager では、Oracle PKI 証明書使用を定義するのに、X.509v3 拡張属性の
KeyUsage を使用します(表 5-1)
。
表 5-1 KeyUsage の値
値
用途
0
digitalSignature
1
nonRepudiation
2
keyEncipherment
3
dataEncipherment
4
keyAgreement
5
keyCertSign
6
cRLSign
7
encipherOnly
8
decipherOnly
証明書をインストールする際(ユーザー証明書、信頼できる証明書
信頼できる証明書)
信頼できる証明書 、Oracle Wallet
Manager では、表 5-2 および 5-3 を使用して、KeyUsage 拡張属性の値を Oracle PKI 証明書
使用にマッピングします。
Oracle Wallet Manager の使用方法
5-7
複数の証明書のサポート
表 5-2 OWM によるユーザー証明書の Oracle Wallet へのインポート
1
KeyUsage の値
重大であ
るか否か1
なし
該当せず
証明書は、SSL または S/MIME 暗号化用にイン
ポート可能。
0 のみ、または 0 を含む組合
せ(5 と 2 を除く)
該当せず
S/MIME 署名またはコード署名用の証明書を受け
入れる。
1 のみ
はい
インポート不可能。
いいえ
S/MIME 署名またはコード署名用の証明書を受け
入れる。
2 のみ、または 2 以上を含む
組合せ(5 を除く)
該当せず
SSL または S/MIME 暗号化用の証明書を受け入れ
る。
5 のみ、または 5 を含む組合
せ
該当せず
CA 証明書署名用の証明書を受け入れる。
上記以外の設定
はい
インポート不可能。
いいえ
証明書は、SSL または S/MIME 暗号化用にイン
ポート可能。
用途
KeyUsage 拡張属性が重大である場合、その証明書は他の目的には使用できません。
表 5-3 OWM による信頼できる証明書の Oracle Wallet へのインポート
KeyUsage の値
重大であ
るか否か1
用途
なし
該当せず
インポート可能
5 を除く組合せ
はい
インポート不可能
いいえ
インポート可能
該当せず
インポート可能
5 のみ、または 5 を含む組
合せ
1
KeyUsage 拡張属性が重大である場合、その証明書は他の目的には使用できません。
必要な Oracle PKI 証明書使用に該当する KeyUsage 値で、認証局から証明書を取得します。
1 つの Wallet に、同じ用途の鍵のペア
鍵のペアが複数含まれることもあります。
表 5-2 および 5-3 に
鍵のペア
示すように、各証明書では Oracle PKI 証明書使用を複数サポートできます。Oracle PKI アプ
リケーションでは、必要な PKI 証明書使用を含んでいる最初の証明書を使用します。
5-8 Oracle9i Application Server セキュリティ・ガイド
LDAP ディレクトリのサポート
例 : SSL で使用する場合、SSL Oracle PKI 証明書使用を含む最初の証明書が使用されます。
注意 : SSL Oracle PKI 証明書使用は、Oracle PKI アプリケーションのみ
がサポートする用途です。
LDAP ディレクトリのサポート
Oracle Wallet Manager では、Oracle Internet Directory などの LDAP 準拠ディレクトリとの
間で、Wallet のアップロードや取得ができます。
集中化された LDAP 準拠ディレクトリに Wallet を格納すると、ユーザーは複数の場所やデ
バイスから Wallet にアクセスできるので、一貫性があり信頼性の高いユーザー認証が行わ
れるようになります。また Wallet のライフ・サイクルを通して、集中的な Wallet 管理が可
能になります。機能する Wallet を誤って上書きするのを防ぐため、機能する証明書を含む
Wallet のみをアップロードできます。
Oracle Wallet Manager で Wallet のアップロードやダウンロードを行うには、あらかじめエン
タープライズ・ユーザーを LDAP ディレクトリ内に定義し構成しておく必要があります。
ディレクトリに Oracle8i 以下のユーザーが含まれている場合、Wallet のアップロードやダウ
ンロードの機能を使用できるよう、初めて使用する際にユーザーが自動的にアップグレード
されます。
関連項目 : エンタープライズ・ユーザーの作成方法の詳細は、『Oracle
Advanced Security 管理者ガイド』を参照してください。
Oracle Wallet Manager では、単純なパスワードを使用して LDAP ディレクトリに接続し、
ユーザー Wallet をダウンロードします。ただし、開いた Wallet に SSL Oracle PKI 証明書使
用による証明書が含まれている場合、アップロードには SSL 接続が使用されます。
関連項目 : Oracle PKI 証明書ユーザーの詳細は、5-7 ページの「複数の証
明書のサポート」を参照してください。
SSL 証明書が Wallet 内に存在しない場合は、パスワードによる認証が行われます。
注意 : ディレクトリ・パスワードと Wallet パスワードは独立しているの
で、異なっていてもかまいません。これらのパスワードは、一貫して別々
に管理することをお薦めします。一方のパスワードからもう一方を類推で
きないようにしてください。
Oracle Wallet Manager の使用方法
5-9
Wallet の管理
Wallet の管理
この項では、Wallet を新規作成し、証明書要求の生成、証明書要求のエクスポート、Wallet
への証明書のインポートなど、様々な Wallet 管理タスクを実行する方法について説明しま
す。具体的な内容は次のとおりです。
■
Oracle Wallet Manager の起動
■
Wallet の新規作成
■
既存の Wallet を開く
■
Wallet を閉じる
■
変更の保存
■
開いている Wallet を新しい場所に保存
■
システムのデフォルトへの保存
■
Wallet の削除
■
パスワードの変更
■
自動ログインの使用方法
■
LDAP ディレクトリのサポート
Oracle Wallet Manager の起動
Oracle Wallet Manager を起動するには
■
Windows NT の場合 :
「スタート」>「プログラム」>「Oracle-ORACLE_HOME」>「Network
Administration」>「Wallet Manager」を選択します。
■
UNIX の場合 : コマンドラインに owm と入力します。
5-10 Oracle9i Application Server セキュリティ・ガイド
Wallet の管理
Wallet の新規作成
次の手順に従って Wallet を新規作成します。
1.
メニュー・バーから「Wallet」>「新規」を選択します。「New Wallet」ダイアログ・
ボックスが表示されます。
2.
所定のガイドラインに従ってパスワードを作成し、
「Wallet パスワード」フィールドに
パスワードを入力します。
Oracle Wallet には、ユーザーを複数のデータベースについて認証する際に使用できる
ユーザー資格証明が含まれているので、強度の高い Wallet パスワードを選択すること
が重要です。悪意のあるユーザーが、Wallet パスワードを推測し、Wallet 所有者がアク
セス権を持つすべてのデータベースにアクセスすることもあり得ます。
注意 : admin0、oracle1、2135551212A など、ユーザー名、電話番号また
は政府発行の ID 番号に由来した、容易に推測可能なパスワードは選択し
ないことを強くお薦めします。これは、不正アクセス者が個人情報から
ユーザー・パスワードを推測するのを防ぐためです。また、毎月または 3
か月に 1 回程度、定期的にパスワードを変更することもセキュリティ上重
要な習慣です。
関連項目 :
5-3 ページの「Wallet のパスワード管理」
3. 「パスワード確認」フィールドにパスワードを再入力します。
4. 「OK」を選択して続行します。
5.
空の Wallet が新しく作成されたことを示す警告が表示されます。証明書要求を作成する
かどうかをたずねられます。
関連項目 :
5-16 ページの「証明書要求の追加」
「取消」を選択すると、Oracle Wallet Manager のメイン・ウィンドウに戻ります。作成
したばかりの新しい Wallet が左のウィンドウに表示されます。証明書のステータスは
Empty であり、Wallet はデフォルトの信頼できる証明書を表示します。
6. 「Wallet」>「Save In System Default」を選択して、新しい Wallet を保存しま
す。
システムのデフォルトに Wallet を保存する権限がない場合は、別の場所に Wallet を保
存します。
Wallet が正常に保存されたことを示すメッセージが、ウィンドウの一番下に表示されま
す。
Oracle Wallet Manager の使用方法
5-11
Wallet の管理
既存の Wallet を開く
ファイル・システム・ディレクトリにすでに存在する Wallet を開くには、次の手順に従い
ます。
1.
メニュー・バーから「Wallet」>「開く」を選択すると、「Select Directory」ダイ
アログ・ボックスが表示されます。
2.
Wallet が格納されたディレクトリの場所へナビゲートし、ディレクトリを選択しま
す。
3. 「OK」を選択すると「Open Wallet」ダイアログ・ボックスが表示されます。
4. 「Wallet パスワード」フィールドに Wallet パスワードを入力します。
5. 「OK」を選択します。
6.
ウィンドウの一番下に「Wallet opened successfully」というメッセージが
表示され、Oracle Wallet Manager のメイン・ウィンドウに戻ります。Wallet の証
明書と信頼できる証明書が左のウィンドウに表示されます。
Wallet を閉じる
現在選択されいるディレクトリで開いている Wallet を閉じるには
■
■
「Wallet」>「閉じる」を選択します。
ウィンドウの一番下に「Wallet closed successfully」というメッセージが表示
され、Wallet が閉じたことを確認できます。
変更の保存
現在開いている Wallet に変更を保存するには
■
■
「Wallet」>「保存」を選択します。
選択されたディレクトリ内の Wallet に変更が正常に保存されたことを確認するメッセー
ジが、ウィンドウの一番下に表示されます。
5-12 Oracle9i Application Server セキュリティ・ガイド
Wallet の管理
開いている Wallet を新しい場所に保存
現在開いている Wallet を新しいディレクトリの場所に保存するには、
「別名保存」オプショ
ンを使用します。
1. 「Wallet」>「別名保存」を選択すると「Select Directory」ダイアログ・ボックス
が表示されます。
2.
Wallet を保存するディレクトリの場所を選択します。
3. 「OK」を選択します。
選択したディレクトリに Wallet がすでに存在する場合は、次のメッセージが表示
されます。
「A wallet already exists in the selected path. Do you want to
overwrite it ? 」
既存の Wallet に上書きする場合は「はい」を、別のディレクトリに Wallet を保存
する場合は「いいえ」を選択します。
選択されたディレクトリの場所に Wallet が正常に保存されたことを確認するメッ
セージが、ウィンドウの一番下に表示されます。
システムのデフォルトへの保存
現在開いている Wallet をシステムのデフォルト・ディレクトリの場所に保存するには、
「Save in System Default」メニュー・オプションを使用します。現在開いている
Wallet を、SSL が使用する Wallet にするには、次の手順に従います。
■
■
「Wallet」>「Save in System Default」を選択します。
システムのデフォルトの Wallet の場所に正常に保存されたことを確認するメッセージ
が、ウィンドウの一番下に表示されます。
Wallet の削除
現在開いている Wallet を削除するには
1. 「Wallet」>「削除」を選択すると「Delete Wallet」ダイアログ・ボックスが
表示されます。
2.
表示された Wallet の場所を確かめて、削除する Wallet であることを確認します。
3.
Wallet パスワードを入力します。
4. 「OK」を選択すると、Wallet が正常に削除されたことを伝えるダイアログ・パネル
が表示されます。
Oracle Wallet Manager の使用方法
5-13
Wallet の管理
注意 : アプリケーション・メモリー内の開いている Wallet は、アプリ
ケーションが終了するまでメモリー内に残ります。このため、現在使用中
の Wallet を削除しても、システム・オペレーションにただちに影響する
わけではありません。
パスワードの変更
パスワードの変更はただちに有効になります。Wallet は、新たに暗号化されたパスワードと
ともに、現在選択されているディレクトリに保存されます。現在開いている Wallet のパス
ワードを変更するには、次の手順に従います。
1. 「Wallet」>「パスワードの変更」を選択すると「Change Wallet Password」
ダイアログ・ボックスが表示されます。
2.
既存の Wallet パスワードを入力します。
3.
新しいパスワードを入力します。
関連項目 : パスワード・ポリシーの制限については、5-3 ページの
「Wallet のパスワード管理」を参照してください。
4.
新しいパスワードを再入力します。
5. 「OK」を選択します。
パスワードが正常に変更されたことを確認するメッセージが、ウィンドウの一番下に表
示されます。
自動ログインの使用方法
Oracle Wallet Manager の自動ログイン機能では、Wallet のあいまいなコピーを作成し、そ
の Wallet の自動ログイン機能が無効になるまで、パスワードなしでサービスに PKI アクセ
スすることを可能にします。Wallet への自動ログインが有効な場合でも、その Wallet を作成
したオペレーティング・システムのユーザーのみが使用できます。
複数の Oracle データベースにシングル・サインオン・アクセスする場合は、自動ログイン
を有効化する必要があります(デフォルトでは無効)
。
自動ログインの有効化
自動ログインを有効化するには
1.
メニュー・バーから「Wallet」を選択します。
2. 「Auto Login」メニュー・アイテムの隣のチェック・ボックスを選択します。ウィ
ンドウの一番下に「Autologin enabled」というメッセージが表示されます。
5-14 Oracle9i Application Server セキュリティ・ガイド
証明書の管理
自動ログインの無効化
自動ログインを無効化するには
1.
メニュー・バーから「Wallet」を選択します。
2. 「Auto Login」メニュー・アイテムの隣のチェック・ボックスを選択します。ウィ
ンドウの一番下に「Autologin disabled」というメッセージが表示されます。
証明書の管理
Oracle Wallet Manager では、2 種類の証明書を使用します。ユーザー証明書と信頼できる証
明書です。この項では、この 2 種類の証明書の管理方法について説明します。
■
ユーザー証明書の管理
■
信頼できる証明書の管理
注意 : 認証局から発行されるユーザー証明書をインストールする前に、
その認証局が発行した信頼できる証明書をインストールしておく必要があ
ります。Wallet を新規作成すると、複数の信頼できる証明書がデフォルト
でインストールされます。
ユーザー証明書の管理
ユーザー証明書の管理には、次のようなタスクが含まれます。
■
証明書要求の追加
■
Wallet へのユーザー証明書のインポート
■
Wallet からのユーザー証明書の削除
■
証明書要求の削除
■
ユーザー証明書のエクスポート
■
ユーザー証明書要求のエクスポート
Oracle Wallet Manager の使用方法
5-15
証明書の管理
証明書要求の追加
このタスクを使用すると、複数の証明書要求を追加できます。複数の要求を作成すると、
Oracle Wallet Manager では自動的に、最初の要求の内容を、それに続く各要求のダイアロ
グ・ボックスに取り込みます。これは後から編集できます。
実際の証明書要求は、Wallet の一部になります。任意の証明書要求を再利用して、新しい証
明書を取得できます。ただし、既存の証明書要求は編集できません。Wallet には、正確に記
入した証明書要求のみを格納してください。
PKCS #10 証明書要求を作成するには
1. 「操作」>「Create Certificate Request」を選択すると、
「Create
Certificate Request」ダイアログ・ボックスが表示されます。
2.
次の情報を入力します(表 5-4)。
表 5-4 証明書要求 : フィールドと説明
フィールド名
説明
共通名
必須。ユーザーまたはサービスの識別名を入力します。ユーザー名
は、名前 / 姓の書式で入力します。
部門名
オプション。識別対象の部門名を入力します。例 : 金融。
組織名
オプション。識別対象の組織名を入力します。例 : XYZ Corp
市区町村名
オプション。識別対象が所在する市区町村名を入力します。
都道府県名
オプション。識別対象が所在する都道府県名を略さずに入力しま
す。
認証局によっては略称を受入れない場合があるので、フル・ネーム
で入力してください。
国名
必須。ドロップダウン・リストを選択して、国の略称リストを表示
します。組織が所在する国を選択してください。
キー・サイズ
必須。ドロップダウン・ボックスを選択して、公開鍵と秘密鍵のペ
アを作成する際に使用するキー・サイズのリストを表示します。
詳細
オプション。「詳細」を選択すると、
「Advanced Certificate
Request」ダイアログ・パネルが表示されます。このフィールドを
使用して、識別名(DN)を編集またはカスタマイズします。たと
えば、都道府県や市区町村のフル・ネームを編集できます。
3. 「OK」を選択します。証明書要求が正常に作成されたことが、Oracle Wallet
Manager のダイアログ・ボックスに表示されます。このダイアログ・パネルの本文
から証明書要求のテキストをコピーし、電子メール・メッセージに貼付けて認証局
に送信するか、または証明書要求をファイルにエクスポートします。
5-16 Oracle9i Application Server セキュリティ・ガイド
証明書の管理
4. 「OK」を選択します。Oracle Wallet Manager のメイン・ウィンドウに戻ります。証
明書のステータスは要求済に変わっています。
Wallet へのユーザー証明書のインポート
証明書要求が実行されたことを知らせる電子メール通知が、認証局から送信されてきます。
次の 2 つの方法のいずれかを使って、証明書を Wallet にインポートします。認証局より受信
した電子メールから証明書をコピーして貼付けるか、ファイルからユーザー証明書をイン
ポートします。
証明書の貼付け
証明書を貼り付けるには
1.
2.
認証局より受信した電子メールのメッセージまたはファイルから、証明書のテキス
トをコピーします。Begin Certificate および End Certificate の行を取り
込みます。
メニュー・バーから「操作」>「Import User Certificate」を選択すると
「Import Certificate」ダイアログ・ボックスが表示されます。
3. 「Paste the Certificate」ボタンを選択し、
「OK」をクリックします。
「Import Certificate」ダイアログ・ボックスに次のメッセージが表示されます。
Please provide a base64 format certificate and paste it below.
4.
証明書をダイアログ・ボックスに貼付け、「OK」を選択します。証明書が正常にイ
ンストールされたことを確認するメッセージが、ウィンドウの一番下に表示されま
す。Oracle Wallet Manager のメイン・パネルに戻ります。Wallet のステータスは
「レディ」に変わっています。
証明書を含むファイルの選択
ファイルを選択するには
1.
メニュー・バーから「操作」>「Import User Certificate」を選択します。
2. 「Select a file...」証明書ボタンを選択し、
「OK」をクリックします。
「Import Certificate」ダイアログ・ボックスが表示されます。
3.
証明書がある場所のパスまたはフォルダ名を入力します。
4.
証明書のファイル名(cert.txt など)を選択します。
5. 「OK」を選択します。証明書が正常にインストールされたことを示すメッセージが、
ウィンドウの一番下に表示されます。Oracle Wallet Manager のメイン・パネルに戻
ります。Wallet のステータスは「レディ」に変わっています。
Oracle Wallet Manager の使用方法
5-17
証明書の管理
Wallet からのユーザー証明書の削除
1. 「操作」>「Remove User Certificate」を選択します。Wallet からユーザー証
明書を削除してよいかどうかを確認するダイアログ・ボックスが表示されます。
2. 「はい」を選択すると、Oracle Wallet Manager メイン・パネルに戻り、要求済のス
テータスが証明書に表示されます。
証明書要求の削除
証明書要求を削除するには
1. 「Certificate Request」を選択します。
2.
メニュー・アイテム「Remove Certificate Request」を選択します。
注意 :
関連する要求を削除する前に、証明書を削除する必要があります。
ユーザー証明書のエクスポート
証明書をエクスポートする場合は、ファイル・システム・ディレクトリに証明書を保存しま
す。
1.
メニュー・バーから「操作」>「Export User Certificate」を選択すると
「Export Certificate」ダイアログ・ボックスが表示されます。
2.
証明書の保存先になるファイル・システム・ディレクトリを入力するか、フォルダ
の下のディレクトリ構造にナビゲートします。
3.
証明書を保存するファイル名を「Enter File Name」フィールドに入力します。
4. 「OK」を選択します。証明書がファイルへ正常にエクスポートされたことを確認す
るメッセージが、ウィンドウの一番下に表示されます。Oracle Wallet Manager メイ
ン・ウィンドウに戻ります。
ユーザー証明書要求のエクスポート
証明書要求をエクスポートする場合は、ファイル・システム・ディレクトリに証明書要求を
保存します。
1.
メニュー・バーから「操作」>「Export Certificate Request」を選択すると
「Export Certificate Request」ダイアログ・ボックスが表示されます。
2.
証明書要求の保存先になるファイル・システム・ディレクトリを入力するか、フォ
ルダの下のディレクトリ構造にナビゲートします。
3.
証明書要求を保存するファイル名を「Enter File Name」フィールドに入力します。
5-18 Oracle9i Application Server セキュリティ・ガイド
証明書の管理
4. 「OK」を選択します。証明書要求がファイルへ正常にエクスポートされたことを確
認するメッセージが、ウィンドウの一番下に表示されます。Oracle Wallet Manager
メイン・ウィンドウに戻ります。
信頼できる証明書の管理
信頼できる証明書の管理には、次のようなタスクが含まれます。
■
信頼できる証明書のインポート
■
信頼できる証明書の削除
■
信頼できる証明書のエクスポート
■
すべての信頼できる証明書のエクスポート
■
Wallet のエクスポート
信頼できる証明書のインポート
次の 2 つの方法のいずれかを使って、信頼できる証明書を Wallet にインポートできます。認
証局より受信した電子メールから信頼できる証明書を貼付けるか、ファイルから信頼できる
証明書をインポートします。
Oracle Wallet Manager では、Wallet を新規作成すると、信頼できる証明書が VeriSign、
RSA、Entrust および GTE CyberTrust から自動的にインストールされます。
信頼できる証明書の貼付け
信頼できる証明書を貼付けるには
1.
メニュー・バーから「操作」>「Import Trusted Certificate」を選択すると
「Import Trusted Certificate」ダイアログ・ボックスが表示されます。
2. 「Paste the Certificate」ボタンを選択し、
「OK」をクリックします。次の
メッセージが「Import Trusted Certificate」ダイアログ・パネルに表示さ
れます。
Please provide a base64 format certificate and paste it below.
3.
ユーザー証明書が含まれている、受信した電子メール・メッセージの本文から、信
頼できる証明書をコピーします。Begin Certificate および End
Certificate の行を取り込みます。
4.
証明書をウィンドウに貼付け、「OK」を選択します。信頼できる証明書が正常にイ
ンストールされたことを示すメッセージが、ウィンドウの一番下に表示されます。
5. 「OK」を選択すると、Oracle Wallet Manager メイン・パネルに戻り、
「信頼できる
証明書」ツリーの一番下に、インストールした信頼できる証明書が表示されます。
Oracle Wallet Manager の使用方法
5-19
証明書の管理
信頼できる証明書を含むファイルの選択
ファイルを選択するには
1.
メニュー・バーから「操作」>「Import Trusted Certificate」を選択しま
す。「Import Trusted Certificate」ダイアログ・パネルが表示されます。
2.
信頼できる証明書がある場所のパスまたはフォルダ名を入力します。
3.
信頼できる証明書のファイル名(cert.txt など)を選択します。
4. 「OK」を選択します。信頼できる証明書が Wallet へ正常にインポートされたことを
示すメッセージが、ウィンドウの一番下に表示されます。
5. 「OK」を選択してダイアログ・パネルを終了すると、Oracle Wallet Manager メイ
ン・パネルに戻り、
「信頼できる証明書」ツリーの一番下に、インポートした信頼
できる証明書が表示されます。
信頼できる証明書の削除
信頼できる証明書を Wallet から削除するには
1. 「信頼できる証明書」ツリーに表示されている信頼できる証明書を選択します。
2.
メニュー・バーから「操作」>「Remove Trusted Certificate」を選択しま
す。
署名に使用された信頼できる証明書を削除すると、使用しているユーザー証明書を
受信者が検査できなくなることを警告するダイアログ・パネルが表示されます。
3. 「はい」を選択すると、
「信頼できる証明書」ツリーから、選択された信頼できる証
明書が削除されます。
注意 : 信頼できる証明書を Wallet から削除すると、その信頼できる証明
書によって署名された証明書は検査できなくなります。
また、ユーザー証明書の署名に使用した信頼できる証明書は、そのユー
ザー証明書がまだ Wallet 内に残っているあいだは削除できません。このよ
うな信頼できる証明書を削除するには、まず署名した証明書を削除する必
要があります。
5-20 Oracle9i Application Server セキュリティ・ガイド
証明書の管理
信頼できる証明書のエクスポート
信頼できる証明書をファイル・システムの別の場所にエクスポートするには
1. 「操作」>「Export Trusted Certificate」を選択すると「Export Trusted
Certificate」ダイアログ ボックスが表示されます。
2.
3.
信頼できる証明書を保存するファイル・システム・ディレクトリを選択するか、
「参照」を選択してディレクトリ構造を表示します。
信頼できる証明書を保存するファイル名を入力します。
4. 「OK」を選択し、Oracle Wallet Manager メイン・ウィンドウに戻ります。
すべての信頼できる証明書のエクスポート
信頼できる証明書すべてをファイル・システムの別の場所にエクスポートするには
1. 「操作」>「Export All Trusted Certificates」を選択します。「Export
Trusted Certificate」ダイアログ・ボックスが表示されます。
2.
3.
信頼できる証明書を保存するファイル・システム・ディレクトリを選択するか、
「参照」を選択してディレクトリ構造を表示します。
信頼できる証明書を保存するファイル名を入力します。
4. 「OK」を選択し、Oracle Wallet Manager メイン・ウィンドウに戻ります。
Wallet のエクスポート
Wallet はテキストベースの PKI フォーマットにエクスポートできます。個々のコンポーネン
トは、次の規格に従ってフォーマットされます(表 5-5)。
表 5-5 PKI Wallet のエンコーディング標準
コンポーネント
エンコーディング標準
証明連鎖
X509v3
信頼できる証明書
X509v3
秘密鍵
PKCS #8
Oracle Wallet Manager の使用方法
5-21
証明書の管理
5-22 Oracle9i Application Server セキュリティ・ガイド
6
Oracle9iAS Portal によるセキュリティの設定
ポータル・ソリューションにおける最も重要な問題の 1 つは、セキュリティです。Web コン
テンツへのユーザーのアクセスを制御し、システムに侵入しようとする人間から自分のサイ
トを保護する機能は必要不可欠なものです。この章では、Oracle9iAS Portal のセキュリティ
のアーキテクチャに関して、次の項目について説明します。
■
Portal セキュリティ・モデル
■
ユーザーとグループの作成
■
アクセス権限の付与
■
Portal セキュリティの管理
Oracle9iAS Portal によるセキュリティの設定
6-1
Portal セキュリティ・モデル
Portal セキュリティ・モデル
Web 上でコンテンツを選択可能にする場合、少なくともコンテンツの一部分をアクセス制限
する必要がある場合があります。たとえば、自分のサイト上にあるすべてのドキュメントを
あらゆるユーザーが閲覧できるようにする必要はありません。また、自分のサイト上にある
すべてのドキュメントをあらゆるユーザーが変更できるようにする必要性はさらにありませ
ん。Oracle9iAS Portal では、Web サイトでユーザーが閲覧および変更できるコンテンツを完
全に制御できる総合的なセキュリティ・モデルが提供されます。
Oracle9iAS Portal にログインしていない状態では、ユーザーはコンテンツの作成者がパブ
リックと指定したコンテンツのみを表示できます。パブリック・コンテンツは、ポータル・
オブジェクト(ページなど)の URL を知っていて、そのコンテンツが格納されているマシ
ンに接続できるユーザーなら誰でも表示できます。パブリック・ポートレットのように、パ
ブリックと指定されたオブジェクトの一部のみが、ユーザーに対して表示されます。オブ
ジェクトにパブリック・コンテンツが含まれていない場合、ユーザーはそのオブジェクトへ
のアクセスを拒否されます。
ユーザーがポータルにログインすると、ユーザーのアクセス権限に応じて、コンテンツの閲
覧および変更が可能かどうかが決定されます。通常、認証ユーザーは、パブリック・ユー
ザーより多くのものをポータルで閲覧したり、実行したりすることができます。たとえば、
認証ユーザーは、パブリック・ユーザーが表示できないページのアイテムやポートレットを
閲覧できます。さらに認証ユーザーは、コンテンツの追加や編集、プロパティや一般にパブ
リック・ユーザーが拒否される権限の変更などを実行することも可能です。ポータルでは、
ユーザーやグループごとに、オブジェクト(ページ、アイテム、ポートレット)へのアクセ
スを制御できます。すなわち、特定の指名ユーザーやユーザー・グループ、あるいはその両
方の組合せに対して、アクセス権限を付与できるわけです。
Web コンテンツへのアクセスを制御する柔軟性に富んだこのアプローチをサポートするため
に、Oracle9iAS Portal では、Oracle9iAS と Oracle9i のその他のコンポーネントを利用して、
ポータルを強力に保護します。Oracle9iAS Portal は、次のすべてのコンポーネントと連動し
て、セキュリティ・モデルを実装します。
■
■
■
■
■
Oracle9iAS Single Sign-On (Single Sign-On サーバー)は、ポータルの非パブリック・エ
リアにアクセスしようとするユーザーを認証します。
mod_osso は、Single Sign-On サーバーに認証リクエストをリダイレクトする Oracle
HTTP Server のモジュールです。
Oracle Internet Directory は、Oracle のネイティブ LDAP バージョン 3 サービスで、ユー
ザー資格証明やグループ・メンバーシップのリポジトリの役割を果たします。
Delegated Administration Service は、ディレクトリ内に格納される情報(ユーザーおよ
びグループ)の追加や更新を行います。
Oracle Directory Integration Server は、Oracle9iAS Portal でサブスクライブするディレ
クトリ・イベント(ユーザーの削除など)が発生すると、Oracle9iAS Portal に通知しま
す。つまり、Oracle9iAS Portal での変更が必要になる変更がディレクトリで発生した場
合に、Directory Integration Server によって、Oracle9iAS Portal に通知が送信されます。
6-2 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティ・モデル
図 6-1 Oracle9iAS Portal セキュリティのアーキテクチャ
Oracle9iAS
• Oracle9iAS Web Cache
• PPE
• mod_plsql
• mod_osso
• DAS
Oracle9iAS
Single Sign-On
サーバー
Oracle9iAS
Portal
リポジトリ
外部
リポジトリ
同期化
OID Server
DIP Server
• ユーザー・アカウント
• ユーザー・プロファイル
• グループ
• 設定情報
(オプション)
Oracle9iAS Portal によるセキュリティの設定
6-3
Portal セキュリティ・モデル
ユーザー認証および権限モデル
Oracle9iAS Portal にユーザーがログインしようとしたとき、Single Sign-On サーバーによっ
て、最初にそのユーザーの資格証明がディレクトリ内の情報と照合される必要があります。
ユーザーの識別が完了すると、Oracle9iAS Portal は、ディレクトリ内のユーザーのアクセス
権限を確認し、ポータル内でユーザーが閲覧および使用できるオブジェクトを決定します。
次の図にこのモデルの詳細を示します。
図 6-2 Oracle9iAS Portal の認証モデル
セッションの
Cookie
作成された
2
ユーザー
1
7
ログイン
ページ
リクエスト
Oracle9iAS
Portal
6
SSOへの
リダイレクト
ユーザー情報の
キャッシュ
キャッシュ
5
3
権限を取得する
ユーザーとして
接続
資格証明の
確認
OID
サーバー
6-4 Oracle9i Application Server セキュリティ・ガイド
4 セッションの
Cookie
Oracle9iAS
Single Sign-On
サーバー
Portal セキュリティ・モデル
1.
ユーザーは Oracle9iAS Portal から、「ログイン・リンク」をクリックしてログインを要
求します。
2.
このログイン要求は、認証のために Single Sign-On サーバーに転送されます。
3.
次に、Single Sign-On サーバーによって、ユーザー資格証明とディレクトリ内に格納さ
れている情報が照らし合されます。
4.
認証が正常終了すると、Single Sign-On サーバーはそのユーザーに対して、SSO 用の
Cookie を作成します。認証が正常終了しなかった場合は、そのユーザーのアクセスは拒
否され、ユーザー名とパスワードを再入力するためのログイン・ページに戻ります。
5.
ユーザー ID が確認されると、Oracle9iAS Portal に制御が戻り、ここでポータル・セッ
ション用の Cookie が作成されます。次に、Oracle9iAS Portal はディレクトリに接続し
て、ユーザーのグループ・メンバーシップと権限を決定します。
6.
Oracle9iAS Portal では、セッション中に、ユーザーのメンバーシップと権限に関する情
報がローカルでキャッシュされます。
7.
ユーザーがページにアクセスしようとしたとき、Oracle9iAS Portal では、次のような
チェックが行われます。
■
■
■
ページがパブリックであるかどうかがチェックされます。ページがパブリックであ
る場合、ユーザーはそのページを表示できます。
ページがパブリックでない場合、Oracle9iAS Portal は、現行ユーザーがそのページ
を表示できる権限を保持しているかどうかを判断するために、ローカルの権限表を
チェックします。ユーザーがページの表示権限を保持している場合、ユーザーはそ
のページを表示できます。
現行ユーザーがページを直接表示できる権限を保持していない場合、Oracle9iAS
Portal はそのユーザーが所属するいずれかのグループが、そのページを表示する権
限を保持していないか確認するため、キャッシュされているメンバーシップ情報と
権限表をチェックします。ユーザーが所属しているグループの 1 つが、ページの表
示権限を保持している場合、ユーザーはそのページを表示できます。
注意 : ユーザーの権限に影響をもたらす Oracle Internet Directory を変更
すると、通知が作成され、キャッシュされているユーザー情報は無効にな
ります。このため、Oracle9iAS Portal は通知を受信すると、ただちに、更
新されたユーザー権限の適用を開始します。
Oracle9iAS Portal によるセキュリティの設定
6-5
Portal セキュリティ・モデル
Portal セキュリティのアーキテクチャ
前述のモデルからわかるように、Oracle9iAS Portal の管理者は、次のすべてのことについて
理解しておく必要があります。
■
Oracle9iAS Portal と Oracle9iAS Single Sign-On の関係
■
Oracle9iAS Portal と Oracle Internet Directory の関係
■
Oracle9iAS Portal と Delegated Administration Service の関係
■
Oracle9iAS Portal と Oracle Directory Integration Server の関係
Oracle9iAS Portal と Oracle9iAS Single Sign-On の関係
6-4 ページの「ユーザー認証および権限モデル」で説明したように、ポータルでは、
Oracle9iAS Single Sign-On を使用して、ユーザー認証を行います。
注意 : Oracle9iAS Portal は、Oracle9iAS Single Sign-On リリース 9.0 と
のみ連動します。リリース 9.0 より古いバージョンは使用できません。同様
に、Oracle9iAS Single Sign-On リリース 9.0 は、Oracle9iAS Portal の古い
バージョンでは使用できません。
Oracle9iAS Single Sign-On では、ユーザーのシングル・サインオン・セッションが管理され
ます。シングル・サインオンのセキュリティを適切に機能させるには、Oracle9iAS Portal
で、Oracle9iAS Single Sign-On と統合化するための次の作業を行う必要があります。
■
■
Oracle9iAS Portal を Oracle9iAS Single Sign-On のパートナ・アプリケーションとして追
加します。
Oracle9iAS Portal のエントリをパートナ・アプリケーションのイネーブラ構成表に追加
します。
これらの 2 つの設定ステップは、Oracle Universal Installer でのインストール時に、自動的
に実行されます。インストールの完了後に、設定を変更する必要が出てきた場合、
ptlasst.csh(Unix 用)や ptlasst.bat(MS Windows 用)を起動して実行することが
できます。これらのスクリプトと関連ドキュメントは、$ORACLE_HOME/assistants に格納
されています。ORACLE_HOME は、Oracle9i Application Server のホーム・ディレクトリ
です。Oracle9iAS Portal に対する Oracle9iAS Single Sign-On の設定を変更するには、-mode
パラメータに次のいずれかを設定して、これらのスクリプトを起動する必要があります。
■
SSOCONFIG
■
SSOPARTNERCONFIG
■
MIDTIER
6-6 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティ・モデル
Oracle9iAS Portal と Oracle Internet Directory の関係
Oracle Internet Directory は、Oracle のスケーラブルなネイティブ LDAP バージョン 3 の
サービスで、Oracle 共通のユーザー ID を保持します。前述したように、Oracle9iAS Portal
は、ユーザーの権限とポータル内で許可される閲覧部分や処理内容について確認するため、
ディレクトリに問い合せます。特に、Oracle9iAS Portal は、ディレクトリからユーザーのグ
ループ・メンバーシップを検索して、ユーザーがアクセスおよび変更できる内容を判断しま
す。
このモデルの場合、Oracle9iAS Portal では、次のような Oracle Internet Directory との相互
作用が必要です。
■
ディレクトリに格納される Oracle9iAS Portal 固有のエントリ
■
ディレクトリに格納されるグループ属性
■
ディレクトリに格納されるユーザー属性
■
ディレクトリからのユーザーとグループの情報のキャッシング
■
Delegated Administration Service によるディレクトリからユーザーとグループの値リス
トへの移入
Oracle9iAS Portal についての Oracle Internet Directory のディレクトリ・エントリ セキュリティ
を適切に機能させるために、Oracle9iAS Portal では、次のエントリをディレクトリの DIT
構造に配置する必要があります。
■
■
1
Oracle9iAS Portal のデフォルト・ユーザー・アカウント(cn=PUBLIC、cn=PORTAL、
のデフォルト・ユーザー・アカウント
cn=PORTAL_ADMIN)は、サブスクライバのユーザー・ベース(cn=Users、
dc=MyCompany、dc=com1)に作成されます。PORTAL ユーザーは DBA グループに、
PORTAL_ADMIN ユーザーは PORTAL_ADMINISTRATORS グループにそれぞれ追加
されます。PUBLIC ユーザーは、非認証ユーザー用に作成されます。通常、PUBLIC ユー
ザーのエントリは、すべてのユーザーがアクセス可能な制限されていないポータル・コ
ンテンツの表示権限を付与するためのものです。
Oracle9iAS Portal グループ・コンテナ(cn=PORTAL_GROUPS)は、サブスクライバ
グループ・コンテナ
のグループ・ベース(cn=Groups、o=MyCompany、dc=com1)に作成されます。
Oracle9iAS Portal では、ディレクトリ内の任意のグループを利用できますが、
Oracle9iAS Portal のグループ・コンテナ内にグループが配置されていると、値リストに
表示するために、さらに容易にグループにアクセスできます。
デフォルトのサブスクライバ名は、システムがインストールされているサーバーのドメイン名
によって決定されます。たとえば、DNS サーバーが oracle の場合、デフォルトのサブスクライ
バ名は o=oracle、dc=com になります。DNS サーバーが判断できない場合、デフォルト名とし
て o=Default Company、dc=com がディレクトリによって割り当てられます。
Oracle9iAS Portal によるセキュリティの設定
6-7
Portal セキュリティ・モデル
■
■
■
Oracle9iAS Portal グループは、ディレクトリの
Oracle9iAS Portal グループ・コンテナ
グループ
内に作成されます。
■
cn=AUTHENTICATED_USERS
■
cn=DBA
■
cn=PORTAL_ADMINISTRATORS
■
cn=PORTAL__DEVELOPERS
■
cn=PORTLET_PUBLISHERS
■
cn=RW_ADMINISTRATOR
■
cn=RW_DEVELOPER
■
cn=RW_POWER_USER
■
cn=RW_BASIC_USER
Oracle9iAS Portal アプリケーション・エンティティ
(orclApplicationCommonName=PORTAL)は、Oracle コンテキストに作成されます
(cn=Portal、cn=Products、cn=Oracle コンテキスト)。Oracle9iAS Portal は、ディレク
トリに問合せを行う必要がある場合や、ディレクトリに対してアクション(ユーザーの
追加など)を実行する必要がある場合に、ユーザーのかわりに、このエンティティを使
用して、ディレクトリにバインドします。Oracle9iAS Portal がユーザーのためにディレ
クトリをバインドする場合、ユーザーとして接続するために、プロキシ接続を使用しま
す。これによって、ユーザーの認可制限が、ディレクトリによって適切に実行されます。
Oracle9iAS Portal のアプリケーション・エンティティは、ユーザーのプロキシ権限グ
ループ(cn=UserProxyPrivilege、cn=Groups、cn=OracleContext)のメンバーシップに
よって、プロキシ接続を開始する権限を取得します。
Oracle9iAS Portal のディレクトリ同期サブスクリプション プロビジョニング・プロ
ファイルのエントリは、ディレクトリのプロビジョニング・プロファイル
(cn=Provisioning Profile、cn=changelog subscriber、cn=oracle internet directory)に作
成されます。このエントリは、ユーザーやグループの権限情報が変更されたときに、
ディレクトリが Oracle9iAS Portal に通知する必要があることを示します。これによっ
て、Oracle9iAS Portal の認可とディレクトリ内に格納されている情報が同期化できま
す。この登録は、ディレクトリのプロビジョニング・サブスクリプション・ツールから
実行されます。
次の図に、Oracle9iAS Portal の情報が、ディレクトリの DIT 構造に配置されている場所を
示します。
6-8 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティ・モデル
図 6-3 Oracle9iAS Portal の DIT 構造
DSE ROOT
cn=OracleContext
dc = com
cn=oracle internet
directory
cn=changelog
subscriber
O = MyCompany
cn=Groups
cn=Users
cn=OracleContext
cn=PORTAL_
GROUPS
cn=PUBLIC
cn=Products
cn=Products
cn=Provisioning Profile
cn=Portal
orclODIPProfileName =
subguid_appguid
...
cn=AUTHENTICATED_
USERS
...
cn=PORTAL
cn=DBA
cn=PORTAL_
ADMIN
...
...
cn=PORTAL_
ADMINISTRATORS
...
...
cn=Common
orclcommongroupsearchbase
orclcommonusersearchbase
orclcommonnicknameattribute
orclApplicationCommonName=PORTAL
cn=PORTAL_
DEVELOPERS
...
Oracle Internet Directory に格納されるユーザー属性 Oracle9i Application Server の他のすべて
のコンポーネントと同様に、Oracle9iAS Portal では、ユーザー情報を格納するために、ディ
レクトリを利用します。ディレクトリ内のユーザーはすべて、次のオブジェクト・クラスを
使用して定義します。
■
■
inetOrgPerson オブジェクト・クラスには、IETF(RFC 2798)で定義されるすべての
ユーザー属性が含まれています。
orclUser オブジェクト・クラスと orclUserV2 オブジェクト・クラスには、Oracle 製品用
の標準追加属性のセットが含まれています。
Oracle9iAS Portal によるセキュリティの設定
6-9
Portal セキュリティ・モデル
次の表に、Oracle Internet Directory に格納される様々なユーザー属性をまとめます。
表 6-1 inetOrgPerson 属性
inetOrgPerson(
(IETF)属性
)属性
コメント
cn
ユーザーの共通名とデフォルトのニックネー
ム。これはユーザーが Single Sign-On サー
バーを介して、Oracle9iAS Portal にログイン
するときの名前です。
この属性は必須です。
employeeNumber
従業員を識別するために使用する番号。
sn
姓。この属性は必須です。この属性に明示的
に何も指定しないと、ユーザーのニックネー
ム(デフォルトでは Cn)が使用されます。
givenName
名。
middleName
displayName
ニックネーム
mail
電子メールのアドレス
telephoneNumber
homePhone
mobile
pager
facsimileTelephoneNumber
street
l
オフィスが所在する市
st
オフィスが所在する県
postalCode
オフィスの郵便番号
c
オフィスが所在する国
homePostalAddress
自宅の住所
jpegPhoto
人物の写真
o
組織名
title
manager
6-10 Oracle9i Application Server セキュリティ・ガイド
従業員の管理者
Portal セキュリティ・モデル
表 6-1 inetOrgPerson 属性(続き)
inetOrgPerson(
(IETF)属性
)属性
コメント
userPassword
preferredLanguage
表 6-2 orclUserV2 属性
orclUserV2 属性
コメント
orclIsVisible
管理者を除く全員に対して、そのユーザーを
非表示にするかどうかを指定するフラグ。
orclDisplayPersonalInfo
管理者を除く全員に対して、ユーザーの個人
情報を非表示にするかどうかを指定するフラ
グ。
orclMaidenName
orclDateOfBirth
orclHireDate
orcleDefaultProfileGroup
人物のデフォルト・ユーザー・グループ。
orclActiveStartDate
アカウントがアクティブになった日。
orclActiveEndDate
アカウントが終了になった(なる)日。
orclTimeZone
orclIsEnabled
ユーザー・アカウントをアクティブにするか
どうかを指定するフラグ。アカウントがアク
ティブになっていないと、ユーザーはログイ
ンすることができません。
旧バージョンの Oracle9iAS Portal のユーザー・プロパティに慣れているユーザーのために、
次の表に、古いユーザー・プロパティと新しい Oracle Internet Directory の属性をマッピン
グします。
Oracle9iAS Portal によるセキュリティの設定
6-11
Portal セキュリティ・モデル
表 6-3 Oracle9iAS Portal のユーザー・プロパティと Oracle Internet Directory の
マッピング
旧バージョンの Oracle9iAS Portal
のユーザー・プロパティ
inetOrgPerson 属性または
orclUserv2 属性
ID
グローバルな一意の識別子を使用し
て、該当するディレクトリ・エント
リにリンクするローカルな
Oracle9iAS Portal の属性を ID が保
持するため、適用できません。
EMPNO
employeeNumber
LAST_NAME
sn
FIRST_NAME
givenName
MIDDLE_NAME
middleName
KNOWN_AS
displayName
EMAIL
mail
WORK_PHONE
telephoneNumber
HOME_PHONE
homePhone
MOBILE_PHONE
mobile
PAGER
pager
FAX
facsimileTelephoneNumber
OFFICE_ADDR(1,2,3)
street
OFFICE_CITY
l
OFFICE_STATE
st
OFFICE_ZIP
postalCode
OFFICE_COUNTRY
c
HOME_ADDR[1,2,3],CITY,
STATE,ZIP,COUNTRY
homePostalAddress
IMAGE
jpegPhoto
ORGANIZATION
o
TITLE
title
MANAGER
manager
PASSWORD
userPassword
DISPLAY
orclIsVisible
6-12 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティ・モデル
表 6-3 Oracle9iAS Portal のユーザー・プロパティと Oracle Internet Directory の
マッピング(続き)
旧バージョンの Oracle9iAS Portal
のユーザー・プロパティ
inetOrgPerson 属性または
orclUserv2 属性
DISPLAY_PERSONAL_INFO
orclDisplayPersonalInfo
NOTIFICATION_PREFERENCE
orclWorkflowNotificationPref
USER_NAME
ユーザーの完全な DN のかわりに使
用されるニックネームを表す
orclCommonNickName 属性。完全
な DN 属性は、かなり長くなるため
(cn=name、o=domain、dc=com)、
このニックネームを使用して、ログ
インする方がユーザーにとって簡単
です。詳細は、Oracle Internet
Directory のドキュメントを参照し
てください。
MAIDEN_NAME
orclMaidenName
DATE_OF_BIRTH
orclDateOfBirth
HIREDATE
orclHireDate
SUBSCRIBER_ID
サブスクライバ識別子は、ユーザー
のサブスクライバ・ノードから取得
されるため、適用できません。
DEFAULT_GROUP
orcleDefaultProfileGroup
Oracle Internet Directory に格納されるグループ属性 Oracle9i Application Server の他のすべて
のコンポーネントと同様に、Oracle9iAS Portal では、グループ情報を格納するために、ディ
レクトリを利用します。ディレクトリ内のグループはすべて、次のオブジェクト・クラスを
使用して定義します。
■
■
groupOfUniqueNames オブジェクト・クラスには、IETF(RFC 2798)で定義されるす
べてのグループ属性が含まれています。
orclGroup オブジェクト・クラスには、Oracle9iAS Portal 用の標準追加属性のセットが
含まれています。
Oracle9iAS Portal によるセキュリティの設定
6-13
Portal セキュリティ・モデル
次の表に、Oracle Internet Directory に格納される様々なグループ属性をまとめます。
表 6-4 groupOfUniqueNames 属性
groupOfUniqueNames(
(IETF)属性
)属性 コメント
cn
グループを特定するために、
「グループ」
ポートレットの「グループ編集」フィールド
のような場所に入力できるグループの共通
名。
description
グループが表示される値リストに表示するテ
キストによるグループの説明。
uniqueMember
グループのメンバー全員の識別名(DN)の
リスト。メンバーの DN は、ユーザーまたは
別のグループを表すことができます。
owner
このグループの管理権限を保持するすべての
ユーザーとグループの DN のリスト。
表 6-5 orclGroup 属性
orclGroup 属性
orclGUID
orclIsVisible
コメント
このグループのグローバルな一意の識別子
(GUID)。
グループがパブリックかプライベートかを指
定するフラグ。プライベート・グループは、
所有者の値リストにしか表示されません。他
のユーザーは、そのプライベート・グループ
を見ることができません。
旧バージョンの Oracle9iAS Portal のグループ・プロパティをよく知っているユーザーのた
めに、次の表では、古いグループ・プロパティと新しい Oracle Internet Directory の属性を
マッピングしています。
6-14 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティ・モデル
表 6-6 Oracle9iAS Portal のグループ・プロパティと Oracle Internet Directory のマッピング
旧バージョンの Oracle9iAS Portal
のグループ・プロパティ
groupOfUniqueNames 属性または
orclGroup 属性
ID
グループのローカル ID。ローカル
で新しく格納される orclGUID に
よって、ディレクトリ内の
orclGUID と一致させることができ
ます。
HIDDEN_GROUP
orclIsVisible
SUBSCRIBER_ID
サブスクライバ・ベースの下にある
グループ・エントリの位置がサブス
クライバを示しているため、サブス
クライバ ID は必要なくなりました。
NAME
Cn
DESCRIPTION
Description
group membership
uniqueMember
OWNER
Owner
Oracle Internet Directory Oracle9iAS Portal の Oracle Internet Directory のキャッシュ パフォーマン
スを改善するために、Oracle9iAS Portal は、ディレクトリの一部の情報をローカルでキャッ
シュします。特に、Oracle9iAS Portal では、次の情報がキャッシュされます。
■
Oracle9iAS Portal のディレクトリ接続情報
■
Delegated Administration Service の URL
■
ディレクトリのポートレット(
「ユーザー」ポートレットや「グループ」ポートレット
など)で認可チェックするための特定の権限グループの orclGUID
■
一部の Oracle コンテキスト情報
■
ローカルで選択されたグループの検索ベースと作成ベース
■
グループ・メンバーシップと各ユーザーのデフォルト・グループ
Oracle9iAS Portal でキャッシュされる情報の大半は、かなり静的なものです(ディレクトリ
接続情報など)
。グループ・メンバーシップやデフォルト・グループのような比較的動的なア
イテムの場合、Oracle9iAS Portal ではプロビジョニング・エージェントを利用して、更新を
行います。Oracle9iAS Portal では、ディレクトリ内にディレクトリ同期サブスクリプション
が保持されます。これは、Oracle9iAS Portal のセキュリティに影響を与える変更イベント
(グループへのユーザーの追加やグループからのユーザーの削除など)を Oracle9iAS Portal
に通知するようにエージェントに指示するものです。
Oracle9iAS Portal によるセキュリティの設定
6-15
Portal セキュリティ・モデル
Oracle9iAS Portal のユーザーとグループの値リスト「ユーザー」、
「グループ」、
「Portal ユー
ザー・プロファイル」
、「Portal グループ・プロファイル」のポートレットには、ユーザーや
グループの値リストが含まれています。これらの値リストには、ディレクトリに格納されて
いる情報を移入する必要があります。
ディレクトリと複数のドメインに常駐する Oracle9iAS Portal サーバーが存在する場合、
ユーザーとグループの値リストを解決できるように、Oracle9iAS Portal に Java Script ドメ
インを明示的に設定する必要があります。たとえば、Delegated Administration Service では
なく、別の Oracle HTTP Server を使用するように、Oracle9iAS Portal を設定したと仮定し
ます。この場合、Delegated Administration Service によって表示される値リストから、
Oracle9iAS Portal によって表示されるページに値を転送できるように、共通のドメインを保
持する必要があります。
このようなシングル・ドメインを作成するには、次の手順を実行します。
1.
PORTAL スキーマで SQL*Plus にログインします。
2.
次の SQL スクリプトを実行します。
secjsdom.sql <domain_name>
このプロシージャを実行すると、Oracle9iAS Portal のディレクトリの値リストを Netscape
または MicroSoft Internet Explorer のいずれかで実行できます。値リストを使用する場合、
値リストとは別に、遷移ウィンドウが表示されます。遷移ウィンドウは、ページがドメイン
をリセットしないで、Oracle9iAS Portal に値を渡せるようにするのに必要です。
関連項目 : Oracle9iAS Portal がグループを検索する場所の指定方法につ
いては、6-41 ページの「グループ検索ベース識別名(DN)」を参照してく
ださい。
Oracle9iAS Portal と Oracle Directory Integration Server の関係
ディレクトリ同期化プロビジョニングは、ディレクトリ内のユーザーやグループの変更イベ
ントをコンポーネントに通知するために、Oracle Directory Integration Server によって提供
されるサービスです。次の図に、Directory Integration Server がコンポーネントをディレク
トリ内の最新情報に同期化させる方法を示します。
6-16 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティ・モデル
図 6-4 Oracle Directory Integration Server 同期モデル
OID Server
プロビジョニング・
プロファイル
ChangeLog
同期プロファイル
Directory Integration Server
プロビジョニング統合サービス
ディレクトリ同期サービス
タグ付き
ファイルI/F
プロビジョ
ニングI/F
LDAP
I/F
LDAP
I/F
サード・
パーティの
ディレクトリ
サード・
パーティの
ディレクトリ
Oracle HR
エージェント
プロビジョ
ニングされた
アプリケー
ション
接続された
ディレクトリ
プロビジョニング・
エージェント
アプリケー
ション1
アプリケー
ション2
Oracle
HR
レガシー・
アプリケーション
Oracle9iAS Portal のようなコンポーネントでは、ユーザーとグループに関する情報のローカ
ル・キャッシュをディレクトリ内にある中央のユーザーとグループのリポジトリと同期化さ
せるために、プロビジョニング・イベント(グループの削除など)がサブスクライブされま
す。変更イベントが発生すると、その変更イベントをサブスクライブしているすべてのコン
ポーネントに対して、Directory Integration Server のプロビジョニング・エージェントから
通知が送られます。Oracle9iAS Portal では、サブスクライブした変更イベントが発生するた
びに通知するように指定するため、ディレクトリ内のポータル・ディレクトリ同期サブスク
リプションのフラグを設定します。次の表に、Oracle9iAS Portal がサブスクライブするイベ
ントとそれらのイベントが発生した場合に行われるアクションをまとめます。
Oracle9iAS Portal によるセキュリティの設定
6-17
Portal セキュリティ・モデル
表 6-7 Oracle9iAS Portal で処理されるディレクトリ同期化イベント
サブスクライブされる
イベント
USER DELETE
USER MODIFY
(orclDefaultProfileGroup)
GROUP DELETE
GROUP MODIFY
(uniqueMember)
Oracle9iAS Portal のアクション
ユーザーの権限を削除することによって、ローカル・ユーザー・
プロファイルのエントリが削除されます。このユーザーに関連付
けられたページが、Oracle9iAS Web Cache で無効になります。
ローカル・ユーザー・プロファイルで、ユーザーのデフォルト・
グループが変更されます。
このグループに割り当てられた権限を削除することによって、
ローカル・グループ・プロファイルが削除されます。それに応じ
て、WWSEC_FLAT$ 表が更新されます。
WWSEC_FLAT$ 表は、Oracle9iAS Portal に影響を与えるメン
バーシップの変更を反映するために更新されます。
メンバーシップの変更で、変更グループへの追加または変更グ
ループからの削除が行われたグループが含まれる場合、追加や削
除が行われたグループのユーザーと関連付けられたページが、
Oracle9iAS Web Cache で無効になります。このアクションが行わ
れる理由は、セキュリティの変更によって、ページやページ自体
のアクセス権限で参照できるものが変更される可能性があるから
です。
注意 : Oracle9iAS Portal では、ユーザーとグループの作成イベントをサ
ブスクライブする必要はありません。新規ユーザーが初めてログインした
ときや、ある権限を割り当てられたときに、ローカル・ユーザー・プロ
ファイルが自動的に作成されます。これによって、Oracle9iAS Portal のア
クセス制御リストで、ユーザーが参照されるようになります。同様に、新
規グループがアクセス制御リストで初めて参照されたときに、ローカル・
グループ・プロファイルが自動的に作成されます。
6-18 Oracle9i Application Server セキュリティ・ガイド
ユーザーとグループの作成
Oracle9iAS Portal と Delegated Administration Service の関係
ユーザーとグループの情報をディレクトリに問い合せる以外に、Oracle9iAS Portal には、
ユーザーとグループの情報を追加および変更するための手段が必要です。ディレクトリ内の
情報を変更するには、Delegated Administration Service を使用します。Oracle9iAS Portal で
は、ユーザーとグループの追加や変更を行うための権限を保持するユーザーに対して、
Delegated Administration Server へのリンクが提供されます。
Oracle Internet Directory に格納される情報の作成と更新 Delegated Administration Service で
は、ディレクトリへの更新を行うための総合的なインタフェースが提供されます。適切な権
限を保持する認証ユーザーは、Oracle9iAS Portal の「管理」タブにある「ユーザー」と「グ
ループ」のポートレットから、Delegated Administration Server にアクセスできます。これ
らのポートレットにアクセスするには、ユーザーはそれぞれ OracleDASCreateUser グルー
プと OracleDASCreateGroup グループのメンバーである必要があります。PORTAL ユーザー
と PORTAL_ADMIN ユーザーは、デフォルトでこれらのグループのメンバーになっていま
す。AUTHENTICATED_USERS は、デフォルトでグループを作成することも許可されてい
ます。
Delegated Administration Service、
、mod_osso、
、Oracle9iAS Single Sign-On サーバーの関係 ユーザー
が Delegated Administration Server にアクセスする場合、認証のために mod_osso を使用し
ます。正常に認証され、適切な権限を付与されたユーザーは、Delegated Administration
Server にアクセスできます。
ユーザーとグループの作成
前述したように、ポータルのユーザーとグループを作成する最も一般的な方法は、
Oracle9iAS Portal の「管理」タブにある「ユーザー」と「グループ」のポートレットを使用
することです。さらに、「Portal ユーザー・プロファイル」と「Portal グループ・プロファイ
ル」のポートレットを使用して、ポータルのユーザーとグループに対し、グローバル権限と
作業環境を設定できます。
「ユーザー」、
「グループ」、
「Portal ユーザー・プロファイル」、
「Portal グループ・プロファイ
ル」のポートレットにアクセスするには、次のいずれかのグループのメンバーである必要が
あります。
■
PORTAL_ADMINISTRATORS
■
DBA
これらのいずれかのグループのメンバーでない場合、次の権限グループのメンバーになる必
要があります。
■
OracleDASCreateUser
■
OracleDASCreateGroup
Oracle9iAS Portal によるセキュリティの設定
6-19
ユーザーとグループの作成
ディレクトリ情報ツリーのディレクトリ・アクセス制御ポリシーでは、
「ユーザー」、
「グ
ループ」
、「Portal ユーザー・プロファイル」
、「Portal グループ・プロファイル」のポート
レットにアクセスできるこれらの権限グループのメンバーを示しています。
「ユーザー」ポートレット
「管理」タブの「ユーザー」ポートレットでは、Delegated Administration Service を介して
ユーザーの作成と更新を行うことができます。新規ユーザーを作成するには、「ユーザー」
ポートレットの「新規ユーザーの作成」をクリックします。既存ユーザーについての情報を
更新するには、
「名前」フィールドにユーザー名を入力するか、または値リストからユー
ザー名を選択し、
「編集」をクリックします。ユーザーを削除するには、
「名前」フィールド
にユーザー名を入力するか、または値リストからユーザー名を選択し、
「削除」をクリック
します。
関連項目 : 「ユーザー」ポートレットで可能な設定についての詳細は、次
のドキュメントを参照してください。
■
■
Oracle9iAS Portal オンライン・ヘルプ
『Oracle Internet Directory 管理者ガイド』で、Delegated Administration
Service について説明しています。
図 6-5 「ユーザー」ポートレット
6-20 Oracle9i Application Server セキュリティ・ガイド
ユーザーとグループの作成
「Portal ユーザー・プロファイル」ポートレット
特にポータルに関するグローバル・ユーザー権限と作業環境を設定するには、
「Portal ユー
ザー・プロファイル」ポートレットを使用します。ユーザーのポータル作業環境と権限を更
新するには、
「名前」フィールドにユーザー名を入力するか、または値リストからユーザー
名を選択します。ユーザーのプロファイルに、次のすべての情報を設定できます。
■
■
作業環境
–
ユーザーがポータルにアクセスできるかどうか
–
ユーザーのデータベース・スキーマ名
–
ユーザーが個人用ページを保持するかどうか
–
ユーザーのデフォルト・ユーザー・グループ
–
ユーザーのデフォルト・ホームページ
–
ユーザーの Oracle9iAS Web Cache を消去するかどうか
グローバル権限
–
ページ・グループ権限
–
アプリケーション権限
–
管理権限
関連項目 : これらの設定の詳細は、Oracle9iAS Portal のオンライン・ヘ
ルプのユーザー・プロファイルの編集に関するページを参照してくださ
い。
図 6-6 「Portal ユーザー・プロファイル」ポートレット
Oracle9iAS Portal によるセキュリティの設定
6-21
ユーザーとグループの作成
「グループ」ポートレット
「管理」タブの「グループ」ポートレットでは、Delegated Administration Service を介して
ユーザー・グループの作成と更新を行うことができます。新規グループを作成するには、「グ
ループ」ポートレットの「新規グループの作成」をクリックします。既存グループについて
の情報を更新するには、
「名前」フィールドにグループ名を入力するか、または値リストか
らグループ名を選択し、
「編集」をクリックします。グループを削除するには、
「名前」
フィールドにグループ名を入力するか、または値リストからグループ名を選択し、
「削除」
をクリックします。
関連項目 : 「グループ」ポートレットの設定についての詳細は、次のド
キュメントを参照してください。
■
■
Oracle9iAS Portal オンライン・ヘルプ
『Oracle Internet Directory 管理者ガイド』で、Delegated
Administration Service について説明しています。
図 6-7 「グループ」ポートレット
6-22 Oracle9i Application Server セキュリティ・ガイド
ユーザーとグループの作成
「Portal グループ・プロファイル」ポートレット
特にポータルに関するグローバル・グループ作業環境と権限を設定するには、
「Portal グ
ループ・プロファイル」ポートレットを使用します。グループのポータル作業環境と権限を
更新するには、
「名前」フィールドにグループ名を入力するか、または値リストからグルー
プ名を選択します。グループのプロファイルに、次のすべての情報を設定できます。
■
作業環境
–
■
グループのデフォルト・ホームページ
グローバル権限
–
ページ・グループ権限
–
アプリケーション権限
–
管理権限
関連項目 : これらの設定の詳細は、Oracle9iAS Portal のオンライン・ヘ
ルプのグループ・プロファイルの編集に関するページを参照してくださ
い。
図 6-8 「Portal グループ・プロファイル」ポートレット
Oracle9iAS Portal によるセキュリティの設定
6-23
アクセス権限の付与
アクセス権限の付与
Oracle9iAS Portal 内では、アクセスを制御するきめ細かさのレベルを決定します。ユーザー
単位、またはグループ単位で、任意のオブジェクトに権限を割り当てることが可能です。た
とえば、ポータル内の各アイテムまたはすべてのアイテムについて、ユーザー単位でアクセ
ス権限を割り当てることができますが、このアプローチだと、コンテンツの作成者にかなり
のオーバーヘッドが生じます。
コンテンツ作成者の負荷を減らす必要がある場合、ページ・レベルでグループごとに権限を
割り当て、特定のページに配置したすべてのアイテムについて、同様のセキュリティ要件を
持たせることが簡単にできます。このアプローチの場合、アイテムが含まれるページによっ
て、アイテムに与えられるセキュリティで十分間に合うことがほとんどであるため、コンテ
ンツ作成者はページではなく、高いセキュリティが必要なアイテムに対してのみ権限を割り
当てるだけで済みます。
「アクセス」タブ
オブジェクトの「ページの編集」にある「アクセス」タブを使用して、Oracle9iAS Portal 内
にある次のすべてのオブジェクトのユーザーまたはグループに対して、アクセス権限を割り
当てることができます。
表 6-8 Oracle9iAS Portal のオブジェクトと権限の制御
オブジェクトのタイプ
使用可能な権限
カレンダ
■
管理
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
チャート
(SQL 問合せを基準とする)
チャート
(ウィザードを基準とする)
6-24 Oracle9i Application Server セキュリティ・ガイド
継承される権限
DB プロバイダから
DB プロバイダから
DB プロバイダから
アクセス権限の付与
表 6-8 Oracle9iAS Portal のオブジェクトと権限の制御(続き)
オブジェクトのタイプ
使用可能な権限
データ・コンポーネント
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
編集
■
表示
■
管理
■
編集
■
ソースの表示
■
カスタマイズ
■
実行
■
所有
■
管理
■
表示のみ
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
データ・コンポーネント・
セル
DB プロバイダ
ドキュメント
動的ページの
コンポーネント
フォーム1
フレーム・ドライバ
継承される権限
DB プロバイダから
データ・コンポーネントから
適用なし
ページまたはアイテムから
DB プロバイダから
DB プロバイダから
DB プロバイダから
Oracle9iAS Portal によるセキュリティの設定
6-25
アクセス権限の付与
表 6-8 Oracle9iAS Portal のオブジェクトと権限の制御(続き)
オブジェクトのタイプ
使用可能な権限
階層
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
実行
イメージ・チャート
リンク
値リスト
メニュー
Oracle9i Reports プリンタ
6-26 Oracle9i Application Server セキュリティ・ガイド
継承される権限
DB プロバイダから
DB プロバイダから
DB プロバイダから
DB プロバイダから
DB プロバイダから
DB プロバイダから
アクセス権限の付与
表 6-8 Oracle9iAS Portal のオブジェクトと権限の制御(続き)
オブジェクトのタイプ
使用可能な権限
Oracle9i Reports レポート
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
実行
■
管理
■
コンテンツの管理
Oracle9i Reports サーバー
ページ
■
■
■
■
■
■
ページ・グループ
ページ・アイテム
継承される権限
DB プロバイダから
DB プロバイダから
適用なし
承認付きアイテムの管
理
スタイルの管理
ポートレットのカスタ
マイズ(すべて)
ポートレットのカスタ
マイズ(追加のみ)
ポートレットのカスタ
マイズ(非表示 / 表
示)
カスタマイズ(スタイ
ル)
■
表示
■
すべて管理
■
クラスの管理
■
テンプレートの管理
■
スタイルの管理
■
表示
■
所有
■
管理
■
表示のみ
適用なし
ページから
Oracle9iAS Portal によるセキュリティの設定
6-27
アクセス権限の付与
表 6-8 Oracle9iAS Portal のオブジェクトと権限の制御(続き)
オブジェクトのタイプ
使用可能な権限
ポートレット
■
管理
■
編集
■
実行
■
アクセス
■
公開
■
管理
■
編集
■
公開
■
実行
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
■
管理
■
変更
■
挿入
■
表示
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
プロバイダ
フォーム例による問合せ
レポート
スキーマ
URL
2
6-28 Oracle9i Application Server セキュリティ・ガイド
継承される権限
適用なし
適用なし
DB プロバイダから
DB プロバイダから
適用なし
DB プロバイダから
Portal セキュリティの管理
表 6-8 Oracle9iAS Portal のオブジェクトと権限の制御(続き)
オブジェクトのタイプ
使用可能な権限
XML
■
管理
■
編集
■
表示
■
カスタマイズ
■
実行
1
2
継承される権限
DB プロバイダから
様々なタイプのフォーム(ストアド・プロシージャまたは表ベース、バージョン 2 またはバージョン
3 ベース、マスター・ディテール)を使用することができますが、これらのタイプはすべて、使用可
能な権限と権限継承が同じになります。
2 種類の異なるタイプのレポート(SQL または表ベース)を使用することができますが、これらのタ
イプはすべて、使用可能な権限と権限継承が同じになります。
関連項目 : これらの各オブジェクトで使用可能な権限についての詳細は、
Oracle9iAS Portal のオンライン・ヘルプを参照してください。
Portal セキュリティの管理
Oracle9iAS Portal のセキュリティを効果的に管理するには、ポータル・コンポーネントをイ
ンストールする場所の決定、デフォルトのセキュリティ設定の理解、セキュリティ・チェッ
クリストの完成、Oracle Internet Directory の設定の理解と設定変更ができる必要がありま
す。これらの各タスクについては、次の項で説明します。
■
インストール時のセキュリティ設定
■
インストール後のセキュリティ・チェックリスト
■
「グローバル設定」ページの LDAP 設定の変更
インストール時のセキュリティ設定
Oracle9iAS Portal を管理できるようになるために、まずインストール時に作成されるデフォ
ルト設定について理解しておく必要があります。
Oracle9iAS Portal によるセキュリティの設定
6-29
Portal セキュリティの管理
Oracle9iAS Portal のデフォルトのスキーマとアカウント
次の表で、Oracle9iAS Portal のインストール時に、デフォルトで作成されるスキーマ、ユー
ザー、グループについて説明します。
表 6-9 Oracle9iAS Portal のデフォルト・スキーマ
スキーマ
説明
PORTAL
Portal 製品のデータベース・オブジェクトとコードが含まれ
ます。このスキーマは、該当する DAD で提供される資格証
明によって、データベースに接続するために、mod_plsql が
使用するプロキシ・ユーザー・アカウントも表します。Web
でリクエストされたプロシージャを実行するために、mod_
plsql は次に N-Tier 認証を使用して、軽量ユーザー・アカウ
ントが割り当てられたスキーマに接続します(デフォルトで
は、PORTAL_PUBLIC)。
Oracle9iAS Portal の標準インストールでは、このスキーマの
デフォルト名は、PORTAL になります。このデフォルト名を
別の名前にする場合は、カスタム・インストールを実行する
必要があります。
PORTAL_PUBLIC
デフォルトで、すべての軽量ユーザーがマッピングされるス
キーマです。権限が付与された Web を介して、パブリックに
アクセス可能なすべてのプロシージャが、PUBLIC に対して
実行されます。PUBLIC は、このスキーマによって、これら
のプロシージャにアクセスできるようにします。
Oracle9iAS Portal の標準インストールでは、このスキーマは
PORTAL_PUBLIC という名前になります。このデフォルト名
を別の名前にする場合は、カスタム・インストールを実行す
る必要があります。
PORTAL_DEMO
いくつかのデモ・コードを保持するために作成されます。こ
のスキーマのインストールは、オプションです。
関連項目 :
■
■
9-6 ページの「mod_plsql によるデータベース・アプリケーション・ア
クセスの保護」
『Oracle9i Application Server mod_plsql ユーザーズ・ガイド』
mod_plsql の詳細と使用方法について説明しています。
6-30 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティの管理
表 6-10 Oracle9iAS Portal のデフォルト・ユーザー
ユーザー
説明
PUBLIC
Oracle9iAS Portal への非認証アクセスを識別するユーザー・ア
カウントです。ユーザーがログインすると、ユーザー名が
PUBLIC から、認証を受けたユーザー名に変更されます。オブ
ジェクトへのアクセスを許可する明示的なチェックボックスが
存在しない個々のオブジェクトで、ポータル権限をパブリック
に付与すると、このユーザーは、非認証ユーザーについてオブ
ジェクトへのアクセスを許可する権限の権限受領者として識別
することができます。
PORTAL
ポータルのスーパー・ユーザーです。標準インストールでは、
ユーザー名は PORTAL になります。このユーザー・アカウント
は、ポータルで使用可能なすべてのグローバル権限が付与され
る最も高い権限を保持します。
PORTAL_ADMIN
より高い権限を取得したり、データベース処理を実行したりす
る機能をユーザーに付与する権限を除いた管理権限を保持する
Oracle9iAS Portal のユーザー・アカウントです。このユーザー
は、スキーマや共有オブジェクトで、グループの編集や権限の
管理を行うことができません。通常、このアカウントはページの
管理やユーザー・アカウントの提供を行う管理者のためのもの
です。
表 6-11 Oracle9iAS Portal のデフォルト・グループ
グループ1
説明
AUTHENTICATED_USERS
認証ユーザーまたはログインしたユーザーを含むグループで
す。このグループは、ポータルでログインしたすべてのユー
ザーに付与する必要があるデフォルトの権限を割り当てるた
めの手段として存在します。このため、ポータルにログイン
して、最低限の権限が付与されるユーザーに、必要な権限が
すべて付与されると、このグループは初期化されます。
DBA
Oracle9i Application Server の管理者用に設定され、高度な権
限が付与されるグループです。Oracle9i Application Server の
一部であるコンポーネントによって、コンポーネント固有の
すべての権限が、このグループのメンバーに付与されます。
DBA グループは、PORTAL_ADMINISTRATORS グループの
メンバーです。
PORTAL_ADMINISTRATORS
Oracle9iAS Portal 用に設定され、高度な権限が付与されるグ
ループです。PORTAL_ADMINISTRATORS グループは、
IASADMINS グループのメンバーです。このため、PORTAL_
ADMINISTRATORS のメンバーは、
(旧バージョンの
Oracle9iAS Portal のときと同様に)デフォルトで Oracle9iAS
Single Sign-On を管理できます。
Oracle9iAS Portal によるセキュリティの設定
6-31
Portal セキュリティの管理
表 6-11 Oracle9iAS Portal のデフォルト・グループ(続き)
グループ1
説明
PORTLET_PUBLISHERS
ポータルの他のユーザーにポートレットを公開する必要があ
るユーザー用に設定され、権限を付与されるグループです。
PORTAL_DEVELOPERS
ポートレットを作成するユーザー用に設定され、権限が付与
されるグループです。
RW_ADMINISTRATOR
Oracle9i Reports のレポート、プリンタ、サーバーを管理す
るユーザーのグループです。
RW_DEVELOPER
Oracle9i Reports のレポートを開発するユーザーのグループ
です。
RW_POWER_USER
Oracle9i Reports のレポートを変更できるユーザーのグルー
プです。
RW_BASIC_USER
Oracle9i Reports のレポートを使用するユーザーのグループ
です。
1
この表に示されるグループはすべて、cn=PORTAL_GROUPS、cn=Groups、o=MyCompany、
dc=com に格納されます。サブスクライバ名は、システムがインストールされているサーバーのドメ
イン名によって決定されます。たとえば、DNS サーバーが oracle の場合、デフォルトのサブスクライ
バ名は o=oracle、dc=com になります。DNS サーバーが判断できない場合、Oracle Internet Directory
は管理者がインストール時に指定したドメイン名になります。
インストール後のセキュリティ・チェックリスト
Oracle9iAS Portal のインストール後、セキュリティ構成をより完全なものにするために、次
の作業を実行することをお薦めします。
■
mod_plsql の設定
■
Oracle9iAS Portal の軽量ユーザーのパスワードの保護
■
不要なオブジェクトの削除
■
プロバイダ・コンポーネントへのパブリック・アクセスの取消
■
管理ページへのアクセス制御
■
Oracle9iAS Portal 監視パッケージの保護
■
SSL と「ログイン」ポートレットの使用に関する考慮事項
■
Oracle Internet Directory 接続のための LDAP over SSL の使用に関する考慮事項
■
アプリケーション・エンティティ・パスワードの変更
6-32 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティの管理
mod_plsql の設定
mod_plsql は、Oracle Enterprise Manager で設定します。これは次の手順で、Oracle9iAS
Portal からアクセスできます。
1. 「Portal 設計時ページ」ページで、
「管理
管理」タブをクリックします。
管理
2. 「サービス」ポートレットで、
「ポータル・サービスの監視
ポータル・サービスの監視」をクリックします。
ポータル・サービスの監視
3.
mod_plsql ページに移動します。
4.
PORTAL DAD の該当するデータベース・ユーザーのパスワードを変更します。
5.
不要な DAD をすべて削除します。たとえば、SAMPLE_DAD は必要ありません。
6.
構築したポータルに、新規 DAD を追加し、この DAD のデフォルト・ホームページを
設定します。たとえば、次のとおりです。
<hostname>.<some_domain>.com/<home_page>/<page_name>.htm
7.
新規 DAD をデフォルトの DAD にします。これによって、次の URL が入力されたとき
に、ブラウザが DAD にリダイレクトされます。
http://<hostname>:<port>/pls
関連項目 : mod_plsql の設定の詳細は、
『Oracle9i Application Server
mod_plsql ユーザーズ・ガイド』を参照してください。
Oracle9iAS Portal の軽量ユーザーのパスワードの保護
悪意を持ったユーザーが、デフォルト・ユーザーのパスワードをつきとめようとした結果、
アカウント・ロック・ポリシーに沿ってアカウントがロックされてしまう可能性がありま
す。このロックはサーバーから解除できますが、管理用にデフォルト・ユーザー・アカウン
トを使用し続けるのは避ける方が無難です。これらのアカウントのパスワードを保護するに
は、次の手順を実行します。
1.
2.
次のすべてのデフォルト・ユーザーのデフォルト・パスワードを即時変更します。
■
PORTAL
■
PORTAL_ADMIN
■
PUBLIC
デフォルト・ユーザーと同じアクセス権限を保持する軽量管理者アカウントを新規作成
し、デフォルト・ユーザーのアカウントの終了日を Single Sign-On サーバーに設定しま
す。あるいは、デフォルト・ユーザーの「ユーザー・ページの編集」で、「ユーザーにロ
グインを許可する」設定をオフにすることも可能です。
Oracle9iAS Portal によるセキュリティの設定
6-33
Portal セキュリティの管理
3.
デフォルト・ユーザーのログインを無効にしたり、パスワードを変更したりした場合、
変更処理を正常終了させるために、デフォルト・パスワードを使用し、デフォルト・
ユーザーとして、ポータルにログインするようにしてください。
不要なオブジェクトの削除
廃止したページや不要になったページから、ユーザーがポータルに入るのを防ぐため、
Oracle9iAS Portal およびデータベース環境から使用しないオブジェクトを削除します。たと
えば、次のとおりです。
■
使用しなくなったページ・グループの削除
■
使用しなくなった Oracle9iAS Portal プロバイダの削除
プロバイダ・コンポーネントへのパブリック・アクセスの取消
場合によって、Oracle9iAS Portal プロバイダ・コンポーネントの中に、アプリケーション・
テーブル内のレコードを表示または変更するオプションが用意されているものがあります。
セキュリティを強化するために、不要な場合は、このようなコンポーネントからパブリッ
ク・アクセスを削除します。また、アプリケーション・アクセスをより厳重に制御するため
に、メニュー・オプションで特定のアクセス権限によって、メニュー・コンポーネントを使
用することもできます。
管理ページへのアクセス制御
管理インタフェースへのアクセス権限を保持していないユーザーが管理ページに入ることを
防ぐために、次のページ・グループとグループに含まれるページについてのアクセス権限を
制御するようにします。
■
■
■
■
企業ページは、Oracle9iAS Portal ホームページを含んだページ・グループです。
「Portal 設計時ページ」は、「作成者」ページと「ナビゲータ」ページを含んだページ・
グループです。
ポートレット・リポジトリ
ドキュメントは、Oracle9iAS Portal のオンライン・ヘルプを含んだページ・グループで
す。
前述のページ・グループへのアクセスを制御するには、次の手順を実行します。
1. 「ナビゲータ」で、
「ページ・グループ
ページ・グループ」をクリックします。
ページ・グループ
2.
アクセス設定を変更する必要があるページ・グループの横にある「プロパティの編集
プロパティの編集」
プロパティの編集
をクリックします。
3. 「アクセス
アクセス」タブをクリックします。
アクセス
4.
特定のユーザーまたはグループに、
「すべて管理」の権限を付与します。たとえば、
DBA、PORTAL_ADMINISTRATORS、PORTAL_DEVELOPERS、自分自身のグループなど
です。
6-34 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティの管理
5.
作業が完了したら、
「OK」をクリックします。
これらのページ・グループ内の個々の管理ページへのアクセスを制御するには、次の手順を
実行します。
1. 「ナビゲータ」で、
「ページ・グループ
ページ・グループ」をクリックします。
ページ・グループ
2.
アクセス設定を変更する必要があるページを含んだページ・グループの横にある「コン
コン
テンツ」をクリックします。
テンツ
3. 「ページ
ページ」をクリックします。
ページ
4.
アクセス設定を変更する必要があるページの横にある「プロパティ
プロパティ」をクリックしま
プロパティ
す。
5. 「アクセス
アクセス」タブをクリックします。
アクセス
6.
特定のユーザーまたはグループに、
「すべて管理」の権限を付与します。たとえば、
DBA、PORTAL_ADMINISTRATORS、PORTAL_DEVELOPERS、自分自身のグループなど
です。
7.
作業が完了したら、
「OK」をクリックします。
注意 : 「ビルダー」ページは、
「Portal 設計時ページ」ページ・グループ
のルート・ページになります。このアクセス設定を変更するには、「Portal
設計時ページ」ページ・グループの横にある「ルート・ページの編集
ルート・ページの編集」を
ルート・ページの編集
クリックする必要があります。
Oracle9iAS Portal 監視パッケージの保護
データベースの PUBLIC に対して権限付与されている PL/SQL プロシージャの実行を保護す
る必要があります。これらのプロシージャは、Web ブラウザを介して実行されたときに、セ
キュリティ・ホールをもたらします。たとえば、dbms_% パッケージの一部のプロシージャ
によって、機密情報へのアクセスが許可されます。dads.conf という名前の mod_plsql 設
定ファイル内にある PlsqlExclusionList ディレクティブを使用して、保護するパッケー
ジを指定することができます。
関連項目 : dads.conf 内の PlsqlExclusionList ディレクティブの
使用方法については、9-9 ページの「PUBLIC に付与される PL/SQL プロ
シージャの保護」を参照してください。
Oracle9iAS Portal では、監視パッケージへの PUBLIC アクセスは、ポータル・データベース
への問合せが多いために、機密情報を含んだページを公開させたり、システム・パフォーマ
ンスを悪化させたりする可能性があります。この問題を解決するには、dads.conf ファイ
ルの PlsqlExclusionList ディレクティブを使用して、次のパッケージの一部またはすべ
てを指定します。
Oracle9iAS Portal によるセキュリティの設定
6-35
Portal セキュリティの管理
■
WWMON_CHART_BY_ACTION.show
■
WWMON_CHART_BY_BROWSER.show
■
WWMON_CHART_BY_DATE.show
■
WWMON_CHART_BY_IPADDRESS.show
■
WWMON_CHART_BY_LANGUAGE.show
■
WWMON_CHART_BY_OBJECT.show
■
WWMON_CHART_BY_ROWS.show
■
WWMON_CHART_BY_TIME.show
■
WWMON_CHART_BY_USER.show
■
WWMON_CHART_SEARCHES.show
最大限のセキュリティを確保するために、DAD ごとに、PlsqlExclusionList ディレク
ティブを使用して、次のシステムのデフォルト設定を指定します。
PlsqlExclusionList
PlsqlExclusionList
PlsqlExclusionList
PlsqlExclusionList
PlsqlExclusionList
sys.*
dbms_*
utl_*
owa_util.*
portal.wwmon_*
変更内容をテストするには、最初にログインしないで、次の URL にアクセスしてみてくだ
さい。
http://<hostname>:<port>/pls/<dad>/portal30.WWMON_CHART_BY_USER.show
この場合、
「It is forbidden to call this procedure from the browser!」という HTTP404 エ
ラー・メッセージが表示されます。
注意 : Oracle9iAS Portal の監視チャートを実行するには、制限の少ない
PlsqlExclusionList を使用して、より秘密裏に名前を付けた DAD を
作成します。
SSL と「ログイン」ポートレットの使用に関する考慮事項
インターネット上を行き来するパスワードを保護するために、HTTPS で実行するように
Oracle9iAS Portal を設定して、Secure Sockets Layer(SSL)通信を使用することができま
す。ただし、SSL の有効化または無効化を設定するには、ポータルの管理者権限が必要です。
6-36 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティの管理
「ログイン」ポートレットとログイン・ページ ポータルには、ページ(通常は、ホームペー
ジ)上に「ログイン」ポートレットを配置するためのオプションが用意されています。ユー
ザーがログインしない場合、このポートレットによって、ユーザー名とパスワードのフィー
ルドや「ログイン」ボタンが表示されます。ユーザーがログインすると、ポートレットはロ
グアウト・リンクを表示します。このポートレットのおかげで、専用のログイン・ページに
ナビゲートしなくても、簡単にログインすることができます。ポートレットは、Oracle9iAS
Portal のページ・レイアウト・スタイルでも表示されます。
ただし、このポートレットを使用する場合、ポートレットを表示するページを SSL で暗号化
する必要があります。完全なサイトを実現するためのこの SSL による暗号化は、リソースを
かなり消費するため、パフォーマンスに悪影響を与える可能性があることに注意してくださ
い。しかも、「ログイン」ポートレットでは、ユーザーがログインしない場合に、ログイン画
面が表示される仕組みになっているため、ログイン画面を表示させないようにすることがで
きないというセキュリティ上の危険が生じます。このため、パスワードを SSL で暗号化する
必要がある状況で、SSL による暗号化が必要なときに、「ログイン」ポートレットを使用す
るのは避けるべきです。この制限を適用するために、ポートレット・リポジトリの「ログイ
ン」ポートレットについてのアクセス権限を削除する必要があります。
関連項目 : Oracle9iAS Portal 内で SSL を有効化する方法の詳細は、
『Oracle9iAS Portal 構成ガイド』を参照してください。
Oracle Internet Directory 接続のための LDAP over SSL の使用に関する考慮
事項
デフォルトでは、Oracle9iAS Portal は SSL を使用せず、LDAP のみを使用してディレクトリ
に接続します。ディレクトリ・サーバーを SSL ポート用に構成する場合、LDAPS とも呼ば
れる LDAP over SSL を使用するように Oracle9iAS Portal を設定することができます。
関連項目 : LDAP over SSL 用にディレクトリを構成する方法の詳細は、
『Oracle Internet Directory 管理者ガイド』を参照してください。
SSL を使用してディレクトリに接続するように、Oracle9iAS Portal を設定するには、
secupoid.sql スクリプトを実行する必要があります。このスクリプトを使用すると、ディ
レクトリに関する次の Oracle9iAS Portal 構成パラメータを変更できます。
■
ディレクトリのホスト名
■
ディレクトリ・ポート
■
アプリケーション・ディレクトリ・パスワード
■
SSL 設定
Oracle9iAS Portal によるセキュリティの設定
6-37
Portal セキュリティの管理
Oracle9iAS Portal はインストールすると、自動的にディレクトリ・サーバーに関連付けられ
ます。ただし、インストールの完了後に、SSL を使用するかどうかなど、設定をいくつか変
更する必要が出てくる場合があります。ディレクトリの SSL 接続を変更する場合、PORTAL
スキーマの secupoid.sql スクリプトを実行して、LDAP ポートのかわりに LDAPS ポー
トを指定し、SSL を使用する必要があることを指定します。
secupoid.sql スクリプトの実行 次の項では、SQL*Plus の secupoid.sql のサンプル実行を
例示します。
例では、ディレクトリが当初ポート 389 で LDAP を実行するように設定されています。次
に、LDAPS ポートが 636 でアクティブ化されます。サーバー名は変更しないので、旧値を保
持し、ポートを更新し、
「Use SSL?」の値を Y に設定して、SSL を使用する必要があること
を指定します。スクリプトを実行すると、現在の設定が表示され、設定可能な設定を変更す
ることができます。また、スクリプトの実行によって、Oracle9iAS Portal のディレクトリ・
キャッシュを更新することも可能です。SSL を有効化しても、Oracle9iAS Portal でキャッ
シュされるディレクトリ情報は変更されないため、この場合、キャッシュをリフレッシュす
る必要は通常ありません。
SQL> @secupoid
Current Configuration
-------------------OID Host: oid.domain.com
OID Port: 389
Application DN:
orclApplicationCommonName=PORTAL,cn=Portal,cn=Products,cn=OracleContext
Application Password: 3E8C2D1B87CB61011757239C5AA9B390
Use SSL? N
PL/SQL procedure successfully completed.
Updating OID Configuration Entries
Press [Enter] to retain the current value for each parameter
For SSL Connection to LDAP, specify "Y"es or "N"o
-----------------------------------------------Enter value for oid_host:
Enter value for oid_port: 636
Enter value for app_password:
Enter value for use_ssl_to_connect_to_ldap: Y
Enter value for refresh_with_new_settings: N
PL/SQL procedure successfully completed.
No errors.
スクリプトを実行すると、Oracle9iAS Portal がディレクトリの LDAPS アクセス用に設定さ
れます。
6-38 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティの管理
アプリケーション・エンティティ・パスワードの変更
Oracle9iAS Portal では、ユーザー・パスワードがディレクトリに渡されることはありませ
ん。このタスクを実行するのは、Oracle9iAS Single Sign-On のみです。ただし、Oracle9iAS
Portal はアプリケーション・エンティティとパスワードを使用して、ディレクトリに認証を
求めます。このアカウントは、プロキシ権限が付与され、保護が必要なアカウントでもある
ため、任意のユーザーの代用として使用できます。
アプリケーション・エンティティのパスワードを変更する場合、コマンドライン・ユーティ
リティや Oracle Directory Manager を使用して、ディレクトリ内のエントリを最初に変更す
る必要があります。ディレクトリ内のアプリケーション・エントリを特定するには、
secupoid.sql スクリプトによってレポートされる DN が必要です。デフォルトでは、
Oracle9iAS Portal のアプリケーション・エントリは、次のとおりになります。
orclApplicationCommonName=PORTAL,cn=Portal,cn=Products,cn=OracleContext
パスワードを変更するには、アプリケーション・エントリの userPassword 属性に新しいパ
スワードを設定します。
ディレクトリ内でパスワードを変更した後、PORTAL スキーマの upsecoid.sql スクリプ
トを実行して、そこでも新しいパスワードを指定します。スクリプトを実行すると、
Oracle9iAS Portal はパスワードを暗号化して、ディレクトリに接続する必要があるときに取
り出せるように保存しておくことが可能になります。
関連項目 : アプリケーション・エンティティの詳細は、6-7 ページの
「Oracle9iAS Portal についての Oracle Internet Directory のディレクトリ・
エントリ」を参照してください。
「グローバル設定」ページの LDAP 設定の変更
Oracle9iAS Portal をインストールし、6-32 ページの「インストール後のセキュリティ・
チェックリスト」の適切なタスクを実行すると、Oracle9iAS Portal の設定がセキュアになり
ます。Oracle9iAS Portal の「グローバル設定」ページから、セキュリティに関連する次のす
べての設定を変更することが可能です。
■
Oracle Internet Directory パラメータのキャッシュ
■
Oracle Directory Integration Server の同期
■
グループ検索ベース識別名(DN)
■
グループ作成ベース DN
Oracle9iAS Portal によるセキュリティの設定
6-39
Portal セキュリティの管理
Oracle Internet Directory パラメータのキャッシュ
6-6 ページの「Portal セキュリティのアーキテクチャ」で説明したように、Oracle9iAS
Portal では、ディレクトリの情報がキャッシュに保持されます。「グローバル設定」ページ
で、このキャッシュの内容をディレクトリの更新情報によってリフレッシュできます。
「OID パラメータ用キャッシュの更新」をチェックすることによって、キャッシュの内容を
ディレクトリからの最新のパラメータ値に更新できます。キャッシュされる情報は、比較的
静的な情報であるため、キャッシュを頻繁にリフレッシュする必要はありません。
Oracle Directory Integration Server の同期
Oracle9iAS Portal では、グループ・メンバーシップ情報がキャッシュされるため、ディレク
トリ内の情報が変更されたときに、キャッシュを更新するための仕組みが必要です。
Oracle9iAS Portal に反映させる必要があるディレクトリ内の情報が変更されると、Directory
Integration Server によって、Oracle9iAS Portal に通知されます。「グローバル設定」では、
次のことを設定できます。
■
■
「ディレクトリ同期の有効化
ディレクトリ同期の有効化」では、ディレクトリ内で該当する変更が行われた場合に、
ディレクトリ同期の有効化
Directory Integration Server によって、Oracle9iAS Portal に通知するかどうかを定義し
ます。この設定をオフにすると、イベントをサブスクライブする Directory Integration
Server から、Oracle9iAS Portal に通知は送信されません。
「イベント通知の送信頻度」
(秒単位)では、Oracle9iAS Portal に関する変更を通知する
イベント通知の送信頻度」(秒単位)
ために、Directory Integration Server によって送信されるイベント通知の送信間隔を定
義します。この設定は、「ディレクトリ同期の有効化」がオンになっている場合にのみ有
効となります。
グループ作成ベース DN
Oracle9iAS Portal は、ディレクトリでユーザー・グループ情報を管理します。「グループ」
ポートレットによってグループを作成する場合、LDAP ディレクトリ情報ツリー(DIT)の
ノード下に、これらのグループが作成されます。ノードは、識別名(DN)によって識別さ
れます。このため、Oracle9iAS Portal では、グループを作成するノードを指定する必要があ
ります。
「グループ作成ベース
グループ作成ベース DN」は、Oracle9iAS Portal がユーザー・グループを管理するノード
の DN です。たとえば、次のとおりです。
cn=PORTAL_GROUPS,cn=Groups,o=MyCompany,dc=com
この設定は、Oracle9iAS Portal を既存の DIT と連動するように変更する場合に、特に便利
です。
6-40 Oracle9i Application Server セキュリティ・ガイド
Portal セキュリティの管理
グループ検索ベース識別名(DN)
グループ検索ベース識別名( )
グループを作成するノードを定義する必要があるように、Oracle9iAS Portal が既存グループ
を検索するノードについても定義しておく必要があります。たとえば、「グループ」ポート
レットでグループの値リストが表示されるときに、Oracle9iAS Portal が検索するノードを指
定する必要があります。
「ローカル・グループ検索ベース
ローカル・グループ検索ベース DN」は、Oracle9iAS Portal がユーザー・グループを管理
するノードの DN です。たとえば、次のとおりです。
cn=PORTAL_GROUPS,cn=Groups,o=MyCompany,dc=com
この設定は、Oracle9iAS Portal を既存の DIT と連動するように変更する場合に、特に便利
です。
Oracle9iAS Portal によるセキュリティの設定
6-41
Portal セキュリティの管理
6-42 Oracle9i Application Server セキュリティ・ガイド
7
JAAS サポートの構成
この章では、Java2 Platform, Standard Edition(J2SE)または Java2 Platform, Enterprise
Edition(J2EE)環境で JAAS サポートを使用するために実行する必要がある構成タスクにつ
いて説明します。
この章で扱う項目は次のとおりです。
■
構成が必要な JAAS コンポーネント
■
J2SE および J2EE 環境に共通の構成タスクの実行
■
J2SE 環境にあわせた構成タスクの実行
■
J2EE 環境にあわせた構成タスクの実行
■
<jazn> タグと <user-manager> プロパティの相違点
注意 : この章では、使用しているアプリケーションで Oracle9iAS
Containers for J2EE(OC4J)を構成する方法については説明しません。こ
の方法の詳細は、Oracle9iAS ドキュメント・ライブラリにある
『Oracle9iAS Containers for J2EE ユーザーズ・ガイド』を参照してくださ
い。
関連項目 : これらの構成タスクを完了してから JAAS サポートを使用す
る方法の詳細は、
『Oracle9iAS Containers for J2EE サービス・ガイド』の
第 II 部を参照してください。
JAAS サポートの構成
7-1
構成が必要な JAAS コンポーネント
構成が必要な JAAS コンポーネント
JAAS ベースのアプリケーションをインストールした後、使用する前に、JAAS コンポーネン
トを構成する必要があります。構成が必要な JAAS コンポーネントは、アプリケーションの
実行環境によって異なります。必要な構成タスクは表 7-1 のとおりです。
表 7-1 JAAS コンポーネントの構成タスク
アプリケーションの環境
必要な構成タスク
J2SE 環境
■
7-3 ページの「J2SE および J2EE 環境に共通の構成タスクの実行」
■
7-9 ページの「J2SE 環境にあわせた構成タスクの実行」
■
7-3 ページの「J2SE および J2EE 環境に共通の構成タスクの実行」
■
7-12 ページの「J2EE 環境にあわせた構成タスクの実行」
J2EE 環境
サンプル・ファイル
この章の構成タスクでは、特定の構成ファイルまたはデプロイメント・ディスクリプタ・
ファイルを作成したり、編集する必要があります。このタスクを容易にするため、サンプル
構成ファイルが用意されています。この章の説明に従って、実際の開発環境や実行時環境に
適した値で、これらのファイルをコピーしたり編集します。
これらのファイルは、$ORACLE_HOME/j2ee/home/config ディレクトリにあります。
■
jazn.xml
JAAS プロパティ・ファイル
■
jazn-data.xml
XML ベースのプロバイダ用のデフォルト JAAS データファイル
■
java2.policy
Java2 ポリシー・ファイル
次のアプリケーション固有のデプロイメント・ディスクリプタ・ファイルは、変更が必
要な場合があります。
■
orion-application.xml
■
orion-web.xml
■
web.xml
7-2 Oracle9i Application Server セキュリティ・ガイド
J2SE および J2EE 環境に共通の構成タスクの実行
J2SE および J2EE 環境に共通の構成タスクの実行
J2SE 環境と J2EE 環境では、必要な構成タスクがいくつか類似しています。J2SE および J2EE
環境で開発されたアプリケーションの JAAS コンポーネントを構成するには、次のタスクを
実行します。
■
■
タスク 1: コンポーネントを正しくインストールしたかの確認
タスク 2: JAZN スキーマとデフォルト・エントリを Oracle Internet Directory にロード
( オプション )
■
タスク 3: JAAS をポリシー・プロバイダとして指定(オプション)
■
タスク 4: Java2 ポリシー・ファイルの構成(オプション)
■
タスク 5: LoginModule 構成ファイルの作成(オプション)
アプリケーションを J2EE 環境で実行している場合、アプリケーションで SSO を有効に
する必要がないときはこのタスクのみを実行します。
■
タスク 6: 個々の Java 環境にあわせた構成タスクの実行
タスク 1: コンポーネントを正しくインストールしたかの確認
J2SE および J2EE 環境で必要なコンポーネントは表 7-2 のとおりです。環境にあった適切な
コンポーネントがインストールされているかを確認してください。
表 7-2 J2SE および J2EE 環境で必要なコンポーネント
コンポーネント
J2SE で
必要か ?
J2EE で
必要か ?
1.
Java Authentication and Authorization Service(JAAS)
はい
はい
2.
JDK 1.3
はい
はい
JAAS サポートの構成
7-3
J2SE および J2EE 環境に共通の構成タスクの実行
表 7-2 J2SE および J2EE 環境で必要なコンポーネント (続き)
コンポーネント
3.
■
■
JAAS サポート。JAZNUserManager1 ならびにレルム、ユーザー、ロールおよびポ
リシーを格納するためのプロバイダを含みます。9iAS のインストール・タイプによ
り、デフォルトのプロバイダ・タイプか 2 つのタイプを選択するかのどちらかにな
ります。
J2SE で
必要か ?
J2EE で
必要か ?
はい
はい
XML ベースのプロバイダ・タイプ、デフォルト、両方のインストール・タイプで使
用可能、Oracle9iAS Infrastructure および Oracle9i Application Server
LDAP ベースのプロバイダ・タイプ、Oracle Internet Directory、Oracle9iAS
Infrastructure のインストール・タイプのみ。Oracle Internet Directory を使用する場
合、このガイドは以下を前提としています。
Oracle Internet Directory をインストール済である。
Oracle Internet Directory Configuration Assistant を実行して、Oracle Internet
Directory スキーマをディレクトリにロードしている。
Delegated Administration Service(DAS)でユーザーおよびロールを作成済であ
る。
4.
Oracle9iAS Containers for J2EE(OC4J)
いいえ
はい
5.
Oracle9iAS Single Sign-On(SSO が有効なアプリケーション用)
いいえ
はい2
いいえ
いいえ
このガイドでは以下を前提としています。
Oracle9iAS Single Sign-On をインストール済である。
必要なデータベース・オブジェクトをリポジトリにロード済である。
6.
RealmLoginModule またはその他のログイン・モジュール
アプリケーションにアクセスしようとするクライアント・ユーザーのユーザー名と
パスワードを認証します。RealmLoginModule は、Oracle 独自のレルム API パッ
ケージ(oracle.security.jazn.realm)の一部です。RealmLoginModule
は、非 SSO 環境でも使用できます。
7.
以下を含む Oracle HTTP Server
いいえ
はい
■
mod_oc4j
いいえ
はい
■
mod_osso(SSO が有効なアプリケーション用)
いいえ
はい
■
mod_ossl(SSL が有効なアプリケーション用)
いいえ
はい
1
2
JAZNUserManager の機能は、J2EE 環境でのみ有効です。
アプリケーションを J2EE 環境で SSO 有効化する場合は、Oracle9iAS Single Sign-On を使用します。
7-4 Oracle9i Application Server セキュリティ・ガイド
J2SE および J2EE 環境に共通の構成タスクの実行
関連項目 : インストール時およびインストール後のタスクについては、
Oracle9iAS プラットフォーム別ドキュメントの『Oracle9i Application
Server インストレーション・ガイド』を参照してください。
タスク 2: JAZN スキーマとデフォルト・エントリを Oracle Internet Directory
にロード ( オプション )
これらの構成手順は、LDAP ベースの環境にしか適用されません。LDAP ベースの Oracle
Internet Directory をプロバイダ・タイプとして使用する場合は、この項で説明するスクリプ
トを実行する必要があります。これらのスクリプトは、JAZN スキーマおよびデフォルト・
エントリをロードします。
注意 : JAAS サポートは、Oracle9i Application Server リリース 2(9.0.2)
の Oracle9iAS Infrastructure のインストール・タイプで使用可能なバー
ジョンの Oracle Internet Directory とともに使用してください。それより
古いバージョンの Oracle Internet Directory を JAAS で使用するには、ま
ずこのバージョンにアップグレードする必要があります。
Oracle9iAS Infrastructure をインストール済の場合、インストール時にこ
れらの構成手順を実行済なので、次の手順 1 ~ 4 は必要ありません。しか
し、手順 5 のデモ・データのみをロードする作業は実行する必要がありま
す。
Oracle9iAS Infrastructure をまだインストールしておらず、また Oracle
Internet Directory をプロバイダ・タイプとして使用する場合は、手順 1 ~
5 を実行する必要があります。この場合、手順 5 のうち JAZN スキーマと
デモ・データの両方をロードするスクリプトを使用します。
JAZN スキーマとデフォルト・エントリを Oracle Internet Directory にロードするには
1.
Oracle Internet Directory に関する次の情報を取得します。
要素
説明
ldaphost
Oracle Internet Directory がインストールされているコンピュータの
ホスト名
ldapport
Oracle Internet Directory のポート番号(デフォルト値は 389)
binddn
バインド識別名。デフォルト値は cn=orcladmin
passwd
バインド・パスワード。デフォルト・パスワードは welcome
OracleContextDN
Oracle サイト・コンテキストの識別名
JAAS サポートの構成
7-5
J2SE および J2EE 環境に共通の構成タスクの実行
この情報は、手順 4 ~ 5 で、Oracle Internet Directory を用いて JAAS サポートを構成す
る際に使用します。
2.
JAAS サポートがインストールされているコンピュータへ移動します。
3.
$ORACLE_HOME/j2ee/home/jazn/install ディレクトリへ移動します。
4.
generateldif.sh スクリプトを実行して、JAAS で必要な .ldif ファイルを生成し
ます。これらの LDIF(LDAP Data Interchange Format)ファイルを使用して、JAZN
LDAP スキーマおよびデモ・データをディレクトリに追加します。使用する構文は次の
とおりです。
generateldif.sh -b cn=OracleContextDN
OracleContextDN は、Oracle サイト・コンテキストの識別名です。
5.
Oracle9iAS Infrastructure リリース 2(9.0.2)で使用できないバージョンの Oracle
Internet Directory を実行している場合は、まず Oracle Internet Directory をこのバー
ジョンにアップグレードする必要があります。その後、次のスクリプトを実行して、
JAZN スキーマおよびデモ・データを、手順 4 で生成した .ldif ファイルを使用して
ロードします。
デモ・データのみをロードするには、次の引数を用いてスクリプトを実行します。
postinstall.sh -h ldaphost -p ldapport -D binddn -w password
全部(JAZN
スキーマおよびデモ・データ)をロードするには、次の引数を用いてスク
全部(
リプトを実行します。
postinstall.sh -h ldaphost -p ldapport -D binddn -w password -load All
タスク 3: JAAS をポリシー・プロバイダとして指定(オプション)
まだ構成が自動的に行われていない場合は、JAAS を JAAS のポリシー・プロバイダとして
指定します。Oracle9i Application Server に同梱されている JVM を使用する場合、構成は自
動で行われます。
JAAS をポリシー・プロバイダとして指定するには
1.
$JAVA_HOME/jre/lib/security/java.security ファイルの最後に次の情報を追
加します。
auth.policy.provider=oracle.security.jazn.spi.PolicyProvider
login.configuration.provider=oracle.security.jazn.spi.LoginConfigProvider
7-6 Oracle9i Application Server セキュリティ・ガイド
J2SE および J2EE 環境に共通の構成タスクの実行
タスク 4: Java2 ポリシー・ファイルの構成(オプション)
注意 : このタスクは、Java セキュリティ・マネージャが有効な場合のみ
必須です。
Java2 ポリシー・ファイルは、実行中の信頼できるコードまたはアプリケーションに許可を
付与します。この許可によって、これらのコードやアプリケーションは、特定のアクセス権
を必要とする JAAS、JAAS または JDK API の Oracle サポートにアクセスできます。
事前構成済の Java2 ポリシー(java2.policy)は、$ORACLE_HOME/j2ee/home/config
で提供されます。このとき、SecurityManager を有効にして OC4J を起動するのに必要な
権限が付与されます。
信頼できるコードやアプリケーションに権限を付与するには、Java2 ポリシー・ファイルを
変更する必要があります。
たとえば、次の java2.policy ファイルのセクションでは、
java.security.AllPermission を、信頼できるコード jazn.jar と、$ORACLE_
HOME/appdemo ディレクトリで実行される appdemo_runtime.jar というアプリケーショ
ンに付与します。
/* grant the JAZN library AllPermission */
grant codebase "file:/Oracle/OraHome/lib/jazn.jar" {
permission java.security.AllPermission;
};
/* Assuming you are running your application demo in $ORACLE_HOME/appdemo/, */
/* Grant JAZN permissions to the demo to run JAZN APIs*/
grant codebase "file:/${oracle.ons.oraclehome}/appdemo/-" {
permission oracle.security.jazn.JAZNPermission "getPolicy";
permission oracle.security.jazn.JAZNPermission "getRealmManager";
permission oracle.security.jazn.policy.AdminPermission
"oracle.security.jazn.realm.RealmPermission$*$createRealm,dropRealm,
createRole, dropRole,modifyRealmMetaData";
JAAS サポートの構成
7-7
J2SE および J2EE 環境に共通の構成タスクの実行
タスク 5: LoginModule 構成ファイルの作成(オプション)
JAAS の Oracle サポートは J2EE JAAS 仕様に完全準拠しており、ユーザーは必要であれば任
意の LoginModule 実装にプラグインできます。RealmLoginModule は、Oracle9iAS JAAS に
含まれるただ 1 つの実装です。
jazn-data.xml ファイルは、RealmLoginModule クラスを有効化します。
RealmLoginModule クラスは、ユーザーがアクセス可能になる前にユーザー・ログイン接
続情報を認証します。
■
J2SE アプリケーション
■
SSO 機能を使用しない J2EE アプリケーション
使用するアプリケーションで SSO 認証を行う場合は、このタスクを実行しないでくだ
さい。SSO 構成タスクの詳細は、7-12 ページの「J2EE 環境にあわせた構成タスクの実
行」を参照してください。
RealmLoginModule クラスを有効化するには、次の手順を実行します。
テキスト・エディタを使用して、必要に応じてログイン構成ファイル jazn-data.xml を変
更します。
jazn-data.xml ファイルの RealmLoginModule クラス設定のデフォルト構成は次の
とおりです。
<!DOCTYPE jazn-data (View Source for full doctype...)>
- <jazn-data>
.
.
.
<!-- Login Module Data -->
- <jazn-loginconfig>
- <application>
<name>JAZNUserManager</name>
- <login-modules>
- <login-module>
<class>oracle.security.jazn.realm.RealmLoginModule</class>
<control-flag>required</control-flag>
- <options>
- <option>
<name>addRoles</name>
<value>true</value>
</option>
</options>
</login-module>
</login-modules>
</application>
</jazn-loginconfig>
</jazn-data>
7-8 Oracle9i Application Server セキュリティ・ガイド
J2SE 環境にあわせた構成タスクの実行
タスク 6: 個々の Java 環境にあわせた構成タスクの実行
次に実行する必要のある構成タスクは、表 7-3 に示すように、アプリケーションの実行環境
に応じて異なります。
表 7-3 個々の Java 環境にあわせた構成タスク
環境
参照先
J2SE 環境
7-9 ページの「J2SE 環境にあわせた構成タスクの実行」
J2EE 環境
7-12 ページの「J2EE 環境にあわせた構成タスクの実行」
J2SE 環境にあわせた構成タスクの実行
7-3 ページの「J2SE および J2EE 環境に共通の構成タスクの実行」で説明する構成タスクを
行った後、これらの構成タスクを実行します。
タスク 1: JAAS プロパティ・ファイルの構成
使用しているプロバイダ環境タイプに基づいて、$ORACLE_HOME/j2ee/home/config
ディレクトリ内の JAAS プロパティ・ファイル、jazn.xml を構成します。
■
タスク 1a: J2SE 用の LDAP ベースのプロバイダ・タイプを構成
■
タスク 1b: J2SE 用の XML ベースのプロバイダ・タイプを構成
タスク 1a: J2SE 用の LDAP ベースのプロバイダ・タイプを構成
Oracle9iAS Infrastructure をインストールして Oracle9iAS Single Sign-On を有効化する場
合、Single Sign-On サーバー、Oracle Internet Directory および Oracle Enterprise Manager
がインストールされ自動的に構成されるので、このタスクを実行する必要はありません。
LDAP ベースのプロバイダ・タイプを手動で構成する手順は、参考用として次のセクション
に記載されています。LDAP ベースのプロバイダを別に構成する必要がある場合、これらの
手順を実行します。
JAAS サポートの構成
7-9
J2SE 環境にあわせた構成タスクの実行
1.
事前構成された jazn.xml ファイルを次の例に従って変更します。
<jazn provider="LDAP" location="ldap://orclcomp-sun.us.oracle.com:389">
</jazn>
この例では、orclcomp-sun.us.oracle.com が、使用されている LDAP ベースの
URL です。
その他の属性やプロパティ名も設定できます。jazn.xml では、次の属性を設定できま
す。
属性
ステータス
値
provider
オプション
LDAP(デフォルトは XML)
location
必須
LDAP サーバー。例 :
ldap://orclcomp-sun.us.oracle.com:389
jazn.xml では、次のプロパティ名を設定できます。アプリケーションへの匿名かつ読
取り専用のログインを許可する場合、これらのプロパティ名に値を設定したり、割り当
てないでください。
プロパティ名
ステータス
ldap.user
オプション
値
有効な LDAP ユーザー名または DN。例 :
orcladmin または cn=orcladmin
ldap.password
オプション
LDAP ユーザー名の暗号化されたパスワード。例 :
QJ+w7NJUlm=
ldap.cache.enable オプション
7-10 Oracle9i Application Server セキュリティ・ガイド
このプロパティ名を "true" に設定すると、単純な
有効期限切れアルゴリズムに基づき実装される
LDAP キャッシュ機能が使用可能になります。これ
を有効にした状態で Policy.grant/revoke を呼
び出すと、UnsupportedOperationException
が発生します。JAZN ポリシーを管理する必要がある
場合は、キャッシュを無効化しなくてはなりません
(デフォルト設定)。
J2SE 環境にあわせた構成タスクの実行
すべての属性およびプロパティ名を指定した jazn.xml ファイルの例を次に示します。
<jazn
provider="LDAP"
location="ldap://orclcomp-sun.us.oracle.com:389" >
<property name="ldap.user" value="orcladmin" />
<property name="ldap.password" value="QJ+w7NJUlm=" />
<property name="ldap.cache.enable" value="true" />
</jazn>
注意 : jazn.xml でパスワード入力を暗号化しない場合は、パスワード
値の先頭に感嘆符(!)を付けます。例 :
<property name="ldap.password" value="!welcome" />
タスク 1b: J2SE 用の XML ベースのプロバイダ・タイプを構成
jazn.xml ファイルは次のように事前構成されています。
<jazn provider="XML" location="./jazn-data.xml" />
その他の属性やプロパティ名も設定できます。jazn.xml では、次の属性を設定できます。
属性
ステータス
値
provider
オプション
■
XML(デフォルト)
■
LDAP
location
必須
ファイルのパス。例 :
./jazn-data.xml
これは絶対パス、または jazn.xml
ファイルへの相対パスです。JAAS
プロバイダはまず、jazn.xml ファ
イルを含むディレクトリで
jazn-data.xml を探します。
persistence
オプション
■
NONE
変更が永続しない
■
ALL
変更のたびに変更が永続する
■
VM_EXIT(デフォルト)
VM 終了時に変更が永続する
JAAS サポートの構成
7-11
J2EE 環境にあわせた構成タスクの実行
属性
ステータス
値
xml.credentials.auto.obfuscate
オプション
■
ON
■
OFF
すべての属性を指定した jazn.xml ファイルの例を次に示します。
<jazn
provider="XML"
location="./jazn-data.xml"
persistence="ALL"
xml.credentials.auto.obfuscate="ON">
</jazn>
J2EE 環境にあわせた構成タスクの実行
7-3 ページの「J2SE および J2EE 環境に共通の構成タスクの実行」で説明する構成タスクを
行った後、これらの構成タスクを実行します。
■
タスク 1: JAAS Provider の構成および JAZNUserManager の有効化
■
タスク 2: 認証方式およびフィルタ・モードの構成
■
タスク 3: SSL 環境用にアプリケーションを構成
■
タスク 4: OC4J への HTTP リクエストを委譲するよう mod_oc4j を構成
■
タスク 5: セキュリティ・ロール(run-as)の構成
タスク 1: JAAS Provider の構成および JAZNUserManager の有効化
OC4J 固有の構成ファイル orion-application.xml を使用して、JAAS を構成し、
JAZNUserManager を有効化します。JAAS 環境タイプとそれに関する情報は次のとおりで
す。
■
タスク 1a: J2EE 用の LDAP ベースのプロバイダ・タイプを構成(オプション)
■
タスク 1b: J2EE 用の XML ベースのプロバイダ・タイプを構成
7-12 Oracle9i Application Server セキュリティ・ガイド
J2EE 環境にあわせた構成タスクの実行
タスク 1a: J2EE 用の LDAP ベースのプロバイダ・タイプを構成(オプ
ション)
Oracle9iAS Infrastructure をインストールして Oracle9iAS Single Sign-On を有効化する場
合、Single Sign-On サーバー、Oracle Internet Directory および Oracle Enterprise Manager
がインストールされ自動的に構成されるので、このタスクを実行する必要はありません。
LDAP ベースのプロバイダ・タイプを手動で構成する手順は、参考用として次のセクション
に記載されています。LDAP ベースのプロバイダを別に構成する必要がある場合、これらの
手順を実行します。
登録済のレルムが 2 つ以上ある場合、orion-application.xml で default-realm を指
定する必要があります。ホスト環境では Oracle9iAS Single Sign-On および Oracle Internet
Directory が有効であり、デフォルト・レルムの指定はオプションです。このような状況で
は、JAAS が HTTP ヘッダー(属性は mod_osso によって設定)からサブスクライバ情報を
読み取ります。このようなヘッダー属性が、サブスクライバを表すレルム情報を JAAS に提
供します。
次の例のようにエントリを orion-application.xml ファイルに追加して、LDAP ベース
の Oracle Internet Directory を使用するように JAAS を構成します。
<jazn provider="LDAP"
default-realm="sample_subrealm"
location="ldap://orclcomp-sun.us.oracle.com:389">
</jazn>
この情報によって、LDAP ベースの Oracle Internet Directory の URL(この例では
orclcomp-sun.us.oracle.com)であるデフォルト・レルム(sample_subrealm)が識
別されます。
追加の属性およびプロパティ名も設定できます。orion-application.xml では次の属性
も設定できます。
属性
ステータス
値
provider
必須
LDAP
location
jazn.xml ファイルが LDAP サーバー。例 :
構成済の場合はオプ
ldap://orclcomp-sun.us.oracle.com:389
ション、その他の場合
は必須。
default-realm
オプション(レルムを レルム名。例 : sample_subrealm
1 つだけ構成済の場合
は不要)
JAAS サポートの構成
7-13
J2EE 環境にあわせた構成タスクの実行
orion-application.xml では次のプロパティ名も設定できます。アプリケーションへの
匿名かつ読取り専用のログインを許可する場合、これらのプロパティ名に値を設定したり、
割り当てないでください。
プロパティ名
ステータス
値
ldap.user
オプション
有効な LDAP ユーザー名または DN。例 :
orcladmin または cn=orcladmin
ldap.password
オプション
LDAP ユーザー名の暗号化されたパスワード。例 :
QJ+w7NJUlm=
ldap.cache.enable オプション
このプロパティ名を "true" に設定すると、単純な有効
期限切れアルゴリズムに基づき実装される LDAP キャッ
シュ機能が使用可能になります。これを有効にした状態
で Policy.grant/revoke を呼び出すと、
UnsupportedOperationException が発生します。
JAZN ポリシーを管理する必要がある場合は、キャッ
シュを無効化しなくてはなりません(デフォルト設定)。
すべての属性およびプロパティ名を指定した orion-application.xml ファイルのサンプ
ルを 7-18 ページの「orion-application.xml ファイル」に示します。
注意 : パスワード入力を暗号化しない場合は、パスワード値の先頭に感
嘆符(!)を付けます。
!welcome
関連項目 : auth-method、runas-mode および
doasprivileged-mode を設定する利点の詳細は、7-16 ページの「タス
ク 2: 認証方式およびフィルタ・モードの構成」を参照してください。
タスク 1b: J2EE 用の XML ベースのプロバイダ・タイプを構成
次のエントリを orion-application.xml ファイルに追加して、XML ベースのプロバイ
ダ・タイプを使用するように JAAS を構成します。
<jazn provider="XML" location="./jazn-data.xml" />
追加の属性およびプロパティ名も設定できます。orion-application.xml では、次の属
性を設定できます。
7-14 Oracle9i Application Server セキュリティ・ガイド
J2EE 環境にあわせた構成タスクの実行
属性
ステータス
値
provider
オプション
XML(デフォルト)
location
jazn.xml ファイル
が構成済の場合はオ
プション、その他の
場合は必須。
ファイルのパス。例 :
persistence
オプション
./jazn-data.xml
これは絶対パス、または jazn.xml ファイルへの
相対パスです。JAAS Provider はまず、jazn.xml
ファイルを含むディレクトリで jazn-data.xml
を探します。
■
NONE
変更を永続させない
■
ALL
変更のたびに変更が永続する
■
VM_EXIT(デフォルト)
VM 終了時に変更が永続する
default-realm
オプション(レルム
を 1 つだけ構成済の
場合)
レルム名。例 :
sample_subrealm
orion-application.xml では次のプロパティ名を設定できます。
プロパティ名
ステータス 値
xml.permclsmgr.enable
オプション
■
true
JAAS 許可クラス管理機能を有効化
■
false(デフォルト)
機能を無効化
xml.princlsmgr.enable
オプション
■
true
JAAS プリンシパル・クラス管理機能を有効化
■
false(デフォルト)
機能を無効化
すべての属性およびプロパティ名を指定した orion-application.xml ファイルのサンプ
ルを 7-18 ページの「orion-application.xml ファイル」に示します。
JAAS サポートの構成
7-15
J2EE 環境にあわせた構成タスクの実行
関連項目 :
■
■
認証環境の詳細は、
『Oracle9iAS Containers for J2EE サービス・ガイ
ド』の第 II 部の第 3 章を参照してください。
auth-method、runas-mode および doasprivileged-mode を設
定する利点の詳細は、7-16 ページの「タスク 2: 認証方式およびフィル
タ・モードの構成」を参照してください。
タスク 2: 認証方式およびフィルタ・モードの構成
JAAS を次の中から使用したい認証方式のタイプと統合します。
■
単一または複数の JAAS Web アプリケーションでの Single Sign On(SSO)
■
Secure Sockets Layer(SSL)
■
Basic 認証
認証方式に加えて、JAZNUserManager のフィルタ要素を使用し、オプションの
runas-mode および doasprivileged-mode 機能を構成することもできます。フィルタ
は、<jazn-web-app> 要素によって構成されます。
runas-mode および doasprivileged-mode は、次の範囲の値を orion-web.xml ファ
イルおよび orion-application.xml ファイルに含めます。
表 7-4 runas-mode および doasprivileged-mode 設定
runas-mode の
設定
doasprivileged-mode の
設定
true
true(デフォルト)
chain.doFilter
(myrequest,response) を呼び出す
privilegedExceptionAction ブロック内
の Subject.doAsPrivileged
true
false
chain.doFilter
(myrequest,response) を呼び出す
privilegedExceptionAction ブロック内
の Subject.doAs
true
chain.doFilter
(myrequest,response)
false
chain.doFilter
(myrequest,response)
false
(デフォルト)
false
7-16 Oracle9i Application Server セキュリティ・ガイド
結果
J2EE 環境にあわせた構成タスクの実行
関連項目 : 『Oracle9iAS Containers for J2EE サービス・ガイド』の第 II
部の第 3 章を参照してください。
■
認証環境
■
JAZNUserManager のフィルタ要素
■
このような構成タスクを完了した後の JAAS の使用
認証方式は、runas-mode および doasprivileged-mode 機能と同様、構成ファイルで指
定されます。複数のファイルで情報を指定できるので、表 7-5 で指定した優先順位が適用さ
れます。最初のファイルの仕様が、2 番目以降のファイルの仕様に優先します。
t
表 7-5 認証方式を指定する構成ファイルの優先順位
優先順位
構成ファイル
1
web.xml
2
orion-application.xml
3
orion-web.xml
orion-web.xml ファイル
フィルタを使用可能にする <jazn-web-app> 要素内で、認証方式を指定します。次の例で
は、3 つの設定すべてがオプションです。
<jazn-web-app
auth-method="SSO"
runas-mode="false"
doasprivileged-mode="true"
/>
auth-method を SSO(Single Sign-On)に設定します。このパラメータを設定しない場合、
デフォルトは null です。runas-mode および doasprivileged-mode を設定した場合の
影響については、7-16 ページの表 7-4 を参照してください。
JAAS サポートの構成
7-17
J2EE 環境にあわせた構成タスクの実行
orion-application.xml ファイル
<jazn> 要素の <jazn-web-app> 要素内での認証方式を指定します。<jazn-web-app> 要
素がフィルタを有効化します。例 :
<jazn provider="XML"
location="jazn-data.xml"
default-realm="JAZN.com"
persistence="ALL">
<!-- default values for this application -->
<jazn-web-app
auth-method="SSO"
runas-mode="true"
doasprivileged-mode="true"
/>
<property name="xml.princlsmgr.enable" value="true" />
<property name="xml.permclsmgr.enable" value="true" />
</jazn>
太字で示した 3 つの設定はすべてオプションです。auth-method を SSO に設定します。こ
のパラメータを設定しない場合、デフォルトは null です。runas-mode および
doasprivileged-mode を設定した場合の影響については、7-16 ページの表 7-4 を参照し
てください。
web.xml
<login-config> 要素内で認証方式を指定します。例 :
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
次の情報を入力します。
■
Basic 認証を使用するときは BASIC または FORM
■
Digest 認証を使用するときは DIGEST
■
SSL 認証を使用するときは CLIENT-CERT
このファイルでは、runas-mode または doasprivileged-mode を設定できません。必要
であれば、runas-mode または doasprivileged-mode を該当するファイルで構成しま
す。orion-application.xml または orion-web.xml。必要な優先順位を保持するよう
注意してください。
7-18 Oracle9i Application Server セキュリティ・ガイド
J2EE 環境にあわせた構成タスクの実行
タスク 3: SSL 環境用にアプリケーションを構成
注意 :
■
■
Basic 認証を使用している場合は、この構成タスクを実行しないでく
ださい。
Oracle9iAS Single Sign-On が必要な場合は、Oracle9iAS Infrastructure
をインストールして、Single Sign-On を有効化するのに必要な構成タ
スクを自動的に実行します。
SSL が必要な場合は、次の手順を実行します。
SSL 環境で実行するアプリケーションを構成する場合は、次の操作を行います。
■
■
■
httpd.conf ファイル内でポートを設定します。
サーバー Wallet ディレクトリおよびパスワードを指定します。サーバー Wallet には、
サーバーの証明書、秘密鍵および信頼できる証明書が含まれています。
mod_oc4j.conf ファイルで SSL を設定します。
SSL 環境用にアプリケーションを構成するには
1.
httpd.conf ファイル内で次の行をコメント・アウトします。これらの行が
httpd.conf ファイルにない場合は、追加します。
LoadModule ossl_module
libexec/mod_ossl.so
<IfDefine SSL>
Port 80
Listen 80
Listen 443
</IfDefine>
<VirtualHost _default_:443>
注意 : SSL は通常、ポート 443 を使用します。このポートが別のプロセ
スで使用中の場合は、このポート番号を現在使用されていない番号に変更
します。
2.
サーバー Wallet ファイル・ディレクトリを指定します。
SSLWallet file:/wallet_file_directory
3.
$ORACLE_HOME/lib を LD_LIBRARY_PATH 環境パラメータに追加します。
JAAS サポートの構成
7-19
J2EE 環境にあわせた構成タスクの実行
4.
クリアなテキスト Wallet パスワードか iasobf ユーティリティのどちらかを使用して、
暗号化されたサーバー Wallet パスワードを作成します。iasobf ユーティリティは、
Apache/Apache/bin ディレクトリ内にあります。
5.
次の行をコメント・アウトし、手順 4 で作成したサーバー Wallet パスワードを指定し
ます。
#SSLWalletPassword password
6.
次の行をコメント・アウトします。
#SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
7.
クライアント証明書認証も使用する場合は、次の行をアンコメントし、
SSLVerifyClient を none から require または optional へ変更します。
#SSLVerifyClient require
注意 : Web ブラウザにもクライアント証明書を追加して構成する必要が
あります。
8.
mod_oc4j.conf ファイルへ移動します。
9.
次の行をアンコメントし、Oc4JExtractSSL を On に設定します。この行が mod_
oc4j.conf にない場合は追加します。
#Oc4jExtractSSL On
関連項目 : SSL を使用可能にする Oracle HTTP Server 構成ディレクティ
ブの使用方法の詳細は、4-10 ページの「ユーザーを認証する Secure
Sockets Layer (SSL)の使用」を参照してください。
タスク 4: OC4J への HTTP リクエストを委譲するよう mod_oc4j を構成
OC4J への HTTP リクエストを委譲するよう mod_oc4j を構成するには、マウント・ディレ
クティブを mod_oc4j.conf ファイルに追加する必要があります。次の手順を行います。
1.
$ORACLE_HOME/Apache/Apache/conf/mod_oc4j.conf へ移動します。
2.
次の行を追加します。たとえば、アプリケーションは URI "reports" から開始します。
Oc4jMount /reports
Oc4jMount /reports/*
3.
変更を保存し、mod_oc4j.conf を終了します。
7-20 Oracle9i Application Server セキュリティ・ガイド
J2EE 環境にあわせた構成タスクの実行
タスク 5: セキュリティ・ロール(run-as)の構成
)の構成
セキュリティ・ロール(
J2EE セキュリティ・ロールを OC4J グループを使用して JAAS ロールにマップできます。こ
れにより、アプリケーションはセキュリティ・ロールの権限または特定の
RealmPrincipal クラスの権限が与えられた状態で実行できます。次のタスクは、両方の
権限を保有します。詳細は 7-22 ページの「RealmPrincipal クラス」を参照してください。
run-as 要素を指定している場合、<role-name> は、Web アプリケーションに定義済のセ
キュリティ・ロールへマップされます。
次の手順では、sr_manager が次のような web.xml のセキュリティ・ロールとして定義済
であることを前提としています。
<security-role>
<role-name>sr_manager</role-name>
</security-role>
J2EE セキュリティ・ロールを JAAS ロールへマップするには
1.
<servlet> タグ内の run-as 要素を、web.xml ファイル内で特定の J2EE セキュリ
ティ・ロールまたは特定の RealmPrincipal クラスとして実行するように指定しま
す。
たとえば、セキュリティ・ロール sr_manager として実行するには
<servlet>
<servlet-name>DevGroup</servlet-name>
<servlet-class>DevGroupServlet</servlet-class>
<!-- run as security role "sr_manager" -->
<run-as>
<role-name>sr_manager</role-name>
</run-as>
</servlet>
2.
jazn-data.xml ファイル内で JAAS role 要素を定義します。
たとえば、developer で定義されるロールは次のとおりです。
<roles>
<role>
<name>developer</name>
<members>
<member>
<type>user<type>
<name>john<name>
</member>
</members>
</role>
</roles>
JAAS サポートの構成
7-21
J2EE 環境にあわせた構成タスクの実行
jazn-data.xml ファイルの詳細は、
『Oracle9iAS Containers for J2EE サービス・ガイ
ド』の第 II 部の第 4 章を参照してください。
3.
OC4J グループを使用して、手順 1 と手順 2 で作成した定義を、次のように
orion-application.xml ファイルへ統合します。
■
■
web.xml ファイルで定義した role-name を、セキュリティ・ロール(sr_manager)
としてマップします。
jazn-data.xml で定義した role を OC4J グループ名(developer)としてマッ
プします。
たとえば、sr_manager セキュリティ・ロールは、JAAS Provider 内の developer と
いう名前のグループにマップされます。
<security-role-mapping name="sr_manager">
<group name="developer" />
</security-role-mapping>
developer グループは J2EE セキュリティ・ロール sr_manager にマップされるので、
ユーザー(この例では john)は sr_manager ロールによって定義されたアプリケーショ
ン・リソースにアクセスできます。
RealmPrincipal クラス
<role-name> 要素を RealmPrincipal クラス名に設定すると、<description> 要素も
設定できます。例 :
<role-name>jazn.com/john</role-name>
<description>oracle.security.jazn.spi.xml.XMLRealmUser </description>
jazn.com はレルム、RealmPrincipal クラス名は john。
フィルタは、セキュリティ・ロール(<description> 要素で定義)へマップする
RealmPrincipal クラス・オブジェクトへの参照を試み、それをサブジェクトに追加しま
す。
マッピングが見つからない場合、フィルタは <role-name> 要素およびオプションの
<description>(RealmPrincipal クラス名)要素に基づいて RealmPrincipal クラ
ス・オブジェクトを取得し、付与されたロールとともにサブジェクトへ追加します。
関連項目 :
■
『Oracle9iAS Containers for J2EE サービス・ガイド』の第 II 部の第 6 章
■
『Oracle9iAS Containers for J2EE サービス・ガイド』の第 II 部の第 3 章
7-22 Oracle9i Application Server セキュリティ・ガイド
<jazn> タグと <user-manager> プロパティの相違点
<jazn> タグと <user-manager> プロパティの相違点
<jazn> タグは <user-manager> プロパティと非常に類似しており、現時点で JAAS 用の
Oracle サポートの構成にはどちらも使用できます。ただし、次に説明する重大な理由から、
JAAS の構成には <jazn> タグを使用する方が望ましいと言えます。
■
<jazn> および <jazn-web-app> などの <jazn> タグは、<user-manager> プロパティで指
定するよりも広範囲の機能を指定できます。
■
<jazn> タグはパスワードの暗号化をサポートしているので、より安全です。
■
<jazn> タグの方が使い勝手が優れています。
■
<user-manager> プロパティは、Oracle9i Application Server の現行リリース以降ではサ
ポートされません。
したがって、オラクル社ではできる限り <jazn> タグを使用するようお薦めしています。
注意 : 現時点では、J2EE アプリケーションをデプロイするための GUI
ツールである Oracle9iAS Containers for J2EE(OC4J)アプリケーション
配布ウィザードを使用してアプリケーションをデプロイするときは、
<user-manager> プロパティのみが使用されます。
前述したように、<jazn> タグは <user-manager> プロパティと非常に類似しています。
<jazn> タグの属性を <user-manager> プロパティに変換すると、構成はほとんど等価になり
ます。たとえば、<jazn> タグの属性を <user-manager> のプロパティと比較してみます。
<jazn> タグ属性名
<user-manager> プロパティ
provider
provider.type
location
location
default-realm
realm-default
persistence
persistence
config
config
JAAS サポートの構成
7-23
<jazn> タグと <user-manager> プロパティの相違点
同様に、<jazn-web-app> タグの属性を <user-manager> のプロパティと比較してみます。
<jazn-web-app> タグ属性名
<user-manager> プロパティ
runas-mode
runas.mode
doasprivileged-mode
doasprivileged.mode
auth-method
authentication.method
関連項目 : <jazn> タグの詳細と使用方法は、
『Oracle9iAS Containers for
J2EE サービス・ガイド』を参照してください。
7-24 Oracle9i Application Server セキュリティ・ガイド
8
Oracle9iAS Web Cache のセキュリティの
構成
この章では、パスワードや実行可能ファイルの所有権の構成など、Oracle9iAS Web Cache
のセキュリティ設定の方法について説明します。さらにこの章では、セキュア・ページの
HTTPS サポートを行うよう Oracle9iAS Web Cache を構成する方法についても説明します。
この章で扱う項目は次のとおりです。
■
デフォルトのセキュリティ設定の変更
■
HTTPS プロトコル・サポートの構成
Oracle9iAS Web Cache のセキュリティの 構成
8-1
デフォルトのセキュリティ設定の変更
デフォルトのセキュリティ設定の変更
Oracle9iAS Web Cache をインストールすると、管理および失効リクエストのためのデフォ
ルト・パスワードが設定されます。また、Oracle9iAS Web Cache をインストールしたコン
ピュータがデフォルトのトラステッド・ホストになります。
セキュリティ設定を変更するには
1.
Oracle9iAS Web Cache Manager を起動します。
関連項目 : Oracle9iAS ドキュメント・ライブラリにある『Oracle9iAS
Web Cache 管理および配置ガイド』
2.
管理者用のパスワードを変更します。
構成および運用のタスクは、Oracle9iAS Web Cache の administrator ユーザーとし
て実行できます。administrator ユーザーには、インストール時に設定される
administrator というデフォルト・パスワードがあります。構成を開始する前に、デ
フォルト・パスワードを安全なパスワードに変更してください。
a.
ナビゲータ・ウィンドウで、
「Administering Oracle Web Cache」
」> 「セキュリ
ティ」を選択します。
ティ」
右側のペインに「セキュリティ」ページが表示されます。
b. 「セキュリティ」ページで、
「Administration User」
」から「
「Change Admin
Password」
」をクリックします。
「Change Administration User Password」ダイアログ・ボックスが表示されます。
c. 「旧パスワード」フィールドに
administrator と入力し、4 文字から 20 文字まで
「旧パスワード」
の新しいパスワードを「新しいパスワード」
「新しいパスワード」および「新しいパスワードの確認」
「新しいパスワードの確認」
「新しいパスワード」
フィールドに入力します。
d. 「発行」をクリックします。
「発行」
3.
オプションで、失効管理者用のパスワードを変更します。
失効管理者のユーザー ID は invalidator で、デフォルト・パスワードは
invalidator です。
a. 「セキュリティ」ページで、
「Invalidation User」
」から「
「Change Invalidation
Password」
」をクリックします。
「Change Invalidation User Password」ダイアログ・ボックスが表示されます。
b. 「旧パスワード」フィールドに
invalidator と入力し、4 文字から 20 文字までの
「旧パスワード」
新しいパスワードを「新しいパスワード」
「新しいパスワード」および「新しいパスワードの確認」
「新しいパスワードの確認」
「新しいパスワード」
フィールドに入力します。
c. 「発行」をクリックします。
「発行」
8-2 Oracle9i Application Server セキュリティ・ガイド
デフォルトのセキュリティ設定の変更
4.
オプションで、トラステッド・サブネットまたはトラステッド・ホストを Oracle9iAS
Web Cache および失効管理が発生する場所から変更します。
デフォルトでは、Oracle9iAS Web Cache をインストールしたコンピュータがトラス
テッド・ホストになります。
a. 「セキュリティ」ページで、
「Currently trusted subnets」
」から「
「Change Trusted
Subnets」
」をクリックします。
「Change Trusted Subnets」ダイアログ・ボックスが表示されます。
b.
次のオプションのうち 1 つを選択します。
All subnets
ネットワーク内のすべてのサブネットにある全コンピュータからの管理リクエスト
を許可する場合に選択します。
This machine only
このコンピュータからのみの管理リクエストおよび失効リクエストを許可する場合
に選択します。
Enter list of IPs
カンマで区切られたリストに入力した全 IP アドレスからのリクエストを許可する
場合に選択します。IP アドレスは、次のフォーマットのどれかによって入力しま
す。
–
IP アドレスは、ネットワーク番号、サブネット番号および一意のホスト番号な
どのドット表記法で記入します。
例 : 10.1.2.3
–
マスキングによるサブネット制限のためのネットワーク番号 / ネットマスクの
ペア
例 : 10.1.0.0/255.255.0.0 では、10.1 内の全ホストがサブネットにアク
セスできます。
–
ハイエンドから一致する nnn ビットを要求する、ネットワーク番号 /nnn の
Classless Inter-Domain Routing(CIDR)仕様
例 : 10.1.0.0/16 では、10.1 内の全ホストがサブネットにアクセスできま
す。この例は、nnn の上位 1 ビットからなるネットマスクを除き、ネットワー
ク番号 / ネットマスクの例に似ています。
注意 : プロキシ・サーバーからリクエストが来ることもあります。プロキ
シ・サーバーがトラステッド・サブネットで設定されていない場合、リク
エストに障害が発生します。
Oracle9iAS Web Cache のセキュリティの 構成
8-3
デフォルトのセキュリティ設定の変更
c. 「発行」をクリックします。
「発行」
5.
オプションで、UNIX 上の Oracle9iAS Web Cache 実行可能ファイル用のユーザー ID や
グループ ID を変更します。
デフォルトでは、インストールを実行したユーザーが Oracle9iAS Web Cache 実行可能
ファイルの所有者です。このユーザーが webcachectl コマンドを実行できます。イン
ストールを実行したユーザーと同じグループ ID に属するユーザーも、webcachectl
コマンドを実行できます。
a.
ナビゲータ・ペインで、
「Administering Oracle Web Cache」
」> 「Process Identity」
」
を選択します。
右側のペインに「Process Identity」ページが表示されます。
b. 「Process Identity」ページで、
「Change IDs」
」をクリックします。
「Change Process Identity」ダイアログ・ボックスが表示されます。
c. 「新規ユーザー ID」
」フィールドに新しいユーザーを、
「New Group ID」
」フィール
ドにそのユーザーのグループ ID を入力します。
d. 「発行」をクリックします。
「発行」
6.
Oracle9iAS Web Cache Manager メイン・ウィンドウで、「変更の適用」をクリックしま
「変更の適用」
す。
注意 : 手順 2 で administrator ユーザーのパスワードを変更した場合
は、admin サーバー・プロセスを「操作」ページの「再起動」オプション
ではなく(
「管理」> 「操作」
)、webcachectl restart コマンドを使用
して再起動します。
8-4 Oracle9i Application Server セキュリティ・ガイド
HTTPS プロトコル・サポートの構成
HTTPS プロトコル・サポートの構成
Oracle9iAS Web Cache を、HTTPS ブラウザ・リクエストを受信し、HTTPS リクエストを起
点サーバーに送信するように構成できます。HTTPS は Secure Sockets Layer(SSL)を使用
して、ユーザーのページ・リクエストおよび起点サーバーによって戻されたページを暗号化
したり復号化します。
HTTPS 接続において SSL がどのように機能するかを説明する際、クライアントという用語
はブラウザまたは Oracle9iAS Web Cache のいずれかを表すのに使用し、サーバーという用
語は Oracle9iAS Web Cache または起点サーバーのいずれかを表すのに使用されます。
クライアントとサーバー間の認証プロセスは、次の手順からなります。
1.
クライアントが HTTPS を使用してサーバーとの接続を開始します。
2.
SSL がクライアントとサーバー間のハンドシェイクを実行します。
クライアントとサーバー間の HTTPS ネットワーク接続の開始時に、SSL ハンドシェイクが
実行されます。SSL ハンドシェイクには、次の処理が含まれます。
■
■
■
クライアントとサーバーは、どの Cipher Suite を使用するかを設定します。
サーバーは証明書をクライアントへ送信し、クライアントはそのサーバーの証明書が信
頼できる CA によって署名されているかを検証します。
クライアントとサーバーは、公開鍵暗号を使用してキー情報を交換します。この情報に
基づき、それぞれのセッション・キーが生成されます。その後のクライアントとサー
バー間の通信はすべて、このセッション・キーと取り決められた Cipher Suite を使用し
て暗号化および復号化されます。
HTTPS サポートを構成するには、以下のタスクを実行します。
■
タスク 1: Wallet の作成
■
タスク 2: HTTPS リスニング・ポートと Wallet の場所の構成
■
タスク 3: HTTPS リクエストのみをサイトへ許可
Oracle9iAS Web Cache のセキュリティの 構成
8-5
HTTPS プロトコル・サポートの構成
タスク 1: Wallet の作成
次の HTTPS リクエストをサポートするには、Wallet が必要です。
■
Oracle9iAS Web Cache がホストするサイトへのブラウザ・リクエスト
■
Oracle9iAS Web Cache への管理、失効化および統計監視リクエスト
■
起点サーバーへの Oracle9iAS Web Cache リクエスト
各サイトには 1 つ以上の Wallet が必要です。Oracle9iAS Web Cache リスニング・ポートす
べてで 1 つの Wallet を共有したり、Oracle9iAS Web Cache の各リスニング・ポートで別々
の Wallet を作成することができます。
Wallet を作成するには、Oracle Wallet Manager を使用します。Wallet を次のユーザーとし
て作成します。
■
■
UNIX 上で「Process Identity」ページ(「Cache-Specific Configuration」
」> 「Process
Identity」
」
)で構成したユーザーおよびグループ ID
Windows 上の OracleHOME_NAMEWebCache サービスの所有者
webcachectl または OracleHOME_NAMEWebCache サービスが cache サーバー・プロセ
スを起動するとき、Oracle9iAS Web Cache は webcachectl または OracleHOME_
NAMEWebCache サービス所有者として、Wallet を開きます。
デフォルトでは、Wallet は次の場所に格納されます。
■
/etc/ORACLE/WALLETS/user_name(UNIX の場合)
■
%USERPROFILE%¥ORACLE¥WALLETS(Windows NT および Windows 2000 の場合)
関連項目 : Oracle Wallet Manager を使用して Oracle Wallet を作成して
管理する方法については、第 5 章「Oracle Wallet Manager の使用方法」
を参照してください。
Wallet を使用可能にして Windows 上で開く
Oracle9iAS Web Cache は、Windows 起動時に Wallet を開こうとします。Windows では、
Wallet は Wallet を作成したユーザーのみが開いて使用できるように保護されています。デ
フォルトでは、Oracle9i Application Server のサービスはローカル・システム・アカウント
と関連付けられますが、Wallet を開く権限はありません。
Oracle9iAS Web Cache を使用可能にして、起動時に Wallet を開くには
1.
管理者アカウントを使用して Wallet を作成します。
2.
Oracle9iAS Web Cache サービスのシステム・アカウント情報を変更します。
8-6 Oracle9i Application Server セキュリティ・ガイド
HTTPS プロトコル・サポートの構成
Windows NT
Windows 2000
1. 「コントロール パネル」ウィンドウから「サービス」
「サービス」 1. 「コントロール パネル」ウィンドウから「管理ツー
「管理ツー
アイコンを選択します。
ル」> 「サービス」を選択します。
「サービス」
「サービス」ウィンドウが表示されます。
2. 「OracleHOME_NAMEWebCache サービス」を選択し
「サービス」ウィンドウが表示されます。
2. 「OracleHOME_NAMEWebCache サービス」を選択
ます。
します。
「サービス」ダイアログが表示されます。
「OracleHOME_NAMEWebCache のプロパティ」ダ
イアログが表示されます。
3. 「アカウント」をクリックします。
「アカウント」
「ログオン」
デフォルトでは、
「システム アカウント」がサービス 3. 「ログオン」タブをクリックします。
に関連付けられています。
4. 「ログオン」タブで、
「アカウント」をクリックしま
「アカウント」
す。
4. 「アカウント」に隣接する省略記号(...)をクリック
「アカウント」
します。
デフォルトでは、「ローカル システム アカウント」
がサービスに関連付けられています。
「ユーザーの追加」ダイアログ・ボックスが表示され
ます。
5. 「アカウント」に隣接した「参照」
「参照」をクリックしま
「アカウント」
「参照」
す。
5. 「名前」リストから Wallet を作成したユーザーを選
択し、「追加」をクリックします。
「追加」
「ユーザーの選択」ダイアログ・ボックスが表示さ
れます。
6. 「OK」
」をクリックして「ユーザーの追加」ダイアロ
グ・ボックスを閉じます。
7. 「サービス」ダイアログ・ボックスの「パスワード」
「パスワード」
フィールドに Wallet 管理者のパスワードを入力し、
「パスワードの確認入力」フィールドでパスワードを
「パスワードの確認入力」
確定します。
8. 「サービス」ダイアログ・ボックスで「
「OK」
」をク
リックします。
9.
OracleHOME_NAMEWebCacheAdmin および
OracleHOME_NAMEWebCacheMon サービスについ
て、手順 3 ~ 9 を繰り返します。
10. 「サービス」ウィンドウで「閉じる」
「閉じる」をクリックしま
「閉じる」
す。
6.
Wallet を作成したユーザーをリストから選択し、
」をクリックします。
「OK」
7. 「OK」
」をクリックして「Add User」ダイアログ・
ボックスを閉じます。
8. 「OracleHOME_NAMEWebCache のプロパティ」ダ
イアログ・ボックスの「パスワード」
「パスワード」フィールドに
「パスワード」
Wallet 管理者のパスワードを入力し、「パスワード
の確認入力」フィールドでパスワードを確定しま
の確認入力」
す。
9. 「サービス」ダイアログ・ボックスで「
「OK」
」をク
リックします。
10. OracleHOME_NAMEWebCacheAdmin および
OracleHOME_NAMEWebCacheMon サービスについ
て、手順 3 ~ 9 を繰り返します。
Oracle9iAS Web Cache のセキュリティの 構成
8-7
HTTPS プロトコル・サポートの構成
Windows NT で、Wallet 管理者に対し、Oracle9iAS Web Cache をサービスとして実行する
権利をさらに付与します。
1. 「スタート」> 「プログラム」> 「管理ツール ( 共通 )」
」> 「ユーザー マネージャ」を選択
マネージャ」
します。
「ユーザー・マネージャ」ウィンドウが表示されます。
2. 「wallet administration」を選択した後、
「原則」> 「ユーザーの権利」を選択します。
「ユーザーの権利」
「ユーザー権利の原則」ダイアログ・ボックスが表示されます。
3. 「高度なユーザー権利の表示」チェック・ボックスをクリックし、
「権利」リストから
「高度なユーザー権利の表示」
「権利」
「サービスとしてログオン」を選択します。
「サービスとしてログオン」
4. 「この権利を与えられたアカウント」リストから「
「Users」
」を選択します。
「この権利を与えられたアカウント」
「Users」
」が存在しない場合は、次の手順で作成します。
a. 「追加」をクリックします。
「追加」
「ユーザーとグループの追加」ダイアログ・ボックスが表示されます。
b. 「ドメインまたはコンピュータ」リストからローカル・ホスト・コンピュータ名を
「ドメインまたはコンピュータ」
選択します。
c. 「名前」リストから「
「Users」
」を選択し、
「追加」を選択します。
「名前」
「追加」
d. 「OK」
」をクリックします。
「この権利を与えられたアカウント」リストに「
「Users」
」が表示されます。
「この権利を与えられたアカウント」
5. 「ユーザー権利の原則」ダイアログ・ボックスで「
「OK」
」をクリックします。
「ユーザー・マネージャ」ウィンドウが再表示されます。
6. 「ユーザー」> 「ユーザー マネージャの終了」を選択します。
マネージャの終了」
8-8 Oracle9i Application Server セキュリティ・ガイド
HTTPS プロトコル・サポートの構成
タスク 2: HTTPS リスニング・ポートと Wallet の場所の構成
ブラウザと Oracle9iAS Web Cache との間で HTTPS プロトコル・サポートを構成するには
1.
2.
HTTPS リスニング・ポートおよびサポートされている各サイトの Wallet の場所で
Oracle9iAS Web Cache を構成するには、Oracle9iAS Web Cache Manager で
「Cache-Specific Configuration」
」> 「リスニング・ポート」を選択します。
「リスニング・ポート」
HTTPS リスニング・ポートおよびサイトの Wallet の場所の管理、失効および統計監視
リクエストを構成するには、Oracle9iAS Web Cache Manager で「
「Cache-Specific
Configuration」
」> 「Operations Ports」
」を選択します。
これらのリクエスト用のポートは、手順 1 で Oracle9iAS Web Cache リスニング・ポー
ト用に設定した Wallet と同じものを共有できます。
Oracle9iAS Web Cache と起点サーバーとの間で HTTPS プロトコル・サポートを構成するに
は
1.
HTTPS 通信ポートでアプリケーション Web サーバーまたはプロキシ・サーバーを構成
するには、Oracle9iAS Web Cache Manager で「
「General Configuration」
」> 「アプリ
ケーション Web サーバー」または「プロキシ・サーバー」
「プロキシ・サーバー」を選択します。
サーバー」
「プロキシ・サーバー」
2.
Oracle9iAS Web Cache からアプリケーション Web サーバーまたはプロキシ・サーバー
への通信に使用される Wallet の場所を指定するには、Oracle9iAS Web Cache Manager
で「
「Cache-Specific Configuration」
」> 「Origin Server Wallet」
」を選択します。
これらのリクエスト用のポートは、Oracle9iAS Web Cache リスニング・ポート用に設
定した Wallet と同じものを共有できます。
関連項目 : HTTPS リスニング・ポートの構成および Wallet の場所指定
の詳細については、
『Oracle9iAS Web Cache 管理および配置ガイド』の第
6 章を参照してください。
Oracle9iAS Web Cache のセキュリティの 構成
8-9
HTTPS プロトコル・サポートの構成
タスク 3: HTTPS リクエストのみをサイトへ許可
あるサイトの 1 つまたは複数の URL を、HTTPS リクエストのみ許可するよう制限できま
す。
1 つまたは複数の URL に対し、HTTPS 通信のみを許可するには
1.
サイト定義の指定を構成するため、Oracle9iAS Web Cache Manager で「
「General
Configuration」
」> 「サイト」を選択します。
「サイト」
2. 「Site Definitions」ページで、
「サイト追加」を選択してサイト定義を追加するか、
「Edit
「サイト追加」
Site」を選択して既存のサイト定義を変更します。
「サイト追加」または「Edit Site」ダイアログ・ボックスが表示されます。
3. 「HTTPS Only Prefix」
」フィールドに、HTTPS リクエストのみが提供される URL 接頭
辞を入力します。
HTTPS への全通信を制限する必要がある場合は、サイト全体に "/" を入力します。
4.
その他のフィールドに該当する情報を入力します。詳細はオンライン・ヘルプまたは
『Oracle9iAS Web Cache 管理および配置ガイド』の第 6 章を参照してください。
8-10 Oracle9i Application Server セキュリティ・ガイド
9
Oracle9i Application Server によるセキュア
なデータベース・アクセスの構成
この章では、インターネット環境でクライアントが安全にデータベースへアクセスするため
の機能や方法を紹介します。ここで説明する方法を使用してデータベースや PL/SQL を設定
することで、既知のセキュリティ問題を回避できます。
■
Oracle9i Database Server にセキュアなアクセスを提供
■
mod_plsql によるデータベース・アプリケーション・アクセスの保護
■
JDBC による安全なデータベース接続の提供
Oracle9i Application Server によるセキュアなデータベース・アクセスの構成
9-1
Oracle9i Database Server にセキュアなアクセスを提供
Oracle9i Database Server にセキュアなアクセスを提供
この項では、Oracle9i Application Server(Oracle9iAS)でシステムのセキュアな配置を容易
に行うために利用できる Oracle9i Database Server ツールについて説明します。
■
Oracle9iAS によるプロキシ認証
■
多層アプリケーションの監査
■
保護アプリケーション・ロール
■
アプリケーションのクエリー・リライト : Virtual Private Database(VPD)
■
ストアド・データの選択的暗号化
■
中間層接続管理
■
データベース内での Java セキュリティの実装
Oracle9iAS によるプロキシ認証
プロキシ認証機能は、特定の中間層が、指定された一連のユーザーのために動作するように
制限することを目的にしています。中間層がデータベースに認証されると、パスワードなど
のユーザー固有の認証情報を提出しなくても、ユーザーのための軽量セッションを確立でき
ます。さらに Oracle9i では、特定の中間層が、特定のユーザーのためにデータベースで動作
する際、特定の複数のデータベース・ロールを引き受けるように構成できます。つまりデー
タベースでは、ユーザーのために軽量セッションで動作する中間層に付与する権限を決める
際、中間層 ID とクライアント・ユーザー ID の両方が使用されます。
Oracle9i Application Server では、この機能はデータベースへの Java Database Connectivity
(JDBC)アクセスをサポートしています。現時点では、中間層サーバーは JDBC-OCI によっ
てクライアント・ユーザーのための軽量セッションを確立することで、Oracle9i データベー
スにアクセスできます。
Oracle9i では、データベースへの識別名(DN)または完全な X.509 証明書のいずれかの資
格証明プロキシも含まれるよう、プロキシ認証を拡張します。これによって SSL 資格証明で
ある X.509 証明書または DN が有効になり、ユーザー識別(ただし認証はしない)のため
データベースに渡されるので、多層からなる強力なセキュリティが実現します。(SSL は、
end-to-end のプロトコルではなく point-to-point のプロトコルであるため、多層からなる
ユーザー認証には使用できません)
。たとえば、ユーザーは SSL を使用して中間層への認証
が可能で、中間層は証明書から DN を抽出して、その DN(または完全な証明書)をデータ
ベースに渡すことができます。また別の利点として、DN または証明書を軽量セッションで
使用し、その中に含まれている要素を Virtual Private Database とともに使用してアクセスを
制限することもできます。たとえばある組織で、データベースに提示されるユーザー証明書
内の部門(OU)要素に基づいて、データ・アクセスを制限できます。このようにアプリケー
ション・ユーザー・プロキシ認証は、特に数千人規模のユーザーを扱う E-Business アプリ
ケーションで重要な役割を果たします。ユーザーに関する拡張性の要求を満たしながらも、
ユーザーごとのデータ・アクセス制御をサポートできます。
9-2 Oracle9i Application Server セキュリティ・ガイド
Oracle9i Database Server にセキュアなアクセスを提供
データベースでは、DN または証明書を使用して、Oracle Internet Directory などのエンター
プライズ・ユーザー・セキュリティが認証済みの LDAP ベース・ディレクトリ内のユーザー
を検索できます(Oracle Advanced Security 機能)。エンタープライズ・ユーザー・セキュリ
ティのプロキシ認証を統合すると、ユーザーをディレクトリ内に 1 回作成するだけで、アプ
リケーションのすべての層にわたってユーザー ID を保持できます。また、クライアント /
サーバーだけではなく、多層のアプリケーションでエンタープライズ・ユーザー・セキュリ
ティを使用できます。
多層アプリケーションの監査
多層アプリケーションの多くでは、ユーザーを中間層に認証した後、トランザクション処理
モニターまたはアプリケーション・サーバーが、権限を持つスーパー・ユーザーとして接続
し、全ユーザーのすべてのアクティビティを代行します。ただし、中間層上で実際のクライ
アントの ID を有し、中間層全体で " 最低限の権限 " を施行できる必要があります。また、
ユーザーにかわって中間層が行う操作を監査する場合もあります。ユーザー・アクティビ
ティを監査すると、ユーザーとデータ・サーバーが中間層を介して接続されているか直接接
続されているかにかかわらず、ユーザー・アカウンタビリティが強化され、その結果多層シ
ステムのセキュリティ全体も強化されます。
Oracle9i Application Server では、これらをすべて実行できます。Oracle9i の監査レコード
は、接続を開始したログイン・ユーザー(つまり中間層)と、操作が代行されるユーザーの
両方を取得します。
保護アプリケーション・ロール
アプリケーション・ロジックをバイパスして直接データにアクセスするのを防ぐため、ユー
ザーのデータ・アクセス方法を制限することは、長い間検討されてきたセキュリティ上の課
題です。たとえば、Web ベースのアプリケーションでは、データベースがユーザーを認識し
ている場合でも、ユーザーがデータに直接アクセスするのは望ましくありません。これまで
は、データ・アクセスに使用されるアプリケーションを確認するための確実な方法がなかっ
たため、解決が非常に困難なセキュリティ上の問題になっていました。たとえば、不当な
ユーザーが、見かけ上有効な人事管理アプリケーション・プログラムを作成することもあり
得ます。
この課題を解決する方法の 1 つが、保護アプリケーション・ロールです。これはパッケージ
によって実装されるロールです。適切な条件が満たされているかについて任意の妥当性
チェックがこのパッケージによって行われた後で、ユーザーはデータベース内のロールに付
与された権限を行使できます。データベースでは、適切なアクセス条件を決定するのが、
ロールを実装した信頼できるパッケージのみであることを認識しています。
Oracle9i 独自のこの機能によって、ユーザー定義基準に基づいてロールを使用できるように
なります。保護アプリケーション・ロールは、パッケージによって実装されるロールです。
たとえば、特定の IP アドレスからのみ接続するか、または特定の中間層のみを介してデー
タベースにアクセスするユーザーに対して、ロールの使用を許可するパッケージを記述でき
ます。保護アプリケーション・ロールは、アプリケーションによって使用され、そのアプリ
ケーションによってのみ有効化されるので、パスワードが不要です。
Oracle9i Application Server によるセキュアなデータベース・アクセスの構成
9-3
Oracle9i Database Server にセキュアなアクセスを提供
プロキシ認証を使用する多層システムでは、ユーザー・セッションが中間層によって作成さ
れ、そのユーザーが適切なアプリケーションを使用してデータベースにアクセスしているこ
とを、パッケージによって確認できます。また保護アプリケーション・ロールでは、データ
ベースに直接接続するユーザーは、いっさいデータにアクセスできません。保護アプリケー
ション・ロールでは、その他のセキュリティ条件も施行できます。たとえば、特に機密性の
高い人事管理データには、インターネットからのアクセスが許可されないこともあります。
保護アプリケーション・ロールでは、システム固有の認証およびデータベースのファイング
レイン・アクセス・コントロールを強化することで、適切なアクセス条件を満たしていない
ユーザーは権限を行使できないようになっています。このように、保護アプリケーション・
ロールは困難なセキュリティ問題を解決し、Web ベース・アプリケーションのセキュアな
データ・アクセスをサポートします。
アプリケーションのクエリー・リライト : Virtual Private Database(
(VPD)
)
Virtual Private Database は、パッケージ内で定義し、表またはビューと関連付けたセキュリ
ティ・ポリシーに基づいて問合せの変更を実行する機能です。Virtual Private Database は、
データ駆動、コンテキスト依存および行ベースのファイングレイン・アクセス・コントロー
ルを提供します。ミッション・クリティカルなリソースを顧客やパートナに公開する多層シ
ステムを構築する上で、重要な有効化技術です。
ストアド・データの選択的暗号化
アプリケーションによっては、追加のセキュリティ対策としてデータを暗号化することがあ
ります。データ・セキュリティ問題の多くは、正しく識別され認証されたユーザーのみが
データにアクセスできる、適切な認証およびアクセス制御によって対処可能です。しかし
データベース内のデータについては、データベース管理者がすべての権限を持っているの
で、データベース管理者からのアクセスに対しては通常保護されていません。また、第三者
が格納したバックアップ・ファイルのように、オフラインで格納された機密データのセキュ
リティについて懸念する組織もあります。データベースに物理的に格納されたデータにアク
セスする侵入者から、データを保護することが必要かもしれません。
暗号化は効果的なアクセス制御のかわりにはなりませんが、機密データをデータベースに格
納する前に選択的に暗号化することで、セキュリティ対策を強化できます。特に機密性が高
く、暗号化を必要とする情報には、クレジット・カード番号、プライバシーに関する厳格な
法律がある国での国民識別番号または製法などの企業秘密があります。ユーザーをデータ
ベースではなくアプリケーションに対して認証するアプリケーションでは、アプリケーショ
ン・ユーザー・パスワードまたは Cookie を保護するために暗号化を使用することもできま
す。
9-4 Oracle9i Application Server セキュリティ・ガイド
Oracle9i Database Server にセキュアなアクセスを提供
中間層接続管理
ユーザー数が多い接続を管理するための中間層を構成できます。多くのユーザーをサポート
するために、Oracle Connection Manager の複数のインスタンスを構成できます。この製品
では、データベースへの単一のネットワーク接続上でクライアント・ネットワーク・セッ
ションを多重化することにより、接続の総数を増やします。
接続元、接続先およびホスト名でフィルタ処理をすることもできます。このため、物理的に
セキュアな端末か、既知の IP アドレスを持つアプリケーション Web サーバーからのみ接続
できます。(IP アドレスのみでは偽造が可能なため、認証には不十分です)。
データベース内での Java セキュリティの実装
Oracle9i では、サーバーに Java セキュリティを実装しています。Java 仮想マシン(JVM)
は、コンパイル済みの Java バイトコードをプラットフォームの機械語に変換して実行する
Java インタプリタです。JVM はクライアント、ブラウザ、中間層、Web、Oracle9i
Application Server などのアプリケーション・サーバーまたは Oracle9i などのデータベー
ス・サーバー上で実行できます。
クラス実行
Oracle9i JVM 実装では、クラス内でコードを実行する権利がクラス自体の実行権限によって
制御されます。これは PL/SQL パッケージでの実行権限と同じデータベース権限であり、同
様の方法で管理されます。
SecurityManager クラス
Oracle9i JVM は、クラス java.lang.SecurityManager をインストールして起動します。
Oracle9i データベースは Sun Microsystems の Java Developer's Kit 1.2 リリースに基づいて
おり、このリリースのセキュリティ機能を実装します。この実装では、権限はデータベース
表の内容によって制御されます。表は通常、PL/SQL プロシージャ(および Java メソッド)
によって管理されます。表は、ユーザーまたはロールのいずれかに権限を付与するのに使用
でき、クラスのコード・ソースは、スキーマのクラスがロード済みのユーザーによって識別
されます。特定の Oracle 権限は、表を更新する権利を制御し、その他のセキュリティ機密度
の高い操作を実行します。
関連項目 : 『Oracle9i Java 管理者ガイド』
Oracle9i Application Server によるセキュアなデータベース・アクセスの構成
9-5
mod_plsql によるデータベース・アプリケーション・アクセスの保護
mod_plsql によるデータベース・アプリケーション・アクセス
の保護
この項では、既知のセキュリティ問題を回避するためのデータベースおよび PL/SQL の設定
方法について説明します。この項の項目は次のとおりです。
■
mod_plsql の概要
■
mod_plsql によるユーザー認証
■
PUBLIC に付与される PL/SQL プロシージャの保護
■
JDBC による安全なデータベース接続の提供
関連項目 : mod_plsql の詳細は『Oracle9i Application Server mod_plsql
ユーザーズ・ガイド』および『PL/SQL Web Toolkit リファレンス』を参
照してください。
mod_plsql の概要
mod_plsql セキュリティには、基本的に 2 つの種類があります。1 つは認証であり、ユー
ザーがだれであるかを確定します。もう 1 つは保護であり、ユーザーの権限を決定します。
Oracle HTTP Server のコンテキストでは、Web リスナーがユーザーを認証し、mod_plsql
モジュールを使用してデータベース・アクセスを制御します。mod_plsql のフロントエンド
は HTTP サーバー・モジュールとして、またバックエンドは、ユーザーにかわってデータ
ベースへの適切なレベルのアクセスを取得するクライアントとして表示されます。mod_
plsql クライアントはデータベースに接続し、結果を得た後、その結果を HTTP サーバーへ
送り返します。
mod_plsql によるユーザー認証
mod_plsql では、Oracle HTTP Server が行う認証に加えて、様々なレベルの認証を提供しま
す。Oracle HTTP Server ではドキュメントや仮想パスなどが保護されますが、mod_plsql で
はデータベースにログインしたり、PL/SQL Web アプリケーションを実行するユーザーが保
護されます。
表 9-1 で説明するように、様々な認証モードを使用可能にできます。
9-6 Oracle9i Application Server セキュリティ・ガイド
mod_plsql によるデータベース・アプリケーション・アクセスの保護
表 9-1 mod_plsql で使用される認証モード
認証モード
アプローチ
Basic
認証は HTTP Basic 認証を使用して実行される。ほとんどのアプリケー
ションでは Basic 認証を使用。
Global OWA
認証は、PL/SQL Web ツールキット・パッケージを含むスキーマ内の
owa_custom.authorize プロシージャを使用して実行される。
Custom OWA
認証は、ユーザーのスキーマ(owa_customize.authorize)内、
またはこれが見つからない場合は PL/SQL Web ツールキット・パッ
ケージを含むスキーマ内の、パッケージおよびプロシージャを使用し
て実行される。
Per Package
認証は、ユーザーのスキーマ(packageName.authorize)内のパッ
ケージおよびプロシージャを使用して実行される。
Single Signon
認証は Oracle9iAS Single Sign-On を使用して実行される。このモード
は、アプリケーションが Oracle9iAS Single Sign-On に対応している場
合にのみ使用すること。
Basic(データベース制御による認証)
(データベース制御による認証)
モジュール mod_plsql はデータベース・レベルでの認証をサポートしています。このモ
ジュールでは HTTP Basic 認証を使用しますが、データベースにログオンする際にはこれを
用いて資格証明を認証します。認証では、次のいずれかのユーザー名およびパスワードを使
用して、ユーザー・データベース・アカウントに対する検査が行われます。
■
■
DAD に格納されているユーザー名およびパスワード。エンド・ユーザーはログイン情報
を入力する必要がありません。この方法は、パブリック情報を提供する Web ページに
適しています。
ユーザーがブラウザの「Basic HTTP Authentication」ダイアログ・ボックスによって提
供する、ユーザー名およびパスワード。ユーザーは、ダイアログ・ボックスにユーザー
名およびパスワードを入力する必要があります。
Oracle9i Application Server の Basic 認証モード
Oracle9i Application Server の場合、Basic 認証モードの仕組みが異なります。ユーザー名お
よびパスワードは DAD に格納する必要があります。Oracle9i Application Server では、ファ
イル・システムのパスワード・ファイルに資格証明が格納されている HTTP Basic 認証を使
用します。認証では、このファイルにリストされているユーザーに対して検査が行われます。
Oracle9i Application Server によるセキュアなデータベース・アクセスの構成
9-7
mod_plsql によるデータベース・アプリケーション・アクセスの保護
Oracle9iAS の Basic 認証モード mod_plsql は Oracle9i Application Server の Basic 認証をサ
ポートしています。Oracle HTTP Server では、ユーザーの資格証明をファイル・システム上
のパスワード・ファイルと照合して認証します。この機能は、mod_auth というモジュール
によって提供されます。
関連項目 : mod_auth の詳細は 4-9 ページの「Basic 認証の使用と mod_
auth による認可」を参照してください。
認証解除
mod_plsql では、ユーザーは PL/SQL プロシージャを使用すると、すべてのブラウザ・イン
スタンスを終了しなくてもプログラムによってログオフ(HTTP 認証情報の消去)できま
す。この機能は、Netscape 3.0 以上および Microsoft Internet Explorer でサポートされていま
す。他のブラウザの場合、ユーザーは認証解除する際にブラウザを終了する必要があります。
認証解除のもう 1 つの手段としては、URL の DAD の後に /logmeoff を追加します。例 :
http://myhost:2000/pls/myDAD/logmeoff
Global OWA、
、Custom OWA および Per Package(
(Custom 認証)
Custom 認証では、アプリケーションはデータベース・レベルではなくアプリケーション自
体の中でユーザーを認証できます。認証は、ユーザーが作成した認証機能の起動によって実
行されます。Custom 認証では、DAD に格納されている静的ユーザー名およびパスワードが
使用されます。動的ユーザー名およびパスワードを使用する認証とは、組み合せられません。
認証機能は、いつ起動するかに応じて配置する場所を変えられます。
■
■
■
Global OWA では、全ユーザーおよびプロシージャに対して同じ認証機能を起動できま
す。
Custom OWA では、各ユーザーおよびすべてのプロシージャに対して異なる認証機能
を起動できます。
Per Package 認証では、全ユーザーに対して認証機能を起動できますが、プロシージャ
については特定のパッケージ内にあるプロシージャまたは匿名プロシージャに限定され
ます。
9-8 Oracle9i Application Server セキュリティ・ガイド
mod_plsql によるデータベース・アプリケーション・アクセスの保護
表 9-2 にパラメータ値を示します。
表 9-2 Custom 認証モードとコールバック・ファンクション
モード
アクセス制御の有効範囲
コールバック・ファンクション
Global OWA
全パッケージ
OWA パッケージ・スキーマ内の owa_
custom.authorize。
Custom OWA
全パッケージ
ユーザー・スキーマ内(ない場合は OWA パッケー
ジ・スキーマ内)の owa_custom.authorize。
Per Package
特定のパッケージ
ユーザー・スキーマ内の
packageName.authorize または
anonymous.authorize が呼び出される。
PUBLIC に付与される PL/SQL プロシージャの保護
パブリックに付与される各データベース・パッケージは、次の URL を使用して直接実行で
きます。
http://hostname:port/pls/dad/schema.package.procedure
データベース内の PUBLIC に付与された PL/SQL プロシージャの実行を、様々なレベルの
認証によって保護する必要があります。これらのプロシージャ(dbms_% パッケージ、utl_
% パッケージおよび SYS スキーマ下のすべてのパッケージ内に格納)は、Web ブラウザで
実行すると、セキュリティ上の弱点が露呈されます。このようなパッケージは、PL/SQL ア
プリケーション開発者専用です。
mod_plsql で PlsqlExclusionList ディレクティブを使用 mod_plsql では
PlsqlExclusionList という DAD パラメータ・ディレクティブによって、これらの
PL/SQL パッケージやその他のアプリケーション専用パッケージの実行を保護します。
PlsqlExclusionList ディレクティブは、ブラウザから直接実行することを禁止するプロ
シージャ、パッケージおよびスキーマ名のパターンを指定します。これは複数行からなる
ディレクティブであり、各パターンを 1 行で指定します。このパターンでは大文字・小文字
が区別されず、*、?、[a-z] などの簡単なワイルドカードが使用できます。ダイレクト
URL が受け入れられないデフォルト・パターンは、sys.*、dbms_*、utl_* および owa_
util.* です。
注意 : PlsqlExclusionList ディレクティブを #NONE# に設定すると、
すべての保護が無効になります。公開中の Web サイトにはお薦めしませ
ん。この設定はデバッグ目的にのみ使用してください。
Oracle9i Application Server によるセキュアなデータベース・アクセスの構成
9-9
JDBC による安全なデータベース接続の提供
PlsqlExclusionList ディレクティブを上書きすると、デフォルト設定は適用されませ
ん。この場合は、除外されたパターンのリストにデフォルト・リストを追加する必要があり
ます。
PlsqlExclusionList ディレクティブへのアクセス dads.conf という名前の mod_plsql 構成
ファイルに、PlsqlExclusionList ディレクティブを設定できます。この構成ファイルは、
次のディレクトリに格納されています。
■
(UNIX)$ORACLE_HOME/Apache/modplsql/conf/
■
(Windows)%ORACLE_HOME%¥Apache¥modplsql¥conf
ORACLE_HOME は、Oracle9iAS Portal をインストールした場所です。
PUBLIC に付与される PL/SQL プロシージャのセキュリティを最大限に高めるには、例 9-1
に示すように、dads.conf ファイル内の PlsqlExclusionList ディレクティブを使用し
てシステムのデフォルト設定を指定します。
例 9-1 PlsqlExclusionList ディレクティブで指定するシステムのデフォルト設定
PlsqlExclusionList
PlsqlExclusionList
PlsqlExclusionList
PlsqlExclusionList
PlsqlExclusionList
sys.*
dbms_*
utl_*
owa_util.*
portal.wwmon*
mod_plsql では、このディレクティブで指定するパターンの他にも、タブ、改行、一重引用
符(')
、バック・スラッシュ(日本語環境では ¥)などの特殊文字を含む URL を禁止します。
これは変更できません。
JDBC による安全なデータベース接続の提供
この項では、Oracle9i Application Server のコンテキストで Java Database Connectivity
(JDBC)を使用することにより、データベースへの安全なアクセスを実現する方法を説明し
ます。この項の項目は次のとおりです。
■
Java Database Connectivity(JDBC)の概要
■
Oracle Advanced Security の Java 暗号化機能
9-10 Oracle9i Application Server セキュリティ・ガイド
JDBC による安全なデータベース接続の提供
Java Database Connectivity(
(JDBC)の概要
)の概要
Java を使用すると、多層環境でデータを安全に送信できます。JDBC(Java Database
Connectivity)は業界標準の API(Applications Programming Interface)であり、Java プロ
グラムは、これを利用して Oracle などのオブジェクト・リレーショナル・データベースに
SQL 文を送ることができます。Java Database Connectivity により、中間層サーバーは、クラ
イアント・ユーザーのための軽量セッションを確立することで、そのユーザーにかわって
データベースにアクセスできます。
Java Applet では、このようにしてデータをセキュアなチャネル上で送信します。Java Server
Pages(JSPs)を使用すると、中間層サーバーからデータベースに安全に接続できます。セ
キュリティが強化される理由は次のとおりです。
■
各プロトコルが保護される。
■
JDBC-OCI および Thin クライアントをサポート。
■
多層アーキテクチャをサポート。
Java セキュリティを実装しアルゴリズムをネゴシエーションするための基本的な方法は、2
種類あります。
■
JDBC クライアント・アプリケーションにハードコードする。
■
ネイティブ・ネットワークの暗号化と同じように構成する。
Oracle Advanced Security の Java 暗号化機能
Sun Microsystems, Inc. が Java Database Connectivity(JDBC)標準を定義し、その標準をオ
ラクル社が個別プロバイダとして自社の JDBC ドライバに実装し、拡張しています。オラク
ル社では、4 種類の JDBC ドライバを提供しています。
■
■
■
■
OCI ライブラリおよび Oracle Net Services クライアントの最上部に構築される
JDBC-OCI
Applet とアプリケーションの両方で使用できる JDBC Thin(クライアント・インスト
レーションがなく、最大限の移植性が必要)
ターゲット・データベースの内側から、リモート Oracle データベースに接続するための
JDBC サーバー側の Thin
データベース内で実行される、ストアド・プロシージャおよびファンクションなどの
コード用のサーバー側内部ドライバ
Oracle9i Application Server によるセキュアなデータベース・アクセスの構成
9-11
JDBC による安全なデータベース接続の提供
JDBC-Oracle Call Interface ドライバ
JDBC-Oracle Call Interface(JDBC-OCI)ドライバは、Oracle クライアントをインストール
しているクライアント側で使用できます。JDBC-OCI ドライバでは、完全な Oracle Net
Services 通信スタックをクライアントとサーバーの両方で使用するので、既存の Oracle
Advanced Security の暗号化および認証メカニズムを活用できます。Oracle9i では、プロキ
シ認証が Java Database Connectivity(JDBC-OCI)に拡張されており、中間層サーバーは、
クライアント・ユーザーのための軽量セッションを確立することで、そのユーザーにかわっ
て Oracle9i データベースにアクセスできます。
Applet およびアプリケーション用 JDBC Thin ドライバ
Thin JDBC ドライバはインターネットからダウンロードした Applet とともに使用するよう
設計されているので、Oracle9i には、Thin クライアントで使用する Oracle Advanced
Security 暗号化および整合性アルゴリズムの 100% Java 実装が含まれています。Oracle やそ
の他のコンポーネントを配置する E-Business では、次のような利点により、様々なチャネル
上で多様な情報を安全に送信できます。
■
通信のプライバシを守るためのデータ暗号化
■
データの修正、再実行および傍受に対するデータ整合性チェック
■
Thin JDBC クライアントから Oracle9i データベースへの安全な接続
■
セキュアな通信チャネル上でデータを送信する Applet を開発者が構築可能
■
■
Oracle9i データベースから、Oracle Advanced Security を使用するように構成された古
いバージョンの Oracle データベースへの安全な接続
Java Server Pages(JSP)のある中間層サーバーから Oracle RDBMS への安全な接続
Oracle JDBC Thin ドライバでは、認証のために Oracle パスワード・プロトコルを実装しま
す。このドライバは Oracle Advanced Security の SSL 実装をサポートしておらず、RADIUS
や Kerberos などサード・パーティの認証機能にも対応していません。Oracle JDBC-OCI ドラ
イバは、Oracle Advanced Security の全機能をサポートします。
Oracle Advanced Security は、C 言語で記述されたアルゴリズムを使用して、Oracle Net
Services クライアントと Oracle サーバーの間の Oracle Net Services 通信の暗号化と整合性
チェックを続行します。Oracle Advanced Security の Thin JDBC 用 Java 実装では、次の暗
号化アルゴリズムの Java バージョンを提供しています。
■
RC4_256
■
RC4_128
■
RC4_56
■
RC4_40
■
DES56
■
DES40
9-12 Oracle9i Application Server セキュリティ・ガイド
JDBC による安全なデータベース接続の提供
JDBC サーバー側 Thin ドライバ
JDBC Thin ドライバはタイプ 4(100% Pure Java)のドライバであり、Java ソケットを使用
してデータベース・サーバーに直接接続します。このドライバには、Java Net と呼ばれる
Oracle Net の軽量 Java 実装があります。
Thin ドライバでは、クライアント側に Oracle ソフトウェアがなくてもかまいません。ただ
しサーバー側には TCP/IP リスナーが必要です。Web ブラウザにダウンロードした標準の
Oracle Net リスナーの Java Applet で、このドライバを使用します。Thin ドライバは自己完
結型ですが、Java ソケットを開くので、ソケットがサポートされているブラウザでのみ実行
できます。
Oracle Java SSL
Oracle Java SSL は、商業用に適した Java Secure Socket Extension(JSSE)の実装です。SSL
の安全かつ高速な実装を作成するため、Oracle Java SSL ではネイティブ・コードを使用し
て、重要なコンポーネントの性能を高めています。Oracle Java SSL では、JSSE 仕様に含まれ
ている機能に加え、次のことをサポートしています。
■
複数の暗号化アルゴリズム
■
Oracle Wallet Manager を使用した証明書およびキーの管理
■
Oracle Java SSL の最上部に構築されるアプリケーションで使用可能な、認証などの SSL
専用セッション機能
関連項目 : 『Oracle Advanced Security 管理者ガイド』
事実上すべてのクライアントへの安全な接続
サーバーでは、アルゴリズムのネゴシエーションおよびキー機能の生成は、Oracle
Advanced Security の Oracle Net Service 暗号化と完全に同じです。このため、クライアン
トとサーバーの下位および上位互換性が有効になります。クライアントでは、アルゴリズム
のネゴシエーションおよびキーの生成は、C ベースの Oracle Advanced Security の暗号化と
まったく同様に行われます。クライアントとサーバーでは、従来の Oracle Net Services クラ
イアントと同じ方法で、暗号化アルゴリズムのネゴシエーション、乱数の生成、
Diffie-Hellman を利用したセッション・キーの交換、Oracle パスワード・プロトコルの使用
が行われます Thin JDBC には、Oracle Net Services クライアントが Pure Java で完全実装さ
れています。Java 実装の Oracle Advanced Security は、他の暗号化実装と同様、暗号化アル
ゴリズムへのアクセスを防止し、暗号化データの複製を防いで、ネットワークを通過する
データを暗号化します。ユーザーは、自分でキースペース(鍵の組み合わせ)を変更したり、
暗号化アルゴリズムを変更したりすることはできません。
Oracle9i Application Server によるセキュアなデータベース・アクセスの構成
9-13
JDBC による安全なデータベース接続の提供
9-14 Oracle9i Application Server セキュリティ・ガイド
用語集
CA
「認証局
認証局」を参照。
認証局
Cipher Suite
ネットワークのノード間でメッセージを交換するのに使用される認証、暗号化およびデータ
整合性のアルゴリズムのセット。たとえば、SSL ハンドシェイク時には、2 つのノード間で
ネゴシエーションして、メッセージを送受信するときに使用する Cipher Suite を確認する。
DES
データ暗号化規格(Data Encryption Standard)の略。一般に使用されている対称鍵暗号化
暗号化の
暗号化
方法であり、56 ビット・キーを使用する。
Diffie-Hellman キー折衝アルゴリズム(Diffie-Hellman key negotiation algorithm)
)
非保護チャネルで通信を行う二者間で、当事者だけにしかわからない乱数を取り決める方
法。Diffie-Hellman キー折衝アルゴリズムの実行中は、当事者が非保護チャネルで情報を交
換しても、攻撃者がネットワーク通信を分析し、当事者の間で取り決めた乱数を計算によっ
て推定するのはほぼ不可能である。Oracle Advanced Security では、セッション・キーの生
成に Diffie-Hellman キー折衝アルゴリズムが使用されている。
LDAP
「Lightweight Directory Access Protocol(
(LDAP)
)」を参照。
LDAP Data Interchange Format(
(LDIF)
)
LDAP コマンドライン・ユーティリティに使用する入力ファイルをフォーマットするための
一連の規格。
LDIF
「LDAP Data Interchange Format(
(LDIF)
)」を参照。
用語集 -1
Lightweight Directory Access Protocol(
(LDAP)
)
標準的で拡張可能なディレクトリ・アクセス・プロトコル。LDAP クライアントとサーバー
が通信に使用する共通言語。業界標準のディレクトリ製品(Oracle Internet Directory など)
をサポートする設計規則のフレームワーク。
MD5
デジタル署名を作成するために、32 ビット・マシンで使用されるハッシング・アルゴリズ
ム。MD5 は一方向ハッシュ関数
一方向ハッシュ関数であり、これによりメッセージはメッセージ・ダイジェスト
メッセージ・ダイジェスト
一方向ハッシュ関数
を形成する固定された数字文字列に変換される。
Oracle Net
Oracle データベース・サーバーや Designer/2000 などの Oracle のツール製品が稼動してい
る 2 台以上のコンピュータが、サード・パーティのネットワークを介してデータ交換を行う
ことを目的とした Oracle 製品。Oracle Net は、分散処理および分散データベースをサポート
する。Oracle Net は通信プロトコルに依存しないオープン・システムであり、ユーザーは
Oracle Net を多数のネットワーク環境とインタフェースできる。
Oracle PKI 証明書使用(Oracle PKI certificate usages)
)
証明書でサポートされる
Oracle アプリケーション・タイプを定義する。
証明書
PEM(Privacy Enhaced Mail)
)
プライバシー保護が強化された電子メールの形式。暗号化、認証、メッセージ整合性および
鍵管理を行う暗号化
暗号化技術。
暗号化
PGP
Pretty Good Privacy の略。公開鍵暗号をベースにした暗号化
暗号化技術。
PGP 暗号化パッケージは
公開鍵
暗号化
無償である。
PKCS #12
公開鍵暗号規格(PKCS)
。RSA Data Security, Inc. の PKCS #12 は、個人的な認証資格証明
公開鍵暗号
を、通常 Wallet と呼ばれる形式で格納および転送するための業界標準である。
PKI
公開鍵インフラストラクチャ(Public Key Infrastructure)の略。暗号化に使用される公開鍵
公開鍵
暗号化
を管理するための基盤。
RSA
RSA Data Security によって開発された公開鍵暗号
公開鍵暗号技術。
RSA アルゴリズムは、非常に大き
公開鍵暗号
な数の因数分解には手間がかかることに基づいている。RSA キーのデコードに必要な計算能
力および時間の都合上、数学的には実現不可能である。
用語集 -2
Secure Hash Algorithm(
(SHA)
)
指定されたデータから 160 ビット暗号化メッセージ・ダイジェスト値を生成して、データの
整合性を保証するアルゴリズム。データ内のわずか 1 ビットが変更された場合でも、データ
の Secure Hash Algorithm チェックサムが変更される。元のデータと同じ結果を Secure
Hash Algorithm で生成するようにデータ・セットを偽造することは、計算上不可能である。
長さが 264 ビット未満のメッセージを取得して、160 ビットのメッセージ・ダイジェストを
生成するアルゴリズム。アルゴリズムは MD5 よりも若干遅いが、メッセージ・ダイジェス
トが大きくなることで、激しい衝突や反転攻撃に対してより強力に保護できる。
Wallet
デジタル Wallet とも呼ばれる。Wallet とは、個々のエンティティに対するセキュリティ資格
証明の格納と管理に使用されるデータ構造である。様々な暗号化サービスで使用できるよう
に、資格証明の格納と取出しを実現する。Wallet Resource Locator(
(WRL)
)は、Wallet の位
置を特定するために必要な情報をすべて提供する。
Wallet Resource Locator(
(WRL)
)
Wallet Resource Locator(WRL)は、Wallet の位置を特定するために必要なすべての情報を
提供する。Wallet の保存場所であるオペレーティング・システムのディレクトリへのパスで
ある。
X.509
公開鍵は、様々なデータ・フォーマットに対応している。X.509v3 フォーマットは、よく使
用されるフォーマットの 1 つである。
暗号化(cryptography)
)
情報を読取り不能なフォーマット(暗号文
暗号文)に変換(暗号化)することによって保護する技
暗号文
術。「暗号化
暗号化」を参照。
暗号化
暗号化(encryption)
)
メッセージの内容を、予定された受信者以外の第三者が読むことのできないフォーマットに
変換する処理。暗号化はデータを秘密のコードに変換することによって行われる。暗号化に
は、主に 2 つの種類がある。公開鍵暗号(非対称鍵暗号化)および対称鍵暗号化である。
公開鍵暗号
「対称鍵暗号
対称鍵暗号」を参照。
対称鍵暗号
暗号文(ciphertext)
)
暗号化されたデータ。暗号文は、キーを使用してプレーン・テキストに変換(復号化)しな
いかぎり読むことができない。「復号化
復号化」を参照。
復号化
用語集 -3
一方向ハッシュ関数(one-way hash function)
)
メッセージを 1 つの数字文字列に変換するアルゴリズム。" 一方向 " というのは、数字文字列
から元のメッセージを生成するのがほぼ不可能であることを意味する。計算済のメッセー
メッセー
ジ・ダイジェストは、メッセージが改ざんされていないことを確認するため、公開鍵
公開鍵を使用
ジ・ダイジェスト
公開鍵
して復号化されたメッセージ・ダイジェストと比較される。
エントリ(entry)
)
ディレクトリ・サービスのコンテキストでは、エントリはディレクトリのビルディング・ブ
ロックを指す。エントリは、ディレクトリ内のオブジェクトに関する情報の集まりである。
各エントリは、オブジェクトのある 1 つの特徴を表す属性のセットで構成される。たとえば、
ディレクトリ・エントリが人物を示す場合、エントリには姓、名、電話番号、電子メール・
アドレスなどの属性が含まれる。
介在者(man-in-the-middle)
)
第三者によるメッセージの不正傍受などのセキュリティ攻撃。第三者、つまり介在者は、
メッセージを復号化して再暗号化し(元のメッセージを変更する場合と変更しない場合があ
る)
、元のメッセージの宛先である受信者に転送する。これらの処理はすべて、正当な送受
信者が気づかないうちに行われる。この種のセキュリティ攻撃は、認証
認証が行われていない場
認証
合にのみ発生する。
鍵(key)
)
エンコードされたデータを解読するのに必要なパスワードまたはコード表。
鍵のペア(key pair)
)
公開鍵とそれに対応する秘密鍵。
拡張性(scalability)
)
ビジネス・ニーズの変化に、ソフトウェアまたはハードウェア製品を対応させる手段。
可用性(availability)
)
計算システムがアプリケーション・サービスを提供するようにスケジュールされた時間の
パーセンテージまたは長さ。
クリアテキスト(cleartext)
)
「プレーン・テキスト
プレーン・テキスト」を参照。
プレーン・テキスト
公開鍵(public key)
)
公開鍵暗号における一般に公開される鍵。
主に暗号化に使用されるが、署名の確認にも使用
公開鍵暗号
できる。「公開鍵と秘密鍵のペア
公開鍵と秘密鍵のペア」を参照。
公開鍵と秘密鍵のペア
公開鍵暗号(public-key cryptography)
)
2 つの異なる乱数(鍵
鍵)を使用する暗号化手法。「公開鍵
公開鍵」および「公開鍵暗号
公開鍵暗号」を参照。
公開鍵
公開鍵暗号
用語集 -4
公開鍵暗号(public-key encryption)
)
メッセージの送信側が受信側の公開鍵でメッセージを暗号化する処理。配信されたメッセー
ジは、受信側の秘密鍵で復号化される。
公開鍵と秘密鍵のペア(public/private key pair)
)
暗号化と復号化
2 つの数字のセット。1 つは秘密鍵
秘密鍵、もう
1 つは公開鍵
公開鍵と呼ば
暗号化 復号化に使用される
復号化
秘密鍵
公開鍵
れる。公開鍵は通常広く使用可能であるのに対して、秘密鍵はその各所有者によって保有さ
れる。2 つの数字は関連付けられているが、公開鍵から秘密鍵を算出することは一般的にほ
ぼ不可能である。公開鍵と秘密鍵は、非対称型暗号化アルゴリズム(公開鍵暗号アルゴリズ
ムまたは公開鍵暗号方式とも呼ばれる)でのみ使用される。鍵のペアの公開鍵または秘密鍵
鍵のペア
のどちらかで暗号化されたデータは、鍵のペアの関連するキーで復号化できる。ただし、公
開鍵で暗号化されたデータを同じ公開鍵では復号化できず、秘密鍵で暗号化されたデータを
同じ秘密鍵では復号化できない。
識別名(distinguished name: DN)
)
ディレクトリ・エントリの一意の名前。識別名は、親エントリの個々の名前がすべて、下か
らルートに向かって順に結合された形で構成されている。
冗長(redundant)
)
計算システムを保護する、重複または余分なコンポーネント。
証明書(certificate)
)
デジタル証明書とも呼ばれる。識別情報を公開鍵に安全にバインドする ITU X.509v3 標準
データ構造。
エンティティの公開鍵に信頼できる機関、つまり認証局が署名するとき、証明書が作成され
る。証明書によって、エンティティの情報が正しいこと、および公開鍵が実際にそのエン
ティティに属していることが保証される。
証明書には、エンティティの名前、識別情報および公開鍵が記載されている。また、シリア
ル番号、有効期限、ならびにその証明書に関連する権利、使用および権限についての情報が
記載されていることもある。最後に、発行元である認証局に関する情報が記載されている。
シングル・サインオン(single sign-on)
)
ユーザーが一度認証を受けると、その後の他のデータベースやアプリケーションへの接続時
には厳密な認証が透過的に発生する機能のこと。シングル・サインオンにより、ユーザーは
1 回の接続時に入力した 1 つのパスワードで、複数のアカウントおよびアプリケーションに
アクセスできるようになる。単一パスワード、単一認証。
用語集 -5
信頼性(reliability)
)
計算システムが障害なく動作できる能力。信頼性は、平均障害間隔時間(MTBF)によって
測定される。
信頼できる証明書(trusted certificate)
)
信頼できる証明書は、一定の信頼度を有すると認定された第三者の識別情報であり、ルート
鍵証明書とも呼ばれる。信頼できる証明書は、エンティティが本人であるという識別情報の
確認が行われるときに使用される。通常は、信頼する認証局のことを信頼できる証明書とい
う。複数レベルの信頼できる証明書がある場合、証明連鎖における下位レベルの信頼できる
証明書は、それより上のレベルの証明書をすべて再検証する必要はない。
相対識別名(relative distinguished name: RDN)
)
ディレクトリ・エントリの識別名(DN)の中で最も左側にある部分。「識別名
識別名」を参照。
識別名
対称鍵暗号(symmetric-key cryptography)
)
データのエンコードやデコードの際に、同じ乱数(鍵
鍵)を数式と組み合せて使用する暗号化
手法。
単一鍵ペア Wallet(single key-pair wallet)
)
単一のユーザー証明書
証明書とその関連する秘密鍵
秘密鍵が含まれる
PKCS #12 形式の Wallet。公開鍵は
証明書
秘密鍵
公開鍵
証明書に埋め込まれている。
ディレクトリ情報ツリー(directory information tree: DIT)
)
ディレクトリ・エントリの識別名で構成される、ツリー状の階層構造。「識別名
識別名」を参照。
識別名
デジタル Wallet(digital wallet)
)
「Wallet」を参照。
デジタル証明書(digital certificate)
)
「証明書
証明書」を参照。
証明書
認証(authentication)
)
ユーザー、デバイスまたはコンピュータ・システム内のその他のエンティティの識別情報が
正当なものであるかを確認するプロセス。多くの場合、システム内のリソースへのアクセス
権を付与する際に、このプロセスを事前に行う必要がある。認証済メッセージの受信者には、
そのメッセージの発信元(送信者)がわかる。認証は、第三者が送信者のふりをする可能性
を排除する目的で行われる。
用語集 -6
認証局(certificate authority)
)
ユーザー、データベース、管理者、クライアント、サーバーなどが本人(本物)であること
を証明する、信頼できる第三者。ユーザーを認証するときには、認証局はまずそのユーザー
が証明書失効リスト(CRL)に記載されていないかを確認する。次に、ユーザーの識別情報
が正当なものであるかを確認してから証明書を与え、認証局の秘密鍵を付けて署名する。認
証局には、自局で発行する独自の証明書と公開鍵がある。サーバーおよびクライアントはこ
の証明書と公開鍵を使用して、認証局が作成した署名が正当なものであるかを確認する。認
証局は、証明書サービスを提供する外部の企業であったり、社内の MIS 部門のような内部組
織である場合もある。
秘密鍵(private key)
)
公開鍵暗号における秘密鍵。
主に復号化に使用されるが、デジタル署名とともに暗号化にも
公開鍵暗号
使用される。「公開鍵と秘密鍵のペア
公開鍵と秘密鍵のペア」を参照。
公開鍵と秘密鍵のペア
フェイルオーバー(failover)
)
コンポーネントに障害が発生したときに、類似するアクティブな代替コンポーネントを利用
して、計算システムを再構成する機能。
フォルト・トレランス(fault tolerance)
)
必要なサービスを提供しながら、故障やエラーに対応できる計算システムの機能。
復号化(decryption)
)
暗号化されたメッセージの内容(暗号文
暗号文)を、元の読取り可能なフォーマット(プレーン・
プレーン・
暗号文
テキスト)に戻す変換処理。
テキスト
プレーン・テキスト(plaintext)
)
クリアテキスト、平文ともいう。暗号化されていないデータ。
ホット・スタンバイ(hot standby)
)
1 次計算システムに障害が発生した場合に、アプリケーション処理をかわって行うことがで
きるよう準備している実行中の 2 次計算システム。つまり、本来稼働するはずの計算システ
ムが停止した時点で、2 次システムが処理を引き継ぎ続行する。
ミッション・クリティカル(mission critical)
)
「フォルト・トレランス」を参照。
メッセージ・ダイジェスト(message digest)
)
テキストを 1 桁の文字列として表したもの。一方向ハッシュ関数と呼ばれる式を使用して作
一方向ハッシュ関数
成される。
用語集 -7
用語集 -8
索引
A
F
AccessConfig ディレクティブ,4-4
allow ディレクティブ,4-3
Apache HTTP Server,2-23
AUTHENTICATED_USERS,6-19
AUTHENTICATED_USERS グループ,6-31
AuthUserFile ディレクティブ,4-9
FORM,7-18
B
Baltimore CyberTrust 証明書,2-27
BASIC,7-18
Basic 認証,7-16,7-18
BrowserMatch ディレクティブ,4-7
C
Cookie,2-16
Custom OWA,9-8
Custom 認証,9-8
D
dads.conf ファイル,3-4,6-35
Oracle9iAS Single Sign-On のセクション,3-8
DBA グループ,6-19,6-31
default-realm 属性,7-13,7-15
Delegated Administration Service,2-9,2-15
deny ディレクティブ,4-3
description 要素,7-22
DIT(ディレクトリ情報ツリー)
,2-13
doasprivileged-mode,7-16,7-17
DoS 攻撃,1-14
G
generateldif.sh スクリプト
JAAS プロバイダのデモ・データの OiD へのロー
ド,7-6
Global OWA,9-8
groupOfUniqueNames オブジェクト・クラス,6-13
groupOfUniqueNames 属性,6-14
H
htaccess,4-5
htaccess ファイル,2-25
HTTP,2-24
HTTP Basic 認証,9-7
httpd.conf ファイル,2-25,4-2,4-9,4-10,4-13,
7-19
SSL Virtual Host コンテキスト,3-7
場所,4-3
HTTPS,2-24
I
iasobf ツール,7-20
iasobf ツール、使用方法,4-29
IETF(RFC 2798),6-9,6-13
inetOrgPerson オブジェクト・クラス,6-9
索引 -1
J
J2EE 環境,7-12
J2SE 環境,7-9
JAAS
Enterprise JavaBeans,2-34
JSP,2-34
LoginModule,2-32
Oracle Internet Directory の機能,2-33
RunAsClient,2-34
RunAsID,2-34
コア Java セキュリティ,1-30
サーブレット,2-34
ロールベースのアクセス制御,2-33
jaas.config ファイル,7-8
JAAS プロバイダの作成,7-8
JAAS プロバイダ
J2EE 構成タスク,7-12
OC4J への HTTP リクエストを委譲するよう
mod_oc4j を構成,7-20
run-as 要素の構成,7-21
SSL 環境用にアプリケーションを構成,7-19
SSO 環境用にアプリケーションを構成,7-19
セキュリティ・ロールの構成,7-21
認証方式の構成,7-16
ロール名の構成,7-21
J2SE 構成タスク
JAAS プロバイダ・プロパティ・ファイルの構
成,7-9
JAAS プロバイダをポリシー・プロバイダとして指
定,7-6
Oracle HTTP Server とともに使用,7-4
Oracle Internet Directory とともに使用,7-4
Oracle9iAS Containers for J2EE とともに使用,7-4
XML ファイルで使用,7-4
共通の構成タスク
Java2 ポリシー・ファイルの構成,7-7
JAZN スキーマのロード,7-5
RealmLoginModule ログインの構成,7-8
コンポーネントを正しくインストールしたかの
確認,7-3
構成の概要,7-2
プロバイダ・タイプ,7-4
ポリシー・プロバイダ,7-6
Java
クラス実行,9-5
セキュリティ実装,9-5
索引 -2
Java Database Connectivity(JDBC)
JDBC-OCI ドライバ,9-2,9-12
Thin ドライバ,9-12,9-13
暗号化,9-12
サポートされるドライバ,9-11
ネットワーク・セキュリティ,9-11
Java Secure Socket Extension(JSSE),9-13
Java Virtual Machine(JVM),9-5
java2.policy ファイル,7-2
JAAS プロバイダの構成,7-7
Java2 ポリシー・ファイル
JAAS プロバイダの構成,7-7
java.lang.SecurityManager,9-5
jazn.com,7-22
jazn-data.xml,7-2,7-15,7-21
jazn.props ファイル
J2SE 環境での構成,7-9
JAZNUserManager,7-12,7-16
有効化,7-12
JAZNUserManager フィルタ要素,7-16
jazn-web-app,7-16,7-17
jazn.xml,7-2,7-9,7-15
JDBC、Fat クライアント,2-22,2-26
JDK 1.3,7-3
JVM,7-6
L
LDAP
Oracle Internet Directory,2-5
サーバー・インスタンス・アーキテクチャ,2-10
ldap.password プロパティ名,7-14
ldap.user プロパティ名,7-10,7-14
LDAP への準拠,2-10
.ldif ファイル,7-6
location 属性,7-10,7-11,7-13,7-14,7-15
login-config 要素,7-18
LoginModule,2-32
LoginModule 構成,7-8
M
MD4 ハッシュ・スキーマ,2-12
MD5 チェックサム,1-26,2-12
mod_oc4j,7-4,7-20
mod_oc4j.conf,7-19
mod_ossl,2-25,2-26,7-4
optional_no_ca、サポートなし,4-22
サポートされているブラウザのタイプ,4-21
mod_ossl でサポートされているブラウザ,4-21
mod_osso,2-16,7-4
mod_osso.conf,3-11
mod_osso.conf ファイル,3-13
mod_plsql,2-22,2-26
mod_setenvif,4-4
mods、定義済,2-24
N
Netgrity Site Minder,2-16
O
OC4J グループ,7-22
OpenSSL,2-26
optional_no_ca、サポートなし,4-22
Oracle Advanced Security,2-2,2-22,2-26
Oracle Call Interface(OCI)
JDBC-OCI ドライバ,9-12
Oracle Connection Manager,9-5
Oracle Enterprise Security Manager,1-29
Oracle HTTP Server
AccessConfig ディレクティブ,4-4
allow ディレクティブ,4-3
AuthUserFile ディレクティブ,4-9
BrowserMatch ディレクティブ,4-7
deny ディレクティブ,4-3
.htaccess の無効化,4-5
httpd.conf ファイル,2-25,4-2,4-9,4-10,4-13
iasobf ツール,4-29
mod_ossl,2-26
mod_setenvif,4-4
optional_no_ca、サポートなし,4-22
Oracle Wallet Manager との使用,2-25
order ディレクティブ,4-3
osslpassword ツール,4-29
Privacy Enhanced Mail(PEM),4-24
require ディレクティブ,4-10
SetEnvIf ディレクティブ,4-7
URL リクエストの処理ステップ,4-2
WWW-Authenticate ヘッダー,4-9
グローバル・ディレクティブ,4-12
サーバー別ディレクティブ,4-12
ディレクトリ別ディレクティブ,4-12
無効な .htaccess ファイル,2-25
Oracle Internet Directory,2-5
LDAP サーバー・インスタンス・アーキテクチャ,
2-10
LDAP への準拠,2-10
MD4 ハッシュ・スキーマ,2-12
MD5 チェックサム,2-12
Secure Hash Algorithm(SHA),2-12
Secure Sockets Layer(SSL),2-12
アーキテクチャ,2-14
管理の委任,2-12
セキュリティ機能,2-10
セキュリティ上の利点,2-12
Oracle Internet Directory のキャッシュ,6-15
Oracle Java SSL,9-13
Oracle Management Server,2-2,2-6
Oracle Net,2-22
Oracle Technology Network Japan の参照先 URL,xv
Oracle Wallet,2-5
自動ログイン機能によって作成,4-13
Oracle Wallet Manager,1-22,2-5,2-27,9-13
Oracle HTTP Server との使用,2-25
Oracle Web Cache Manager
セキュリティ設定,8-2
「セキュリティ」ページ,8-2
Oracle9i Single Sign-On
dads.conf ファイル,3-4
Oracle9iAS Infrastructure,2-4,2-6,2-8
Oracle9iAS Metadata Repository,2-2,2-4,2-6
Oracle9iAS Portal
AUTHENTICATED_USERS,6-19
AUTHENTICATED_USERS グループ,6-31
dads.conf ファイル,6-35
DBA グループ,6-19,6-31
GROUP DELETE イベント,6-18
GROUP MODIFY イベント,6-18
groupOfUniqueNames オブジェクト・クラス,
6-13
groupOfUniqueNames 属性,6-14
inetOrgPerson オブジェクト・クラス,6-9
Oracle9iAS Portal のグループ・プロパティと Oracle
Internet Directory のマッピング,6-15
Oracle9iAS Portal のユーザー・プロパティと Oracle
Internet Directory のマッピング,6-12
OracleDASCreateGroup グループ,6-19
OracleDASCreateUser グループ,6-19
索引 -3
Oracle Internet Directory のキャッシュ,6-15
orclGroup オブジェクト・クラス,6-13
orclGroup 属性,6-14
orclUserV2 オブジェクト・クラス,6-9
orclUser オブジェクト・クラス,6-9
PlsqlExclusionList ディレクティブ,6-35
PORTAL_ADMINISTRATORS グループ,6-19,
6-31
PORTAL_ADMIN ユーザー,6-19,6-31
PORTAL_DEMO スキーマ,6-30
PORTAL_DEVELOPERS グループ,6-32
PORTAL_PUBLIC スキーマ,6-30
PORTAL スキーマ,6-30
PORTAL ユーザー,6-19,6-31
PORTLET_PUBLISHERS グループ,6-32
ptlasst.bat,6-6
ptlasst.csh,6-6
PUBLIC ユーザー,6-31
RW_ADMINISTRATOR グループ,6-32
RW_BASIC_USER グループ,6-32
RW_DEVELOPER グループ,6-32
RW_POWER_USER グループ,6-32
secupoid.sql スクリプト,6-37,6-39
upsecoid.sql スクリプト,6-39
USER DELETE イベント,6-18
USER MODIFY イベント,6-18
WWMON_CHART_BY_ACTION.show,6-36
WWMON_CHART_BY_BROWSER.show,6-36
WWMON_CHART_BY_DATE.show,6-36
WWMON_CHART_BY_IPADDRESS.show,6-36
WWMON_CHART_BY_LANGUAGE.show,6-36
WWMON_CHART_BY_OBJECT.show,6-36
WWMON_CHART_BY_ROWS.show,6-36
WWMON_CHART_BY_TIME.show,6-36
WWMON_CHART_BY_USER.show,6-36
WWMON_CHART_SEARCHES.show,6-36
WWSEC_FLAT$ 表,6-18
シングル・ドメインの作成方法,6-16
ディレクトリ同期化イベント,6-18
ディレクトリ同期化プロビジョニングについて,
6-16
プロビジョニング・エージェント,6-15
ユーザーとグループの値リスト,6-16
ロギング,2-31
Oracle9iAS PortalOracleDASCreateGroup グループ,
6-19
Oracle9iAS Portal グループ,6-8
索引 -4
Oracle9iAS Portal グループ・コンテナ,6-7
Oracle9iAS Portal のアプリケーション・エンティティ,
6-8
Oracle9iAS Portal のオブジェクトと権限の制御,6-24
Oracle9iAS Portal のディレクトリ同期サブスクリプ
ション,6-8
Oracle9iAS Portal のデフォルト・ユーザー・アカウン
ト,6-7
Oracle9iAS Single Sign-On
Software Development Kit(SDK),3-3
ssocfg.sh スクリプト,3-4
「SSO サーバーの編集」ページ,3-10
デフォルトの SSL ポート,3-10
「パートナ・アプリケーションへのアクセス」ウィ
ンドウ,3-10
ホームページ,3-11
Oracle9iAS Web Cache
セキュリティ設定,8-2
トラステッド・サブネット,8-3
Oracle9iAS Web Cache Manager
Cache-Specific Configuration
Wallet 構成,8-9
Oracle9iAS Web Cache 管理用のグループ ID,8-4
Oracle9iAS Web Cache 管理用のトラステッド・サブ
ネット,8-3
Oracle9iAS Web Cache 管理用のユーザー ID,8-4
Oracle9iAS Web Cache の HTTPS プロトコル・サポー
ト,8-5
リスニング・ポートの指定,8-9
Oracle9iAS Web Cache の管理者ユーザー,8-2
Oracle9iAS Web Cache の失効管理者ユーザー,8-2
Oracle9iAS Web Cache のセキュリティ設定,8-2
OracleContextDN,7-6
OracleDASCreateGroup グループ,6-19
OracleDASCreateUser グループ,6-19
OracleHOME_NAMEWebCacheAdmin サービス,8-7
OracleHOME_NAMEWebCacheMon サービス,8-7
OracleHOME_NAMEWebCache サービス,8-6,8-7
Oracle コンテキスト,2-13
スタータ,2-13
Oracle パスワード・プロトコル,9-13
orclcommonusersearchbase,2-7
orclGroup オブジェクト・クラス,6-13
orclGroup 属性,6-14
orclUserV2 オブジェクト・クラス,6-9
orclUser オブジェクト・クラス,6-9
order ディレクティブ,4-3
orion-application.xml,7-2,7-12,7-14,7-15,7-16,
7-17,7-18,7-22
マッピング・ロール,7-22
orion-web.xml,7-2,7-16,7-17
osslpassword ツール、使用方法,4-29
OssoIPCheck ディレクティブ,3-13
P
Per Package 認証,9-8
persistence 属性,7-11,7-15
PKCS #10 証明書,2-27,2-5
PlsqlCGIEnvironmentList パラメータ,3-8
PlsqlExclusionList ディレクティブ,6-35
PORTAL_ADMINISTRATORS グループ,6-19,6-31
PORTAL_ADMIN ユーザー,6-19,6-31
PORTAL_DEMO スキーマ,6-30
PORTAL_DEVELOPERS グループ,6-32
PORTAL_PUBLIC スキーマ,6-30
PORTAL スキーマ,6-30
PORTAL ユーザー,6-19,6-31
PORTLET_PUBLISHERS グループ,6-32
postinstall.sh
Oracle Internet Directory のアップグレード,7-6
Privacy Enhanced Mail(PEM),4-24
provider 属性,7-10,7-11,7-13,7-15
ptlasst.bat,6-6
ptlasst.csh,6-6
PUBLIC
PL/SQL プロシージャの保護,9-9
PUBLIC ユーザー,6-31
R
RC4 暗号化アルゴリズム,1-25
RealmLoginModule クラス
SSL および Basic 認証環境で JAAS プロバイダ用に
構成,7-8
非 SSO 認証環境で JAAS プロバイダ用に構成,7-3
RealmPrincipal クラス,7-22
require ディレクティブ,4-10
role-name 要素,7-22
RSA Data Security RC4,1-25
RSA 証明書,2-27
RunAsClient,2-34
RunAsID,2-34
runas-mode,7-16,7-17
run-as 要素,7-21
RW_ADMINISTRATOR グループ,6-32
RW_BASIC_USER グループ,6-32
RW_DEVELOPER グループ,6-32
RW_POWER_USER グループ,6-32
S
secupoid.sql スクリプト,6-37,6-39
secupoid.sql スクリプト、実行,6-38
Secure Hash Algorithm(SHA),1-27,2-12
Secure Sockets Layer(SSL)
Oracle Internet Directory,2-12
多層システムでの利点,1-21
ネットワーク・セキュリティ,1-21
mod_ossl でサポートされているバージョン,4-11
SecurityManager クラス,9-5
ServerName ディレクティブ,3-6
SetEnvIf ディレクティブ,4-7
Single Sign On(SSO),7-16
Single Sign-On ホームページ,3-11
sr_manager
セキュリティ・ロール,7-21
SSA(シングル・ステーション管理)
,1-24
SSC(シングル・ソース制御)
,1-24
SSL,1-29
SSL Virtual Host コンテキスト,3-7
SSL_CLIENT_CERT 環境変数,3-8
SSL_CLIENT_S_DN 環境変数,3-8
SSLEngine ディレクティブ,3-6
SSLVerifyClient ディレクティブ,3-6
SSLWallet ディレクティブ,3-6
SSL が有効なアプリケーション,7-4
SSL 認証
有効化,7-19
SSL を設定,7-19
SSO_TIMEOUT_ID Cookie,3-11
ssocfg.sh スクリプト,3-4,3-9
ssodnmap.pks パッケージ,3-9
ssogito.sql スクリプト,3-11
SSO,「Single Sign On(SSO)」を参照
SSO が有効なアプリケーション,7-4
「SSO サーバーの編集」ウィンドウ,3-12
「SSO サーバーの編集」ページ,3-10
SSO の Cookie,2-9
索引 -5
U
あ
upsecoid.sql スクリプト,6-39
悪意,1-3
アクセス制御,1-12
ディレクトリ,2-12
アプリケーション・セキュリティ
保護アプリケーション・ロール,9-3
要件,1-16
暗号化,1-18
アルゴリズム,1-25
ネットワーク送信,1-25
暗号化されたパスワード,7-10,7-14
V
VeriSign,2-27
Virtual Private Database(VPD)
概要,9-4
W
Wallet,2-5
Windows NT および 2000 の場合の考慮,8-6
管理,5-10
構成
Oracle9iAS Web Cache,8-9
削除,5-13
作成,5-11
資格証明,1-18
資格証明の格納,1-22
証明書の管理,5-15
信頼できる証明書の管理,5-19
閉じる,5-12
パスワードの変更,5-14
開く,5-12
保存,5-12
web.xml,7-2,7-17,7-18,7-21
WWMON_CHART_BY_ACTION.show パッケージ,
6-36
WWMON_CHART_BY_BROWSER.show,6-36
WWMON_CHART_BY_DATE.show,6-36
WWMON_CHART_BY_IPADDRESS.show,6-36
WWMON_CHART_BY_LANGUAGE.show,6-36
WWMON_CHART_BY_OBJECT.show,6-36
WWMON_CHART_BY_ROWS.show,6-36
WWMON_CHART_BY_TIME.show,6-36
WWMON_CHART_BY_USER.show,6-36
WWMON_CHART_SEARCHES.show,6-36
WWW-Authenticate ヘッダー,4-9
い
インストール・タイプ,7-4
Oracle9i Application Server,2-6,7-4
Oracle9iAS Infrastructure,2-6,7-4,7-6
インターネット
セキュリティの拡張性,1-15
ホスティングされたシステムのセキュリティ,1-8,
1-9
か
外部アプリケーション,2-16
拡張性
セキュリティ,1-16
可用性
セキュリティの要因,1-14
監査
Oracle9iAS Portal でのセキュリティ・イベント,
2-31
多層アプリケーション,9-3
多層システム,9-3
き
記憶域
セキュアな資格証明,1-22
X
く
X.509v3 証明書,2-5,9-2
Oracle HTTP Server での使用,2-24
xml.permclsmgr.enable プロパティ名,7-15
xml.princlsmgr.enable プロパティ名,7-15
偶発的,1-3
クライアント証明書認証,7-20
索引 -6
こ
公開鍵インフラストラクチャ(PKI)
暗号化,1-18
概要,1-17
証明書による認証,1-19
公開鍵証明書標準 #12(PKCS #12)
,1-22
構成
JAAS プロバイダ,7-2
LoginModule,7-8
Wallet,8-6
サンプル構成ファイル,7-2
さ
サーバー Wallet,7-19
サーバー Wallet ディレクトリ,7-19
サーブレット,7-21
サブスクライバのユーザー検索ベース,2-7
サポートされない mod_ssl のディレクティブ,4-11
し
資格証明
Wallet,1-18
セキュアな記憶域,1-22
障害の封入,1-15
証明書
概要,1-20
信頼できる証明書,1-20
内容,1-20
ルート,1-21
シングル・サインオン
mod_osso,2-16
Netgrity Site Minder,2-16
外部アプリケーション,2-16
シングル・サインオン(SSO),1-22
Cookie,2-16
Cookie の SSL 暗号化,2-18
Java アプリケーション,2-32
LDAP との統合,2-21
PKI のサポート,2-21
既存のアプリケーションとサードパーティ・アプリ
ケーションのサポート,2-15
最初の認証,2-17
パートナ・アプリケーション,2-16
パートナ・アプリケーションの Cookie,2-18
パートナ・アプリケーションの認証プロセス,2-18
シングル・ステーション管理(SSA),1-24
シングル・ソース制御(SSC),1-24
侵入
攻撃の生成,1-14
せ
整合性
チェック,1-26
セキュリティ
DoS 攻撃,1-14
Java 実装,9-5
Oracle Internet Directory,2-10
PKI,1-17
PUBLIC に付与される PL/SQL プロシージャ,9-9
Virtual Private Database(VPD),9-4
アクセス制御,1-12
インターネット,1-15
拡張性,1-16
可用性,1-14
強力なデータ保護,1-15
資格証明、記憶域,1-22
障害の封入,1-15
証明書,1-20
多層システム,1-16
中央ディレクトリ,1-16
トレードオフ,1-9
認可,1-12
認証,1-17,9-6
パスワード関連の脅威,1-11
パスワードの脆弱性,1-11
秘密鍵,1-20
ファイアウォール,1-31
保護アプリケーション・ロール,9-3
ホスティングとデータ交換,1-8
問題の範囲,1-6
ユーザー管理,1-15,1-16
要件,1-16
ルート証明書,1-21
セキュリティ・ロール,7-21
接続
多層,9-5
索引 -7
そ
に
属性
default-realm,7-13,7-15
location,7-10,7-11,7-13,7-14,7-15
persistence,7-11,7-15
provider,7-10,7-11,7-13,7-15
認可,1-12,1-24
Oracle9iAS による調整,1-12
(SSA),1-24
(SSC),1-24
認証,1-17
Oracle9iAS での Basic 認証,9-7
PKI 証明書による認証,1-19
説明,1-24
中間層,1-30
パスワードによる認証,1-19
プロキシ,1-30,9-2
認証局
Baltimore CyberTrust,2-5
RSA 証明書,2-5
VeriSign,2-5
概要,1-20
認証方式,7-17
優先順位,7-17
た
多層システム
監査,9-3
プロキシ認証,9-3
ち
チェックサム
アルゴリズム,1-26
中央ディレクトリ
資格証明の格納,1-22
セキュリティ,1-16
て
定義済のアプリケーション・メタデータ,2-12
ディレクトリ・コンテナ
グループ,2-13
製品,2-13
データ
強力なデータ保護,1-15
データ暗号化規格(DES)
,1-25
デフォルトでのユーザー・パスワードの長さ,2-7
デフォルトでのユーザー・パスワードの有効期限,2-7
デフォルトのパスワード・ポリシー,2-7
デフォルトのユーザー・アカウント・ロックアウト,
2-7
デフォルトのユーザー・パスワード、数字の使用
,2-7
デプロイメント・ディスクリプタ・ファイル,7-2
と
匿名のユーザー・ログイン
J2SE JAAS プロバイダ・アプリケーション,7-10
トリプル DES(3DES)
,1-26
索引 -8
ね
ネットワーク・セキュリティ
Java Database Connectivity(JDBC),9-11
Secure Sockets Layer,1-21
暗号化,1-25
多層の接続管理,9-5
ファイアウォール,1-31
は
パートナ・アプリケーション,2-16
Cookie,2-18
Oracle9iAS ポータル,2-30
「パートナ・アプリケーションへのアクセス」ウィンド
ウ,3-10
パスワード,7-10,7-20
暗号化,7-20
クリア,7-20
サーバー Wallet,7-20
セキュリティ上のリスク,1-11
ディレクトリ内での保護,2-12
認証,1-19
パスワード・ポリシー,2-7
ひ
ろ
秘密鍵,1-19,1-20
ロール
orion-application.xml ファイルでのマッピング,
7-22
保護アプリケーション,9-3
保護アプリケーション・ロール,9-3
ふ
ファイアウォール,1-31
復号化,1-18
不適当,1-3
プロキシ認証,1-30,2-26,9-2
ディレクトリ,9-3
プロバイダ・タイプ
JAAS プロバイダ,7-4
プロパティ名
ldap.password,7-14
ldap.user,7-10,7-14
xml.permclsmgr.enable,7-15
xml.princlsmgr.enable,7-15
プロビジョニング・エージェント,6-15
ほ
保護アプリケーション・ロール,9-3
ホスティング
Oracle9iAS の経済性,1-9
む
無許可,1-3
ゆ
ユーザー
認可,1-24
ユーザー管理,1-15,1-16
優先順位
認証方式,7-17
る
ルート証明書,1-21
索引 -9
索引 -10
Fly UP