cn:ccr:aai:howto:rhel8-ldap-auth
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
cn:ccr:aai:howto:rhel8-ldap-auth [2022/04/15 09:12] – [Configurazione SSSD] resposit@infn.it | cn:ccr:aai:howto:rhel8-ldap-auth [2022/04/15 10:01] (current) – [Configurazione SSSD] resposit@infn.it | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== RHEL8 LDAP AuthN & AuthZ ====== | ||
+ | Le informazioni presenti nell' | ||
+ | In questa guida viene descritta una possibile configurazione minimale di un sistema basato su RHEL8, che utilizza il demone [[https:// | ||
+ | |||
+ | * Le informazioni di utenti/ | ||
+ | * L' | ||
+ | |||
+ | ===== Installazione dei pacchetti necessari ===== | ||
+ | |||
+ | dnf -y install curl tar openldap-clients sssd sssd-ldap oddjob-mkhomedir nss-pam-ldapd openssl-perl | ||
+ | | ||
+ | ===== Configurazione certificati CA e parametri default per openldap ===== | ||
+ | |||
+ | I certificati dei server LDAP nazionali sono attualmente firmati da Sectigo. | ||
+ | |||
+ | Creare (se non esiste già) la directory **/ | ||
+ | curl -s https:// | ||
+ | Generare gli hash dei certificati CA con il comando: | ||
+ | | ||
+ | Editare il file **/ | ||
+ | < | ||
+ | URI ldap:// | ||
+ | BASE | ||
+ | TLS_CACERTDIR | ||
+ | </ | ||
+ | ===== Configurazione SSSD ===== | ||
+ | |||
+ | Impostare il profilo SSSD con authselect. L' | ||
+ | authselect select sssd with-mkhomedir with-custom-netgroup with-custom-automount with-custom-services --force | ||
+ | Creare il file **/ | ||
+ | < | ||
+ | [domain/ | ||
+ | # Le informazioni dell' | ||
+ | id_provider = ldap | ||
+ | ldap_uri = ldap:// | ||
+ | ldap_search_base = dc=na, | ||
+ | |||
+ | # ATTENZIONE: In questo modo si considerano -tutti- gli utenti presenti nel ramo di sede. | ||
+ | # Per impostare dei filtri sugli utenti leggere il paragrafo successivo. | ||
+ | ldap_user_search_base = ou=people, | ||
+ | |||
+ | # ATTENZIONE: I gruppi sul ramo di sede sono in " | ||
+ | ldap_group_search_base = ou=group, | ||
+ | |||
+ | ldap_id_use_start_tls = True | ||
+ | cache_credentials = True | ||
+ | ldap_tls_cacertdir = / | ||
+ | ldap_tls_reqcert = demand | ||
+ | |||
+ | # L' | ||
+ | # SSSD può infatti utilizzare due meccanismi diversi per separare la parte di identità | ||
+ | # da quella di autenticazione. | ||
+ | auth_provider = proxy | ||
+ | proxy_pam_target = sssdproxyldap | ||
+ | |||
+ | # Il cambio password sul ramo LDAP nazionale è consentito solo via IdP o Kerberos, inutile configurare un chpass provider. | ||
+ | chpass_provider = none | ||
+ | |||
+ | # Sugli LDAP server di INFN-AAI non ci sono informazioni di questo tipo, inutile configurare i rispettivi provider. | ||
+ | sudo_provider = none | ||
+ | selinux_provider = none | ||
+ | subdomains_provider = none | ||
+ | session_provider = none | ||
+ | autofs_provider = none | ||
+ | hostid_provider = none | ||
+ | resolver_provider = none | ||
+ | |||
+ | |||
+ | [sssd] | ||
+ | services = nss, pam | ||
+ | domains = aai-napoli | ||
+ | </ | ||
+ | Per filtrare/ | ||
+ | - Impostare un filtro LDAP direttamente nel parametro **ldap_group_search_base**. In questo modo soltanto le entry LDAP che soddisfano il filtro saranno considerati utenti reali dal sistema operativo. La sintassi generale è:< | ||
+ | - Impostare **access_provider** di tipo **ldap** e specificare un **ldap_access_filter**. In questo modo soltanto gli utenti LDAP che soddisfano il filtro potranno loggarsi sul sistema. Chi non soddisfa il filtro non potrà loggarsi ma sarà comunque considerato un utente reale dal sistema operativo. La sintassi generale è:< | ||
+ | ldap_access_filter = < | ||
+ | ldap_access_filter = (isMemberOf=i: | ||
+ | - Una combinazione dei metodi 1 e 2. Ad esempio si può impostare un filtro nella **ldap_group_search_base** per specificare quali sono gli utenti reali del sistema operativo e permettere il login soltanto ad alcuni di questi attraverso un secondo filtro in **ldap_access_filter** | ||
+ | | ||
+ | Impostare i permessi del file: | ||
+ | chmod 600 / | ||
+ | Abilitare i servizi sssd e oddjobd: | ||
+ | systemctl enable sssd.service | ||
+ | systemctl enable oddjobd.service | ||
+ | |||
+ | ===== Configurazione PAM-LDAP ===== | ||
+ | Creare il file **/ | ||
+ | < | ||
+ | auth required | ||
+ | account | ||
+ | password | ||
+ | session | ||
+ | </ | ||
+ | |||
+ | Creare (o editare) il file **/ | ||
+ | < | ||
+ | # L' | ||
+ | uid nslcd | ||
+ | gid ldap | ||
+ | uri ldap:// | ||
+ | base ou=people, | ||
+ | ssl start_tls | ||
+ | tls_cacertdir / | ||
+ | filter passwd (objectClass=infnAccount) | ||
+ | </ | ||
+ | |||
+ | Abilitare il demone nslcd: | ||
+ | systemctl enable nslcd.service | ||
+ | | ||
+ | ===== Restart dei servizi ===== | ||
+ | |||
+ | systemctl restart sssd oddjobd nslcd |