PAP Module
The pap module accepts a large number of formats for the known
good (reference) password, such as crypt hashes, md5 hashes, and etc.
The module takes the
User-Password
and performs the necessary transformations of the user submitted
password to match the copy of the password the server has retrieved.
For instructions on creating the various types of passwords, see http://www.openldap.org/faq/data/cache/347.html
The module looks for the Password.With-Header control attribute to
find the "known good" password. The attribute value comprises the
header followed immediately by the password data. The header is given
by the following table.
| Header | Attribute | Description |
|---|---|---|
{clear} |
Password.Cleartext |
Clear-text passwords. |
{cleartext} |
Password.Cleartext |
Clear-text passwords. |
{crypt} |
Password.Crypt |
Unix-style "crypt"ed passwords. |
{md5} |
Password.MD5 |
MD5 hashed passwords. |
{base64_md5} |
Password.MD5 |
MD5 hashed passwords. |
{smd5} |
Password.SMD5 |
MD5 hashed passwords, with a salt. |
{sha} |
Password.SHA |
SHA1 hashed passwords. |
Password.SHA1 |
SHA1 hashed passwords. |
|
{ssha} |
Password.SSHA |
SHA1 hashed passwords, with a salt. |
{sha2} |
Password.SHA2 |
SHA2 hashed passwords. |
{sha224} |
Password.SHA2 |
SHA2 hashed passwords. |
{sha256} |
Password.SHA2 |
SHA2 hashed passwords. |
{sha384} |
Password.SHA2 |
SHA2 hashed passwords. |
{sha512} |
Password.SHA2 |
SHA2 hashed passwords. |
{ssha224} |
Password.SSHA2-224 |
SHA2 hashed passwords, with a salt. |
{ssha256} |
Password.SSHA2-256 |
SHA2 hashed passwords, with a salt. |
{ssha384} |
Password.SSHA2-384 |
SHA2 hashed passwords, with a salt. |
{ssha512} |
Password.SSHA2-512 |
SHA2 hashed passwords, with a salt. |
{ssha3} |
Password.SHA3 |
SHA3 hashed passwords. |
{ssha3-224} |
Password.SHA3-224 |
SHA3 hashed passwords, with a salt. |
{ssha3-256} |
Password.SHA3-256 |
SHA3 hashed passwords, with a salt. |
{ssha3-384} |
Password.SHA3-384 |
SHA3 hashed passwords, with a salt. |
{ssha3-512} |
Password.SHA3-512 |
SHA3 hashed passwords, with a salt. |
{nt} |
Password.NT |
Windows NT hashed passwords. |
{nthash} |
Password.NT |
Windows NT hashed passwords. |
{md4} |
Password.NT |
Windows NT hashed passwords. |
{x-nthash} |
Password.NT |
Windows NT hashed passwords. |
{ns-mta-md5} |
Password.NS-MTA-MD5 |
Netscape MTA MD5 hashed passwords. |
{x- orcllmv} |
Password.LM |
Windows LANMAN hashed passwords. |
{X- orclntv} |
Password.NT |
Windows NT hashed passwords. |
The module tries to be flexible when handling the various password for mats. It will automatically handle Base-64 encoded data, hex strings, and binary data, and convert them to a format that the server can use.
If there is no Password.With-Header attribute, the module looks for
one of the Password.Cleartext, Password.NT, Password.Crypt, etc.
attributes as listed in the above table. These attributes should
contain the relevant format password directly, without the header
prefix.
Only one control attribute should be set, otherwise the behaviour is undefined as to which one is used for authentication.
It is important to understand the difference between the
User-Password
and Password.Cleartext attributes. The Password.Cleartext
attribute is the "known good" password for the user. Simply
supplying the Password.Cleartext to the server will result in most
authentication methods working. The
User-Password
attribute is the password as typed in by the user on their private
machine. The two are not the same, and should be treated very
differently. That is, you should generally not use the
User-Password
attribute anywhere in the RADIUS configuration.
|
Configuration Settings
- normalise
-
By default the server will use heuristics to try and automatically handle base64 or hex encoded passwords. This behaviour can be stopped by setting the following to
no.
The default is yes
- password_attribute
-
Which attribute in the request should be used as the user’s password when performing PAP authentication.