[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: slapd ACL to allow Password Modify exop by ldappasswd - but deny direct modification via ldapmodify
Anyone? I'll rephrase the question, having been looking at the source code:
Is there an ACL that allows EXOP_MODIFY_PASSWD to succeed, that DOES NOT
allow userPassword to be directly modified?
I suspect if it exists (and it must exist to my mind, because otherwise
it's trivial to bypass password policies), it's either got to be a
special ACL subject or a special verb (if that's the right term).
From: aclparse.c the available verbs seem to be:
none disclose auth compare search read
write add delete manage
and only "write" looks like the closest match.
Subjects:
well, if we are allowing "write", userPassword is out as that's exactly
what we do not want.
OK - stumped again...
Cheers,
Tim
On 21/02/13 12:04, Tim Watts wrote:
Hi,
I've been through google and the man pages - no avail. If anyone can
help, I'd be very grateful :)
slapd.conf acl:
access to attrs=userPassword
by peername.path="/var/run/slapd/ldapi" manage
by dn="cn=admin,dc=dighum,dc=kcl,dc=ac,dc=uk" manage
by self write
by * auth
This allows ldappasswd to work, but of course, it also allows anybody to
issue an ldapmodify against their own record and store a weak hash (eg
{crypt} ) or worse, bypass my check_password plugin policy enforcer.
Removing the "self write" line kills ldapmodify, but also seems to break
the password modify exop issues by ldappasswd.
So - how do I allow ldappasswd to work (which respects the policies and
allows the server to hash the password using its default hash - SSHA1 in
my case) whilst disallowing *direct* modify access to the userPassword:
entry?
Answers on a postcard, or a wet herring as appropriate :-|
Many thanks!
Tim
--
Tim Watts
Personal Blog:
http://www.dionic.net/tim/
"History will be kind to me for I intend to write it."