(RADIATOR) Attributes, AuthBy LDAP, and differentiated access levels
Hugh Irvine
hugh at open.com.au
Tue Aug 23 00:09:17 CDT 2005
Hello Scott -
You need to use an AuthBy GROUP as follows:
<Handler Client-Identifier = foundry>
# enable accounting
AcctLogFileName %D/detail
# keep authenticating while ACCEPT
AuthByPolicy ContinueWhileAccept
AuthBy LDAPBind
<AuthBy GROUP>
# now change to AuthByPolicy ContinueUntilAccept
AuthByPolicy ContinueUntilAccept
AuthBy Full
AuthBy Read
</AuthBy>
</Handler>
hope that helps
regards
Hugh
On 23 Aug 2005, at 10:19, Scott Ehnert wrote:
> Hello Matt,
>
> Thank you, this was a big help. Of course, I have hit another
> stumbling block, this time with the AuthByPolicy portion. At this
> point, I am able to authenticate the users password, then it gets sent
> to the next authby clause to match group membership. The group has
> the defined radius attributes and they are being returned upon a
> proper match. All as it should be... the problem now is how to get
> the AuthByPolicy to stop once it matches the correct group membership?
> I have tried all the various AuthByPolicy options and I still get
> Access-Reject packets returned because the last AuthBy clause does not
> return a match, and is thus denied.
>
> How can I get a user with membership in 'foundryfull' to be accepted
> given the configuration below? If I take out all references to the
> AuthBy Read group, it works just fine. And if you invert that, how
> would I get a user with membership in 'foundryread' to be granted
> access, as with the current config they would be reject too based upon
> no membership in 'foundryfull'?
>
> I am sure I am overlooking some fairly obvious bit of config, but i
> can't find what it is.
>
> Foreground
> LogStdout
> LogDir /var/log/radius
> DbDir /etc/radiator/raddb
> # User a lower trace level in production systems:
> Trace 5
> BindAddress 10.255.255.241
> AuthPort 1645,1812
> AcctPort 1646,1813
> # You will probably want to add other Clients to suit your site,
> # one for each NAS you want to work with
>
> <Client 10.255.255.244>
> Identifier foundry
> Secret mysecret
> DupInterval 0
> </Client>
> <AuthBy LDAP2>
> Identifier LDAPBind
> #RewriteUsername s/^([^@]+).*/$1/
> NoDefault
> Host localhost
> AuthDN cn=admin, dc=somenet, dc=net
> AuthPassword qwe123
> BaseDN dc=somenet, dc=net
> Version 3
> UsernameAttr cn
> PasswordAttr passwd
> ServerChecksPassword
> Debug 255
> </AuthBy>
>
>
> <AuthBy LDAP2>
> Identifier Full
> NoDefault
> Host localhost
> AuthDN cn=admin, dc=somenet, dc=net
> AuthPassword qwe123
> BaseDN ou=Group, dc=somenet, dc=net
> Version 3
> SearchFilter (&(memberUid=%1)(|(cn=foundryfull)))
> AuthAttrDef radiusReplyItem,GENERIC,reply
> Debug 255
> </AuthBy>
>
> <AuthBy LDAP2>
> Identifier Read
> NoDefault
> Host localhost
> AuthDN cn=admin, dc=somenet, dc=net
> AuthPassword qwe123
> BaseDN ou=Group, dc=somenet, dc=net
> Version 3
> SearchFilter (&(memberUid=%1)(|(cn=foundryread)))
> AuthAttrDef radiusReplyItem,GENERIC,reply
> Debug 255
> </AuthBy>
>
> <Handler Client-Identifier = foundry>
>
> # enable accounting
> AcctLogFileName %D/detail
>
> # try each of the following methods, until something rejects us
> AuthByPolicy ContinueUntilReject
>
> AuthBy LDAPBind
>
> AuthBy Full
>
> AuthBy Read
> </Handler>
>
>
>
> Thanks for any assistance.
>
> Regards,
>
> -=Scott
>
>
> On 8/16/05, Matt Richard <matt.richard at fandm.edu> wrote:
>
>> Hi, Scott,
>>
>> You will want to have separate authentication sections for each set
>> of switches.
>>
>> Make several LDAP group for each switch, one with each access level
>> that you use. You can place the foundry-privilege-level attributes
>> in the group itself, and just return the search results in the
>> packet. Or you can use several authby sections and manually set the
>> access level in the reply packet.
>>
>> Then you will have one set of handlers for each group of RADIUS
>> clients (switches/routers) where you will use AuthByPolicy
>> ContinueUntilReject. Then first try a bind for authentication. Then
>> try the search for authorization.
>>
>> In case this is as clear as mud, I'm attaching an example version of
>> my config file. I'm not doing exactly what you are, but I am
>> handling users differently depending on what kind of device they log
>> in to.
>>
>> Hope this helps,
>>
>> Matt
>>
>> At 2:33 PM -0700 8/10/05, Scott Ehnert wrote:
>>
>>> Hello,
>>>
>>> We are using AuthBy LDAP in order to centralize our user
>>> database. I
>>> have run into a hitch with this that I am unsure of how to work
>>> around.
>>>
>>> We have several different "classes" of device based on their
>>> function.
>>> For instance, we have foundry switches, some are classified "core"
>>> some are "edge" etc. We want to restrict user privilege level by
>>> the
>>> class of device. The problem is that if a user has
>>> foundry-privilege-level=0 access to "edge" but has
>>> foundry-privilege-level=5 access to "core" how do I send the
>>> appropriate attribute based on which type of device?
>>>
>>> I can see working around this by using AuthBy FILE and defining
>>> different files on a per-realm basis, and then assigning each
>>> class to
>>> a different Realm, but this defeats the centralized management
>>> function.
>>>
>>> Any assistance is appreciated.
>>>
>>> Thanks!
>>>
>>> -=Scott
>>>
>>> --
>>> Archive at http://www.open.com.au/archives/radiator/
>>> Announcements on radiator-announce at open.com.au
>>> To unsubscribe, email 'majordomo at open.com.au' with
>>> 'unsubscribe radiator' in the body of the message.
>>>
>>
>>
>> --
>> Matt Richard
>> Access and Security Coordinator
>> Computing Services
>> Franklin & Marshall College
>> matt.richard at fandm.edu
>> (717) 291-4157
>>
>>
>>
>
> --
> Archive at http://www.open.com.au/archives/radiator/
> Announcements on radiator-announce at open.com.au
> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe radiator' in the body of the message.
>
NB:
Have you read the reference manual ("doc/ref.html")?
Have you searched the mailing list archive (www.open.com.au/archives/
radiator)?
Have you had a quick look on Google (www.google.com)?
Have you included a copy of your configuration file (no secrets),
together with a trace 4 debug showing what is happening?
--
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. Available on *NIX, *BSD, Windows, MacOS X.
-
Nets: internetwork inventory and management - graphical, extensible,
flexible with hardware, software, platform and database independence.
-
CATool: Private Certificate Authority for Unix and Unix-like systems.
--
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.
More information about the radiator
mailing list