users
ファイルに適切な情報を直接含めることにより、すべてのユーザーをRADIUSのMac-IDの小さなセットに制限しようとしています。すべてのユーザーが1台のMacに制限されていても問題ありません。サーバーは、Ubuntu13.10リポジトリからFreeRADIUSバージョン2.1.12を実行しています。使用される認証はPEAPとMSCHAPv2です。
物理クライアント(Nexus 5)がアクセスポイント(Netgear WG-102)を介して接続しようとすると、FreeRADIUSはアクセス要求でMac-idを識別しているように見えますが、チェックでは使用していません。現在のテストセットアップでネットワーク上にあるデバイスは、RADIUSサーバー、アクセスポイント、およびテストクライアントのみです。 users
ファイルのエントリは、次のように設定されています。
testuser NT-Password := "<hash>", Calling-Station-Id == "a1b2c3d4e5f6"
policy.conf
ファイルにはMacIDを上記の形式に正規化するrewrite.calling_station_id
関数があり、これはpreprocess
の直後にavailable-sites/default
で呼び出されます。 freeradius -X
を実行すると、適切にフォーマットされたmac-idがログに表示されます。ただし、要求は拒否されます。チェックがCalling-Station-Id =* "a1b2c3d4e5f6"
に置き換えられた場合でも、属性が存在する場合は常に合格するはずですが、要求は拒否されます。ただし、それがCalling-Station-Id !* "a1b2c3d4e5f6"
に置き換えられた場合、リクエストに属性がnotが存在する場合にのみ渡されることになり、リクエストは受け入れられました。
対照的に、radclient
を使用すると、期待される動作が観察されます。構成ファイルと関連ログは以下にリンクされています。 /etc/freeradius
フォルダー全体がリンクされており、次の4つの場合のログも含まれています。数2が唯一の予期しない動作であることに注意してください。
nexus-without-mac-success
:users
ファイルにはMacチェックがなく、認証は成功しましたnexus-with-mac-fail
:users
ファイルに正しいMACアドレスがあり、認証に失敗しましたradclient-with-mac-expected-behaviour-fail-with-wrong
:radclientが間違ったMACアドレスで実行され、拒否されました:echo "User-Name=testuser,User-Password=test,Calling-Station-Id=8c:3a:e3:19:70:0e" | radclient localhost auth testing123
radclient-with-mac-expected-behaviour-success-with-correct
:radclientは正しいMACアドレスで実行され、受け入れられます:echo "User-Name=testuser,User-Password=test,Calling-Station-Id=8c:3a:e3:19:70:0f" | radclient localhost auth testing123
Calling-Station-Id
をこのように使用することはできませんか? http://wiki.freeradius.org/guide/Mac-Auth とは反対に、ユーザーごとにMac-Idを制限したいので、別の方法がある場合はこれ、それも大歓迎です。
http://portmasters.com/tech/docs/radius/userinfo.html#1004825 1999年に書かれていますが、これが正しい方法であると言っているようです。
http://www.cmi.ac.in/~ronno/freeradius-test には次のものが含まれます。
freeradius
-/etc/freeradius
の内容logs
-上記の4つのログwg102.cfg
-アクセスポイントの構成snapshot.tar.gz
-上記のすべてを含むtarball外部リクエストの属性を内部サーバーに提供していません。
セットする copy_tunnel_request = yes
in eap{peap{}}
(eap.confまたはmods-available/eap内)。
https://github.com/FreeRADIUS/freeradius-server/blob/master/raddb/mods-available/eap#L594
内部サーバーで呼び出されたファイルは、外部要求のCalling-Station-ID属性にアクセスできず、どのエントリとも一致しないため、NT-Password制御属性を設定しません。