Password Policy - Expired Password - mschap
Theparanoidone Theparanoidone
theparanoidone at yahoo.com
Thu Aug 12 07:21:40 CEST 2010
Greetings~
We are working on a patch.
We're of the opinion that Apple's version rlm_mschap / opendir included
with freeradius is missing something.
It appears they were only considering someone entering a failed
login/password combo... not a user with a password reset or an expired
password. Here is the line from opendir.c:
======
if (status != eDSNoErr)
{
errno = EACCES;
radlog(L_ERR, "rlm_mschap: authentication failed %d", status); /* <--
returns -14091 (eDSAuthMethodNotSupported) -14090 */
return RLM_MODULE_REJECT;
}
======
The comment provided makes it seem like they only expected error -14090...
-14090: eDSAuthFailed
0: eDSNoErr
But what about?
-14161: eDSAuthNewPasswordRequired
-14162: eDSAuthPasswordExpired
Possible solutions:
---------------------------
Solution 1) Edit the opendir.c module to simple detect error status -14161 and
-14162... and simply set the status to 0 instead. This should be "good enough"
because we know the original password supplied was correct therefore... let the
user proceed to full login through use of the login screens built in password
prompt. (This assumes a user is authenticating to a networked home login, and
probably requires the client to be a Mac OS X client).
Solution 2) Try and rig up something in Post-Auth-Type REJECT {...} to override
the failed login and force the response to Auth-Accept. Perhaps, some pseudo
conf code that says if reject-message == -14162 || reject-message == -14161 ...
then "ok update auth-type := accept
Can anyone provide a sample Post-Auth-Type Reject example to do this?
Thanks in advance.
(PS... looks like this has been an issue for awhile??? we are new to
freeradius... but I found your post here:
http://www.opensubscriber.com/message/freeradius-devel@lists.freeradius.org/5906511.html
from 3 years ago ... are we the only few interested in port security and a
password policy?)
----- Original Message ----
From: "Garber, Neal" <Neal.Garber at energyeast.com>
To: FreeRadius users mailing list <freeradius-users at lists.freeradius.org>
Sent: Wed, August 11, 2010 8:32:07 PM
Subject: RE: Password Policy - Expired Password - mschap
> if you enable the ldap/(opendirectory) option to "require user to change
> password on next login" the client is unable to connect.
FreeRADIUS doesn't support password changes via MSCHAP. Historically, Samba
didn't even support it until a couple of years ago. I believe support for this
functionality was added to Samba 3.0.24 using a new helper protocol called
ntlm-change-password-1.
I posted something to the list asking if there was interest quite a while ago.
Implementing this new helper protocol is not a trivial change to FreeRADIUS.
Unfortunately, I haven't had enough free time to devote to implementing it yet.
If you have the time to create the patch, I'll be one of the testers ;-)
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
More information about the Freeradius-Users
mailing list