Mikrotik Hotspot-FreeRADIUS0-OpenLDAPチェーンがあり、HotspotのLDAPディレクトリに保存されているユーザーを認証したいとします。これまでは、すべてのパスワードがプレーンテキストであり、すべてがうまく機能しますが、今ではこれらのパスワードをハッシュ形式(おそらくSSHA、デフォルトのldappasswdオプション)として保存しようとしています。チェーンのすべての段階でハッシュされたパスワードオプションを有効にする必要があると思いますが、FreeRADIUSのどこでも有効にする方法が見つかりません。ご協力ありがとうございます
答え1
存在するraddb/mods-available/ldap
ldap {
...
update {
control:Password-With-Header := '<your ldap password attribute>'
}
...
}
raddb/sites-available/default
またはraddb/sites-available/inner-tunnel
authorize {
...
eap
ldap
pap
...
}
LDAPパスワード属性のパスワード値の前に適切なヘッダーを追加します。
完全なタイトルのリストは次のとおりです。https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/src/modules/rlm_pap/rlm_pap.c#L76
LDAPモジュールが実行されると、パスワード属性を見つけてFreeRADIUS内部Password-With-Header
属性に保存します。
PAPモジュールが実行されたら、属性を検索し、事前定義されPassword-With-Header
たヘッダー名のリストを表示し、値の先頭に一致するものがあることを確認しますPassword-With-Header
。
これが完了すると、PAPモジュールはヘッダーを削除し、必要に応じてbase64 / hexで変換し、同じダイジェストアルゴリズムとソルトを使用してユーザーが提供したパスワードをハッシュして結果を比較します。
ハッシュが一致すると、pap モジュールは ok を返し、認証は続行されます。それ以外の場合、pap モジュールは拒否を返し、認証は失敗します。
この機能を機能させるには、EAP-TTLS-PAP
EAPタイプ(WPA2 Enterpriseの場合)または一般タイプPAP
(ポータルログインの場合)を使用する必要があります。