AUTHSELECT-MIGRATIO(7)

NAME
authselect-migration - Um guia sobre como migrar do authconfig para authselect.

DESCRIÇÃO

Esta página de manual explica as principais diferenças entre o authconfig, a ferramenta anterior para configurar a autenticação do sistema e as fontes de identidade, e o authselect que o substitui. Ele também explica quais ações precisam ser executadas para migrar do authconfig para o authselect.

PRINCIPAIS DIFERENÇAS

O authselect adota uma abordagem completamente diferente da configuração do sistema que a ferramenta anterior authconfig.

O authconfig faz o possível para manter as alterações manuais dos usuários nos arquivos que gera. Ele gera não apenas arquivos de configuração PAM e nsswitch.conf (para configurar módulos de autenticação e fontes de identidade), mas também arquivos de configuração simples para diversos serviços, como LDAP e Kerberos.

O authselect não faz isso. Ele não gera nenhum arquivo de configuração além do PAM e do nsswitch.conf e proíbe terminantemente qualquer alteração manual na configuração gerada. Ele fornece um conjunto de arquivos chamados perfis. Cada perfil descreve como a configuração resultante deve ser e pode ser ligeiramente modificada habilitando ou desabilitando certos recursos opcionais. Se surgir a necessidade de um perfil diferente do fornecido pelo authselect, o administrador tem a opção de criar um perfil totalmente novo e usá-lo com o authselect. Consulte authselect-profiles(5) para saber mais sobre perfis.

Isso pode parecer uma grande desvantagem, mas a verdade é o oposto. O authconfig é uma ferramenta muito antiga e os aplicativos que fornecem os serviços necessários mudaram rapidamente ao longo dos anos. Normalmente, não há mais necessidade de ter vários módulos de autenticação no PAM e no nsswitch.conf, pois a grande maioria dos casos de uso é coberta pelo SSSD. Portanto, não há necessidade de adicioná-los ou removê-los especificamente. Existem também ferramentas melhores para gerar configuração para daemons de sistema que podem ajudar a automatizar o processo de ingresso em um domínio remoto, como realm. Além disso, os perfis fornecidos nos fornecem uma configuração de sistema abrangente e determinística que pode ser totalmente testada e é muito menos propensa a erros. Também é muito mais fácil distribuir essa configuração entre vários sistemas.

Provavelmente a mudança mais controversa é que o authselect envia apenas perfis para provedores sssd e winbind. Esses dois provedores abrangem todos os casos de uso modernos, desde o fornecimento de usuários locais e domínio LDAP legado até configurações complexas com servidores IPA ou Active Directory. Os perfis não oferecem mais suporte para nss-pam-ldapd e os usuários são incentivados a migrar para sssd.

INGRESSANDO EM DOMÍNIOS REMOTOS

Você pode usar ipa-client-install ou realm para ingressar em um domínio IPA e realm para ingressar em um domínio do Active Directory. Essas ferramentas garantirão que o perfil authselect correto seja selecionado e que todos os daemons e serviços estejam configurados corretamente.

CONVERTENDO SEUS SCRIPTS

Se você usar ipa-client-install ou realm para ingressar em um domínio, basta remover qualquer chamada authconfig dos seus scripts. Se isso não for possível, você precisará substituir cada chamada authconfig pela chamada authselect equivalente para selecionar o perfil correto com os recursos desejados. Em seguida, você também precisará criar um arquivo de configuração para os serviços necessários.

Table 1. Relação das opções do authconfig com os perfis do authselect
--enablenis | none

Table 2. Relação das opções do authconfig com os recursos do perfil do authselect
Authconfig options | Authselect profile feature
--enablesmartcard | with-smartcard
--enablefingerprint | with-fingerprint
--enablemkhomedir | with-mkhomedir
--enablefaillock | with-faillock
--enablepamaccess | with-pamaccess
--enablewinbindkrb5 | with-krb5
--enableshadow | none
--passalgo | none

    Note

    As opções de configuração de autenticação --enableshadow e --passalgo=sha512 eram frequentemente usadas para garantir que as senhas fossem armazenadas em /etc/shadow usando o algoritmo sha512. Os perfis authselect agora usam o método de hash yescrypt e ele não pode ser alterado por meio de uma opção (apenas criando um perfil personalizado). Você pode simplesmente omitir essas opções.

