#format wiki #language fr #acl +All:read = Installing OpenLdap + Heimdal Kerberos on Debian Stretch with Multiple Realm = == Setting-up OpenLdap == * `apt install slapd` * Define the admin password * Run `dpkg-reconfigure slapd` et make initial config. Choose MDB as backend * In the following, we suppose you have the base dn of your db in BASEDN. So if you choose `example.com` as domain in the previous set, set `export BASEDN="dc=example,dc=com"` You can know connect to `dc=example,dc=com` with user `cn=admin,dc=example,dc=com` and the password chosen * Disable anonymous binds et require authentication {{{ cat <<'EOF' | ldapadd -Y EXTERNAL -H ldapi:/// dn: cn=config changetype: modify add: olcDisallows olcDisallows: bind_anon dn: cn=config changetype: modify add: olcRequires olcRequires: authc dn: olcDatabase={-1}frontend,cn=config changetype: modify add: olcRequires olcRequires: authc dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcRequires olcRequires: authc EOF }}} * Optionally set a password to access `cn=config` (I use Apache Directory Studio and shelldap) {{{ PASSWORD=$(slappasswd -c '$6$rounds=100001$%.16s') cat < /tmp/schema_convert.conf include /etc/ldap/schema/core.schema include /etc/ldap/schema/hdb.schema EOF }}} {{{ slapcat -f /tmp/schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={1}hdb,cn=schema,cn=config" | sed 's/{1}hdb/hdb/' | grep '^\(dn:\|objectClass:\|cn:\|olc\| \)' > /etc/ldap/schema/hdb.ldif }}} {{{ ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/hdb.ldif }}} === KDC Config === The configuration below is based on the Heimdal github wiki https://github.com/heimdal/heimdal/wiki * Generate the master KDC encryption key with `kstash --random-key -e aes256-cts-hmac-sha1-96` and backup securely the created file `/var/lib/heimdal-kdc/m-key`. It's the secret key used to encrypt the kerberos users private keys. * Edit /etc/heimdal-kdc/kdc.conf and change the `database =` section {{{ database = { dbname = ldap:ou=KerberosPrincipals,dc=example,dc=com hdb-ldap-structural-object = inetOrgPerson acl_file = /etc/heimdal-kdc/kadmind.acl mkey_file = /var/lib/heimdal-kdc/m-key } }}} * Create the OU ou=KerberosPrincipals,dc=example,dc=com in the ldap * `service heimdal-kdc restart` * kadmin -l init EXAMPLE.COM ---- CatégoriePagePublique