検索

20.4. パスワードポリシーの管理

download PDF
パスワードポリシーは、一定レベルのセキュリティーを強制することで、パスワードを使用するリスクを最小限に抑えることができます。たとえば、パスワードポリシーでは、以下を定義できます。
  • ユーザーはスケジュールに応じてパスワードを変更する必要があります。
  • ユーザーは、簡単ではないパスワードを提供する必要があります。
  • パスワード構文は、特定の複雑な要件を満たす必要があります。
警告
パスワード管理者アカウントまたは Directory Manager (root DN) を使用してパスワードを設定すると、パスワードポリシーは回避され、検証されません。これらのアカウントは、通常のユーザーパスワードの管理には使用しないでください。パスワードポリシーの回避が必要なパスワード管理タスクの実行にのみ使用します。
Directory Server は、きめ細かなパスワードポリシーをサポートしており、パスワードポリシーは、ディレクトリー全体 (global パスワードポリシー)、特定のサブツリー (subtree-level または local パスワードポリシー)、または特定のユーザー (user-level または local パスワードポリシー) に適用することができます。
ユーザーアカウントに適用される完全なパスワードポリシーは、以下の要素で設定されます。
  • パスワードポリシーチェックのタイプまたはレベル。この情報は、サーバーがグローバルパスワードポリシーまたはローカル (サブツリー/ユーザーレベル) パスワードポリシーを確認および有効にするかどうかを示します。
    パスワードポリシーは、一般的なものから特定のものまで、逆ピラミッド型になっています。グローバルパスワードポリシーは、サブツリーレベルのパスワードポリシーに置き換えられました。これは、ユーザーレベルのパスワードポリシーに置き換えられます。エントリーに対して強制されるパスワードポリシーは 1 つだけで、パスワードポリシーは追加されません。つまり、特定の属性がグローバルレベルまたはサブツリーレベルのポリシーで設定されていて、ユーザーレベルのパスワードポリシーで設定されていない場合、アクティブで適用されるポリシーはユーザーレベルのポリシーであるため、ログインが試みられてもその属性はユーザーに使用されません。
  • パスワードの追加および変更の情報。パスワード情報には、パスワードの構文およびパスワード履歴の詳細が含まれます。
  • バインド情報バインド情報には、許可された猶予期間の数、パスワードエージング属性、およびバインド失敗の追跡が含まれます。
注記
パスワードポリシーを設定したら、アカウントのロックアウトポリシーを設定すると、ユーザーパスワードを潜在的な脅威から保護できます。アカウントのロックアウトは、ユーザーのパスワードを繰り返し推測することで、ディレクトリーに分割を試行するハッカーから保護されます。

20.4.1. グローバルパスワードポリシーの設定

デフォルトでは、グローバルパスワードポリシー設定は無効になっています。本セクションでは、グローバルパスワードポリシーを設定する例を紹介します。
注記
パスワードポリシーを設定したら、アカウントロックアウトポリシーを設定します。詳細については、「パスワードベースのアカウントロックアウトポリシーの設定」 を参照してください。

20.4.1.1. コマンドラインを使用したグローバルパスワードポリシーの設定

dsconf ユーティリティーを使用して、グローバルパスワードポリシー設定を表示および編集します。
  1. 現在の設定を表示します。
    # dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy get
    Global Password Policy: cn=config
    ------------------------------------
    passwordstoragescheme: PBKDF2_SHA256
    passwordChange: on
    passwordMustChange: off
    passwordHistory: off
    passwordInHistory: 6
    ...
  2. パスワードポリシー設定を調整します。たとえば、パスワード構文の確認を有効にしてパスワードの最小の長さを 12 文字に設定するには、次のコマンドを実行します。
    # dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdchecksyntax=on --pwdmintokenlen=12
    使用可能な設定の完全なリストを表示するには、次のように入力します。
    # dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --help
  3. パスワードポリシーを有効にします。
    # dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdlockout on

20.4.1.2. Web コンソールを使用したグローバルパスワードポリシーの設定

Web コンソールを使用してグローバルパスワードポリシーを設定するには、以下を実行します。
  1. Web コンソールで Directory Server ユーザーインターフェイスを開きます。「Web コンソールを使用した Directory Server へのログイン」を参照してください。
  2. インスタンスを選択します。
  3. Database メニューを開きます。
  4. Password Policies メニューで、Global Policy を選択します。
  5. グローバルパスワードポリシーを設定します。次のカテゴリーのパラメーターを設定できます。
    • パスワードストレージスキームなどの一般的な設定
    • パスワード失効回数など、パスワードの有効期限設定。
    • アカウントのロックアウト設定 (何回ログインに失敗したらアカウントをロックするかなど)。
    • パスワード構文の設定 (パスワードの最小長など)。
    ツールヒントとパラメーターの cn=config エントリーで対応する属性名を表示するには、設定の上にマウスのカーソルを合わせます。詳細は、Red Hat Directory Server 設定、コマンド、およびファイルリファレンス のパラメーターの説明を参照してください。
  6. Save をクリックします。

20.4.2. ローカルパスワードポリシーの使用

ローカルパスワードポリシーは、ディレクトリー全体の設定を定義するグローバルパスワードポリシーとは対照的に、特定のユーザーまたはサブツリーに対するポリシーです。
きめ細かいパスワードポリシーでパスワード構文が設定されていない場合、nsslapd-pwpolicy-inherit-global パラメーターがオンになっていればグローバルポリシーから構文を継承できます。
--pwpinheritglobal オプションが定義されている場合、passwordchecksyntax オプションはローカルポリシーでオフに、グローバルポリシーでオンに設定され、次の属性をグローバルポリシーからローカルポリシーに継承できます。
  • passwordchecksyntax
  • passwordminlength
  • passwordmindigits
  • passwordminalphas
  • passwordminuppers
  • passwordminlowers
  • passwordminspecials
  • passwordmin8bit
  • passwordmaxrepeats
  • passwordmincategories
  • passwordmintokenlength

