Red Hat Training

A Red Hat training course is available for Red Hat Directory Server

2.4.6.2. Server Two の設定

  1. Server 2 でプロキシー管理ユーザーを作成します。この管理ユーザーは、サーバー 1 がバインドし、サーバー 2 への認証を許可するために使用されます。Server 1 に固有のプロキシー管理ユーザー名を選択すると便利です。これは、サーバー 2 にバインドできる プロキシー管理ユーザーです。以下のようにプロキシー管理ユーザーを作成します。
    dn: cn=server1 proxy admin,cn=config
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetOrgPerson
    cn: server1 proxy admin
    sn: server1 proxy admin
    userPassword: secret
    description: Entry for use by database links
    警告
    Directory Manager または管理者 ID ユーザーをリモートサーバーのプロキシー管理ユーザーとして使用しないでください。これにより、セキュリティーホール が作成されます。
  2. Server 2 でデータベースリンク DBLink2 を設定します。
    dn: cn=DBLink2,cn=chaining database,cn=plugins,cn=config
    objectclass: top
    objectclass: extensibleObject
    objectclass: nsBackendInstance
    nsslapd-suffix: l=Zanzibar,c=africa,ou=people,dc=example,dc=com
    nsfarmserverurl: ldap://zanz.africa.example.com:389/
    nsMultiplexorBindDN: cn=server2 proxy admin,cn=config
    nsMultiplexorCredentials: secret
    cn: DBLink2
    nsCheckLocalACI:on
    
    dn: cn="l=Zanzibar,c=africa,ou=people,dc=example,dc=com",cn=mapping tree,cn=config
    objectclass: top
    objectclass: extensibleObject
    objectclass: nsMappingTree
    nsslapd-state: backend
    nsslapd-backend: DBLink2
    nsslapd-parent-suffix: c=africa,ou=people,dc=example,dc=com
    cn: l=Zanzibar,c=africa,ou=people,dc=example,dc=com
    データベースリンク DBLink2 はカスケード連鎖設定の中間データベースリンクであるため、nsCheckLocalACI 属性を on に設定して、クライアントとプロキシーの管理ユーザーによるデータベースリンクへのアクセスを許可するかどうかをサーバーが確認できるようにします。
  3. Server 2 のデータベースリンクは、プロキシー承認制御とループ検出制御を送信するように設定する必要があります。プロキシー認証制御とループ検出制御を実装するには、対応する OID の両方を指定します。以下の情報を Server 2 の cn=config,cn=chaining database,cn=plugins,cn=config エントリーに追加します。
    dn: cn=config,cn=chaining database,cn=plugins,cn=config
    changetype: modify
    add: nsTransmittedControl
    nsTransmittedControl: 2.16.840.1.113730.3.4.12
    nsTransmittedControl: 1.3.6.1.4.1.1466.29539.12
    nsTransmittedControl: 2.16.840.1.113730.3.4.12 は、プロキシー承認コントロールの OID です。nsTransmittedControl: 1.3.6.1.4.1.1466.29539.12 はループ検出制御になります。
    ループ検出制御が設定されているかどうかについて確認し、それに応じて上記のコマンドを調整します。
  4. ACI を設定します。Server 2 で、l=Zanzibar,c=africa,ou=people,dc=example,dc=com 接尾辞の上に接尾辞が存在することを確認し、以下のアクションが利用できるようにします。
    • データベースリンク接尾辞の追加
    • サーバー 2 で作成されたプロキシー認証ユーザーを使用してサーバー 1 が接続できるようにローカルプロキシー認証 ACI を追加します。
    • ローカルクライアントの ACI を追加し、クライアント操作が Server 2 で成功し、サーバー 3 に転送できます。ローカルの ACI チェックが DBLink2 データベースリンクに対して有効になっているため、このローカル ACI が必要です。
    どちらの ACI も c=africa,ou=people,dc=example,dc=com 接尾辞が含まれるデータベースに配置されます。
    注記
    これらの ACI を作成するには、エントリーを保持するために、c =africa,ou=people,dc=example,dc=com 接尾辞に対応するデータベースがすでに存在している必要があります。このデータベースは、各データベースリンクの nsslapd-suffix 属性で指定された接尾辞上の接尾辞と関連付ける必要があります。つまり、最終的な宛先サーバーの接尾辞は、中間サーバーで指定された接尾辞のサブ接尾辞になります。
    1. ローカルプロキシー認証 ACI を c=africa,ou=people,dc=example,dc=com エントリーに追加します。
      aci:(targetattr="*")(target="l=Zanzibar,c=africa,ou=people,dc=example,dc=com")
           (version 3.0; acl "Proxied authorization for database links"; allow (proxy)
           userdn = "ldap:///cn=server1 proxy admin,cn=config";)
    2. 次に、ACI チェックが有効になっているとクライアント操作をサーバー 2 で成功できるようにするローカルクライアント ACI を追加します。この ACI は、l=Zanzibar,c=africa,ou=people,dc=example,dc=com ブランチへのアクセスを提供するために、宛先サーバーで作成された ACI と同じです。c=us,ou=people,dc=example,dc=com 内のすべてのユーザーには、サーバー 3 の l=Zanzibar,c=africa,ou=people,dc=example,dc=com のエントリーへの更新アクセス権が必要になる場合があります。c=africa,ou=people,dc=example,dc=com 接尾辞に以下の ACI を作成し、これを許可します。
      aci:(targetattr="*")(target="l=Zanzibar,c=africa,ou=people,dc=example,dc=com")
           (version 3.0; acl "Client authorization for database links"; allow (all)
           userdn = "ldap:///uid=*,c=us,ou=people,dc=example,dc=com";)
      この ACI は、Server 1 の c=us,ou=people,dc=example,dc=com の UID を持つクライアントが、サーバーの l=Zanzibar,c=africa,ou=people,dc=example,dc=com 接尾辞ツリーであらゆる種類の操作を実行できます。Server 2 に、サーバー 3 に追加の権限を必要とする別の接尾辞にユーザーがある場合は、Server 2 に追加のクライアント ACI を追加する必要がある場合があります。