Não permitir ligação anônima global com cn = config

9

Com o slapd.conf, você pode desabilitar globalmente a ligação anônima e exigir autenticação com as seguintes diretivas estáticas:

disallow bind_anon
require authc

Como posso alcançar as mesmas configurações globais, mas usando o novo método de configuração cn = config live?

    
por Michael P 29.10.2011 / 12:05

3 respostas

5

Não que as ACLs do quanta sejam uma coisa ruim, mas para responder à sua pergunta:

ldapmodify
dn: cn=config
changetype: modify
add: olcDisallows
olcDisallows: bind_anon
-

dn: olcDatabase={-1}frontend,cn=config
changetype: modify
add: olcRequires
olcRequires: authc

Por favor, esteja ciente de que o ldapmodify é sensível a espaços (finais), portanto, uma cópia em pasta não funcionará (e poderá não ser autenticada adequadamente). Além disso, o dn que você usa precisará de acesso de gravação ao cn = config db.

    
por 29.10.2011 / 18:42
11

Variação sobre o mesmo tema, eu testei, funciona: Dicas de segurança do LDAP no SysadminTalk

Resumo:

1) Crie um arquivo, vamos chamá-lo de disable_anon_frontend.ldif com o seguinte conteúdo:

dn: olcDatabase={-1}frontend,cn=config
add: olcRequires
olcRequires: authc

2) Crie outro arquivo chamado disable_anon_backend.ldif com o seguinte conteúdo:

dn: olcDatabase={1}hdb,cn=config
add: olcRequires
olcRequires: authc

3) Em seguida, no servidor, modifique o LDAP emitindo os seguintes comandos:

sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f disable_anon_frontend.ldif
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f disable_anon_backend.ldif

4) Verifique executando a seguinte consulta anon: ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=domain,dc=com dn (use as configurações de dc=... conforme aplicável).

Se você vir a mensagem de erro abaixo, o acesso anônimo foi desativado com êxito:

Server is unwilling to perform (53)
Additional information: authentication required

Boa sorte!

    
por 07.02.2013 / 15:07
1

Eu não testei, mas tente algo assim:

dn: olcDatabase={1}hdb,cn=config
add: olcAccess
olcAccess: to attrs=userPassword 
    by dn="cn=admin,dc=example,dc=com" write 
    by self write 
    by * none
olcAccess: to dn.base="" 
    by users read 
    by * none
olcAccess: to * 
    by dn="cn=admin,dc=example,dc=com" write 
    by * none
    
por 29.10.2011 / 18:01

Tags