Exemplos.

    authconfig --enableldap --enableldapauth --enablefaillock --updateall
    authselect select sssd with-faillock
    authconfig --enablesssd --enablesssdauth --enablesmartcard --smartcardmodule=sssd --updateall
    authselect select sssd with-smartcard
    authconfig --enablepamaccess --updateall
    authselect select sssd with-pamaccess
    authconfig --enablewinbind --enablewinbindauth --winbindjoin=Administrador --updateall
    realm join -U Administrador --client-software=winbind DOMINIOWINBIND

ARQUIVOS DE CONFIGURAÇÕES

Esta seção contém trechos para configuração mínima de vários serviços.

  LDAP

Mesmo que o LDAP não seja usado diretamente através de pam_ldap e nss_ldap, ainda é útil configurar o ldap.conf para configurar openldap-libs e indiretamente, por exemplo, ferramentas LDAP como ldapsearch.

"/etc"/openldap/ldap.conf.

    # Define o dn base padrão
    BASE   dc=example,dc=com
    # Define o servidor LDAP padrão
    URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

  KERBEROS

Se você usa o Kerberos, o domínio padrão do Kerberos deve ser configurado para que o krb5-libs e, portanto, ferramentas como o kinit funcionem imediatamente.

"/etc"/krb5.conf.

    [libdefaults]
     default_realm = MEUREALM
    [realms]
     MEUREALM = {
      kdc = kdc.meurealm.org
     }
    [domain_realm]
     meurealm.org = MEUREALM
     .meurealm.org = MEUREALM

  SSSD

O authselect incentiva os usuários a usar SSSD sempre que possível. Há muitas opções de configuração, consulte sssd.conf(5). Esta é uma configuração mínima que cria um domínio LDAP chamado default. O servidor LDAP é descoberto automaticamente por meio de pesquisas de DNS.

"/etc"/sssd/sssd.conf.

    [sssd]
    config_file_version = 2
    domains = default
    [domain/default]
    id_provider = ldap
    ldap_uri = _srv_
    dns_discovery_domain = meurealm

E aqui está um trecho de configuração para o mesmo domínio, mas agora a autenticação é feita via Kerberos. O servidor KDC é descoberto automaticamente por meio de pesquisas de DNS.

"/etc"/sssd/sssd.conf.

    [sssd]
    config_file_version = 2
    domains = default
    [domain/default]
    id_provider = ldap
    auth_provider = krb5
    ldap_uri = _srv_
    krb5_server = _srv_
    krb5_realm = MEUREALM
    dns_discovery_domain = meurealm

Se você quiser configurar o SSSD para um domínio IPA ou Active Directory, use a ferramenta realm. Isso executará uma configuração inicial que envolve a criação de um keytab Kerberos e a geração da configuração básica do SSSD. Você pode então ajustá-lo modificando "/etc"/sssd/sssd.conf.

  WINBIND

Se quiser configurar a máquina para usar o Winbind, use realm. Isso executará uma configuração inicial que envolve a criação de um keytab de Kerberos e a execução de adcli para ingressar no domínio. Também fará alterações em smb.conf. Você pode então ajustá-lo modificando "/etc"/samba/smb.conf.

  QUALIDADE DE SENHA

O Authselect habilita o módulo pam_pwquality para aplicar restrições de qualidade de senha. Este módulo é habilitado apenas para usuários locais. Usuários remotos devem usar a política de senha aplicada pelo respectivo servidor remoto.

O módulo pam_pwquality pode ser configurado em "/etc"/security/pwquality.conf. Consulte pam_pwquality(8) para ver suas opções de configuração e padrões.

INICIANDO SERVIÇOS

Dependendo da sua configuração, você precisa iniciar os serviços necessários manualmente com o systemd.

    • SSSD

        systemctl enable sssd.service ; systemctl start sssd.service

    • Winbind

        systemctl enable winbind.service ; systemctl start winbind.service

    • NIS

        systemctl enable rpcbind.service ; systemctl start rpcbind.service
        systemctl enable ypbind.service ; systemctl start ypbind.service

    • Se o recurso mkhomedir estiver habilitado

        systemctl enable oddjobd.service ; systemctl start oddjobd.service

FERRAMENTAS DO AUTHCONFIG

A authconfig enviou uma ferramenta chamada cacertdir_rehash. Se você depende dessa ferramenta, mude para o comando nativo do openssl: openssl rehash <diretório> que serve ao mesmo propósito.

VEJA TAMBÉM

authselect(8), authselect-profiles(5), realm(8), ipa-client-install(1), sssd.conf(5), smb.conf(5), ldap.conf(5), krb5.conf(5)