答え1
要するに、
- の代わりにパスワードハッシュ形式を指定する必要があります
Cleartext-Password
。 auth_goodpass
パスワードのログ記録を防止するには、とauth_badpass
を「no」に設定する必要があります。
ハッシュ形式の指定
で説明したようにrlm_pap マニュアルページ、 の代わりに使用できるパスワード ハッシュ設定は多数ありますCleartext-Password
。簡単な例を見てみましょうMD5-Password
。
#bob Cleartext-Password := "hello"
bob MD5-Password:= "7d793037a0760186574b0282f2f435e7"
Reply-Message := "Hello, %{User-Name}"
次のようにして md5 パスワード ハッシュを簡単に生成できます。
$ echo -n world | md5sum | awk '{print $1}'
7d793037a0760186574b0282f2f435e7
$
これをサーバーに対してテストすると、認証されることがわかります。
$ 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"
汎用オプションを使用してハッシュを指定することもできますPassword-With-Header
。
#bob Cleartext-Password := "hello"
bob Password-With-Header := "{md5}7d793037a0760186574b0282f2f435e7"
Reply-Message := "Hello, %{User-Name}"
これはバージョンと同じ効果がありますMD5-Password
。受け入れられるヘッダーのリストはrlm_papマニュアルページ。
利用可能な最も興味深いヘッダーの 1 つは、Crypt-Password
パスワード ハッシュを libcrypt 経由で実行し、 で見つかったハッシュで動作するという点です/etc/shadow
。たとえば、Debian システムでは、yescrypt は次のようにハッシュします。
bob Crypt-Password := "$y$j9T$2fOq6bdva3zoX6OfH.JvY0$PbUGbp1U.UXFAnGrkDrYnLZEDK.PXO/HXDsBn4mCsM8"
Reply-Message := "Hello, %{User-Name}"
(この場合のパスワードはa38sgena
)
パスワードのログ記録を無効にする
パスワードのログ記録を無効にするには、ファイル内のauth_goodpass
および の選択項目を見つけます。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
これらが「いいえ」に設定されていることを確認すると、パスワードを含むログ記録が停止します。
答え2
ハッシュ方式に対応する属性のリストは次のとおりです。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
クライアントの認証に使用しているプロトコルと方法によって、使用できるハッシュ方法が左右されることを忘れないでください。
プロトコルとパスワードの互換性のために Freeradius サーバーを構成するために使用した表を以下に示します。http://deployingradius.com/documents/protocols/compatibility.html
sha256 ソルト付きパスワードを生成するために、github の次のスクリプトを使用しました (パスワードとソルトを変更するには最後の 2 行を編集する必要があります)。https://gist.github.com/bestrocker221/f506eee8ccadc60cab71d5f633b7cc07