How to configure freeradius server to authenticate VSA attribute
    Matthew Newton 
    mcn at freeradius.org
       
    Mon Mar 12 12:07:39 CET 2018
    
    
  
On Mon, 2018-03-12 at 00:38 +0000, Jibin Han via Freeradius-Users
wrote:
>               Type        Length      Vendor-Id      Vendor-
> type    Vendor-length    Value
> Attr1       26         <length>       3456                 100       
>              <len>                 foo
> Attr2       26         <length>       3456                 200       
>              <len>                 bar
> 
> The goal is we can configure Freeradius server so that in addition to
> user/password check:
> - server reads all the VSA;
> - for any VSA whose Vendor-Id is 3456,
> - when Vendor-type is "100", the value must be "foo"; "200", "bar".
> - If all above checks are good, sends back accept message; otherwise
> reject message.
> 
> Our RADIUS client inserts the above to the access request message,
> currently freeradius debug output does not mention these attributes.
> I need to somehow configure the server and hence ask the question.
Add your vendor attributes to the dictionary in raddb/dictionary, like
VENDOR  MyCompany  3456
BEGIN-VENDOR MyCompany
ATTRIBUTE   MyCompany-AttribA  100  string
ATTRIBUTE   MyCompany-AttribB  200  string
END-VENDOR MyCompany
Then just add logic using unlang to check MyCompany-AttribA etc
attributes as usual to make sure they have the correct values, such as
if (MyCompany-AttribA != "foo") {
	reject
}
if (MyCompany-AttribB != "bar") {
	reject
}
-- 
Matthew
    
    
More information about the Freeradius-Users
mailing list