Professional Documents
Culture Documents
Se o Kerberos ainda não estiver instalado é preciso instalar os pacotes abaixo, caso contrário basta
configurá-lo:
sudo apt-get install krb5-kdc-ldap krb5-kdc krb5-admin-server krb5-config krb5-user
[realms]
EDU.EXAMPLE.ORG = {
kdc = kerberos.edu.example.org
admin_server = kerberos.edu.example.org
master_kdc = kerberos.edu.example.org
default_domain = edu.example.org
database_module = ldap_edu.example.org
}
[domain_realm]
.edu.example.org = EDU.EXAMPLE.ORG
edu.example.org = EDU.EXAMPLE.ORG
[dbmodules]
ldap_edu.example.org = {
db_library = kldap
ldap_kerberos_container_dn = cn=krbcontainer,dc=edu,dc=example,dc=org
ldap_kdc_dn = uid=admin,ou=People,dc=edu,dc=example,dc=org
ldap_kadmind_dn = uid=admin,ou=People,dc=edu,dc=example,dc=org
ldap_service_password_file = /etc/krb5.secrets
ldap_servers = ldap://127.0.0.1
ldap_conns_per_server = 5
}
Para inicializar o banco de dados no diretório LDAP usamos a ferramenta kdb5_ldap_util is com uma
credencial válida no ldap. A Senha principal do KDC é configurada novamente nesse ponto.
sudo kdb5_ldap_util -D uid=admin,ou=People,dc=edu,dc=example,dc=org \
create -subtrees dc=edu,dc=example,dc=org -s -H ldap://localhost -r EDU.EXAMPLE.ORG
Assim como fizemos no primeiro tutorial do Kerberos, crie um usuario administrador que pode modificar o
banco de dados:
sudo kadmin.local -q "addprinc admin/admin@EDU.EXAMPLE.ORG
[realms]
EDU.EXAMPLE.ORG = {
database_name = /var/lib/krb5kdc/principal
admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
acl_file = /etc/krb5kdc/kadm5.acl
key_stash_file = /etc/krb5kdc/stash
kdc_ports = 750,88
max_life = 10h 0m 0s
max_renewable_life = 7d 0h 0m 0s
master_key_type = des3-hmac-sha1
supported_enctypes = aes256-cts:normal arcfour-hmac:normal des3-hmac-
sha1:normal des-cbc-crc:normal des:normal des:v4 des:norealm des:onlyrealm des:afs3
default_principal_flags = +preauth
}
Agora reinicie o krb5-kdc e o krb5-admin-server e execute o commando kinit para pegar um ticket
kerberos:
$ kinit admin/admin
Password for admin/admin@EDU.EXAMPLE.ORG:
$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: admin/admin@EDU.EXAMPLE.ORG
Se você verificar o LDAP pelo phpldapadmin , o principal admin/admin estará armazenado na dn:
krbPrincipalName=admin/admin@EDU.EXAMPLE.ORG,cn=EDU.EXAMPLE.ORG,
cn=krbcontainer,dc=edu,dc=example,dc=org