OpenLDAP restringe o acesso anônimo para ver apenas atributos de entrada sem poder varrer o banco de dados inteiro

2

Temos um servidor OpenLDAP (2.4.45) que contém todos os nossos usuários, grupos, regras de sudo, etc.

Eu preciso conectar um novo aplicativo a este servidor, no entanto, este aplicativo requer que o usuário anônimo possa ler os atributos (ele saberá o DN exato para o qual precisa ler os atributos).

Agora, assumindo estrutura como:

o=Example(dc=example,dc=com)
  ou=People
    uid=user1
    uid=user2
  ou=Groups
    cn=group1
    cn=group2

Eu preciso limitar que os usuários anônimos podem obter todos os atributos de um usuário se souberem exatamente dn (como dn="uid = usuário1, ou = Pessoas, dc = exemplo, dc = com") e completamente incapazes de descobrir outros registros (se eles não sabem exatamente o dn para eles).

Lendo pela documentação do OpenLDAP Eu assumi que a seguinte ACL deveria funcionar:

olcAccess: {0}to dn.children="ou=Groups,dc=example,dc=com"
  by * read break
olcAccess: {1}to *
  by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
  by anonymous none stop
  by * read

No entanto, parece que break e stop não produzem resultados esperados como consultas diretamente a "cn = teste, ou = Grupos, dc = exemplo, dc = com" resultam em No such object (32)

Qual é a maneira correta de alcançar o acima?

    
por Alexey Kamenskiy 12.09.2017 / 12:18

1 resposta

1

Na verdade, a resposta foi bastante simples (apontada para isso no IRC):

A ACL deve ser como:

olcAccess: {0}to dn.children="ou=Groups,dc=example,dc=com"
  by anonymous stop
  by * read break
olcAccess: {1}to *
  by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
  by anonymous none stop
  by * read

Observe a linha stop em {0}, na ACL original ela primeiro fornece acesso de leitura, mas a remove devido a break , na nova versão, o anônimo concedeu acesso de leitura explicitamente e, em seguida, o OpenLDAP pediu para parar o processamento ACLs para este pedido.

    
por 12.09.2017 / 12:43

Tags