rlm_pap(5)

πŸ“¦
version 3.2.10 Β· 4 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, fedora 43, fedora 44, opensuse-leap 16.0

πŸ’– NAME πŸ’–

rlm_pap β€” FreeRADIUS Module ✨ yes bestie, this is the rlm_pap(5) page, and it's giving auth-module realness.

✨ DESCRIPTION ✨

okay so the rlm_pap module authenticates RADIUS Access-Request packets that contain a User-Password attribute. The module should also be listed last in the authorize section, so that it can set the Auth-Type attribute as appropriate. main character placement, no cap.

When a RADIUS packet contains a clear-text password in the form of a User-Password attribute, the rlm_pap module may be used for authentication. The module requires a "known good" password, which it uses to validate the password given in the RADIUS packet. That "known good" password must be supplied by another module (e.g. rlm_files, rlm_ldap, etc.), and is usually taken from a database.

πŸŽ€ CONFIGURATION πŸŽ€

The only configuration item is:

  • normalise β€” the default is "yes". This means that the module will try to automatically detect passwords that are hex- or base64-encoded and decode them back to their binary representation. However, some clear text passwords may be erroneously converted. Setting this to "no" prevents that conversion. πŸ’…

🌸 USAGE 🌸

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 this matching list β€” original columns are Header, Attribute, and Description, and every row is here:

  • {clear} β†’ Cleartext-Password β€” Clear-text passwords
  • {cleartext} β†’ Cleartext-Password β€” Clear-text passwords
  • {crypt} β†’ Crypt-Password β€” Unix-style "crypt"ed passwords
  • {md5} β†’ MD5-Password β€” MD5 hashed passwords
  • {base64_md5} β†’ MD5-Password β€” MD5 hashed passwords
  • {smd5} β†’ SMD5-Password β€” MD5 hashed passwords, with a salt
  • {sha} β†’ SHA-Password β€” SHA1 hashed passwords
  • (blank Header cell in the original table) β†’ SHA1-Password β€” SHA1 hashed passwords
  • {ssha} β†’ SSHA-Password β€” SHA1 hashed passwords, with a salt
  • {sha2} β†’ SHA2-Password β€” SHA2 hashed passwords
  • {sha224} β†’ SHA2-Password β€” SHA2 hashed passwords
  • {sha256} β†’ SHA2-Password β€” SHA2 hashed passwords
  • {sha384} β†’ SHA2-Password β€” SHA2 hashed passwords
  • {sha512} β†’ SHA2-Password β€” SHA2 hashed passwords
  • {ssha224} β†’ SSHA2-224-Password β€” SHA2 hashed passwords, with a salt
  • {ssha256} β†’ SSHA2-256-Password β€” SHA2 hashed passwords, with a salt
  • {ssha384} β†’ SSHA2-384-Password β€” SHA2 hashed passwords, with a salt
  • {ssha512} β†’ SSHA2-512-Password β€” SHA2 hashed passwords, with a salt
  • {nt} β†’ NT-Password β€” Windows NT hashed passwords
  • {nthash} β†’ NT-Password β€” Windows NT hashed passwords
  • {md4} β†’ NT-Password β€” Windows NT hashed passwords
  • {x-nthash} β†’ NT-Password β€” Windows NT hashed passwords
  • {ns-mta-md5} β†’ NS-MTA-MD5-Password β€” Netscape MTA MD5 hashed passwords
  • {x- orcllmv} β†’ LM-Password β€” Windows LANMAN hashed passwords
  • {X- orclntv} β†’ NT-Password β€” Windows NT hashed passwords

The module tries to be flexible when handling the various password formats. 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 Cleartext-Password, NT-Password, Crypt-Password, 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 behaviour is undefined as to which one is used for authentication. like, don't do that, bestie.

πŸ¦‹ NOTES πŸ¦‹

It is important to understand the difference between the User-Password and Cleartext-Password attributes. The Cleartext-Password attribute is the "known good" password for the user. Simply supplying the Cleartext-Password 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.

🚨 fr fr, this is the classic mix-up: Cleartext-Password is the "known good" password, and User-Password is what the user literally typed on their own machine. Not the same vibe, not the same handling. periodt.

πŸ’… SECTIONS πŸ’…

authorize authenticate

πŸ“ FILES πŸ“

  • /etc/raddb/mods-available/pap

🌈 SEE ALSO 🌈

πŸ‘‘ AUTHOR πŸ‘‘

  • Alan DeKok <aland@freeradius.org> πŸ’Œ

okay that's the whole rlm_pap(5) moment β€” source/version: FreeRADIUS Module, dated 10 January 2015. go be iconic with your auth config πŸ’–βœ¨

πŸ“¦ where this page comes from