Cosminexus V9 アプリケーションサーバ 機能解説 セキュリティ管理機能編

解説書

3020-3-Y09-60


目  次

前書き
変更内容
はじめに

第1編 概要

1. アプリケーションサーバの機能
1.1 機能の分類
1.1.1 アプリケーションの実行基盤としての機能
1.1.2 アプリケーションの実行基盤を運用・保守するための機能
1.1.3 機能とマニュアルの対応
1.2 システムの目的と機能の対応
1.2.1 認証のための機能
1.2.2 暗号化のための機能
1.2.3 不正処理の実行防止のための機能
1.2.4 そのほかの機能
1.3 このマニュアルに記載している機能の説明
1.3.1 分類の意味
1.3.2 分類を示す表の例
1.4 アプリケーションサーバ 09-70での主な機能変更

2. アプリケーションサーバでのセキュリティ管理
2.1 この章の構成
2.2 セキュリティを確保するための観点
2.2.1 セキュリティを確保するためのシステム構成を検討する
2.2.2 システムをセキュアに運用する
2.2.3 不正なユーザからのアクセスを防止する(認証機能)
2.2.4 通信路でのセキュリティを確保する(暗号化機能)
2.2.5 不正な処理の実行を防止する
2.2.6 そのほかの観点を確認する
2.3 セキュリティを確保する方法および機能の詳細
2.4 セキュリティを確保する方法および機能を使用する場合の注意事項

第2編 システム設計

3. セキュリティを確保するためのシステム構成
3.1 この章の構成
3.2 ファイアウォールを使用する構成を検討する
3.2.1 サーブレットとJSPに対するファイアウォールの配置
3.2.2 Session BeanとEntity Beanに対するファイアウォールの配置
3.2.3 リソースマネジャに対するファイアウォールの配置
3.3 DMZへのリバースプロキシの配置を検討する
3.3.1 Webサーバ連携時のリバースプロキシの配置
3.3.2 インプロセスHTTPサーバ使用時のリバースプロキシの配置

4. セキュアなシステムの検討
4.1 この章の構成
4.2 セキュアなシステムの検討の概要
4.3 セキュアなシステムの構成の検討
4.4 システムの使用者の検討
4.5 システムが扱う資産の検討
4.6 セキュアなシステムの前提条件の確認
4.6.1 物理的な前提条件
4.6.2 運用上の前提条件
4.7 想定される脅威の分析
4.8 対策の検討
4.8.1 前提条件に対して実施する対策
4.8.2 想定した脅威に対して実施する対策
4.8.3 対策を実施したセキュアなシステムの動作
4.9 作業手順の検討
4.9.1 作成する作業手順書の概要
4.9.2 システムの構築手順の検討
4.9.3 システムの再構築手順の検討
4.9.4 システムの運用手順の検討
4.10 システムの監査方法の確認
4.10.1 監査ログの入手
4.10.2 監査ログの調査
4.11 外部ネットワークを使用するシステムでのセキュリティの検討
4.11.1 外部ネットワークを使用するシステムで想定されるセキュリティ上の脅威
4.11.2 ファイアウォールと侵入検知システムを配置する
4.11.3 SSLアクセラレータを使用して暗号通信を処理する
4.11.4 アプリケーションでユーザを認証する

第3編 機能解説

