
適切な情報をファイルに直接含めることで、RADIUS で各ユーザーを Mac-ID の小さなセットに制限しようとしていますusers
。各ユーザーが 1 台の Mac に制限されていても問題ありません。サーバーは、Ubuntu 13.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"
ファイルには、Mac ID を上記の形式に正規化する関数policy.conf
があり、 の直後にrewrite.calling_station_id
呼び出されます。 を実行すると、適切にフォーマットされた Mac ID がログに表示されます。 ただし、要求は拒否されます。 チェックが に置き換えられても、属性が存在する場合は必ずパスするはずの ですが、要求は拒否されます。 ただし、 が に置き換えられると、属性が存在する場合にのみパスするはずの になります。available-sites/default
preprocess
freeradius -X
Calling-Station-Id =* "a1b2c3d4e5f6"
Calling-Station-Id !* "a1b2c3d4e5f6"
ないリクエストに存在する場合、リクエストは受け入れられます。
対照的に、 を使用すると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-AuthMac 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
答え1
外部リクエストの属性を内部サーバーに渡していません。
設定しcopy_tunnel_request = yes
ます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 制御属性は設定されません。