MIGRAZIONE DI AUTHSE(7)

NAME
authselect-migration - Una guida su come migrare da authconfig ad authselect.

DESCRIZIONE

Questa pagina di manuale illustra le principali differenze tra authconfig, il precedente strumento per configurare l’autenticazione di sistema e le fonti di identità, e authselect, che lo sostituisce. Spiega inoltre quali azioni devono essere eseguite per migrare da authconfig ad authselect.

PRINCIPALI DIFFERENZE

Authselect adotta un approccio alla configurazione del sistema completamente diverso rispetto al precedente strumento authconfig.

Authconfig fa del suo meglio per conservare le modifiche manuali degli utenti nei file che genera. Genera non solo file di configurazione PAM e nsswitch.conf (per configurare i moduli di autenticazione e le fonti di identità), ma anche semplici file di configurazione per diversi servizi come LDAP e Kerberos.

Authselect non fa nulla di tutto ciò. Non genera alcun file di configurazione oltre a PAM e nsswitch.conf e proibisce severamente qualsiasi modifica manuale alla configurazione generata. Fornisce un set di file chiamati profili. Ogni profilo descrive come dovrebbe apparire la configurazione risultante e può essere leggermente modificato abilitando o disabilitando alcune funzionalità opzionali. Se si rende necessario un profilo diverso da quello fornito da authselect, l’amministratore ha la possibilità di creare un profilo completamente nuovo e utilizzarlo con authselect. Consultare authselect-profiles(5) per ulteriori informazioni sui profili.

Questo potrebbe sembrare un grosso svantaggio, ma in realtà è l’esatto opposto. Authconfig è uno strumento molto datato e le applicazioni che forniscono i servizi richiesti sono cambiate rapidamente nel corso degli anni. In genere, non è più necessario disporre di più moduli di autenticazione in PAM e nsswitch.conf, poiché la stragrande maggioranza dei casi d’uso è coperta da SSSD. Pertanto, non è necessario aggiungerli o rimuoverli specificamente. Esistono anche strumenti migliori per generare la configurazione per i daemon di sistema, che possono aiutare ad automatizzare il processo di adesione a un dominio remoto come realm. Inoltre, i profili forniti forniscono una configurazione di sistema completa e deterministica, che può essere testata in modo completo ed è molto meno soggetta a errori. È anche molto più facile distribuire tale configurazione su più sistemi.

Probabilmente la modifica più controversa è che authselect fornisce profili solo per i provider sssd e winbind. Questi due provider coprono tutti i casi d’uso moderni, dalla fornitura di utenti locali e domini LDAP legacy a configurazioni complesse con server IPA o Active Directory. I profili non supportano più nss-pam-ldapd e gli utenti sono incoraggiati a passare a sssd.

UNIRSI A DOMINI REMOTI

È possibile utilizzare ipa-client-install o realm per unirsi a un dominio IPA e realm per unirsi a un dominio Active Directory. Questi strumenti garantiranno che sia selezionato il profilo authselect corretto e che tutti i daemon e i servizi siano configurati correttamente.

CONVERSIONE DEI TUOI SCRIPT

Se si utilizza ipa-client-install o realm per unirsi a un dominio, è sufficiente rimuovere qualsiasi chiamata authconfig dagli script. Se questa non è un’opzione, è necessario sostituire ogni chiamata authconfig con la sua equivalente chiamata authselect per selezionare un profilo corretto con le funzionalità desiderate. È quindi necessario scrivere un file di configurazione per i servizi richiesti.

Table 1. Relazione tra le opzioni authconfig e i profili authselect
--enablenis | nessuno |

Table 2. Relazione tra le opzioni authconfig e le funzionalità del profilo 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

    Le opzioni di authconfig --enableshadow e --passalgo=sha512 venivano spesso utilizzate per garantire che le password fossero memorizzate in /etc/shadow utilizzando l’algoritmo sha512. I profili authselect ora utilizzano il metodo di hashing yescrypt e non è possibile modificarlo tramite un’opzione (solo creando un profilo personalizzato). È possibile semplicemente omettere queste opzioni.

Esempi.

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

FILE DI CONFIGURAZIONE

Questa sezione contiene frammenti per la configurazione minima di vari servizi.

  LDAP

Anche se LDAP non viene utilizzato direttamente tramite pam_ldap e nss_ldap, è comunque utile configurare ldap.conf per configurare openldap-libs e indirettamente, ad esempio, strumenti LDAP come ldapsearch.

"/etc"/openldap/ldap.conf.

    # Imposta il DN base predefinito
    BASE   dc=example,dc=com
    # Imposta l'URI predefinito del server LDAP
    ldap://ldap.example.com ldap://ldap-master.example.com:666

  KERBEROS

Se si utilizza Kerberos, è necessario configurare il dominio Kerberos predefinito affinché krb5-libs e quindi strumenti come kinit funzionino immediatamente.

"/etc"/krb5.conf.

    [libdefaults]
     default_realm = MYREALM
    \[realms]
    MYREALM = {
    kdc = kdc.myrealm.org
    }
    [domain_realm]
     myrealm.org = MYREALM
     .myrealm.org = MYREALM

  SSSD

Authselect incoraggia gli utenti a utilizzare SSSD ove possibile. Sono disponibili numerose opzioni di configurazione, vedere sssd.conf(5). Questa è una configurazione minima che crea un dominio LDAP denominato default. Il server LDAP viene rilevato automaticamente tramite ricerche DNS.

"/etc"/sssd/sssd.conf.

    [sssd]
    config_file_version = 2
    domains = default
    \[domain/default]
    id\_provider = ldap
    ldap\_uri = *srv*
    dns\_discovery\_domain = myrealm

Ed ecco uno snippet di configurazione per lo stesso dominio, ma ora l’autenticazione avviene tramite Kerberos. Il server KDC viene rilevato automaticamente tramite ricerche 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 = MYREALM
    dns_discovery_domain = myrealm

Se si desidera configurare SSSD per un dominio IPA o Active Directory, utilizzare lo strumento realm. Questo eseguirà una configurazione iniziale che prevede la creazione di un keytab Kerberos e la generazione della configurazione SSSD di base. È quindi possibile ottimizzarla modificando "/etc"/sssd/sssd.conf.

  WINBIND

Se si desidera configurare la macchina per utilizzare Winbind, utilizzare realm. Questo eseguirà una configurazione iniziale che prevede la creazione di una keytab Kerberos e l’esecuzione di adcli per unirsi al dominio. Apporta anche modifiche a smb.conf. È quindi possibile ottimizzarlo modificando "/etc"/samba/smb.conf.

  QUALITÀ DELLA PASSWORD

Authselect abilita il modulo pam_pwquality per applicare restrizioni sulla qualità delle password. Questo modulo è abilitato solo per gli utenti locali. Gli utenti remoti devono utilizzare la policy sulle password applicata dal rispettivo server remoto.

Il modulo pam_pwquality può essere configurato in "/etc"/security/pwquality.conf. Consultare pam_pwquality(8) per vedere le sue opzioni di configurazione e i valori predefiniti.

AVVIO SERVIZI

A seconda della configurazione, è necessario avviare manualmente i servizi richiesti con systemd.

    • SSSD

        systemctl abilita sssd.service ; systemctl avvia 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 la funzione mkhomedir è abilitata

        systemctl enable oddjobd.service ; systemctl start oddjobd.service

STRUMENTI AUTHCONFIG

Authconfig ha fornito uno strumento chiamato cacertdir_rehash. Se dipendi da questo strumento, passa al comando nativo openssl: openssl rehash <directory> che ha lo stesso scopo.

VEDI ANCHE

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