5. 統合ユーザ管理による認証
5.1 この章の構成
5.2 統合ユーザ管理の概要
5.2.1 統合ユーザ管理の目的
5.2.2 レルムを使用したユーザ管理とユーザマッピング
5.2.3 Java標準仕様(JAAS)に準拠したユーザ認証の概要
5.2.4 統合ユーザ管理で使用するユーザ情報の管理方法
5.2.5 ユーザ認証の有効期間と認証状態の引き継ぎ
5.2.6 統合ユーザ管理の処理の流れ
5.3 標準ログインモジュールによるユーザ認証の仕組み
5.3.1 標準ログインモジュールの種類と機能
5.3.2 WebPasswordLoginModule
5.3.3 WebCertificateLoginModule
5.3.4 WebPasswordLDAPLoginModule
5.3.5 WebPasswordJDBCLoginModule
5.3.6 DelegationLoginModule
5.3.7 WebSSOLoginModule
5.3.8 標準ログインモジュールによるリポジトリへのアクセス
5.3.9 パスワード認証時の暗号拡張
5.3.10 ログインモジュールが使用するコンフィグレーションファイルのパラメタ
5.4 統合ユーザ管理のセッション管理
5.4.1 セッションの種類
5.4.2 ログインしたユーザIDの登録
5.4.3 統合ユーザ管理のセッションに登録したユーザIDの削除
5.4.4 JAASのコンフィグレーションファイルの定義例
5.4.5 セッションフェイルオーバ機能を使用したログイン状態の引き継ぎ
5.5 シングルサインオンの利用方法
5.5.1 シングルサインオンをするために必要な手順
5.5.2 既存アプリケーションで行っているユーザ管理の適用
5.6 カスタムログインモジュールの利用
5.6.1 カスタムログインモジュールの概要
5.6.2 カスタムログインモジュールの呼び出し
5.7 ユーザ情報の管理
5.7.1  LDAPディレクトリサーバへのユーザ情報の登録
5.7.2  LDAPディレクトリサーバの多重化による接続フェイルオーバ
5.8 統合ユーザ管理フレームワークが提供するAPI
5.8.1 JSPタグライブラリ
5.8.2 統合ユーザ管理フレームワークのライブラリ
5.9 統合ユーザ管理フレームワークによるユーザ認証の実装
5.10 APIを使用したユーザ認証の実装
5.10.1 ログインの実装(APIを使用する場合)
5.10.2 ユーザIDの取得の実装(APIを使用する場合)
5.10.3 ユーザ属性の取得の実装(APIを使用する場合)
5.10.4 認証に成功したSubjectをHttpSessionに登録する実装
5.10.5 ログアウトの実装(APIを使用する場合)
5.10.6 パスワード認証時の暗号拡張の実装
5.10.7 APIによる実装時の注意事項
5.11 タグライブラリを使用したユーザ認証の実装
5.11.1 ログインの実装(タグライブラリを使用する場合)
5.11.2 ユーザIDの取得の実装(タグライブラリを使用する場合)
5.11.3 ユーザ属性の取得の実装(タグライブラリを使用する場合)
5.11.4 ログアウトの実装(タグライブラリを使用する場合)
5.11.5 uatags.jarおよびuatags.tldのコピーとDDでの定義
5.12 セッションフェイルオーバ機能使用時のユーザ認証の実装
5.12.1 セッションフェイルオーバ機能で引き継げるセッション情報と認証情報
5.12.2 セッションフェイルオーバ機能使用時のログインとログアウトの実装方法
5.12.3 セッションフェイルオーバ機能使用時のDDの定義
5.13 カスタムログインモジュールを使用したユーザ認証の実装
5.13.1 標準ログインモジュールと連携するための実装
5.13.2 カスタムログインモジュールの実装時の留意点
5.13.3 カスタムログインモジュールの実装例
5.14 統合ユーザ管理機能の設定手順
5.15 レルム名の決定
5.16 LDAPディレクトリサーバの設定
5.16.1 LDAPディレクトリサーバの設置
5.16.2 ユーザの登録とアクセス権の設定
5.16.3 オブジェクトクラスとユーザ定義属性の拡張
5.17 ユーザ情報の登録
5.17.1 コマンドによる登録
5.17.2 統合ユーザ管理フレームワークのライブラリによる登録
5.17.3 登録するユーザ情報の文法
5.17.4 Active Directoryを使用する場合の設定
5.18 暗号鍵ファイルの作成(シングルサインオンを使用する場合)
5.18.1 暗号鍵ファイルの作成
5.18.2 暗号鍵ファイルの変更
5.19 ユーザ情報の登録(シングルサインオンを使用する場合)
5.19.1 コマンドによる登録
5.19.2 統合ユーザ管理フレームワークのライブラリによる登録
5.19.3 登録するユーザ情報の文法
5.20 コンフィグレーションファイルの作成
5.20.1 jaas.confの作成
5.20.2 ua.confの作成
5.20.3 コンフィグレーションファイルの設定例
5.21 JavaVMのプロパティの設定
5.22 ファイルのデプロイ