20.4.2.1. Directory Server がローカルパスワードポリシーエントリーを保存する場所

dsconf localpwp adduser または dsconf localpwp addsubtree コマンドを使用する場合、Directory Server はポリシー属性を保存するエントリーを自動的に作成します。
  • サブツリー (例: ou=people,dc=example,dc=com) では、以下のエントリーが追加されます。
    • サブツリーとそのすべての子について、さまざまなパスワードポリシー関連のエントリーを保持するためのサブツリーレベルのコンテナーエントリー (nsPwPolicyContainer)。以下に例を示します。
      dn: cn=nsPwPolicyContainer,ou=people,dc=example,dc=com
      objectClass: top
      objectClass: nsContainer
      cn: nsPwPolicyContainer
    • サブツリーに固有のすべてのパスワードポリシー属性を保持するための実際のパスワードポリシー仕様エントリー (nsPwPolicyEntry) です。以下に例を示します。
      dn: cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",
       cn=nsPwPolicyContainer,ou=people,dc=example,dc=com
      objectclass: top
      objectclass: extensibleObject
      objectclass: ldapsubentry
      objectclass: passwordpolicy
    • 上記の (nsPwPolicyEntry) エントリーを指定する pwdpolicysubentry 値を持つ CoS テンプレートエントリー (nsPwTemplateEntry)。以下に例を示します。
      dn: cn="cn=nsPwTemplateEntry,ou=people,dc=example,dc=com",
       cn=nsPwPolicyContainer,ou=people,dc=example,dc=com
      objectclass: top
      objectclass: extensibleObject
      objectclass: costemplate
      objectclass: ldapsubentry
      cosPriority: 1
      pwdpolicysubentry: cn="cn=nsPwPolicyEntry,ou=people,dc=example,dc=com",
           cn=nsPwPolicyContainer,ou=people,dc=example,dc=com
    • サブツリーレベルでの CoS 仕様エントリー。以下に例を示します。
      dn: cn=newpwdpolicy_cos,ou=people,dc=example,dc=com
      objectclass: top
      objectclass: LDAPsubentry
      objectclass: cosSuperDefinition
      objectclass: cosPointerDefinition
      cosTemplateDn: cn=cn=nsPwTemplateEntry\,ou=people\,dc=example,dc=com,
       cn=nsPwPolicyContainer,ou=people,dc=example,dc=com
      cosAttribute: pwdpolicysubentry default operational
  • ユーザーの場合 (例: uid=user_name,ou=people,dc=example,dc=com)、以下のエントリーが追加されます。
    • ユーザーとそのすべての子について、さまざまなパスワードポリシー関連のエントリーを保持するための親レベルのコンテナーエントリー (nsPwPolicyContainer)。以下に例を示します。
      dn: cn=nsPwPolicyContainer,ou=people,dc=example,dc=com
      objectClass: top
      objectClass: nsContainer
      cn: nsPwPolicyContainer
    • ユーザーに固有のパスワードポリシー属性を保持するための実際のパスワードポリシー仕様エントリー (nsPwPolicyEntry) です。以下に例を示します。
      dn: cn="cn=nsPwPolicyEntry,uid=user_name,ou=people,dc=example,dc=com",
       cn=nsPwPolicyContainer,ou=people,dc=example,dc=com
      objectclass: top
      objectclass: extensibleObject
      objectclass: ldapsubentry
      objectclass: passwordpolicy

20.4.2.2. ローカルパスワードポリシーの設定

ローカルパスワードポリシーを設定するには、以下を実行します。
注記
現在、コマンドラインを使用してのみローカルパスワードポリシーを設定できます。
  1. サブツリーまたはユーザーエントリーにローカルパスワードポリシーがすでに存在しているかどうかを確認します。以下に例を示します。
    # dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp get "ou=People,dc=example,dc=com"
    Error: The policy wasn't set up for the target dn entry or it is invalid
    ローカルポリシーが存在しない場合は、これを作成します。
    • サブツリーパスワードポリシーを作成するには、以下を実行します。
      # dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp addsubtree "ou=People,dc=example,dc=com"
    • ユーザーパスワードポリシーを作成するには、以下を実行します。
      # dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp adduser "uid=user_name,ou=People,dc=example,dc=com"
    重要
    新しいローカルポリシーを作成すると、上記のコマンドは、cn=config エントリーの nsslapd-pwpolicy-local パラメーターを on に自動的に設定します。
    ローカルパスワードポリシーを有効にできない場合は、手動でパラメーターを off に設定します。
    dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdlocal off
  2. ローカルポリシー属性を設定します。たとえば、パスワードの有効期限を有効にし、パスワードの最大期間を 14 日 (1209600 秒) に設定するには、以下を実行します。
    • サブツリーパスワードポリシー:
      # dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp set --pwdexpire=on --pwdmaxage=1209600 "ou=People,dc=example,dc=com"
    • ユーザーパスワードポリシー:
      # dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp set --pwdexpire=on --pwdmaxage=1209600 "uid=user_name,ou=People,dc=example,dc=com"
    使用可能な設定の完全なリストを表示するには、次のように入力します。
    # dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp set --help
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.