Oracle® Fusion Middleware Oracle WebLogic Server 12.1.3セキュリティの管理 12c (12.1.3) E57576-07 |
|
![]() 前 |
![]() 次 |
この章では、WebLogic Server 12.1.3に含まれるパスワード検証プロバイダの構成方法、指定できる構成ルール、およびセキュリティ・レルムでのパスワード検証プロバイダのインスタンスの作成および構成方法について説明します
この章の内容は次のとおりです。
WebLogic Serverには、各セキュリティ・レルムでデフォルトで構成されるパスワード検証プロバイダがあります。この検証プロバイダは、構成可能なパスワード構成ルールを管理および適用でき、そのレルム内のユーザーのパスワードが作成または更新されると、サポートされている認証プロバイダによって自動的に呼び出されます。呼び出されると、「パスワード検証」プロバイダは、当該パスワードが構成ルールに基づく条件を満たすかどうかを判定するためのチェックを実行します。その後、パスワードは適切に受け入れられるか拒否されます。
パスワード検証プロバイダと併用できる認証プロバイダは以下のとおりです。
WebLogic認証プロバイダ
SQL認証プロバイダ
LDAP認証プロバイダ
Oracle Internet Directory認証プロバイダ
Oracle Virtual Directory認証プロバイダ
Active Directory認証プロバイダ
iPlanet認証プロバイダ
Novell認証プロバイダ
Open LDAP認証プロバイダ
WebLogic Server管理コンソールでのパスワード検証プロバイダの構成については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのパスワード検証プロバイダの構成に関する項を参照してください。
デフォルトでは、パスワード検証プロバイダは、8文字以上のパスワードを必要とするように構成されています。前述の項でリストされたサポート対象のLDAP認証プロバイダのいずれかと併用するとき、パスワード検証プロバイダは、表18-1でリストされている追加基準を満たすパスワードも必要とします。
表18-1 LDAP認証プロバイダとの併用時にパスワード検証プロバイダに要求される追加パスワード作成ルール
LDAP認証プロバイダ | 追加パスワード作成要件 |
---|---|
|
パスワード内の文字のうち、1文字以上は数字にする必要があります。 |
|
パスワード内の文字のうち、1文字以上はアルファベット以外の文字にする必要があります。たとえば、数字、アスタリスク(*)、またはシャープ記号(#)など。 |
パスワード検証プロバイダでは、次のようなパスワード構成ルールをオプションで構成できます。
ユーザー名のポリシー - ユーザー名で構成されるパスワードやユーザー名を含むパスワード、あるいはユーザー名を逆にしたパスワードかどうかを判断するルール
パスワード文字長のポリシー — パスワードの最小文字数または最大文字数(構成ルールで最小長と最大長の両方を指定可能)のルール
文字のポリシー - パスワードに次の文字が含まれているかどうかを判断するポリシー
数字
小文字のアルファベット
大文字のアルファベット
アルファベットと数字以外の文字
パスワード検証プロバイダに構成可能な特定の構成ルールの詳細(本番環境にお薦めするルールの設定を含む)は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの「システム・パスワード検証プロバイダ: プロバイダ固有」を参照してください。
警告: パスワード構成ルールの設定は、総当たりのパスワード攻撃からWebLogic Serverを保護する手段の1つに過ぎません。ユーザー・アカウントを保護するためには、ユーザー・ロックアウトも構成する必要があります。ユーザー・ロックアウトでは、特定の時間内に間違ったパスワードを入力した回数が上限値を超えると、そのユーザーのアカウントがロックアウトされます。詳細は、「ユーザー・アカウントの保護」を参照してください。 |
デフォルトでは、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認証プロバイダ(Oracle Internet Directory認証プロバイダなど)がセキュリティ・レルムで構成される場合、パスワードは2つの個別ポリシー・チェックで検証されます。1つは、パスワード検証プロバイダのチェック、もう1つはLDAPサーバーのチェックで、それぞれに独自のパスワード・ポリシー・チェックがあります。たとえば、Oracle Internet Directoryには独自のパスワード検証メカニズムがあり、これは、LDAPサーバー管理者によって制御されます。この2つのパスワード検証メカニズムは個別のもので、それぞれに独自のパスワード構成ルールがあります。構成ルールが一貫していないと、パスワード検証プロバイダのルールが実行される場合でも、パスワードを作成またはリセットしようとするときにWebLogic Server管理コンソールで障害が発生することがあります。したがって、パスワード検証プロバイダのパスワード構成ルールがLDAPサーバーのルールと競合しないようにしてください。
セキュリティ・レルム内でパスワード検証プロバイダを管理するには、WLSTスクリプトを使用できます。このスクリプトは、Oracle WebLogic Server MBeanリファレンスで説明するように、SystemPasswordValidatorMBean
に対する操作を実行します。パスワード検証プロバイダは、1つのWLSTスクリプトで作成および構成できますが、これを複数のスクリプトに分けて別々に実行することも可能です。次のトピックでは、WLSTのサンプル・コードに基づいてこれらの方法を説明します。
パスワード検証プロバイダは、新しいドメインを作成するとセキュリティ・レルムに自動的に作成されます。ただし、例18-1に示すように、WLSTを使用して作成することもできます。このコードによって、次の操作が実行されます。
現在のレルムとパスワード検証プロバイダを取得します。
パスワード検証プロバイダのインスタンス(名前はSystemPasswordValidator
)がすでに作成されているかどうかを識別します。
プロバイダがすでに作成されている場合は、それが存在することを示すメッセージを表示します。
プロバイダがまだ作成されていない場合は、セキュリティ・レルム内にプロバイダを作成し、それが作成されたことを示すメッセージを表示します。
例18-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()
例18-2に、パスワード検証プロバイダの構成ルールを設定するWLSTコード例を示します。このスクリプトによって設定されるルール属性の詳細は、Oracle WebLogic Server MBeanリファレンスのSystemPasswordValidatorMBean
に関する説明を参照してください。
例18-2 パスワード構成ルールの構成
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()