手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 8 389 Directory Server 構築 #3 – BIND ユーザーとアクセス制御

CentOS 8 は既に通常の CentOS Linux としてはサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされているディストリビューションを利用してください。

CentOS 8 サーバー管理ガイドへ戻る

CentOS 8 の 389 Directory Server で、アプリケーション用の BIND ユーザーとアクセス制御を整理する手順です。LDAP を使うアプリケーションは、Directory Manager ではなく、参照用途に限定した BIND DN で接続させるのが基本です。

ここでは、読み取り専用のサービスアカウントを作成し、どの範囲を読ませるかを明確にします。LDAP 連携では、認証できることよりも、不要な属性や不要な DN を読ませないことが重要です。

BIND ユーザー用 OU を用意する

dn: ou=Services,dc=example,dc=local
objectClass: organizationalUnit
ou: Services

BIND ユーザーを登録する

dn: uid=ldap-reader,ou=Services,dc=example,dc=local
objectClass: inetOrgPerson
objectClass: simpleSecurityObject
uid: ldap-reader
cn: LDAP Reader
sn: Reader
userPassword: change_this_password
ldapadd -x -D "cn=Directory Manager" -W -f ldap-reader.ldif

BIND できるか確認する

ldapwhoami -x -D "uid=ldap-reader,ou=Services,dc=example,dc=local" -W

検索できる範囲を確認する

ldapsearch -x -D "uid=ldap-reader,ou=Services,dc=example,dc=local" -W -b dc=example,dc=local "(uid=user01)"

アクセス制御の考え方

389 Directory Server のアクセス制御は、運用上かなり重要です。アプリケーション連携用 BIND ユーザーには、必要な subtree と属性だけを読ませ、管理操作やパスワード属性の扱いは慎重に分けます。

対象考え方
Directory Manager緊急時や管理操作用。アプリケーションには使わせない。
BIND ユーザーアプリケーションの検索用。権限を限定する。
一般ユーザー認証対象。必要に応じて自分の属性だけ変更できるようにする。

確認するポイント

  • アプリケーションが Directory Manager で接続していないか。
  • BIND ユーザーのパスワード管理が明確か。
  • 読ませる subtree と属性が過剰でないか。
  • SSSD、Samba、Postfix など用途ごとに BIND DN を分ける必要があるか。

まとめ

LDAP 連携では、接続できることより、どの DN で接続し、どの範囲を読めるかが重要です。CentOS 8 の 389 Directory Server では、Directory Manager、BIND ユーザー、一般ユーザーの責務を分けることで、後続の認証連携やアプリケーション連携を安全に整理できます。

関連する記事

参考書籍

参考
書籍
参考書籍
LDAP – 設定・管理・プログラミング

LDAP / OpenLDAP の設定、管理、連携を確認したい場合の参考書籍です。古い書籍のため、価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

CentOS 8 389 Directory Server 構築 #3 – BIND ユーザーとアクセス制御

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る