web-dev-qa-db-ja.com

OpenldapによるolcOverlayの設定:ppolicy

質問:オブジェクトクラスpwdPolicyをcn = PasswordDefaultsに追加できないのはなぜですか?


背景情報

私はLDAPを初めて使用しているのですが、ユーザー情報を処理するディレクトリを作成するために、さまざまなチュートリアルやその他のヒントをオンラインで偶然見つけています。ユーザー情報を含み、パスワードポリシーを適用するLDAPサーバーを作成しようとしています。これを実現するには、2.4.40を実行しているLDAPサーバーのou = PoliciesにpwdPolicyオブジェクトクラスを追加する必要があると思います。私は大まかにこれらのチュートリアルに従っています:

_{
  Password Policy tutorial: https://tobrunet.ch/articles/openldap-password-policy-overlay/, 
  Getting started with OpenLDAP and CentOS7: https://www.server-world.info/en/note?os=CentOS_7&p=openldap&f=1, 
  Default and User Specific Password Policy: http://www.zytrax.com/books/ldap/ch6/ppolicy.html
}
_

次のようにレイアウトされたディレクトリがあります。

_-> Root stuff
  -> dc=example,dc=com
    -> cn=Manager (The olcRootDN)
    -> ou=User
       -> *Several entries with objectClasses {posixAccount, shadowAccount, inetOrgPerson}*
    -> ou=Policies (Not sure if this is here because not visible in Apache Directory Studio)
       -> cn=passwordDefault
_

これが、ppolicyを使用するために私が行ったことです。

手順1〜3はOpenLDAP with OLCセクションのコマンドに緩やかに従いますOpenLDAPパスワードポリシーオーバーレイ

ステップ1:次のコマンドを使用して、ppolicyスキーマをOLCにロードします。

_ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
_

ステップ1の理解:cn = {5} ppolicy.ldifを/.../slap.d/cn=config/cn=schemaに追加します

ステップ2:次のコマンドでモジュールをロードします。

_ldapadd -D "cn=config" -W -f addPpolicyOverlay.ldif
_

addPpolicyOverlay.ldifの内容

_dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModuleLoad: ppolicy.la
_

ステップ2:の理解により、cn = module {0} .ldifが/.../slapd.d/cn=configに追加されます。

ステップ3:次のコマンドでppolicyオーバーレイを構成します。

_ldapadd -D "cn=config" -W -f configurePpolicyOverlay.ldif
_

configurePpolicyOverlay.ldifの内容

_dn: olcOverlay=ppolicy,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcOverlay: ppolicy
olcPPolicyDefault: cn=passwordDefault,ou=Policies,dc=example,dc=com
olcPPolicyHashCleartest: FALSE
olcPPolicyUseLockout: FALSE
olcPPolicyForwardUpdates: FALSE
_

ステップ3の理解:データベースを作成し、ppolicyオーバーレイを使用します。ドメインのou = Policiesをdc = example、dc = comにします。 dc = example、dc = comに存在していると思われるにもかかわらず、Apache Directory Studioでou = Policiesを探索できません

ステップ3に関する質問:有効なデフォルトのパスワードポリシーはありますか?

ステップ4:次のコマンドでは、pwdPolicyオブジェクトクラスをolcOverlay = {0} ppolicyに追加できません:

_ldapmodify -a -D "cn=config" -W -f configureDefaultPpolicy.ldif
_

エラー:ldapmodify: invalid format (line 5) entry: "olcOverlay={0}ppolicy,cn=olcDatabase={2}hdb,cn=config"

configureDefaultPpolicy.ldifの内容

_dn: olcOverlay={0}ppolicy,cn=oldDatabase={2}hdb,cn=config]
changetype: modify
olcObjectClasses: pwdPolicy
cn=passwordDefault,ou=Policies,dc=example,dc=com
pwdAttribute: userPassword
pwdAllowUserChange: TRUE
pwdInHistory: 50
pwdMaxFailure: 3
pwdMinLength: 8
_

ステップ4に関する質問:http://i.imgur.com/80yPJVG.jpg (画像を埋め込むほど信頼されていない:()

2
hededo

ステップ3の理解:データベースを作成し、ppolicyオーバーレイを使用します。ドメインのou = Policiesをdc = example、dc = comにします。 dc = example、dc = comに存在すると思われるにもかかわらず、Apache Directory Studioでou = Policiesを探索できません

データベースdc=example,dc=comには何も作成せず、このデータベースで使用されるppolicyオーバーレイの構成を設定するだけです。

ステップ3に関する質問:有効なデフォルトのパスワードポリシーはありますか?

いいえ、チュートリアルに従って、ppolicyを配置できるようにするには、これらのブランチをデータベースdc=example,dc=comに作成する必要があります。

cn=configではなく、データベースdc=example,dc=comに配置する必要があります

dn: ou=Policies,dc=example,dc=com
ou: Policies
objectClass: organizationalUnit

dn: cn=passwordDefault,ou=Policies,dc=example,dc=com
objectClass: pwdPolicy
objectClass: person
objectClass: top
cn: passwordDefault
sn: passwordDefault
pwdAttribute: userPassword
pwdCheckQuality: 0
pwdMinAge: 0
pwdMaxAge: 0
pwdMinLength: 8
pwdInHistory: 5
pwdMaxFailure: 3
pwdFailureCountInterval: 0
pwdLockout: TRUE
pwdLockoutDuration: 0
pwdAllowUserChange: TRUE
pwdExpireWarning: 0
pwdGraceAuthNLimit: 0
pwdMustChange: FALSE
pwdSafeModify: FALSE

手順4に関する質問については、プロのプロキシの背後にあるイメージ画像を見ることができませんが、ppolicyをcn = configにインポートしようとすることが主な問題です。

1
Esteban