forcing EAP-type based on client/request
Kacper Wirski
kacper.wirski at gmail.com
Tue Nov 20 08:12:06 CET 2018
Hello,
Thank You for answer. That was exactly, what I was looking for.
"
EAP includes the concept of negotiation. The server proposes an EAP type. The client can NAK it, and propose a different set of EAP types. The server then chooses one, and uses it.
"
That's what I understood from all I read, that's why I was so surprised
with the way I saw those devices operating.
Regards,
Kacper
W dniu 20.11.2018 o 03:36, Alan DeKok pisze:
> On Nov 19, 2018, at 2:04 PM, Kacper Wirski <kacper.wirski at gmail.com> wrote:
>> For quite some time I've been using freeradius (3.0.17 right now - installed from network radius packages on centos 7.5). I've been using it for 802.1x eap-peap mostly.
>>
>> I decided to expand my uses for RADIUS. The issue I ran into is that some of the devices/applications, that could benefit from more centralised RADIUS AA:
>>
>> - don't tell which "eap-type" they want to use
>>
>> - use only what's set as "default" in /mods-available/eap
>>
>> - require different eap types (one works only when using default = md5, other only when deafult = mschapv2) - so it's mutually exclusive.
>>
>> Those devices/applications have no way of setting eap-type, so right now with my knowle
> That's not how EAP works.
>
> EAP includes the concept of negotiation. The server proposes an EAP type. The client can NAK it, and propose a different set of EAP types. The server then chooses one, and uses it.
>
>> Before writing this message I did look in the documentation, but I'm probably not experienced enough, to make much sense of it.
>>
>> What I understand is that, what should happen is this:
>>
>> - client either explicitly tells which eap-types it wants to use (like with windows, I can explicitly choose eap-peap with mschapv2 for example), or sends just eap-identity, and freeradius starts offering types that are configured, then client/radius come into "agreement" which type to use.
> That is what happens.
>
>> With those devices in radius debug it looks basically like this: there's eap-identity frame, radius tries using what's set as default, and it either works (if it's what client expected) or fails (if it expected other eap-type).
>>
>> I have in "eap" module enabled both mschpav2 and md5 and peap, but there can be only one "default" type.
>>
>> So what I was thinking, that maybe there's a way to set "eap-type" based on request? In documentation about default eap setting I read that "it's used, when eap-type wasn't set already by another module or just eap-identity was sent". That got me thinking that there might be some way "in another module" to force EAP-type based on coming request?
> You can set EAP-Type manually:
>
> authorize {
> ...
> if (foo) {
> update control {
> EAP-Type := PEAP
> }
> }
>
> eap
> ...
> }
>
> And it will set the EAP type only when the condition "foo" matches.
>
> Alan DeKok.
>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
More information about the Freeradius-Users
mailing list