16 パスワード検証プロバイダの構成
この章の内容は次のとおりです。
パスワード検証プロバイダについて
-
WebLogic認証プロバイダ
-
SQL認証プロバイダ
-
LDAP認証プロバイダ
-
Oracle Internet Directory認証プロバイダ
-
Oracle Virtual Directory認証プロバイダ
-
Active Directory認証プロバイダ
-
ODSEE認証プロバイダ
-
Novell認証プロバイダ
-
Open LDAP認証プロバイダ
WebLogic Server管理コンソールでのパスワード検証プロバイダの構成については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのパスワード検証プロバイダの構成に関する項を参照してください。
パスワード検証プロバイダのパスワード構成ルール
ノート:
パスワードには最初の文字として中カッコ("{")を含めることができません。表16-1 LDAP認証プロバイダとの併用時にパスワード検証プロバイダに要求される追加パスワード作成ルール
LDAP認証プロバイダ | 追加パスワード作成要件 |
---|---|
|
パスワード内の文字のうち、1文字以上は数字にする必要があります。 |
|
パスワード内の文字のうち、1文字以上はアルファベット以外の文字にする必要があります。たとえば、数字、アスタリスク(*)、またはシャープ記号(#)など。 |
パスワード検証プロバイダでは、次のようなパスワード構成ルールをオプションで構成できます。
-
ユーザー名のポリシー — ユーザー名で構成されるパスワードやユーザー名を含むパスワード、あるいはユーザー名を逆にしたパスワードかどうかを判断するルール
-
パスワード文字長のポリシー — パスワードの最小文字数または最大文字数(構成ルールで最小長と最大長の両方を指定可能)のルール
-
文字のポリシー - パスワードに次の文字が含まれているかどうかを判断するポリシー
-
数字
-
小文字のアルファベット
-
大文字のアルファベット
-
アルファベットと数字以外の文字
-
パスワード検証プロバイダに構成可能な特定の構成ルールの詳細(本番環境にお薦めするルールの設定を含む)は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの「システム・パスワード検証プロバイダ: プロバイダ固有」を参照してください。
ノート:
パスワード構成ルールの設定は、総当たりのパスワード攻撃からWebLogic Serverを保護する手段の1つに過ぎません。ユーザー・アカウントを保護するためには、ユーザー・ロックアウトも構成する必要があります。ユーザー・ロックアウトでは、特定の時間内に間違ったパスワードを入力した回数が上限値を超えると、そのユーザーのアカウントがロックアウトされます。「ユーザー・アカウントの保護」を参照してください。
パスワード検証プロバイダとWebLogic認証プロバイダの併用
デフォルトでは、WebLogic認証プロバイダには8文字以上のパスワード(少なくとも1つはアルファベット以外)が必要になります。しかし、この最小パスワード文字数はカスタマイズできます。WebLogic認証プロバイダとパスワード検証プロバイダが同じセキュリティ・レルム内に構成されている場合は、WebLogic認証プロバイダの最小パスワード文字数に満たないパスワードを作成しようとするとエラーが生成されます。たとえば、WebLogic Server管理コンソールに次のようなメッセージが表示されます。
Error [Security:090285]password must be at least 8 characters long Error Errors must be corrected before proceeding.
最小パスワード文字数が満たされなかったためにWebLogic認証プロバイダによってパスワードが拒否された場合、パスワード検証プロバイダは呼び出されません。パスワード検証プロバイダとWebLogic認証プロバイダが常に併用されるようにするには、必ず両方のプロバイダに同じ最小パスワード文字数を設定する必要があります。
WebLogic認証プロバイダの最小パスワード文字数は、WebLogic Server管理コンソールを使用して次のステップで設定できます。
- まだ実行していない場合は、WebLogic Server管理コンソールのチェンジ・センターで「ロックして編集」をクリックします。
- 左ペインで「セキュリティ・レルム」を選択し、構成するレルムの名前(たとえばmyrealm)をクリックしします。
- 「プロバイダ」>「認証」を選択し、「DefaultAuthenticator」をクリックします。
- 「構成」>「プロバイダ固有」を選択し、「最小パスワード文字数」フィールドに値を入力します。
- 「保存」をクリックして変更を保存します。
- チェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。
パスワード検証プロバイダで最小パスワード文字数を設定する方法については、「WLSTを使用したパスワード検証プロバイダの作成と構成」を参照してください。
LDAP認証プロバイダでのパスワード検証プロバイダの使用
WLSTを使用したパスワード検証プロバイダの作成と構成
SystemPasswordValidatorMBean
に対する操作を実行します。パスワード検証プロバイダは、1つのWLSTスクリプトで作成および構成できますが、これを複数のスクリプトに分けて別々に実行することも可能です。次のトピックでは、WLSTのサンプル・コードに基づいてこれらの方法を説明します。パスワード検証プロバイダのインスタンスの作成
パスワード検証プロバイダは、新しいドメインを作成するとセキュリティ・レルムに自動的に作成されます。ただし、例16-1に示すように、WLSTを使用して作成することもできます。このコードによって、次の操作が実行されます。
例16-1 システム・パスワード検証プロバイダの作成
edit() startEdit() realm = cmo.getSecurityConfiguration().getDefaultRealm() pwdvalidator = realm.lookupPasswordValidator('SystemPasswordValidator') if pwdvalidator: print 'Password Validator provider is already created' else: # Create SystemPasswordValidator syspwdValidator = realm.createPasswordValidator('SystemPasswordValidator', 'com.bea.security.providers.authentication.passwordvalidator.SystemPasswordValidator') print "--- Creation of System Password Validator succeeded!" save() activate()
パスワード構成ルールの指定
次の例は、パスワード検証プロバイダの構成ルールを設定するWLSTコードを示しています。このスクリプトによって設定されるルール属性の詳細は、Oracle WebLogic Server MBeanリファレンスのSystemPasswordValidatorMBean
に関する説明を参照してください。
edit() startEdit() # Configure SystemPasswordValidator try: pwdvalidator.setMinPasswordLength(8) pwdvalidator.setMaxPasswordLength(12) pwdvalidator.setMaxConsecutiveCharacters(3) pwdvalidator.setMaxInstancesOfAnyCharacter(4) pwdvalidator.setMinAlphabeticCharacters(1) pwdvalidator.setMinNumericCharacters(1) pwdvalidator.setMinLowercaseCharacters(1) pwdvalidator.setMinUppercaseCharacters(1) pwdvalidator.setMinNonAlphanumericCharacters(1) pwdvalidator.setMinNumericOrSpecialCharacters(1) pwdvalidator.setRejectEqualOrContainUsername(true) pwdvalidator.setRejectEqualOrContainReverseUsername(true) print " --- Configuration of SystemPasswordValidator complete ---" except Exception,e: print e save() activate()