s4 password changes

Nadezhda Ivanova nivanova at samba.org
Mon Aug 16 12:37:36 MDT 2010


Hi Matthias,
I suppose we can make that exception, until we clarify the issue further.
Information in MS-SAMR is - at least for now - confusing. We have this:
3.1.2.2   AD Access Checks in DC Configuration
  Unless otherwise specified, the create, update, delete, and read access
checks enforced by the MS-
  ADTS data model (specified in [MS-ADTS] section 5.1.3) are not enforced
during the message
  processing of this protocol.

And after that we have this:


3.1.4.1    Default Access
  Information about the default access control (expressed in the default
security descriptor) on user,
  group, alias, domain, and server objects is specified in [MS-ADTS] section
3.1.1.2. This is
  significant because this server MUST use the security descriptor from the
[MS-ADTS] data model to
  determine whether the client has access to perform the requested
operation. If, for example, a
  client opens a domain object with SamrOpenDomain requesting
  DOMAIN_READ_PASSWORD_PROPERTIES, SamrOpenDomain uses the [MS-ADTS] data
model
  security descriptor to determine whether the client has access to read
password-related properties.

If the current state is introducing a security issue, I think we can do what
you suggest until we find a better way.

Regards,
Nadya

On Mon, Aug 16, 2010 at 9:01 PM, Matthias Dieter Wallnöfer <mdw at samba.org>wrote:

> Nadya,
>
> you might be right on most cases, but here I would like to recall some
> facts:
> - The password checking is a quite complex procedure and I would like to
> have it in just one place (to don't have redundancies and inconsitencies).
> - And I think you didn't understand the side-effect, I mean, why I want to
> have the user password changes with user rights: the possibility to disable
> password changes.
> If you disable them under ADUC on Windows Server, then you will notice that
> the security descriptor changes (on the ACE "Self" the "password changes"
> are denied). And this will naturally be also enforced on SAMR!
>
> Therefore I would really appreciate it, if we could make an exception in
> this case.
>
> Matthias
>
> Nadezhda Ivanova wrote:
>
>> Hi Matthias,
>> As I explained in my email regarding disabling anonymous access, some
>> researched showed that the ldap access checks we currently have implemented
>> in ldb must not be applied to other protocols, as they are LDAP specific.
>> This is explicitly stated in the MS-SAMR document, actually. It would be
>> similar to applying file access checks on directory objects, quite a mess.
>> Therefore we should continue using system session for the password reset in
>> SAMR. In fact, after some discussion with Tridge, I made all SAMR methods
>> use the system session, and enforce an access check for administrative
>> rights before the calls to ldb. The same will have to be done with other
>> protocols where we see problems. I'll be pushing this and other things
>> related to this problem in my branch today or tomorrow and send them for
>> discussion.  This means that you will not need to handle the control in acl
>> module.
>>
>> Regards,
>> Nadya
>>
>> On Mon, Aug 16, 2010 at 8:12 PM, Matthias Dieter Wallnöfer <mdw at samba.org<mailto:
>> mdw at samba.org>> wrote:
>>
>>    Hi Nadya, metze, abartlet,
>>
>>    lately I restarted the effort to solve the s4 password change ACL
>>    problem and I come now up with a slightly different, but cleaner
>>    solution. The big difference now consists in the fact that the
>>    control PASSWORD_CHANGE_PW_CHECKED has been renamed to
>>    PASSWORD_CHANGE and does now also carry the old password as a NT
>>    hash and/or LM hash in the following way:
>>
>>    (samdb.h)
>>
>>        #define DSDB_CONTROL_PASSWORD_CHANGE_OID "1.3.6.1.4.1.7165.4.3.10"
>>        +struct dsdb_control_password_change {
>>        +       const struct samr_Password *old_nt_pwd_hash;
>>        +       const struct samr_Password *old_lm_pwd_hash;
>>        +};
>>        +
>>
>>    The password_hash module does then proof these. I hope that this
>>    will finally meet your concerns, Nadya.
>>
>>    The whole patchset is to be found under
>>    http://repo.or.cz/w/Samba/mdw.git/shortlog/refs/heads/stuff or
>>
>> http://gitweb.samba.org/samba.git/?p=mdw/samba.git;a=shortlog;h=refs/heads/stuff
>> .
>>
>>    Matthias
>>
>>
>>
>


More information about the samba-technical mailing list