プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティの管理
12c (12.2.1.2.0)
E82873-02
目次へ移動
目次

前
次

17 パスワード検証プロバイダの構成

この章では、WebLogic Serverに含まれるパスワード検証プロバイダの構成方法、指定できる構成ルール、およびセキュリティ・レルムでのパスワード検証プロバイダのインスタンスの作成および構成方法について説明します

この章の内容は次のとおりです。

パスワード検証プロバイダについて

WebLogic Serverには、各セキュリティ・レルムでデフォルトで構成されるパスワード検証プロバイダがあります。この検証プロバイダは、構成可能なパスワード構成ルールを管理および適用でき、そのレルム内のユーザーのパスワードが作成または更新されると、サポートされている認証プロバイダによって自動的に呼び出されます。呼び出されると、「パスワード検証」プロバイダは、当該パスワードが構成ルールに基づく条件を満たすかどうかを判定するためのチェックを実行します。その後、パスワードは適切に受け入れられるか拒否されます。

パスワード検証プロバイダと併用できる認証プロバイダは以下のとおりです。

  • WebLogic認証プロバイダ

  • SQL認証プロバイダ

  • LDAP認証プロバイダ

  • Oracle Internet Directory認証プロバイダ

  • Oracle Virtual Directory認証プロバイダ

  • Active Directory認証プロバイダ

  • ODSEE認証プロバイダ

  • Novell認証プロバイダ

  • Open LDAP認証プロバイダ

WebLogic Server管理コンソールでのパスワード検証プロバイダの構成については、Oracle WebLogic Server管理コンソール・オンライン・ヘルプパスワード検証プロバイダの構成に関する項を参照してください。

パスワード検証プロバイダのパスワード構成ルール

デフォルトでは、パスワード検証プロバイダは、8文字以上のパスワードを必要とするように構成されています。前述の項でリストされたサポート対象のLDAP認証プロバイダのいずれかと併用するとき、パスワード検証プロバイダは、表17-1でリストされている追加基準を満たすパスワードも必要とします。

表17-1 LDAP認証プロバイダとの併用時にパスワード検証プロバイダに要求される追加パスワード作成ルール

LDAP認証プロバイダ 追加パスワード作成要件
  • Oracle Internet Directory認証プロバイダ

  • Oracle Virtual Directory認証プロバイダ

パスワード内の文字のうち、1文字以上は数字にする必要があります。

  • WebLogic認証プロバイダ

  • LDAP認証プロバイダ

  • Active Directory認証プロバイダ

  • ODSEE認証プロバイダ

  • Novell認証プロバイダ

  • Open LDAP認証プロバイダ

パスワード内の文字のうち、1文字以上はアルファベット以外の文字にする必要があります。たとえば、数字、アスタリスク(*)、またはシャープ記号(#)など。

パスワード検証プロバイダでは、次のようなパスワード構成ルールをオプションで構成できます。

  • ユーザー名のポリシー - ユーザー名で構成されるパスワードやユーザー名を含むパスワード、あるいはユーザー名を逆にしたパスワードかどうかを判断するルール

  • パスワード文字長のポリシー — パスワードの最小文字数または最大文字数(構成ルールで最小長と最大長の両方を指定可能)のルール

  • 文字のポリシー - パスワードに次の文字が含まれているかどうかを判断するポリシー

    • 数字

    • 小文字のアルファベット

    • 大文字のアルファベット

    • アルファベットと数字以外の文字

パスワード検証プロバイダに構成可能な特定の構成ルールの詳細(本番環境にお薦めするルールの設定を含む)は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプ「システム・パスワード検証プロバイダ: プロバイダ固有」を参照してください。

注意:

パスワード構成ルールの設定は、総当たりのパスワード攻撃からWebLogic Serverを保護する手段の1つに過ぎません。ユーザー・アカウントを保護するためには、ユーザー・ロックアウトも構成する必要があります。ユーザー・ロックアウトでは、特定の時間内に間違ったパスワードを入力した回数が上限値を超えると、そのユーザーのアカウントがロックアウトされます。詳細は、「ユーザー・アカウントの保護」を参照してください。

パスワード検証プロバイダとWebLogic認証プロバイダの併用

パスワード検証プロバイダをWebLogic認証プロバイダとともに使用するには、必ず両方のプロバイダに同じ最小パスワード文字数を設定する必要があります。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管理コンソールを使用して次の手順で設定できます。

  1. まだ実行していない場合は、WebLogic Server管理コンソールのチェンジ・センターで「ロックして編集」をクリックします。
  2. 左ペインで「セキュリティ・レルム」を選択し、構成するレルムの名前(たとえばmyrealm)をクリックしします。
  3. 「プロバイダ」>「認証」を選択し、「DefaultAuthenticator」をクリックします。
  4. 「構成」>「プロバイダ固有」を選択し、「最小パスワード文字数」フィールドに値を入力します。
  5. 「保存」をクリックして変更を保存します。
  6. チェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。

パスワード検証プロバイダで最小パスワード文字数を設定する方法については、「WLSTを使用したパスワード検証プロバイダの作成と構成」を参照してください。

LDAP認証プロバイダでのパスワード検証プロバイダの使用

パスワード検証プロバイダとLDAP認証プロバイダ(Oracle Internet Directory認証プロバイダなど)がセキュリティ・レルムで構成される場合、パスワードは2つの個別ポリシー・チェックで検証されます。1つは、パスワード検証プロバイダのチェック、もう1つはLDAPサーバーのチェックで、それぞれに独自のパスワード・ポリシー・チェックがあります。たとえば、Oracle Internet Directoryには独自のパスワード検証メカニズムがあり、これは、LDAPサーバー管理者によって制御されます。この2つのパスワード検証メカニズムは個別のもので、それぞれに独自のパスワード構成ルールがあります。構成ルールが一貫していないと、パスワード検証プロバイダのルールが実行される場合でも、パスワードを作成またはリセットしようとするときにWebLogic Server管理コンソールで障害が発生することがあります。したがって、パスワード検証プロバイダのパスワード構成ルールがLDAPサーバーのルールと競合しないようにしてください。

WLSTを使用したパスワード検証プロバイダの作成と構成

セキュリティ・レルム内でパスワード検証プロバイダを管理するには、WLSTスクリプトを使用できます。このスクリプトは、Oracle WebLogic Server MBeanリファレンスで説明するように、SystemPasswordValidatorMBeanに対する操作を実行します。パスワード検証プロバイダは、1つのWLSTスクリプトで作成および構成できますが、これを複数のスクリプトに分けて別々に実行することも可能です。次のトピックでは、WLSTのサンプル・コードに基づいてこれらの方法を説明します。

パスワード検証プロバイダのインスタンスの作成

パスワード検証プロバイダは、新しいドメインを作成するとセキュリティ・レルムに自動的に作成されます。ただし、例17-1に示すように、WLSTを使用して作成することもできます。このコードによって、次の操作が実行されます。

  1. 現在のレルムとパスワード検証プロバイダを取得します。
  2. パスワード検証プロバイダのインスタンス(名前はSystemPasswordValidator)がすでに作成されているかどうかを識別します。
    • プロバイダがすでに作成されている場合は、それが存在することを示すメッセージを表示します。

    • プロバイダがまだ作成されていない場合は、セキュリティ・レルム内にプロバイダを作成し、それが作成されたことを示すメッセージを表示します。

例17-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()