6. アプリケーションの設定による認証
6.1 この章の構成
6.2 DDの設定によるWebコンテナのユーザ認証
6.2.1 DDの設定によるWebコンテナのユーザ認証の機能
6.2.2 DDでの定義
6.2.3 実行環境での設定(J2EEアプリケーションの設定)
6.2.4 認証機能を併用するときの注意
6.3 セキュリティアイデンティティを使用した認証
6.3.1 セキュリティアイデンティティの機能
6.3.2 EJBクライアントアプリケーションでのセキュリティの実装
6.3.3 セキュリティアイデンティティを使用した認証の設定

7. SSL/TLS使用による認証情報とデータの暗号化
7.1 この章の構成
7.2 SSL使用による認証情報とデータの暗号化
7.2.1 Webサーバの認証機能
7.2.2 通信路のセキュリティレベルの要請
7.2.3 SSLで使用された証明書情報の取得
7.2.4 DDでの定義
7.2.5 HTTP ServerのSSLの設定
7.2.6 Microsoft IISの設定(Webリダイレクタ環境の場合)
7.2.7 実行環境での設定

8. APIによる直接接続を使用する負荷分散機の運用管理機能からの制御
8.1 この章の構成
8.2 APIによる直接接続を使用する負荷分散機
8.3 運用管理機能が実行する負荷分散機のAPI
8.4 負荷分散機の接続環境の設定
8.5 Management Server(Smart Composer機能)での負荷分散機の接続情報の設定
8.6 仮想サーバマネージャでの負荷分散機の接続情報の設定
8.6.1 負荷分散機の接続情報を仮想サーバマネージャで定義するための設定
8.6.2 負荷分散機の接続情報を管理ユニットで定義するための設定

第4編 設定操作

9. サーバ管理コマンドによるセキュリティロールとアプリケーションの操作
9.1 この章の構成
9.2 セキュリティロールの設定
9.2.1 ユーザの設定
9.2.2 ロールの設定
9.3 セキュリティロールのリファレンス定義
9.3.1 Enterprise Beanのセキュリティロールリファレンスの定義
9.3.2 サーブレットとJSPのセキュリティロールリファレンスの定義
9.4 セキュリティの定義(メソッドパーミッション)
9.5 セキュリティの定義(セキュリティアイデンティティ)
9.5.1 Enterprise Beanのセキュリティアイデンティティ
9.5.2 サーブレットとJSPのセキュリティアイデンティティ

10. 運用管理ポータルによる統合ユーザ管理の運用
10.1 この章の構成
10.2 統合ユーザ管理のリソースの監視
10.2.1 統合ユーザ管理のリソース監視で確認できる項目
10.2.2 操作する画面(統合ユーザ管理のリソース監視)
10.3 リポジトリ管理によるユーザ情報の編集
10.3.1 ユーザ情報リポジトリに対するユーザ情報の編集
10.3.2 シングルサインオン情報リポジトリに対するシングルサインオン用のユーザ情報の編集
10.3.3 操作する画面(統合ユーザ管理のリポジトリ管理)
10.4 「リポジトリ管理」での注意事項

