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.

Für Netezza Performance Server 11.1.0.1 und niedriger

  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. Legen Sie den Authentifizierungstyp fest.
    SET AUTHENTICATION LDAP
    • Stellen Sie die Authentifizierung auf AD ein, wenn SSL ausgeschaltet ist
      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'; "

        Dabei bezieht sich cn auf den allgemeinen Namen (Common Name) und dc auf die Domänenkomponente.

      2. Aktualisieren Sie als Benutzer " root die Datei " /etc/sssd/sssd.conf auf dem Host.
        Möglicherweise müssen Sie die fett gedruckten Zeilen manuell ändern, wenn sie nicht bereits gesetzt sind.
        =============================/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. Starten Sie als root-Benutzer den sssd-Service erneut.

        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 " sssd.conf -Datei hinzufügen.

        1. Fügen Sie " ldap_group_member = uniqueMember zum 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 gemeinsamen 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'; "
      2. Aktualisieren Sie als " root -Benutzer die " /etc/sssd/sssd.conf -Datei auf dem Netezza Performance Server manuell.

        Sie können eine Verbindung zu dem AD-Server über SSL oder TSL herstellen. Möglicherweise müssen Sie die fett gedruckten Zeilen manuell ändern, wenn sie nicht bereits gesetzt sind.

        1. Um eine Verbindung zum AD-Server über SSL herzustellen, aktualisieren Sie die folgenden Elemente.
          ===========================/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. Um eine Verbindung zum AD-Server über TLS herzustellen, verwenden Sie die folgende Vorlage.
          ===========================/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]
          
        Anmerkung: 1. Geben Sie für das Attribut ldap_tls_cacert von " sssd.conf den Dateinamen des CA-Zertifikats mit dem korrekten Verzeichnis an.

        2. Der Active Directory, der im Befehl " SET AUTHENTICATION genannt wird, muss mit dem Hostnamen in der LDAP-Server-Zertifikatsdatei übereinstimmen.

      3. Starten Sie als root-Benutzer den sssd-Service erneut.
        systemctl restart sssd

      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 " sssd.conf -Datei hinzufügen.

      1. Fügen Sie " ldap_group_member = uniqueMember zum 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.

Für Netezza Performance Server 11.1.0.2 und höher

  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:
    • Stellen Sie die Authentifizierung auf AD mit SSL/TLS AUS ein
      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 " sssd.conf -Datei hinzufügen.

        1. Fügen Sie " ldap_group_member = uniqueMember zum 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 gemeinsamen 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 " sssd.conf -Datei hinzufügen.

      1. Fügen Sie " ldap_group_member = uniqueMember zum 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 setzen.
      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 " sssd.conf -Datei hinzufügen.

      1. Fügen Sie " ldap_group_member = uniqueMember zum 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.