Autenticação via LDAP: onde é definido o ldap_search_ext?

Autenticação via LDAP: onde é definido o ldap_search_ext?

Existem dois servidores RHEL 8 que foram provisionados a partir do mesmo modelo, com algumas correções e ajustes manuais feitos manualmente apenas no primeiro servidor. Eles permitem autenticação de usuário SSH através de um servidor LDAP remoto e foram configurados com authselect:

authselect select sssd --force

O primeiro servidor funciona perfeitamente, enquanto no segundo a autenticação SSH falha. Estou procurando a diferença entre eles, porque suas configurações LDAP, PAM, sssde nscdconfigurações parecem iguais.

EDIT 11/6: O nslcddaemon está inativo; possui a configuração padrão, idêntica em ambos os servidores.
Vale ressaltar também que getent passwdretorna corretamente todos os usuários LDAP, mas esses usuários não conseguem fazer login via SSH. A sshdconfiguração também é a mesma.


Ao ler os sssdlogs, descobri que o primeiro servidor chama (corretamente) ldap_search_extcom

[(&(uid=dr01)(objectclass=posixAccount)(&(uidNumber=*)(!(uidNumber=0))))][dc=mydomain,dc=org]

enquanto o segundo usa (falhando) a pesquisa

[(&(uid=dr01)(objectclass=posixAccount)(uid=*)(&(uidNumber=*)(!(uidNumber=0))))][dc=mydomain,dc=org]

Portanto, no segundo servidor, a consulta inclui um arquivo (uid=*). Também se refere a BE_REQ_USER vs BE_REQ_INITGROUPS na primeira pesquisa (veja os logs abaixo). Isso retorna zero resultados.

Então, gostaria de saber onde ldap_search_extestá definida a chamada.


Aqui está um trecho dos logs do primeiro servidor:

(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [dp_get_account_info_send] (0x0200): Got request for [0x3][BE_REQ_INITGROUPS][[email protected]]
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [sss_domain_get_state] (0x1000): Domain mydomain.org is Active
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [dp_attach_req] (0x0400): DP Request [Initgroups #13]: New request. Flags [0x0001].
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [dp_attach_req] (0x0400): Number of active DP request: 1
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [sss_domain_get_state] (0x1000): Domain mydomain.org is Active
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [sdap_get_initgr_next_base] (0x0400): Searching for users with base [dc=mydomain,dc=org]
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x0400): calling ldap_search_ext with [(&(uid=dr01)(objectclass=posixAccount)(&(uidNumber=*)(!(uidNumber=0))))][dc=mydomain,dc=org].
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [objectClass]
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [uid]
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [userPassword]
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [uidNumber]
(Fri Jun  7 15:15:46 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [gidNumber]
(...)
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [sdap_search_user_process] (0x0400): Search for users, returned 1 results.

e o segundo:

(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [dp_get_account_info_send] (0x0200): Got request for [0x1][BE_REQ_USER][[email protected]]
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [dp_attach_req] (0x0400): DP Request [Account #8]: New request. Flags [0x0001].
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [dp_attach_req] (0x0400): Number of active DP request: 1
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [sss_domain_get_state] (0x1000): Domain mydomain.org is Active
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [sdap_search_user_next_base] (0x0400): Searching for users with base [dc=mydomain,dc=org]
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x0400): calling ldap_search_ext with [(&(uid=dr01)(objectclass=posixAccount)(uid=*)(&(uidNumber=*)(!(uidNumber=0))))][dc=mydomain,dc=org].
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [objectClass]
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [uid]
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [userPassword]
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [uidNumber]
(Fri Jun  7 15:20:50 2019) [sssd[be[mydomain.org]]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [gidNumber]

Responder1

Encontrei o problema. A sssdconfiguração contém a linha

ldap_access_filter = (host=<hostname>.mydomain.org)

ondenome de anfitriãoé o nome do host local de cada servidor. Porém, o segundo servidor não foi referenciado no servidor LDAP, apenas o primeiro foi. Adicionar uma entrada para o segundo servidor no LDAP resolveu o problema.

informação relacionada