LDAP-Authentifizierung mit Windows Active Directory

Erfahren Sie, wie Sie SSL oder TLS für die LDAP-Authentifizierung unter Verwendung von Windows Active Directory konfigurieren.

Vorgehensweise

  1. Fügen Sie die Windows Active Directory zur Datenbank hinzu.
    create user <user> password <password>
    Definieren Sie das Kennwort gemäß Ihrer Kennwortrichtlinie.
    Beispiel:
    nzsql -c "create user ad_user1 password 'password';"
  2. Geben Sie den Authentifizierungstyp an:
    • Setzen Sie die Authentifizierung auf AD mit SSL/TLS AUS
      1. Führen Sie den Befehl aus.
        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. Die Datei sssd.conf sieht nun wie folgt aus.
        [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]

        Wenn Sie viele Gruppen und/oder Benutzer auf dem AD-Server haben, können Sie die Anmeldeleistung verbessern, indem Sie ldap_group_member = uniqueMember zur Datei sssd.conf hinzufügen.

        1. Fügen Sie ldap_group_member = uniqueMember dem Abschnitt [domain/external_ldap] in /etc/sssd/sssd.conf hinzu.
        ignore_group_members = True (add only if not present since this variable was already exist)
        ldap_group_member = uniqueMember
        2. Starten Sie den Dienst sssd neu.
        systemctl stop sssd ; rm -f /var/lib/sss/db/* ; systemctl start sssd

        3. Überprüfen Sie die Authentifizierung.

    • Setzen Sie die Authentifizierung auf AD mit SSL ON
      Ein Zertifikat muss von einer anerkannten Zertifizierungsstelle an den AD-Server ausgegeben werden. Beziehen Sie die CA-Zertifikatsdatei und speichern Sie sie an einem Ort auf dem Netezza Performance Server. Für die Hochverfügbarkeitssysteme (HA) des Netezza Performance Server speichern Sie die Datei an einem Ort auf dem freigegebenen Laufwerk, z. B. in einem neuen Verzeichnis unter /nz. Beide Netezza Performance Server müssen in der Lage sein, unter Verwendung desselben Pfadnamens auf die Zertifikatsdatei zuzugreifen.
      1. Stellen Sie die AD-Authentifizierung mit SSL auf EIN.
        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 ist der Pfad der CA-Zertifikatsdatei.
      2. Die Datei sssd.conf sieht nun wie folgt aus.
        [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]

      Wenn Sie viele Gruppen und/oder Benutzer auf dem AD-Server haben, können Sie die Anmeldeleistung verbessern, indem Sie ldap_group_member = uniqueMember zur Datei sssd.conf hinzufügen.

      1. Fügen Sie ldap_group_member = uniqueMember dem Abschnitt [domain/external_ldap] in /etc/sssd/sssd.conf hinzu.
      ignore_group_members = True (add only if not present since this variable was already exist)
      ldap_group_member = uniqueMember
      2. Starten Sie den Dienst sssd neu.
      systemctl stop sssd ; rm -f /var/lib/sss/db/* ; systemctl start sssd

      3. Überprüfen Sie die Authentifizierung.

    • Authentifizierung auf AD mit TLS ON einstellen

      Sie können eine sichere Verbindung zum LDAP/AD-Server mithilfe von TLS herstellen. Aktivieren Sie hierzu das TLS-Flag mit der CA-Zertifikatsdatei.

      1. Stellen Sie die AD-Authentifizierung mit TLS ein.
        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';"
        Hinweis: Sie können nicht sowohl TLS als auch SSL auf ON einstellen.
      2. Die Datei sssd.conf sieht nun wie folgt aus.
        [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]
        Hinweis: Der Active Directory, der im Befehl SET AUTHENTICATION genannt wurde, muss mit dem Hostnamen aus der LDAP-Server-Zertifikatsdatei übereinstimmen.

      Wenn Sie viele Gruppen und/oder Benutzer auf dem AD-Server haben, können Sie die Anmeldeleistung verbessern, indem Sie ldap_group_member = uniqueMember zur Datei sssd.conf hinzufügen.

      1. Fügen Sie ldap_group_member = uniqueMember dem Abschnitt [domain/external_ldap] in /etc/sssd/sssd.conf hinzu.
      ignore_group_members = True (add only if not present since this variable was already exist)
      ldap_group_member = uniqueMember
      2. Starten Sie den Dienst sssd neu.
      systemctl stop sssd ; rm -f /var/lib/sss/db/* ; systemctl start sssd

      3. Überprüfen Sie die Authentifizierung.