11. 運用管理ポータルによるリポジトリ管理(統合ユーザ管理)
11.1 この章の構成
11.2 「リポジトリ管理」のツリーペインの構成
11.3 リポジトリ管理
11.3.1 バインド情報の設定
11.4 レルム管理
11.4.1 レルムの作成
11.4.2 暗号鍵ファイルの設定
11.4.3 ユーザエントリのスキーマ定義
11.4.4 ユーザエントリのスキーマ定義(シングルサインオン用)
11.4.5 ユーザエントリの作成
11.4.6 ユーザエントリの作成(シングルサインオン用)
11.4.7 ユーザエントリの検索
11.4.8 レルムの削除
11.4.9 ユーザエントリの編集
11.4.10 ユーザエントリの編集(シングルサインオン用)
11.4.11 ユーザエントリの削除

12. リソース監視(統合ユーザ管理)
12.1 この章の構成
12.2 「リソース監視」のツリーペインの構成
12.2.1 「リソース監視」のホストビューの構成
12.2.2 「リソース監視」のサーバビューの構成
12.3 ログインセッションの監視
12.3.1 ログインセッションモニタの表示
12.3.2 統合ユーザ管理のセッションの停止
12.4 LDAP接続モニタの監視
12.4.1 LDAP接続プールモニタの表示
12.4.2 LDAP接続プールの空き待ち監視のリセット
12.4.3 LDAP接続の定義情報の表示
12.5 JDBC接続モニタの監視
12.5.1 JDBC接続プールモニタの表示
12.5.2 JDBC接続プールの空き待ち監視のリセット
12.5.3 JDBC接続の定義情報の表示
12.6 障害情報の表示

第5編 リファレンス

13. 統合ユーザ管理で使用するコマンド
13.1 統合ユーザ管理で使用するコマンドの一覧
13.2 統合ユーザ管理で使用するコマンドの詳細
convpw(パスワードの暗号化)
ssoexport(シングルサインオン情報リポジトリの参照)
ssogenkey(暗号鍵ファイルの作成)
ssoimport(シングルサインオン情報リポジトリの登録)
uachpw(パスワードの変更)

14. 統合ユーザ管理で使用するファイル
14.1 統合ユーザ管理で使用するファイルの一覧
14.2 jaas.conf(JAASのコンフィグレーションファイル)
14.3 ua.conf(統合ユーザ管理のコンフィグレーションファイル)
14.4 シングルサインオン用認証情報のCSV形式ファイル
14.4.1 CSV形式ファイルの基本仕様
14.4.2 ユーザ情報を取得するための定義ファイル
14.4.3 ユーザ情報を追加および変更するための定義ファイル
14.4.4 ユーザマッピングと認証情報の定義ファイル
14.4.5 CSV形式ファイルの記述例
14.4.6 ラインオペレーション

