Não é possível consultar o AD usando o Kerberos do host Linux

7
ldapsearch -H <URL> -b <BASE> -s sub -D <USER> -x -w <PW>

funciona bem

kinit <USER>@<REALM>
ldapsearch -H <URL> -b <BASE> -s sub

falha com:

text: 000004DC: LdapErr: DSID-0C0906E8, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1db1

kinit Administrator@<REALM>
ldapsearch -H <URL> -b <BASE> -s sub

funciona bem também

O googling habitual não revelou nada de interessante. (Há os comentários habituais sobre a distorção de tempo e o uso de um userPrincipalName vs nome do componente para -D , mas isso deve ser feito ao usar kinit .)

Alguma idéia?

    
por No One in Particular 17.09.2013 / 13:41

2 respostas

4

Descobri que especificar "-O maxssf = 0" na linha de comando do ldapsearch é necessário para que as pesquisas do GSSAPI AD funcionem corretamente. O comando a seguir funciona para eu pesquisar o catálogo global do AD por meio de uma conexão SSL:

ldapsearch -LLL -O maxssf=0 -Y GSSAPI -H ldaps://ad.realm.local:3269 -b "dc=realm,dc=local" '(sAMAccountName=userid)'

Além disso, para que a autenticação do Kerberos funcione com o ldapsearch, o DNS deve estar configurado adequadamente para pesquisas de IP reverso. Caso contrário, você receberá um erro "não é possível determinar o domínio para o endereço numérico do host". Se necessário, você pode colocar o IP e o nome do host do seu servidor do AD em seu arquivo hosts para que ele funcione.

    
por 17.09.2013 / 16:16
2

Na ldapsearch(1) página de manual:

-Y mech
Specify the SASL mechanism to be used for authentication. If it's not specified, the program will choose the best mechanism the server knows. 

Por exemplo:

ldapsearch -Y GSSAPI -b "dc=example,dc=com" uid=user

Assumindo que seu /etc/gssapi_mech.conf é parecido com:

# grep -v ^# /etc/gssapi_mech.conf
libgssapi_krb5.so.2             mechglue_internal_krb5_init
    
por 17.09.2013 / 15:17