Renovação Automática de Keytab do Host Kerberos com SSSD

1

Alguém aqui viu seus servidores Linux removidos do domínio do AD devido a credenciais de máquina expiradas? Estamos usando autenticação AD com sssd-1.13.3-56.el6 (Centos 6)

Por " link ", o sssd deve ser capaz de renovar automaticamente as credenciais do host. Não há menção a quaisquer etapas extras de configuração que devem ser tomadas durante a adesão ao AD, relacionadas à documentação da Red Hat ("Integrando o Red Hat Enterprise Linux 6 com Active Directory ").

Por minha pesquisa, alguns executam tarefas cron para renovar as credenciais do host " link "

Solução de problemas do SSSD Kerberos AD Centos

Precisamos de um cron job para executar: "msktutil --auto-update" e "kinit -k $"?

Ou o sssd deve ser capaz de lidar com isso?

Você define "ad_maximum_machine_account_password_age" no sssd.conf ou o deixa por padrão 30 dias.

Felicidades,

ATUALIZAÇÃO: @jhrozek, obrigado pelo seu comentário.
Ainda estou vendo o mesmo problema com minha configuração.
Parece que o ticket não foi renovado em 28 de maio e o servidor saiu do domínio:

    # net ads testjoin   
kerberos_kinit_password [email protected] failed: Preauthentication failed     
kerberos_kinit_password [email protected] failed: Preauthentication failed     
Join to domain is not valid: Logon failure    

Status do Keytab:

# klist -kt
Keytab name: FILE:/etc/krb5.keytab
KVNO Timestamp         Principal
---- ----------------- --------------------------------------------------------
   2 04/28/17 02:57:54 host/[email protected]
   2 04/28/17 02:57:54 host/[email protected]
   2 04/28/17 02:57:54 host/[email protected]
   2 04/28/17 02:57:54 host/[email protected]
   2 04/28/17 02:57:54 host/[email protected]
   2 04/28/17 02:57:54 host/[email protected]
   2 04/28/17 02:57:54 host/[email protected]
   2 04/28/17 02:57:54 host/[email protected]
   2 04/28/17 02:57:55 host/[email protected]
   2 04/28/17 02:57:55 host/[email protected]
   2 04/28/17 02:57:55 [email protected]
   2 04/28/17 02:57:55 [email protected]
   2 04/28/17 02:57:55 [email protected]
   2 04/28/17 02:57:55 [email protected]
   2 04/28/17 02:57:55 [email protected]
   3 05/28/17 14:01:39 [email protected]
   3 05/28/17 14:01:39 [email protected]
   3 05/28/17 14:01:39 [email protected]
   3 05/28/17 14:01:39 [email protected]
   3 05/28/17 14:01:39 [email protected]
   3 05/28/17 14:01:39 host/[email protected]
   3 05/28/17 14:01:39 host/[email protected]
   3 05/28/17 14:01:39 host/[email protected]
   3 05/28/17 14:01:39 host/[email protected]
   3 05/28/17 14:01:39 host/[email protected]
   3 05/28/17 14:01:39 host/[email protected]
   3 05/28/17 14:01:39 host/[email protected]
   3 05/28/17 14:01:39 host/[email protected]
   3 05/28/17 14:01:39 host/[email protected]
   3 05/28/17 14:01:39 host/[email protected]

Será que isso parece ter renovado um ticket em 28 de maio, mas de alguma forma a conta do servidor foi excluída?

SSSD & Pacotes ADCLI instalados:

# rpm -qa | grep sssd
sssd-client-1.13.3-56.el6.x86_64
sssd-ipa-1.13.3-56.el6.x86_64
sssd-proxy-1.13.3-56.el6.x86_64
python-sssdconfig-1.13.3-56.el6.noarch
sssd-common-pac-1.13.3-56.el6.x86_64
sssd-krb5-1.13.3-56.el6.x86_64
sssd-krb5-common-1.13.3-56.el6.x86_64
sssd-ldap-1.13.3-56.el6.x86_64
sssd-common-1.13.3-56.el6.x86_64
sssd-ad-1.13.3-56.el6.x86_64
sssd-1.13.3-56.el6.x86_64


# rpm -qa | grep adcli
adcli-0.8.1-1.el6.x86_64

E sssd.conf:

[sssd]
domains = stage.example.com
services = nss, pam, ssh
config_file_version = 2
default_domain_suffix = main.example.com
full_name_format = %1$s@%2$s

re_expression = (((?P<domain>[^\]+)\(?P<name>.+$))|((?P<name>[^@]+)@(?P<domain>.+$))|(^(?P<name>[^@\]+)$))

[domain/stage.example.com
id_provider = ad
auth_provider = ad
access_provider = ad
chpass_provider = ad
cache_credentials = false
ad_domain = stage.example.com
ldap_id_mapping = true
krb5_realm = STAGE.example.com
default_shell = /bin/bash
ad_gpo_access_control = permissive
override_homedir = /home/admin/%u

E krb5.conf:

[logging]


default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = STAGE.EXAMPLE.COM
 dns_lookup_realm = true
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 forwardable = true


clockskew = true
proxiable = true

[realms]

 STAGE.EXAMPLE.COM = {
  kdc = 172.31.1.252
  kdc = 172.31.0.252

  admin_server = 172.31.1.252
  admin_server = 172.31.0.252
 }

[domain_realm]
 stage.example.com = STAGE.EXAMPLE.COM
 .stage.example.com = STAGE.EXAMPLE.COM

Alguma sugestão para solucionar isso?

    
por BBDG 24.05.2017 / 17:49

2 respostas

1

Isso deve acontecer automaticamente, mas você precisa instalar o adcli. sssd apenas forks e executivos adcli para realizar a atualização.

    
por 27.05.2017 / 18:23
0

Você também pode configurar seu (s) servidor (es) AD como fonte de tempo NTP, porque se os relógios de suas máquinas clientes ficarem muito fora de sincronia, eles falharão na autenticação / renovação e isso pode acontecer com muito mais frequência agora que tudo é virtualizado sem seu próprio hardware RTC.

    
por 13.03.2018 / 23:45