Non consentire il collegamento anonimo globale con cn = config


9

Con slapd.conf è possibile disabilitare globalmente l'associazione anonima e richiedere l'autenticazione con le seguenti direttive statiche:

disallow bind_anon
require authc

Come posso ottenere le stesse impostazioni globali, ma utilizzando il nuovo metodo di configurazione live cn = config?

Risposte:


5

Gli ACL di Quanta non sono una cosa negativa, ma per rispondere alla tua domanda:

ldapmodify
dn: cn = config
changetype: modifica
aggiungi: olcDisallows
olcDisallows: bind_anon
-

dn: olcDatabase = {- 1} frontend, cn = config
changetype: modifica
aggiungi: olcRequires
olcRequires: authc

Tieni presente che ldapmodify è sensibile agli spazi (finali), quindi una copia diretta non funzionerà (e potrebbe anche non autenticare correttamente). Inoltre, il dn che usi avrà bisogno dell'accesso in scrittura al db cn = config.


11

La variazione sullo stesso tema, l'ho provato, funziona: suggerimenti per la sicurezza LDAP su SysadminTalk

Sommario:

1) Crea un file, chiamiamolo disable_anon_frontend.ldifcon il seguente contenuto:

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

2) Crea un altro file chiamato disable_anon_backend.ldifcon il seguente contenuto:

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

3) Quindi sul server, modificare LDAP emettendo i seguenti comandi:

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) Verifica eseguendo la seguente richiesta: ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=domain,dc=com dn(usa le tue dc=...impostazioni come applicabile).

Se viene visualizzato il messaggio di errore di seguito, l'accesso anonimo è stato disabilitato correttamente:

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

In bocca al lupo!


2
Benvenuti in Server Fault! Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
HopelessN00b

2
Grazie, hai perfettamente ragione, ho modificato la mia risposta come raccomandato.
Laryx Decidua,

1

Non ho provato ma provo qualcosa del genere:

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

Grazie, è così che lo sto facendo attualmente per database. Tuttavia, la mia domanda era come farlo a livello globale.
Michael P
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.