Administration Console オンライン ヘルプ
[互換性セキュリティに関する属性と Administration Console 画面のリファレンス]
このトピックでは、互換性セキュリティを使用する場合のセキュリティのコンフィグレーションと管理について説明します。 詳細については、『WebLogic Security の管理』の「互換性セキュリティの使い方」を参照してください。 WebLogic Server のセキュリティ機能の使い方については、Administration Console オンライン ヘルプのセキュリティおよび『WebLogic Security の管理』を参照してください。
互換性セキュリティを正常に実行しているかどうかを確認するには、次の手順に従います。
また、[以前のセキュリティ] ノードが WebLogic Server Administration Console に表示されます。
レルム アダプタ認証プロバイダには、ID アサーション プロバイダが含まれています。ID アサーション プロバイダは、weblogic.security.acl.CertAuthenticator
クラスの実装の下位互換性を提供します。 ID アサーションは、X.509 トークンに基づいて実行されます。 レルム アダプタ認証プロバイダで、ID アサーション プロバイダはデフォルトでは有効ではありません。
レルム アダプタ認証プロバイダ内の ID アサーション プロバイダを有効にするには、次の手順に従います。
互換性セキュリティを使用する場合、レルム アダプタ監査プロバイダを使用すると weblogic.security.audit.AuditProvider
クラスの実装を使用できます。 レルム アダプタ監査プロバイダを正しく機能させるためには、[ドメイン|セキュリティ|互換性|一般] タブの [監査プロバイダ クラス] 属性で weblogic.security.audit.AuditProvider
クラスの実装を定義しておく必要があります。
レルム アダプタ監査プロバイダをコンフィグレーションするには、次の手順に従います。
インストール時に、WebLogic Server は mydomain
のファイル レルムに対して以下のことを行います。
以上の手順で、system
ユーザがファイル レルムの互換性バージョンで定義されます。
コンフィグレーション ウィザードで新しい WebLogic Server ドメインを作成する場合は、mydomain
のファイル レルムのシステム パスワードが、Admin ロールで定義されている最初のユーザのパスワードに設定されます。 Admin ロールが Administrators グループのみにマッピングされる場合、システム パスワードは Administrators グループのアルファベット順の最初のユーザのパスワードです。
セキュリティを強化するため、インストール時に設定したシステム パスワードを頻繁に変更することをお勧めします。 WebLogic Server の各デプロイメントでは、ユニークなパスワードが必要です。
ドメインで管理サーバと管理対象サーバを使用する場合、管理対象サーバでは常にそのドメインの管理サーバのパスワードを使用する必要があります。 管理サーバのパスワードを変更するには、必ず WebLogic Server Administration Console を使用します。 WebLogic Server を再起動すると、新しいパスワードがドメイン内のすべての管理対象サーバに伝播されます。
ファイル レルムをコンフィグレーションするには、次の手順に従います。
ファイル レルムのすべてのユーザおよびグループのデータは、fileRealm.properties
ファイルに格納されます。 fileRealm.properties
ファイルが壊れるか破棄された場合は、WebLogic Server のセキュリティ情報を再コンフィグレーションする必要があります。 互換性セキュリティは、fileRealm.properties
ファイルなしでは動作できません。 カスタム セキュリティ レルムを記述しても、WebLogic Server を起動するためには fileRealm.properties
ファイルが必要です。 したがって、次の手順を実行することをお勧めします。
注意: ファイル レルムの SerializedSystemIni.dat
ファイルのバックアップ コピーも作成します。
キャッシング レルムをコンフィグレーションするには、次の手順に従います。
パーミッション キャッシュを有効化するには、次の手順に従います。
キャッシング レルムにメモを追加するには、次の手順に従います。
Lightweight Directory Access Protocol (LDAP) V1 セキュリティ レルムは、LDAP ディレクトリに格納されたユーザおよびグループを通じて認証機能を提供します。 このサーバを使用すると、組織内のすべてのユーザを LDAP ディレクトリだけで管理できます。 LDAP V1 セキュリティ レルムは、Open LDAP、Netscape iPlanet、Microsoft Site Server、および Novell NDS ディレクトリ サーバをサポートしています。
ファイル レルムの代わりに LDAP V1 セキュリティ レルムを使用するには、以下の手順に従います。
LDAP サーバと WebLogic Server の間の通信を有効にするには、次の手順に従います。
LDAP V1 セキュリティ レルムにおけるユーザの検索方法を指定するには、次の手順に従います。
LDAP V1 セキュリティ レルムにおけるグループの検索方法を指定するには、次の手順に従います。
LDAP V1 セキュリティ レルムにメモを追加するには、次の手順に従います。
互換性セキュリティでは、LDAP レルム V2 はカスタム セキュリティ レルムとしてコンフィグレーションされます。
LDAP ツリーおよびスキーマは、LDAP サーバごとに異なります。 サポートされるサーバのテンプレートに、サポートされる LDAP サーバのテンプレートがあります。 これらのテンプレートでは、サポートされている各 LDAP サーバのユーザおよびグループを表現するためのデフォルト コンフィグレーション情報が指定されています。
LDAP レルム V2 を使用するには、次の手順に従います。
LDAP レルム V2 の名前。defaultLDAPRealmForNetscapeDirectoryServer など。 |
|
LDAP V2 レルムを実装する WebLogic クラスの名前 ( |
|
サポートされている LDAP サーバのサンプル値については、サポートされるサーバのテンプレートを参照してください。 |
コード リスト 152-1 からコード リスト 152-1 は、LDAP レルム V2 でサポートされる LDAP サーバのコンフィグレーションに使用するテンプレートです。 これらのテンプレートをアプリケーションの config.xml
ファイルに直接コピーします。
警告: 以下のコード例の各行は 1 行で入力する必要があります。 コード例はこのマニュアルの幅に合わせて書式が整えられており、その書式に合わせるために分かれている行もあります。 このテキストを config.xml
ファイルに貼り付ける場合は、コード内で 1 行になるように、分かれた行をつなげてください。
コード リスト 152-1 デフォルトの Netscape Directory Server のテンプレート
<CustomRealmName="defaultLDAPRealmForNetscapeDirectoryServer"
RealmClassName="weblogic.security.ldaprealmv2.LDAPRealm"
ConfigurationData=
"server.host=ldapserver.example.com;
server.port=700;
useSSL=true;
server.principal=uid=admin,
ou=Administrators,ou=TopologyManagement,o=NetscapeRoot;
server.credential=*secret*;
user.dn=ou=people,o=beasys.com;
user.filter=(&(uid=%u)(objectclass=person));
group.dn=ou=groups,o=beasys.com;
group.filter=(&(cn=%g)(objectclass=groupofuniquenames));
membership.filter=(&(uniquemember=%M)
(objectclass=groupofuniquenames));
membership.directmembershiponly
"Notes="Before enabling the LDAP V2 security realm, edit the configuration parameters for your environment."/>
コード リスト 152-2 デフォルトの Microsoft Site Server のテンプレート
<CustomRealmName="defaultLDAPRealmForMicrosoftSiteServer"
RealmClassName="weblogic.security.ldaprealmv2.LDAPRealm"
ConfigurationData=
"server.host=ldapserver.example.com;
server.port=700;
useSSL=true;
server.principal=cn=Administrator,ou=Members,
o=ExampleMembershipDir;
server.credential=*secret*
user.dn=ou=Members, o=ExampleMembershipDir;
user.filter=(&(cn=%u)(objectclass=member)(!userAccountControl:1.2.840.113556.1.4.803:=2)))
;
group.dn=ou=Groups, o=ExampleMembershipDir;
group.filter=(&(cn=%g)(objectclass=mgroup));
membership.scope.depth=1;microsoft.membership.scope=sub;
membership.filter=(|(&(memberobject=%M)
(objectclass=memberof))(&(groupobject=%M)
(objectclass=groupmemberof)));
membership.search=true;
membership.directmembershiponly
"Notes="Before enabling the LDAP V2 security realm, edit the configuration parameters for your environment."/>
コード リスト 152-3 デフォルトの Novell Directory Services のテンプレート
<CustomRealmName="defaultLDAPRealmForNovellDirectoryServices"
RealmClassName="weblogic.security.ldaprealmv2.LDAPRealm"
ConfigurationData=
"server.host=ldapserver.example.com;
server.port=700;
useSSL=true;
server.principal=cn=Admin, DC=BEASYS
server.credential= *secret*;
user.dn=ou=people,o=example.com;
user.filter=(&(cn=%u)(objectclass=person));
group.dn=ou=groups,o=example.com;
group.filter=(&(cn=%g)(objectclass=groupofuniquenames));
membership.filter=(&(member=%M)
(objectclass=groupofuniquenames));"
membership.directmembershiponly;"
"Notes="Before enabling the LDAP V2 security realm, edit the configuration parameters for your environment."/>
コード リスト 152-4 デフォルトの Open LDAP Directory Services のテンプレート
<CustomRealmName="defaultLDAPRealmForOpenLDAPDirectoryServices"
RealmClassName="weblogic.security.ldaprealmv2.LDAPRealm"
ConfigurationData=
"server.host=ldapserver.example.com;
server.port=700;
useSSL=true;
server.principal=cn=Manager, dc=example, dc=com;
server.credential= *secret*;
user.dn=ou=people, dc=example,dc=com;
user.filter=(&(uid=%u)(objectclass=person));
group.dn=ou=groups,dc=example,c=com;
group.filter=(&(cn=%g)(objectclass=groupofuniquenames));
membership.filter=(&(uniquemember=%M) (objectclass=groupofuniquenames));"
membership.directmembershiponly;
"Notes="Before enabling the LDAP V2 security realm, edit the configuration parameters for your environment."/>
LDAP V2 セキュリティ レルムにメモを追加するには、次の手順に従います。
Windows NT セキュリティ レルムをコンフィグレーションするには、次の手順に従います。
次のコマンドを使用すると、指定の Windows NT ユーザとして WebLogic Server を実行する適切な特権があるかどうかを検証できます。
java weblogic.security.ntrealm.NTRealm
username
password
username
と password
は、WebLogic Server が動作する Windows NT アカウントのユーザ名とパスワードです。
このコマンドの出力は、指定されたユーザ名とパスワードが正しく認証されたかどうかを示します。
テストがすぐに失敗し、WebLogic Server を実行するクライアントまたはユーザに Windows NT セキュリティ レルムを実行する特権がないと示されている場合は、WebLogic Server を実行する Windows ユーザのパーミッション (権利) を更新する必要があります。 詳細については、Windows NT および Windows 2000 のユーザ パーミッションの更新を参照してください。
Windows NT で権利を更新するには、次の手順を行います。
Windows 2000 で権利を更新するには、次の手順を行います。
以下に示すのは、Windows NT セキュリティ レルムの使用時に発生する Windows NT エラー コートです。
Windows NT エラー コードの詳細については、winerror.h
ファイルを参照してください。
Windows NT セキュリティ レルムにメモを追加するには、次の手順に従います。
wlauth
は、setuid root
を実行します。 wlauth
プログラムの所有権とファイル属性を変更し、wlauth
の PAM コンフィグレーション ファイルの設定を行うには、ルート パーミッションが必要です。
UNIX セキュリティ レルム用の wlauth
プログラムを設定するには、次の手順に従います。
/usr/sbin
ディレクトリ) に wlauth
ファイルをコピーします。 wlauth
ファイルは、weblogic/lib/
arch
ディレクトリにあります。arch
は使用しているプラットフォームの名前を示します。
# chown root wlauth
# chmod +xs wlauth
Solaris の場合には、/etc/pam.conf
ファイルに以下の行を追加します。
# Solaris マシンでの WebLogic 認証の設定
#
wlauth auth required /usr/lib/security/pam_unix.so.1
wlauth password required /usr/lib/security/pam_unix.so.1
wlauth account required /usr/lib/security/pam_unix.so.1
Linux の場合には、次の内容の /etc/pam.d/wlauth
というファイルを作成します。
#%PAM-1.0
#
# ファイル名:
# /etc/pam.d/wlauth
#
# シャドウ パスワードを使用しない場合は「shadow」を削除する
auth required /lib/security/pam_pwdb.so shadow
account required /lib/security/pam_pwdb.so
wlauth
が WebLogic Server クラス パスに入っていない場合、またはプログラムに wlauth
以外の名前を付けた場合、WebLogic Server を起動するときに Java コマンドライン プロパティを追加する必要があります。 WebLogic Server の起動スクリプトを編集し、java
コマンドの後に次のオプションを追加します。
-Dweblogic.security.unixrealm.authProgram=
wlauth_prog
wlauth_prog
には、プログラムが検索パスに入っていない場合は絶対パスも含めて、wlauth
プログラムの名前を指定します。 WebLogic Server を起動します。 wlauth
プログラムが WebLogic Server パスに入っており、wlauth
という名前の場合には、この手順を実行する必要はありません。
注意: UNIX セキュリティ レルムは、Solaris および Linux プラットフォームのみで動作します。
UNIX セキュリティ レルムをコンフィグレーションするには、次の手順に従います。
RDBMS セキュリティ レルムは BEA が用意しているカスタム セキュリティ レルムで、ユーザ、グループ、および ACL をリレーショナル データベースに保存します。RDBMS セキュリティ レルムはサンプルなので、プロダクション環境での使用を目的としていません。
注意: RDBMS サンプルは、自動コミット機能を有効にしたデータベースでは動作しません。 RDBMS サンプルを基に RDBMS を実装する場合、明示的なコミット文をコードに記述して、使用するデータベースの自動コミット機能を無効にします。
RDBMS セキュリティ レルムの実装で getActiveDomain()
メソッドを使用する場合は、RDBMS セキュリティ レルムを互換性セキュリティと一緒に使用するために RDBMSDelegate
クラスを編集および再コンパイルする必要があります。 weblogic.server
パッケージで、getActiveDomain()
メソッドを getSecurityConfig()
メソッドで置き換えます。
RDBMS セキュリティ レルムをコンフィグレーションするには、次の手順に従います。
RDBMS セキュリティ レルムでデータベースに接続するための JDBC ドライバの属性を定義するには、次の手順に従います。
RDBMS セキュリティ レルムで使用するデータベース スキーマの属性を定義するには、次の手順に従います。
コード リスト 152-1 には、/samples/examples/security/rdbmsrealm
ディレクトリにある WebLogic Server 付属の RDBMS コード サンプルのスキーマ プロパティに入力されているデータベース文を示してあります。
コード リスト 152-1 RDBMS セキュリティ レルムのサンプル スキーマ
"getGroupNewStatement=true;getUser=SELECT U_NAME, U_PASSWORD FROM users WHERE U_NAME = ?;
getGroupMembers=SELECT GM_GROUP, GM_MEMBER from groupmembers WHERE GM_GROUP = ?;
getAclEntries=SELECT A_NAME, A_PRINCIPAL, A_PERMISSION FROM aclentries WHERE A_NAME = ? ORDER BY A_PRINCIPAL;
getUsers=SELECT U_NAME, U_PASSWORD FROM users;
getGroups=SELECT GM_GROUP, GM_MEMBER FROM groupmembers;
getAcls=SELECT A_NAME, A_PRINCIPAL, A_PERMISSION FROM aclentries ORDER BY A_NAME, A_PRINCIPAL;
getPermissions=SELECT DISTINCT A_PERMISSION FROM aclentries;
getPermission=SELECT DISTINCT A_PERMISSION FROM aclentries WHERE A_PERMISSION = ?;
newUser=INSERT INTO users VALUES ( ? , ? );
addGroupMember=INSERT INTO groupmembers VALUES ( ? , ? );
removeGroupMember=DELETE FROM groupmembers WHERE GM_GROUP = ? AND GM_MEMBER = ?;
deleteUser1=DELETE FROM users WHERE U_NAME = ?;
deleteUser2=DELETE FROM groupmembers WHERE GM_MEMBER = ?;
deleteUser3=DELETE FROM aclentries WHERE A_PRINCIPAL = ?;
deleteGroup1=DELETE FROM groupmembers WHERE GM_GROUP = ?;
deleteGroup2=DELETE FROM aclentries WHERE A_PRINCIPAL = ?"
RDBMS セキュリティ レルムにメモを追加するには、次の手順に従います。
ネットワーク上のディレクトリ サーバなどの既存のユーザ ストアからデータを抽出するカスタム セキュリティ レルムを作成することができます。 カスタム セキュリティ レルムを使用するには、weblogic.security.acl.AbstractListableRealm
インタフェースまたは weblogic.security.acl.AbstractManageableRealm
インタフェースの実装を作成してから、Administration Console を使用してインストールします。
カスタム セキュリティ レルムをインストールするには、次の手順に従います。
カスタム セキュリティ レルムにメモを追加するには、次の手順に従います。
注意: この節では、CompatibilityRealm 内の管理可能なセキュリティ レルム (ファイル レルムなど) にユーザを追加する方法を説明します。 WebLogic Server Administration Console で管理できないセキュリティ レルムを使用する場合は、そのレルムの管理ツールを使用してユーザを定義する必要があります。
ユーザ アカウントのロックを解除するには、次の手順に従います。
デプロイメントのセキュリティを考慮して、WebLogic Server では guest
アカウントを無効にすることをお勧めします。
guest
アカウントを無効にしても、guest
というアカウントにログインできなくなるだけであり、未認証ユーザが WebLogic Server デプロイメントにアクセスすることはできます。
注意: この節では、CompatibilityRealm 内の管理可能なセキュリティ レルム (ファイル レルムなど) にグループを追加する方法を説明します。 WebLogic Server Administration Console で管理できないセキュリティ レルムを使用する場合は、そのレルムの管理ツールを使用してグループを定義する必要があります。
ACL の下位互換性を提供する互換性セキュリティは、長期的なセキュリティ ソリューションと考えるべきではありません。 この節の手順は、既存の 6.x セキュリティ レルムが破損し、それを復元する以外に選択肢がない場合にのみ使用します。 ACL の代わりに、セキュリティ ロールとセキュリティ ポリシーを使用して WebLogic リソースを保護します。
注意: MBean の ACL は、このリリースの WebLogic Server ではサポートされていません。 詳細については、『WebLogic リソースのセキュリティ』の「サーバ リソースの階層化されたセキュリティ方式」を参照してください。
JDBC 接続プールの ACL を指定する場合は、filerealm.properties ファイルで、system
ユーザの JDBC 接続プールへのアクセスを明確に定義する必要があります。 次に例を示します。
acl.reserve.poolforsecurity=system
acl.reset.poolforsecurity=system
WebLogic リソースの ACL を作成するには、次の手順に従います。
WebLogic Server ドメインでユーザ アカウントを保護するには、次の手順に従います。
WebLogic Server 6.x のセキュリティ コンフィグレーションで weblogic.security.audit.AuditProvider
クラスの実装を使用している場合、互換性セキュリティでは、監査は自動的にコンフィグレーションされません。 6.x の監査にアクセスするには、互換性レルムにレルム アダプタ監査プロバイダをコンフィグレーションします。
レルム アダプタ監査プロバイダをコンフィグレーションするには、次の手順に従います。
java weblogic.Admin -url t3://localhost:7001 -username
adminusername
-password
adminpassword
CREATE -mbean Security:
Name=CompatibilityRealmRealmAdapterAuditor -type
weblogic.security.providers.realmadapter.RealmAdapterAuditor commotype
java weblogic.Admin -url t3://localhost:7001 -username
adminusername
-password
adminpassword
SET -mbean Security:
Name=CompatibilityRealmRealmAdapterAuditor -property Realm Security:Name=CompatibilityRealm commotype
java weblogic.Admin -url t3://localhost:7001 -username
adminusername
-password
adminpassword
SET -mbean Security
Name=CompatibilityRealm -property Auditors
Security:Name=CompatibilityRealmRealmAdapterAuditor commotype