RHEL 7 : Kerberos KDC

Neste post será apresentado como configurar um simples domínio Kerberos e seu cliente para fazer LABs dedicados ao RHCE .

kerberos

 

1) Ambiente :

Dominio FAJLINUX.COM

10.0.0.10 domain.fajlinux.com #domínio Kerberos
10.0.0.15 client-domain.fajlinux.com #Client

OBS : Estas entradas estarão no /etc/hosts

 

2) Configuração o Dominio Kerberos :

Instalação dos pacotes :

yum install -y krb5-server krb5-workstation pam_krb5

Configure o /etc/krb5.conf

[libdefaults]
    default_realm = FAJLINUX.COM
    dns_lookup_realm = false
    dns_lookup_kdc = false
    ticket_lifetime = 24h
    forwardable = true
    udp_preference_limit = 1000000
    default_tkt_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1
    default_tgs_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1
    permitted_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1

[realms]
    FAJLINUX.COM = {
        kdc = domain.fajlinux.com:88
        admin_server = domain.fajlinux.com:749
        default_domain = fajlinux.com
    }

[domain_realm]
    .FAJLINUX.COM = FAJLINUX.COM
     FAJLINUX.COM = FAJLINUX.COM

[logging]
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmin.log
    default = FILE:/var/log/krb5lib.log

Configure o arquivo /var/kerberos/krb5kdc/kdc.conf

default_realm = FAJLINUX.COM

[kdcdefaults]
    v4_mode = nopreauth
    kdc_ports = 0

[realms]
    FAJLINUX.COM = {
        kdc_ports = 88
        admin_keytab = /etc/kadm5.keytab
        database_name = /var/kerberos/krb5kdc/principal
        acl_file = /var/kerberos/krb5kdc/kadm5.acl
        key_stash_file = /var/kerberos/krb5kdc/stash
        max_life = 10h 0m 0s
        max_renewable_life = 7d 0h 0m 0s
        master_key_type = des3-hmac-sha1
        supported_enctypes = 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
    }

Configure o arquivo /var/kerberos/krb5kdc/kadm5.acl

*/admin@FAJLINUX.COM      *

Crie o Kerberos database

kdb5_util create -s -r EXAMPLE.COM

Coloque a senha master do Kerberos

captura-de-tela-2016-10-16-as-14-19-23

Habilite o serviço no boot e inicie o Kerberos

systemctl start krb5kdc kadmin
systemctl enable krb5kdc kadmin

Crie os usuários de root e de teste

kadmin.local
admin.local:  addprinc root/admin
kadmin.local:  addprinc user1
kadmin.local:  ktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/admin
kadmin.local:  ktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/changepw
kadmin.local:  exit

Entre no domínio add o host no KDC

kadmin.local 
kadmin:  addprinc -randkey nfs/client-domain.fajlinux.com
kadmin: ktadd -k /etc/krb5.keytab host/client-domain.fajlinux.com

Configure o FirewallD

firewall-cmd --permanent --add-port=750/udp
firewall-cmd --permanent --add-port=88/tcp 
firewall-cmd --permanent --add-port=749/tcp 

3) Configuração do servidor cliente :

Instalação do cliente Kerberos :

yum install -y krb5-workstation pam_krb5

Copie o krb5.conf do servidor :

scp -r root@domain.fajlinux.com:/etc/krb5.conf /etc/krb5.conf

Edite o arquivo /etc/ssh/ssh_config :

GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes

Dê reload no SSH :

systemctl reload sshd

Configurando o PAM :

authconfig --enablekrb5 --update

Crie o usuário user01 sem senha, como não temos um domínio LDAP teremos que criar local :

 useradd -m -s /bin/bash testuser

Teste o acesso utilizando a senha passada durante a criação do usuário no Kerberos :

ssh user01@client-domain.fajlinux.com

captura-de-tela-2016-10-17-as-23-33-07

 

Referências :

https://www.certdepot.net/rhel7-configure-system-authenticate-using-kerberos/

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Smart_Cards/Configuring_a_Kerberos_5_Client.html