3.2. Configuração do SSSD para usar o LDAP e exigir autenticação TLS

Complete este procedimento para configurar seu sistema Red Hat Enterprise Linux (RHEL) como um cliente OpenLDAP com a seguinte configuração de cliente:

  • O sistema RHEL autentica os usuários armazenados em um banco de dados de contas de usuários OpenLDAP.
  • O sistema RHEL usa o serviço System Security Services Daemon (SSSD) para recuperar os dados dos usuários.
  • O sistema RHEL se comunica com o servidor OpenLDAP através de uma conexão criptografada em TLS.
Nota

Alternativamente, você pode usar este procedimento para configurar seu sistema RHEL como cliente de um Red Hat Directory Server.

Pré-requisitos

  • O servidor OpenLDAP é instalado e configurado com informações do usuário.
  • Você tem permissões de root no host que você está configurando como cliente LDAP.
  • No host que você está configurando como cliente LDAP, o arquivo /etc/sssd/sssd.conf foi criado e configurado para especificar ldap como o autofs_provider e o id_provider.
  • Você tem uma cópia em formato PEM da cadeia de certificados de assinatura da CA raiz da Autoridade Certificadora que emitiu o certificado de servidor OpenLDAP, armazenada em um arquivo local chamado core-dirsrv.ca.pem.

Procedimento

  1. Instalar os pacotes necessários:

    # dnf -y install openldap-clients sssd sssd-ldap oddjob-mkhomedir
  2. Mude o fornecedor de autenticação para sssd:

    # authselect select sssd with-mkhomedir
  3. Copie o arquivo core-dirsrv.ca.pem contendo a cadeia de certificados de assinatura da CA raiz da Autoridade Certificadora que emitiu o certificado SSL/TLS do servidor OpenLDAP para a pasta /etc/openldap/certs.

    # cp core-dirsrv.ca.pem /etc/openldap/certs
  4. Adicione a URL e o sufixo do seu servidor LDAP ao arquivo /etc/openldap/ldap.conf:

    URI ldap://ldap-server.example.com/
    BASE dc=example,dc=com
  5. No arquivo /etc/openldap/ldap.conf, adicione uma linha apontando o parâmetro TLS_CACERT para /etc/openldap/certs/core-dirsrv.ca.pem:

    # When no CA certificates are specified the Shared System Certificates
    # are in use. In order to have these available along with the ones specified
    # by TLS_CACERTDIR one has to include them explicitly:
    TLS_CACERT /etc/openldap/certs/core-dirsrv.ca.pem
  6. No arquivo /etc/sssd/sssd.conf, adicione seus valores ambientais aos parâmetros ldap_uri e ldap_search_base:

    [domain/default]
    id_provider = ldap
    autofs_provider = ldap
    auth_provider = ldap
    chpass_provider = ldap
    ldap_uri = ldap://ldap-server.example.com/
    ldap_search_base = dc=example,dc=com
    ldap_id_use_start_tls = True
    cache_credentials = True
    ldap_tls_cacertdir = /etc/openldap/certs
    ldap_tls_reqcert = allow
    
    [sssd]
    services = nss, pam, autofs
    domains = default
    
    [nss]
    homedir_substring = /home
    …
  7. Em /etc/sssd/sssd.conf, especifique o requisito de autenticação TLS modificando os valores ldap_tls_cacert e ldap_tls_reqcert na seção [domain]:

    …
    cache_credentials = True
    ldap_tls_cacert = /etc/openldap/certs/core-dirsrv.ca.pem
    ldap_tls_reqcert = hard
  8. Alterar as permissões no arquivo /etc/sssd/sssd.conf:

    # chmod 600 /etc/sssd/sssd.conf
  9. Reinicie e habilite o serviço SSSD e o daemon oddjobd:

    # systemctl restart sssd oddjobd
    # systemctl enable sssd oddjobd
  10. (Opcional) Se seu servidor LDAP usa os protocolos obsoletos TLS 1.0 ou TLS 1.1, mude a política de criptografia do sistema do cliente para o nível LEGACY para permitir que a RHEL 8 se comunique usando estes protocolos:

    # update-crypto-policies --set LEGACY

    Para mais detalhes, consulte a seção Funcionalidade Depreciada nas Notas de Lançamento RHEL 8.0.

Etapas de verificação

  • Verifique se você pode recuperar dados do usuário de seu servidor LDAP usando o comando id e especificando um usuário LDAP:

    # id ldap_user
    uid=17388(ldap_user) gid=45367(sysadmins) groups=45367(sysadmins),25395(engineers),10(wheel),1202200000(admins)

O administrador do sistema pode agora consultar os usuários do LDAP usando o comando id. O comando retorna uma identificação correta do usuário e a adesão ao grupo.

Diretriz não resolvida em master.adoc - inclui::assemblies/assembly_sssd-client-side view.adoc[leveloffset= 1]