Bug 245968 - Enhancement request: Allow alternate hashes in CRYPT password encryption type
Summary: Enhancement request: Allow alternate hashes in CRYPT password encryption type
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: 389
Classification: Retired
Component: Security - Password Policy
Version: 1.0.4
Hardware: All
OS: Linux
medium
low
Target Milestone: ---
Assignee: Rich Megginson
QA Contact: Ben Levenson
URL:
Whiteboard:
Depends On:
Blocks: 389_1.3.0 512820 690319
TreeView+ depends on / blocked
 
Reported: 2007-06-27 18:06 UTC by Persona non grata
Modified: 2015-11-19 22:35 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-11-19 22:35:34 UTC
Embargoed:


Attachments (Terms of Use)

Description Persona non grata 2007-06-27 18:06:08 UTC
Description of problem:

Directory server currently supports a number of password encryption types,
including SSHA, CRYPT, MD5, SHA256, etc.  Some older Unix versions (Irix, in my
case) support LDAP, but don't support anything other than CRYPT as the
encryption type.  However, Irix WILL support CRYPT with more secure hashes than
DES (for example, MD5).

We need a way to specify alternate hashes for CRYPT encryption type, preferably
with a user-selectable "md5crypt" type in the "Password encryption:" dialog
within the Fedora Management Console.

Version-Release number of selected component (if applicable):

Tested on FDS 1.0.4.

How reproducible:

Steps to Reproduce:

1. Create an LDAP user account using SSHA password encryption.
2. Try to log in on a properly configured Irix workstation using this account. 
Note that it fails.
3. Change the password encryption to CRYPT.  The login will succeed.
4. Use a utility like phpLDAPAdmin to change the password encryption to
"md5crypt" (ie CRYPT with an md5 hash).  The login will still succeed.
  
Actual results:

See above.

Expected results:

N/A - request for enhancement.

Additional info:

Apparently Sun implemented this by adding an optional parameter passed to its
crypt password storage scheme plugin (see
http://docs.sun.com/app/docs/doc/820-0376/6nc4cgnh4?a=view , topic 6557410). 
While this would work with FDS, it would require hand-editing the dse.ldif file,
which I'm sure would be a bad thing.  Hopefully it can be implemented poperly
with one or more new Password Storage Scheme dns.

OpenLDAP implemented this via a parameter, password-crypt-salt-format in slapd.conf.

Comment 4 Martin Kosek 2012-01-04 13:46:44 UTC
Upstream ticket:
https://fedorahosted.org/389/ticket/131

Comment 5 Yap Chung Lam 2013-08-02 07:23:07 UTC
I need this feature too, to support solaris login without needing to modify any default settings.
Without this support, the {CRYPT} password is limited to a maximum of 8 characters.

Here's my workaround, (not really sure if it will break anything)

- Get the 389-ds source code.
- Edit the file crypt_pwd.c under ldap/servers/plugins/pwdstorage
- in the function crypt_pw_enc
char *cry, salt[8],md5_salt[12]="$1$";
...
...
slapi_rand_array( (void *)salt, 8);
strcat(md5_salt,salt);
cry = crypt(pwd,md5_salt);
...

Compile the 389-ds source and copy .libs/libpwdstorage-plugin.so to /usr/lib64/dirsrv/plugins/libpwdstorage-plugin.so

The password generated will be "md5-crypt", which solaris and irix should understand.

Comment 7 Noriko Hosoi 2015-11-19 22:35:34 UTC
Closing this bug since we moved to the ticket system:
https://fedorahosted.org/389/ticket/131


Note You need to log in before you can comment on or make changes to this bug.