Recientemente configuré un servidor freeradius y me gustaría cambiar la contraseña de usuario que actualmente está en texto sin formato a cifrada en el archivo /etc/freeradius/3.0/users.
Así es como se ve en el servidor.
Cuando me autentico en el servidor, puedo ver el nombre de usuario y la contraseña en el /var/log/freeradius/radius.log
archivo. ¿Cómo puedo cifrarlo? Estoy usando Debian.
Respuesta1
En breve,
- Debe especificar un formato hash de contraseña en lugar de
Cleartext-Password
y - Debe configurar
auth_goodpass
yauth_badpass
'no' para evitar el registro de contraseñas.
Especificación de un formato hash
Como se describe en elpágina de manual de rlm_pap, hay una serie de configuraciones de hash de contraseña que se pueden utilizar en lugar de Cleartext-Password
. Tomemos un ejemplo sencillo MD5-Password
:
#bob Cleartext-Password := "hello"
bob MD5-Password:= "7d793037a0760186574b0282f2f435e7"
Reply-Message := "Hello, %{User-Name}"
Puedes generar fácilmente un hash de contraseña md5 como este:
$ echo -n world | md5sum | awk '{print $1}'
7d793037a0760186574b0282f2f435e7
$
Cuando probamos esto en nuestro servidor, vemos que se autentica:
$ radtest bob world localhost 1 testing123
Sent Access-Request Id 214 from 0.0.0.0:34920 to 127.0.0.1:1812 length 73
User-Name = "bob"
User-Password = "world"
NAS-IP-Address = 127.0.1.1
NAS-Port = 1
Message-Authenticator = 0x00
Cleartext-Password = "world"
Received Access-Accept Id 214 from 127.0.0.1:1812 to 127.0.0.1:34920 length 32
Reply-Message = "Hello, bob"
También puedes especificar tu hash con la Password-With-Header
opción genérica:
#bob Cleartext-Password := "hello"
bob Password-With-Header := "{md5}7d793037a0760186574b0282f2f435e7"
Reply-Message := "Hello, %{User-Name}"
Esto tiene el mismo efecto que la MD5-Password
versión. La lista de encabezados aceptados está ahí.rlm_pappágina de manual.
Uno de los encabezados más interesantes disponibles es Crypt-Password
porque ejecutará hashes de contraseña a través de libcrypt y, por lo tanto, funcionará con cualquier hash que encuentre en /etc/shadow
. Por ejemplo, en un sistema Debian, los hashes de yescrypt:
bob Crypt-Password := "$y$j9T$2fOq6bdva3zoX6OfH.JvY0$PbUGbp1U.UXFAnGrkDrYnLZEDK.PXO/HXDsBn4mCsM8"
Reply-Message := "Hello, %{User-Name}"
(La contraseña en este caso es a38sgena
)
Deshabilitar el registro de contraseñas
Para deshabilitar el registro de contraseñas, busque las selecciones auth_goodpass
y auth_badpass
dentro del radiusd.conf
archivo:
# Log passwords with the authentication requests.
# auth_badpass - logs password if it's rejected
# auth_goodpass - logs password if it's correct
#
# allowed values: {no, yes}
#
auth_badpass = no
auth_goodpass = no
Asegúrese de que estén configurados en "no" y su registro dejará de incluir contraseñas.
Respuesta2
Aquí está la lista de atributos correspondientes al método hash:https://freeradius.org/radiusd/man/rlm_pap.txt
Header Attribute Description
------ --------- -----------
{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
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
No olvide que el protocolo y el método que esté utilizando para autenticar a su cliente afectarán el método de hash que pueda utilizar.
Puede encontrar una tabla que utilicé para configurar mi servidor Freeradius para la compatibilidad de protocolo y contraseña:http://deployingradius.com/documents/protocols/compatibility.html
Para generar una contraseña con sal sha256, utilicé el siguiente script en github (es necesario editar las últimas 2 líneas para cambiar la contraseña y el salt):https://gist.github.com/bestrocker221/f506eee8ccadc60cab71d5f633b7cc07