Para desabilitar completamente o bind anônimo, adicione esta linha ao slapd.conf:
disallow bind_anon
e reinicie o serviço slapd.
Eu preciso proteger meu servidor LDAP e não tenho certeza da melhor maneira de fazê-lo. Eu estou executando o Debian "Lenny" e usando o OpenLDAP (slapd).
Eu noto que, se eu corro:
ldapsearch -x -W -b 'dc=example,dc=com' -H 'ldap://127.0.0.1:389/' 'objectclass=*'
e apenas pressione ENTER quando ele solicitar uma senha, que eu recebo uma lista de entradas de diretório. O acesso anônimo não é aceitável se eu estiver abrindo esse acesso à Internet, mas não conseguir encontrar uma maneira de desativar o acesso anônimo.
Eu tentei modificar /etc/ldap/slapd.conf
para o seguinte:
access to * by dn="cn=admin,dc=example,dc=com" write by * none
... mas isso não funciona.
Depois disso, vou executá-lo em TLS, mas é inútil fazer essa etapa enquanto ainda permite acesso anônimo.
Alguma idéia?
Se a resposta aceita não funcionar para você (não para mim no Ubuntu), tente o seguinte.
Crie o arquivo ldiff:
nano /usr/share/slapd/ldap_disable_bind_anon.ldif
Cole aqui:
dn: cn=config
changetype: modify
add: olcDisallows
olcDisallows: bind_anon
dn: cn=config
changetype: modify
add: olcRequires
olcRequires: authc
dn: olcDatabase={-1}frontend,cn=config
changetype: modify
add: olcRequires
olcRequires: authc
E, em seguida, execute:
ldapadd -Y EXTERNAL -H ldapi:/// -f /usr/share/slapd/ldap_disable_bind_anon.ldif
Como você planeja adotar o SSL / TLS em breve, convém usar a verificação de certificado de cliente para aumentar ainda mais sua segurança. Stunnel com opções -v -A
funcionaria bem.