1.4.4. Conectando-se a múltiplos domínios em diferentes florestas AD com SSSD
Este procedimento descreve a união e autenticação de múltiplos domínios do Active Directory (AD) em diferentes florestas onde não há confiança entre eles.
Este exemplo descreve a união de dois domínios, addomain1.com
e addomain2.com
. Use realmd
para entrar no primeiro domínio e configurar automaticamente SSSD, Kerberos e outros utilitários para esse domínio. Use adcli
para entrar em domínios adicionais e edite manualmente os arquivos de configuração para incluir esses domínios.
Pré-requisitos
Certifique-se de que as seguintes portas no host RHEL estejam abertas e acessíveis para os controladores de domínio AD.
Tabela 1.3. Portos necessários para a integração direta de sistemas Linux no AD usando SSSD Serviço Porto Protocolo Notas DNS
53
UDP e TCP
LDAP
389
UDP e TCP
Kerberos
88
UDP e TCP
Kerberos
464
UDP e TCP
Usado pela kadmin para definir e alterar uma senha
Catálogo global LDAP
3268
TCP
Se a opção
id_provider = ad
estiver sendo utilizadaNTP
123
UDP
Opcional
- Certifique-se de que você está usando o servidor controlador de domínio AD para DNS.
- Verificar se o tempo do sistema em ambos os sistemas está sincronizado. Isto assegura que Kerberos seja capaz de trabalhar corretamente.
- Garantir que você tenha credenciais para uma conta de administrador AD em cada domínio AD que tenha direitos de ingressar em máquinas para esse domínio
Procedimento
Instalar os pacotes necessários.
# yum install sssd realmd adcli samba-common-tools oddjob oddjob-mkhomedir
Use
realmd
para entrar no primeiro domínio AD,addomain1.com
.# reino junte-se a ADDOMAIN1.COM
Renomeie o keytab do sistema para um nome único.
# mv /etc/krb5.keytab /etc/addomain1.com.krb5.keytab
Use
adcli
para entrar no segundo domínio AD, e quaisquer domínios adicionais. Use a opção-K
para especificar um caminho único para o keytab Kerberos onde as credenciais do host serão escritas.# adcli join -D dc2.addomain2.com -K /etc/addomain2.com.krb5.keytab
Modificar
/etc/krb5.conf
.-
Adicione a opção
includedir
para incluir arquivos de configuração SSSD. Habilitar consultas DNS para Controladores de Domínios AD com a opção
dns_lookup_kdc
.includedir /var/lib/sss/pubconf/krb5.include.d/ [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = ADDOMAIN1.COM dns_lookup_realm = false dns_lookup_kdc = true ticket_lifetime = 24h renew_lifetime = 7d forwardable = true ...
-
Adicione a opção
Modifique
/etc/sssd/sssd.conf
para incluir informações sobre todos os domínios AD em uso.[sssd] services = nss, pam config_file_version = 2 domains = addomain1.com, addomain2.com [domain/addomain1.com] id_provider = ad access_provider = ad krb5_keytab = /etc/addomain1.com.krb5.keytab ldap_krb5_keytab = /etc/addomain1.com.krb5.keytab ad_server = dc1.addomain1.com ad_maximum_machine_account_password_age = 0 use_fully_qualified_names = true default_shell=/bin/bash override_homedir=/home/%d/%u [domain/addomain2.com] id_provider = ad access_provider = ad krb5_keytab = /etc/addomain2.com.krb5.keytab ldap_krb5_keytab = /etc/addomain2.com.krb5.keytab ad_server = dc2.addomain2.com ad_maximum_machine_account_password_age = 0 use_fully_qualified_names = true default_shell=/bin/bash override_homedir=/home/%d/%u [nss] [pam]
-
Para cada seção de domínio, especifique o caminho para o keytab Kerberos que corresponde a cada domínio com as opções
krb5_keytab
eldap_krb5_keytab
. -
Defina
ad_maximum_machine_account_password_age = 0
para desativar a renovação das chaves Kerberos do host. -
Defina
use_fully_qualified_names = true
para diferenciar os usuários de diferentes domínios. -
Definir
override_homedir = /home/%d/%u
para que os usuários (%u
) de diferentes domínios (%d
) each receive unique home directories. For example, the home directory for userlinuxuser@addomain1.com
is/home/addomain1.com/linuxuser
.
-
Para cada seção de domínio, especifique o caminho para o keytab Kerberos que corresponde a cada domínio com as opções
O SSH recupera as chaves do host da tabela de chaves do sistema e fornece uma única funcionalidade de sinalização através de GSSAPI/Kerberos. Se você gostaria de usar o single sign-on, copie todas as chaves de host atuais do Kerberos para a guia de chaves do sistema
/etc/kbr5.keytab
.# ktutil ktutil: rkt /etc/addomain1.com.krb5.keytab ktutil: rkt /etc/addomain2.com.krb5.keytab ktutil: wkt /etc/krb5.keytab
Reinicie e habilite o serviço SSSD.
# systemctl restart sssd # systemctl enable sssd
Etapas de verificação
Mostrar os detalhes do usuário para os usuários de cada domínio AD:
# id administrator@addomain1.com uid=1240800500(administrator@addomain1.com) gid=1240800513(domain users@addomain1.com) groups=1240800513(domain users@addomain1.com),1240800512(domain admins@addomain1.com),1240800518(schema admins@addomain1.com),1240800520(group policy creator owners@addomain1.com),1240800572(denied rodc password replication group@addomain1.com),1240800519(enterprise admins@addomain1.com) # id administrator@addomain2.com uid=1013800500(administrator@addomain2.com) gid=1013800500(administrator@addomain2.com) groups=1013800500(administrator@addomain2.com),1013800513(domain users@addomain2.com)
Faça o login como usuário de cada domínio e verifique se o diretório home correto foi criado para o usuário.
# ssh administrator@addomain1.com@localhost administrator@addomain1.com@localhost's password: Creating directory '/home/addomain1.com/administrator'. $ pwd /home/addomain1.com/administrator
# ssh administrator@addomain2.com@localhost administrator@addomain2.com@localhost's password: Creating directory '/home/addomain2.com/administrator'. $ pwd /home/addomain2.com/administrator