15. 統合ユーザ管理フレームワークで使用するAPI
15.1 統合ユーザ管理フレームワークで使用するAPIの一覧
15.2 AttributeEntryクラス
AttributeEntryコンストラクタ
getAliasメソッド
getAttributeNameメソッド
getSubcontextメソッド
setAliasメソッド
setAttributeNameメソッド
setSubcontextメソッド
15.3 ChangeDataFailedExceptionクラス
ChangeDataFailedExceptionコンストラクタ
15.4 DelegationLoginModuleクラス
15.5 LdapSSODataManagerクラス
LdapSSODataManagerコンストラクタ
addSSODataメソッド
addSSODataListenerメソッド
getSSODataメソッド
getSSODataListenersメソッド
listUsersメソッド(形式1)
listUsersメソッド(形式2)
modifySSODataメソッド
removeSSODataメソッド
removeSSODataListenerメソッド
15.6 LdapUserDataManagerクラス
LdapUserDataManagerコンストラクタ
addUserDataメソッド(形式1)
addUserDataメソッド(形式2)
getUserDataメソッド
listUsersメソッド(形式1)
listUsersメソッド(形式2)
modifyUserDataメソッド
removeUserDataメソッド
15.7 LdapUserEnumerationインタフェース
closeメソッド
hasMoreメソッド
hasMoreElementsメソッド
nextメソッド
nextElementメソッド
15.8 LoginUtilクラス
checkメソッド(形式1)
checkメソッド(形式2)
15.9 ObjectClassEntryクラス
ObjectClassEntryコンストラクタ
getObjectClassesメソッド
getSubcontextメソッド
setObjectClassesメソッド
setSubcontextメソッド
15.10 PasswordCryptographyインタフェース
encryptメソッド
15.11 PasswordUtilクラス
changePasswordメソッド
15.12 Principalインタフェース
15.13 SSODataクラス
SSODataコンストラクタ
getMappingメソッド
getMappingRealmsメソッド
getPublicDataメソッド
removeMappingメソッド
setMappingメソッド
setPublicDataメソッド
setSecretDataメソッド
15.14 SSODataEventクラス
SSODataEventコンストラクタ
getOldPublicDataメソッド
getOldSecretDataメソッド
getPublicDataメソッド
getSecretDataメソッド
getUserIdメソッド
15.15 SSODataListenerインタフェース
ssoDataAddedメソッド
ssoDataModifiedメソッド
ssoDataRemovedメソッド
15.16 SSODataListenerExceptionクラス
SSODataListenerExceptionコンストラクタ
getExceptionメソッド
getListenersメソッド
setExceptionメソッド
15.17 UserAttributesインタフェース
addAttributeメソッド
getAttributeメソッド
getAttributeNamesメソッド
getAttributesメソッド
removeAttributeメソッド
sizeメソッド
15.18 UserDataクラス
UserDataコンストラクタ
addAttributeメソッド
getAttributeメソッド
getAttributeNamesメソッド
getAttributesメソッド
removeAttributeメソッド
setPasswordメソッド
sizeメソッド
15.19 WebCertificateCallbackクラス
WebCertificateCallbackコンストラクタ
getAttributeEntriesメソッド
getRequestメソッド
getResponseメソッド
getSubjectIDメソッド
getTagEntryメソッド
getTagIDメソッド
setAttributeEntriesメソッド
setRequestメソッド
setResponseメソッド
setSubjectIDメソッド
setTagEntryメソッド
setTagIDメソッド
15.20 WebCertificateHandlerクラス
WebCertificateHandlerコンストラクタ
handleメソッド
15.21 WebCertificateLoginModuleクラス
15.22 WebLogoutCallbackクラス
WebLogoutCallbackコンストラクタ
getSessionメソッド
getUserIDメソッド
setSessionメソッド
setUserIDメソッド
15.23 WebLogoutHandlerクラス
WebLogoutHandlerコンストラクタ
handleメソッド
15.24 WebPasswordCallbackクラス
WebPasswordCallbackコンストラクタ
getAttributeEntriesメソッド
getNameメソッド
getOptionメソッド
getPasswordメソッド
getRequestメソッド
getResponseメソッド
getTagEntryメソッド
getTagIDメソッド
setAttributeEntriesメソッド
setNameメソッド
setOptionメソッド
setPasswordメソッド
setRequestメソッド
setResponseメソッド
setTagEntryメソッド
setTagIDメソッド
15.25 WebPasswordHandlerクラス
WebPasswordHandlerコンストラクタ
handleメソッド
15.26 WebPasswordJDBCLoginModuleクラス
15.27 WebPasswordLDAPLoginModuleクラス
15.28 WebPasswordLoginModuleクラス
15.29 WebSSOCallbackクラス
WebSSOCallbackコンストラクタ
getRequestメソッド
getResponseメソッド
getTagEntryメソッド
getTagIDメソッド
setRequestメソッド
setResponseメソッド
setTagEntryメソッド
setTagIDメソッド
15.30 WebSSOHandlerクラス
WebSSOHandlerコンストラクタ
handleメソッド
15.31 WebSSOLoginModuleクラス
15.32 例外クラス

