Globale anonyme Bindung mit cn = config nicht zulassen

9

Mit slapd.conf können Sie die anonyme Bindung global deaktivieren und eine Authentifizierung mit den folgenden statischen Anweisungen verlangen:

disallow bind_anon
require authc

Wie kann ich dieselben globalen Einstellungen erzielen, aber die neue Live-Konfigurationsmethode cn = config verwenden?

Michael P.
quelle

Antworten:

5

Nicht dass die ACLs von quanta eine schlechte Sache sind, aber um Ihre Frage zu beantworten:

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

dn: olcDatabase = {- 1} Frontend, cn = config
Änderungsart: ändern
hinzufügen: olcRequires
olcRequires: authc

Bitte beachten Sie, dass ldapmodify empfindlich auf (nachfolgende) Leerzeichen reagiert, sodass ein direktes Kopieren und Einfügen nicht funktioniert (und möglicherweise auch nicht ordnungsgemäß authentifiziert wird). Außerdem benötigt der von Ihnen verwendete dn Schreibzugriff auf die Datenbank cn = config.

84104
quelle
11

Eine Variation des gleichen Themas, die ich ausprobiert habe, funktioniert: LDAP-Sicherheitstipps bei SysadminTalk

Zusammenfassung:

1) Erstellen Sie eine Datei, nennen Sie sie disable_anon_frontend.ldifmit folgendem Inhalt:

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

2) Erstellen Sie eine weitere Datei disable_anon_backend.ldifmit dem folgenden Inhalt:

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

3) Ändern Sie dann auf dem Server den LDAP, indem Sie die folgenden Befehle ausgeben:

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) Überprüfen Sie dies, indem Sie die folgende anon-Abfrage ausführen: ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=domain,dc=com dn(Verwenden Sie dc=...gegebenenfalls Ihre Einstellungen).

Wenn die folgende Fehlermeldung angezeigt wird, wurde der anonyme Zugriff erfolgreich deaktiviert:

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

Viel Glück!

Kehlkopf Decidua
quelle
2
Willkommen bei Server Fault! Während dies theoretisch die Frage beantworten kann, wäre es vorzuziehen, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
HopelessN00b
2
Danke, Sie haben absolut Recht, ich habe meine Antwort wie empfohlen bearbeitet.
Laryx Decidua
1

Ich habe nicht getestet, aber versuchen Sie so etwas:

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
Quanten
quelle
Danke, so mache ich das derzeit pro Datenbank. Meine Frage war jedoch, wie man es global macht.
Michael P