Autenticazione LDAP tramite Windows Active Directory

Imparate a configurare SSL o TLS per l'autenticazione LDAP utilizzando Windows Active Directory.

Per Netezza Performance Server 11.1.0.1 e versioni successive

  1. Aggiungere gli utenti di Windows Active Directory al database.
    create user <user> password <password>
    Definire la password in base alla propria politica di password.
    Esempio:
    nzsql -c "create user ad_user1 password 'password';"
  2. Impostare il tipo di autenticazione.
    SET AUTHENTICATION LDAP
    • Impostare l'autenticazione su AD con SSL disattivato
      1. Eseguire il comando.
        nzsql -c " SET AUTHENTICATION LDAP BASE 'dc=nzdevelopment,dc=com' NAMECASE lowercase SERVER 'AD_SERVER' SSL 'OFF' BINDPW Netezzapwd BINDDN 'cn=ad_admin_user1,cn=Users,dc=nzdevelopment,dc=com'; "

        Dove cn si riferisce al nome comune e dc al componente di dominio.

      2. Come utente 'root, aggiornare il file '/etc/sssd/sssd.conf sull'host.
        Potrebbe essere necessario modificare manualmente le righe in grassetto se non sono già impostate.
        =============================/etc/sssd/sssd.conf=============================
        
        [domain/external_ldap]
        
        ldap_tls_reqcert = never
        ldap_id_use_start_tls = False
        ldap_schema = AD
        ignore_group_members = True
        auth_provider = ldap
        id_provider = ldap
        ldap_rfc2307_fallback_to_local_users = True
        ldap_referrals = False
        ldap_id_mapping = True
        override_homedir = /home/%u
        ldap_network_timeout = 3
        ldap_opt_timeout = 60
        cache_credentials = True
        ldap_user_search_base = dc=nzdevelopment,dc=com
        entry_cache_group_timeout = 0
        entry_cache_user_timeout = 0
        ldap_search_timeout = 30
        entry_cache_timeout = 600
        ldap_default_bind_dn = cn=ad_user1,cn=Users,dc=nzdevelopment,dc=com
        ldap_uri = ldap://<AD_SERVER>:389
        #debug_level = 10
        case_sensitive = False
        ldap_group_name = CN
        ldap_user_name = sAMAccountName
        
        ldap_default_authtok_type = obfuscated_password
        ldap_default_authtok = AAAQANEC2d5xigH0d4w9phf5F9zD4PvXWvxwz61LYsoQq5BM/M7WslokdqbS6CnOyTzGp4XmzCC7owRfYq8sALPYypoAAQID
        [sssd]
        services = nss, ifp, sudo, ssh, pam
        domains = external_ldap
        
        [nss]
        memcache_timeout = 600
        homedir_substring = /home
        
        [pam]
        #debug_level = 10
        
        [sudo]
        [autofs]
        [ssh]
        [pac]
        [ifp]
        
      3. Come utente 'root, riavviare il servizio 'sssd.

        Se avete molti gruppi o utenti sul server AD, potete migliorare le prestazioni di accesso aggiungendo 'ldap_group_member = uniqueMember al file 'sssd.conf.

        1. Aggiungere 'ldap_group_member = uniqueMember alla sezione '[domain/external_ldap] in '/etc/sssd/sssd.conf.
        ignore_group_members = True (add only if not present since this variable was already exist)
        ldap_group_member = uniqueMember
        2. Riavviare il servizio " sssd:
        systemctl stop sssd ; rm -f /var/lib/sss/db/* ; systemctl start sssd

        3. Verificare l'autenticazione.

    • Impostare l'autenticazione su AD con SSL ON
      Il certificato deve essere rilasciato al server AD da una CA affidabile. Ottenere il file del certificato CA e salvarlo in una posizione del sistema Netezza Performance Server. Per i sistemi Netezza Performance Server ad alta disponibilità (HA), salvare il file in una posizione dell'unità condivisa, ad esempio una nuova directory sotto '/nz. Entrambi i nodi di sistema Netezza Performance Server devono poter accedere al file del certificato utilizzando lo stesso nome di percorso.
      1. Impostare l'autenticazione AD con SSL su ON.
        nzsql -c " SET AUTHENTICATION LDAP BASE 'dc=nzdevelopment,dc=com' NAMECASE lowercase SERVER 'AD_SERVER' SSL 'ON' BINDPW Netezzapwd BINDDN 'cn=ad_admin_user1,cn=Users,dc=nzdevelopment,dc=com'; "
      2. Come utente 'root, aggiornare manualmente il file '/etc/sssd/sssd.conf sull'host Netezza Performance Server.

        È possibile connettersi al server AD tramite SSL o TSL. Potrebbe essere necessario modificare manualmente le righe in grassetto se non sono già impostate.

        1. Per connettersi al server AD tramite SSL, aggiornare i seguenti elementi.
          ===========================/etc/sssd/sssd.conf=============================
          [domain/external_ldap]
          
          ldap_tls_reqcert = demand
          ldap_id_use_start_tls = False
          ldap_tls_cacert = /nz/caCert/ca_cert.pem
          ldap_schema = AD
          ignore_group_members = True
          auth_provider = ldap
          id_provider = ldap
          ldap_rfc2307_fallback_to_local_users = True
          ldap_referrals = False
          ldap_id_mapping = True
          override_homedir = /home/%u
          ldap_network_timeout = 3
          ldap_opt_timeout = 60
          cache_credentials = True
          ldap_user_search_base = dc=nzdevelopment,dc=com
          entry_cache_group_timeout = 0
          entry_cache_user_timeout = 0
          ldap_search_timeout = 30
          entry_cache_timeout = 600
          ldap_default_bind_dn = cn=ad_user1,cn=Users,dc=nzdevelopment,dc=com
          ldap_uri = ldaps://<AD_SERVER>:636
          #debug_level = 10
          case_sensitive = False
          ldap_group_name = CN
          ldap_user_name = sAMAccountName
          
          ldap_default_authtok_type = obfuscated_password
          ldap_default_authtok = AAAQAEPSvINy7WB7Y5ULLHAgp9PNt9Ivdd5KZlp7DDzN7a+5wpRrq8dBoA4RonugOBXhxMA44TglOom7u4cqMBpFeoAAAQID
          [sssd]
          services = nss, ifp, sudo, ssh, pam
          domains = external_ldap
          
          [nss]
          memcache_timeout = 600
          homedir_substring = /home
          
          [pam]
          #debug_level = 10
          
          [sudo]
          [autofs]
          [ssh]
          [pac]
          [ifp]
          [secrets]
          
        2. Per connettersi al server AD tramite TLS, utilizzare il seguente modello.
          ===========================/etc/sssd/sssd.conf=============================
          [domain/external_ldap]
          
          ldap_tls_reqcert = demand
          ldap_id_use_start_tls = True
          ldap_tls_cacert = /nz/caCert/ca_cert.pem
          ldap_schema = AD
          ignore_group_members = True
          auth_provider = ldap
          id_provider = ldap
          ldap_rfc2307_fallback_to_local_users = True
          ldap_referrals = False
          ldap_id_mapping = True
          override_homedir = /home/%u
          ldap_network_timeout = 3
          ldap_opt_timeout = 60
          cache_credentials = True
          ldap_user_search_base = dc=nzdevelopment,dc=com
          entry_cache_group_timeout = 0
          entry_cache_user_timeout = 0
          ldap_search_timeout = 30
          entry_cache_timeout = 600
          ldap_default_bind_dn = cn=ad_user1,cn=Users,dc=nzdevelopment,dc=com
          ldap_uri = ldap://<AD_SERVER>:389
          #debug_level = 10
          case_sensitive = False
          ldap_group_name = CN
          ldap_user_name = sAMAccountName
          
          ldap_default_authtok_type = obfuscated_password
          ldap_default_authtok = AAAQAEPSvINy7WB7Y5ULLHAgp9PNt9Ivdd5KZlp7DDzN7a+5wpRrq8dBoA4RonugOBXhxMA44TglOom7u4cqMBpFeoAAAQID
          [sssd]
          services = nss, ifp, sudo, ssh, pam
          domains = external_ldap
          
          [nss]
          memcache_timeout = 600
          homedir_substring = /home
          
          [pam]
          #debug_level = 10
          
          [sudo]
          [autofs]
          [ssh]
          [pac]
          [ifp]
          [secrets]
          
        Nota: 1. Per l'attributo ldap_tls_cacert di 'sssd.conf, indicare il nome del file del certificato CA con la posizione corretta della directory.

        2. Il server Active Directory indicato nel comando 'SET AUTHENTICATION deve corrispondere al nome dell'host nel file del certificato del server LDAP.

      3. Come utente 'root, riavviare il servizio 'sssd.
        systemctl restart sssd

      Se avete molti gruppi o utenti sul server AD, potete migliorare le prestazioni di accesso aggiungendo 'ldap_group_member = uniqueMember al file 'sssd.conf.

      1. Aggiungere 'ldap_group_member = uniqueMember alla sezione '[domain/external_ldap] in '/etc/sssd/sssd.conf.
      ignore_group_members = True (add only if not present since this variable was already exist)
      ldap_group_member = uniqueMember
      2. Riavviare il servizio " sssd.
      systemctl stop sssd ; rm -f /var/lib/sss/db/* ; systemctl start sssd

      3. Verificare l'autenticazione.

Per Netezza Performance Server 11.1.0.2 e versioni successive

  1. Aggiungere gli utenti di Windows Active Directory al database.
    create user <user> password <password>
    Definire la password in base alla propria politica di password.
    Esempio:
    nzsql -c "create user ad_user1 password 'password';"
  2. Impostare il tipo di autenticazione:
    • Impostare l'autenticazione su AD con SSL/TLS disattivato
      1. Eseguire il comando.
        nzsql -c " SET AUTHENTICATION LDAP BASE 'dc=nzdevelopment,dc=com' NAMECASE lowercase SERVER 'AD_SERVER' SSL 'OFF' BINDPW Netezzapwd BINDDN 'cn=ad_admin_user1,cn=Users,dc=nzdevelopment,dc=com' ATTRNAME 'sAMAccountName';"
      2. Ora il file 'sssd.conf ha il seguente aspetto.
        [domain/external_ldap]
        
        ###The below common parameters and values should not be changed
        
        ldap_default_authtok_type = obfuscated_password
        ldap_schema = AD
        ldap_group_name = CN
        ldap_user_name = sAMAccountName
        ignore_group_members = True
        auth_provider = ldap
        ldap_rfc2307_fallback_to_local_users = True
        ldap_referrals = False
        override_homedir = /home/%u
        ldap_network_timeout = 3
        ldap_opt_timeout = 60
        cache_credentials = True
        entry_cache_group_timeout = 0
        entry_cache_user_timeout = 0
        ldap_search_timeout = 30
        id_provider = ldap
        entry_cache_timeout = 600
        case_sensitive = False
        ldap_id_mapping = True
        #ldap_group_attribute =
        #debug_level = 10
        
        ###Supplied from Input
        
        ldap_uri = ldap://AD_SERVER:389
        ldap_user_search_base = dc=nzdevelopment,dc=com
        ldap_default_bind_dn = cn=ad_admin_user1,cn=Users,dc=nzdevelopment,dc=com
        ldap_tls_reqcert = never
        #ldap_id_use_start_tls =
        #ldap_tls_cacert =
        
        ldap_default_authtok = AAAQAA5gKJVg+dHVdi2LU9uTepJAJRYtMh1mlO8vp4ysVuFjw5OrxTeY4MteantA1+FLTm2+XGmtdokCsiZAfGExIlsAAQID
        [sssd]
        services = nss, ifp, sudo, ssh, pam
        domains = external_ldap
        
        [nss]
        memcache_timeout = 600
        homedir_substring = /home
        
        [pam]
        #debug_level = 10
        
        [sudo]
        [autofs]
        [ssh]
        [pac]
        [ifp]
        [secrets]

        Se avete molti gruppi o utenti sul server AD, potete migliorare le prestazioni di accesso aggiungendo 'ldap_group_member = uniqueMember al file 'sssd.conf.

        1. Aggiungere 'ldap_group_member = uniqueMember alla sezione '[domain/external_ldap] in '/etc/sssd/sssd.conf.
        ignore_group_members = True (add only if not present since this variable was already exist)
        ldap_group_member = uniqueMember
        2. Riavviare il servizio " sssd.
        systemctl stop sssd ; rm -f /var/lib/sss/db/* ; systemctl start sssd

        3. Verificare l'autenticazione.

    • Impostare l'autenticazione su AD con SSL ON
      Il certificato deve essere rilasciato al server AD da una CA affidabile. Ottenere il file del certificato CA e salvarlo in una posizione del sistema Netezza Performance Server. Per i sistemi Netezza Performance Server ad alta disponibilità (HA), salvare il file in una posizione dell'unità condivisa, ad esempio una nuova directory sotto '/nz. Entrambi i nodi di sistema Netezza Performance Server devono poter accedere al file del certificato utilizzando lo stesso nome di percorso.
      1. Impostare l'autenticazione AD con SSL su ON.
        nzsql -c " SET AUTHENTICATION LDAP BASE 'dc=nzdevelopment,dc=com' NAMECASE lowercase SERVER 'AD_SERVER' SSL 'ON' BINDPW Netezzapwd BINDDN 'cn=ad_admin_user1,cn=Users,dc=nzdevelopment,dc=com' ATTRNAME 'sAMAccountName' CACERT '/nz/caCert/ca_cert.pem';"
        CACERT è il percorso del file del certificato CA.
      2. Ora il file 'sssd.conf ha il seguente aspetto.
        [domain/external_ldap]
        
        ###The below common parameters and values should not be changed
        
        ldap_default_authtok_type = obfuscated_password
        ldap_schema = AD
        ldap_group_name = CN
        ldap_user_name = sAMAccountName
        ignore_group_members = True
        auth_provider = ldap
        ldap_rfc2307_fallback_to_local_users = True
        ldap_referrals = False
        override_homedir = /home/%u
        ldap_network_timeout = 3
        ldap_opt_timeout = 60
        cache_credentials = True
        entry_cache_group_timeout = 0
        entry_cache_user_timeout = 0
        ldap_search_timeout = 30
        id_provider = ldap
        entry_cache_timeout = 600
        case_sensitive = False
        ldap_id_mapping = True
        #ldap_group_attribute =
        #debug_level = 10
        
        ###Supplied from Input
        
        ldap_uri = ldaps://AD_SERVER:636
        ldap_user_search_base = dc=nzdevelopment,dc=com
        ldap_default_bind_dn = cn=ad_admin_user1,cn=Users,dc=nzdevelopment,dc=com
        ldap_tls_reqcert = demand
        ldap_id_use_start_tls = False
        ldap_tls_cacert = /nz/caCert/ca_cert.pem
        
        ldap_default_authtok = AAAQAAIxX3meMywHbwCnnFQRhRJAHpAICVBjoXmg6OhLr9ASy0RijAO4WdYwAioHf5Fmy6yQc0g8/CXOrx7VQ1BbrfYAAQID
        [sssd]
        services = nss, ifp, sudo, ssh, pam
        domains = external_ldap
        
        [nss]
        memcache_timeout = 600
        homedir_substring = /home
        
        [pam]
        #debug_level = 10
        
        [sudo]
        [autofs]
        [ssh]
        [pac]
        [ifp]
        [secrets]

      Se avete molti gruppi o utenti sul server AD, potete migliorare le prestazioni di accesso aggiungendo 'ldap_group_member = uniqueMember al file 'sssd.conf.

      1. Aggiungere 'ldap_group_member = uniqueMember alla sezione '[domain/external_ldap] in '/etc/sssd/sssd.conf.
      ignore_group_members = True (add only if not present since this variable was already exist)
      ldap_group_member = uniqueMember
      2. Riavviare il servizio " sssd.
      systemctl stop sssd ; rm -f /var/lib/sss/db/* ; systemctl start sssd

      3. Verificare l'autenticazione.

    • Impostare l'autenticazione su AD con TLS ON

      È possibile stabilire una connessione sicura al server LDAP/AD utilizzando TLS. A tal fine, abilitare il flag TLS con il file del certificato CA.

      1. Impostare l'autenticazione AD con TLS attivo.
        nzsql -c " SET AUTHENTICATION LDAP BASE 'dc=nzdevelopment,dc=com' NAMECASE lowercase SERVER 'AD_SERVER' SSL 'OFF' TLS 'ON' BINDPW Netezzapwd BINDDN 'cn=ad_admin_user1,cn=Users,dc=nzdevelopment,dc=com' ATTRNAME 'sAMAccountName' CACERT '/nz/caCert/ca_cert.pem';"
        Nota: non è possibile impostare sia TLS che SSL su 'ON.
      2. Ora il file 'sssd.conf ha il seguente aspetto.
        [domain/external_ldap]
        
        ###The below common parameters and values should not be changed
        
        ldap_default_authtok_type = obfuscated_password
        ldap_schema = AD
        ldap_group_name = CN
        ldap_user_name = sAMAccountName
        ignore_group_members = True
        auth_provider = ldap
        ldap_rfc2307_fallback_to_local_users = True
        ldap_referrals = False
        override_homedir = /home/%u
        ldap_network_timeout = 3
        ldap_opt_timeout = 60
        cache_credentials = True
        entry_cache_group_timeout = 0
        entry_cache_user_timeout = 0
        ldap_search_timeout = 30
        id_provider = ldap
        entry_cache_timeout = 600
        case_sensitive = False
        ldap_id_mapping = True
        #ldap_group_attribute =
        #debug_level = 10
        
        ###Supplied from Input
        
        ldap_uri = ldap://AD_SERVER:389
        ldap_user_search_base = dc=nzdevelopment,dc=com
        ldap_default_bind_dn = cn=ad_admin_user1,cn=Users,dc=nzdevelopment,dc=com
        ldap_tls_reqcert = demand
        ldap_id_use_start_tls = True
        ldap_tls_cacert = /nz/caCert/ca_cert.pem
        
        ldap_default_authtok = AAAQAAIxX3meMywHbwCnnFQRhRJAHpAICVBjoXmg6OhLr9ASy0RijAO4WdYwAioHf5Fmy6yQc0g8/CXOrx7VQ1BbrfYAAQID
        [sssd]
        services = nss, ifp, sudo, ssh, pam
        domains = external_ldap
        
        [nss]
        memcache_timeout = 600
        homedir_substring = /home
        
        [pam]
        #debug_level = 10
        
        [sudo]
        [autofs]
        [ssh]
        [pac]
        [ifp]
        [secrets]
        Nota: Il server Active Directory indicato nel comando 'SET AUTHENTICATION deve corrispondere al nome host del file di certificato del server LDAP.

      Se avete molti gruppi o utenti sul server AD, potete migliorare le prestazioni di accesso aggiungendo 'ldap_group_member = uniqueMember al file 'sssd.conf.

      1. Aggiungere 'ldap_group_member = uniqueMember alla sezione '[domain/external_ldap] in '/etc/sssd/sssd.conf.
      ignore_group_members = True (add only if not present since this variable was already exist)
      ldap_group_member = uniqueMember
      2. Riavviare il servizio " sssd.
      systemctl stop sssd ; rm -f /var/lib/sss/db/* ; systemctl start sssd

      3. Verificare l'autenticazione.