Ich habe vor Kurzem einen Freeradius-Server eingerichtet und möchte das derzeit im Klartext vorliegende Benutzerkennwort in der Datei /etc/freeradius/3.0/users in ein verschlüsseltes ändern.
So sieht es auf dem Server aus.
Wenn ich mich beim Server authentifiziere, kann ich den Benutzernamen und das Passwort in der /var/log/freeradius/radius.log
Datei sehen. Wie kann ich es verschlüsseln? Ich verwende Debian.
Antwort1
Zusamenfassend,
- Sie müssen ein Passwort-Hash-Format anstelle von angeben
Cleartext-Password
und - Sie müssen
auth_goodpass
undauth_badpass
auf „Nein“ setzen, um die Protokollierung von Passwörtern zu verhindern.
Angeben eines Hash-Formats
Wie in derrlm_pap man-Seitegibt es eine Reihe von Passwort-Hash-Einstellungen, die anstelle von verwendet werden können Cleartext-Password
. Betrachten wir ein einfaches Beispiel MD5-Password
:
#bob Cleartext-Password := "hello"
bob MD5-Password:= "7d793037a0760186574b0282f2f435e7"
Reply-Message := "Hello, %{User-Name}"
Sie können ganz einfach einen MD5-Passwort-Hash wie folgt generieren:
$ echo -n world | md5sum | awk '{print $1}'
7d793037a0760186574b0282f2f435e7
$
Wenn wir dies mit unserem Server testen, sehen wir, dass es authentifiziert wird:
$ 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"
Sie können Ihren Hash auch mit der allgemeinen Password-With-Header
Option angeben:
#bob Cleartext-Password := "hello"
bob Password-With-Header := "{md5}7d793037a0760186574b0282f2f435e7"
Reply-Message := "Hello, %{User-Name}"
Dies hat die gleiche Wirkung wie die MD5-Password
Version. Die Liste der akzeptierten Header befindet sich auf dieserrlm_papManpage.
Einer der interessantesten verfügbaren Header ist , Crypt-Password
weil er Passwort-Hashes durch libcrypt laufen lässt und daher mit allen Hashes funktioniert, die Sie in finden /etc/shadow
. Auf einem Debian-System hasht yescrypt beispielsweise:
bob Crypt-Password := "$y$j9T$2fOq6bdva3zoX6OfH.JvY0$PbUGbp1U.UXFAnGrkDrYnLZEDK.PXO/HXDsBn4mCsM8"
Reply-Message := "Hello, %{User-Name}"
(Das Passwort lautet in diesem Fall a38sgena
)
Deaktivieren der Protokollierung von Passwörtern
Um die Protokollierung von Passwörtern zu deaktivieren, suchen Sie in der Datei nach den folgenden auth_goodpass
und Auswahlmöglichkeiten:auth_badpass
radiusd.conf
# 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
Stellen Sie sicher, dass diese auf „Nein“ eingestellt sind. Dann werden in Ihrer Protokollierung keine Passwörter mehr aufgenommen.
Antwort2
Hier ist die Liste der Attribute, die der Hashing-Methode entsprechen: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
Vergessen Sie nicht, dass das Protokoll und die Methode, die Sie zur Authentifizierung Ihres Clients verwenden, Einfluss darauf haben, welche Hashing-Methode Sie verwenden können.
Sie finden eine Tabelle, die ich zur Konfiguration meines Freeradius-Servers hinsichtlich Protokoll- und Kennwortkompatibilität verwendet habe:http://deployingradius.com/documents/protocols/compatibility.html
Um ein mit SHA256 gesalzenes Passwort zu generieren, habe ich das folgende Skript auf GitHub verwendet (Sie müssen die letzten beiden Zeilen bearbeiten, um das Passwort und das Salt zu ändern):https://gist.github.com/bestrocker221/f506eee8ccadc60cab71d5f633b7cc07