4.2. プライマリ KDC 構成
OpenLDAP を構成したら、KDC を構成します。
• まず、端末から次のように入力して、必要なパッケージをインストールします。
sudo apt install krb5-kdc krb5-admin-server krb5-kdc-ldap
• 今すぐ編集してください /etc/krb5.conf 適切なセクションの下に次のオプションを追加します。
[libdefaults]
default_realm = EXAMPLE.COM
...
[レルム]
Example.COM = {
kdc = kdc01.example.com kdc = kdc02.example.com
admin_server = kdc01.example.com admin_server = kdc02.example.comdefault_domain = example.comdatabase_module = openldap_ldapconf
}
...
[ドメイン_レルム]
.example.com = 例.COM
...
[データベースデフォルト]
ldap_kerberos_container_dn = cn=krbContainer,dc=example,dc=com
[データベースモジュール]
openldap_ldapconf = {
db_library = kldap
ldap_kdc_dn = "cn=管理者、dc=例、dc=com"
# このオブジェクトには読み取り権限が必要です
# レルム コンテナ、プリンシパル コンテナ、およびレルム サブツリー ldap_kadmind_dn = "cn=admin,dc=example,dc=com"
# このオブジェクトには読み取りおよび書き込み権限が必要です
# レルムコンテナ、プリンシパルコンテナ、およびレルムサブツリー ldap_service_password_file = /etc/krb5kdc/service.keyfile ldap_servers = ldaps://ldap01.example.com ldaps://ldap02.example.com ldap_conns_per_server = 5
}
前日比 example.com, dc=例,dc=com, cn=管理者、dc=例、dc=com,
ldap01.example.com を、ネットワークの適切なドメイン、LDAP オブジェクト、および LDAP サーバーに追加します。
• 次に、kdb5_ldap_util ユーティリティを使用してレルムを作成します。
sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com create -subtrees \ dc=example,dc=com -r EXAMPLE.COM -s -H ldap://ldap01.example.com
• LDAP サーバーへのバインドに使用するパスワードのスタッシュを作成します。 このパスワードは、 ldap_kdc_dn
ldap_kadmin_dn オプション /etc/krb5.conf:
sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com stashsrvpw -f \
/etc/krb5kdc/service.keyfile cn=admin,dc=example,dc=com
• LDAP サーバーから CA 証明書をコピーします。
scp ldap01:/etc/ssl/certs/cacert.pem 。 sudo cp cacert.pem /etc/ssl/certs
そして編集 /etc/ldap/ldap.conf 証明書を使用するには:
TLS_CACERT /etc/ssl/certs/cacert.pem
LDAPS を使用して LDAP サーバーに接続できるようにするには、証明書をセカンダリ KDC にコピーする必要もあります。
• Kerberos KDC と管理サーバーを起動します。
sudo systemctl start krb5-kdc.service
sudo systemctl start krb5-admin-server.service
これで、Kerberos プリンシパルを LDAP データベースに追加できるようになり、それらはレプリケーション用に構成された他の LDAP サーバーにコピーされます。 kadmin.local ユーティリティを使用してプリンシパルを追加するには、次のように入力します。
須藤 kadmin.local
プリンシパル root/ として認証中[メール保護] パスワード付き。 kadmin.local: addprinc -x dn="uid=スティーブ,ou=people,dc=example,dc=com" スティーブ 警告: ポリシーが指定されていません [メール保護]; デフォルトはポリシーなしです プリンシパルのパスワードを入力してください "[メール保護]":
プリンシパルのパスワードを再入力してください "[メール保護]": 主要 "[メール保護]" 作成した。
krbPrincipalName、krbPrincipalKey、krbLastPwdChange、および krbExtraData 属性が追加されているはずです。 uid=スティーブ、ou=人々、dc=example、dc=com ユーザーオブジェクト。 kinit および klist ユーティリティを使用して、ユーザーに実際にチケットが発行されたかどうかをテストします。
ユーザー オブジェクトがすでに作成されている場合は、 -x dn="..." Kerberos 属性を追加するにはオプションが必要です。 それ以外の場合は新しい 校長 オブジェクトはレルムサブツリーに作成されます。