16. 統合ユーザ管理フレームワークで使用するタグライブラリ
16.1 タグライブラリのタグの一覧
16.2 <ua:attributeEntries>Entries</ua:attributeEntries>タグ
16.3 <ua:attributeEntry/>タグ
16.4 <ua:chpw/>タグ
16.5 <ua:exception>Body</ua:exception>タグ
16.6 <ua:getPrincipalName/>タグ
16.7 <ua:getAttribute/>タグ
16.8 <ua:getAttributes/>タグ
16.9 <ua:getAttributeNames/>タグ
16.10 <ua:login/>タグ
16.11 <ua:logout/>タグ
16.12 <ua:notLogin>Body</ua:notLogin>タグ

17. EJBクライアントアプリケーションの実装で使用するAPI
17.1 LoginInfoManagerクラス
getLoginInfoManagerメソッド
loginメソッド
logoutメソッド

18. APIによる直接接続を使用する負荷分散機の制御で使用するファイル
18.1 APIによる直接接続を使用する負荷分散機の制御で使用するファイルの一覧
18.2 lb.properties(負荷分散機定義プロパティファイル)
18.3 <LB接続情報の識別名>.properties(仮想サーバマネージャ側の負荷分散機接続設定プロパティファイル)
18.4 tierlb.properties(ティア側の負荷分散機接続設定プロパティファイル)

19. セキュリティ管理機能で出力されるメッセージ
19.1 メッセージの記述形式
19.2 KDCGFで始まるメッセージ
KDCGF0001-E
KDCGF0002-E
KDCGF0003-E
KDCGF0004-E
KDCGF0005-E
KDCGF0006-E
KDCGF0007-E
19.3 KDCGKで始まるメッセージ
KDCGK0001-I
KDCGK0010-E
KDCGK0011-E
KDCGK0012-E
KDCGK0013-E
KDCGK0100-E
KDCGK0101-E
KDCGK9000-E
19.4 KDCGSで始まるメッセージ
KDCGS0005-E
KDCGS0007-E
KDCGS0008-E
KDCGS0009-E
KDCGS0014-E
KDCGS0015-E
19.5 KDCGWで始まるメッセージ
KDCGW0002-E
KDCGW0003-E
19.6 KEOS02000からKEOS09999までのメッセージ
KEOS02020-E(C)
KEOS02102-E(C)
KEOS02152-E(C)
KEOS02202-E(C)
KEOS02300-E(C/F)
KEOS13105-E(W/F)
KEOS13106-E(W/F)
KEOS13107-E(W/F)
KEOS13119-I(W/F)
KEOS13125-E(W/F)
KEOS13126-E(W/F)
19.7 KEXSで始まるメッセージ
KEXS20006-E
KEXS20007-E
KEXS20008-E
KEXS20009-E
KEXS30010-E
KEXS30011-E
KEXS40001-E
KEXS40002-E
KEXS40003-E
KEXS40004-E
KEXS40009-E
KEXS40010-E
KEXS40011-E
KEXS40012-E
KEXS40013-E
KEXS40014-E
KEXS40015-E
KEXS40016-E
KEXS50001-E
KEXS50002-E
KEXS50003-E
KEXS50014-E
KEXS50015-E
KEXS50016-E
KEXS50017-E
KEXS50018-E
KEXS50019-E
KEXS50020-E
KEXS50021-E
KEXS50022-E
KEXS50023-E
19.8 SSLについてのメッセージ
19.8.1 メッセージの記述形式
19.8.2 注意事項
19.8.3 メッセージ詳細
19.9 Webサーバ(HTTP Server)のsslpasswdコマンドが出力するメッセージ

付録
付録A 各バージョンでの主な機能変更
付録A.1 09-60での主な機能変更
付録A.2 09-50での主な機能変更
付録A.3 09-00での主な機能変更
付録A.4 08-70での主な機能変更
付録A.5 08-53での主な機能変更
付録A.6 08-50での主な機能変更
付録A.7 08-00での主な機能変更
付録B 例外リストの登録(Windowsの場合)
付録C 用語解説

索引