Hello Daniel -
You can use Identifiers in your Client clauses to indicate what sort of device
they are, then use those identifiers in your Handlers.
Something like this:
……
<Client 1.1.1.1>
Identifier Firewall
…..
</Client>
<Client 2.2.2.2>
Identifier Firewall
…..
</Client>
<Client 3.3.3.3>
Identifier Switch
…..
</Client>
<Client 4.4.4.4>
Identifier Switch
…..
</Client>
…..
<Handler Client-Identifier = Firewall, NAS-Identifier = TACACS>
AuthByPolicy ContinueUntilAccept
AuthBy CheckReadOnlyAccessForFirewall
AuthBy CheckFullAccessForFirewall
</Handler>
<Handler Client-Identifier = Switch, NAS-Identifier = TACACS>
AuthByPolicy ContinueUntilAccept
AuthBy CheckReadOnlyAccessForSwitch
AuthBy CheckFullAccessForSwitch
</Handler>
hope that helps
regards
Hugh
> On 7 Sep 2016, at 23:28, [email protected] wrote:
>
> Hi all,
>
> I want to use Radiator both for RADIUS and for TACACS for Cisco devices,
> including command level authorization. Based on some posts on this list I got
> both the active directory and the TACACS server module up and running, but
> struggle with the configuration of both.
>
> If I understand correctly, the TACACS module simply converts the TACACS
> authentication requests to radius requests and passes them to Radiator for
> ordinary execution. Authorization requests are handled within the TACACS
> module.
>
> My configuration currently looks as follows:
>
> --- begin ---
> <AuthBy LDAP2>
> # Define DC to connect to
> Host dc-b.ad.xxxxx.com
>
> # Identifier to use this AuthBy Clause later
> Identifier AuthByAD
>
> # Administrative user used to perform LDAP queries
> AuthDN
> cn=Administrator,cn=Users,DC=ad,DC=xxxxx,DC=xxxxxxx,DC=de
> AuthPassword xxxxxxxx
>
> # Where to search for users
> BaseDN OU= User,DC=ad,DC=xxx,DC=xxxxxxx,DC=de
> ServerChecksPassword
>
> # Add Check for group membership
> AuthAttrDef memberOf, ADGroup, check
>
> # Reply should include the group names for further processing
> AuthAttrDef memberOf, ADGroups, reply
>
> # There will be no default User
> NoDefault
>
> # LDAP attribute to check the UserName on
> UsernameAttr sAMAccountName
> </AuthBy>
>
> <ServerTACACSPLUS>
> Port 49
> AddToRequest NAS-Identifier=TACACS
> GroupMemberAttr tacacsgroup
>
> AuthorizeGroup network_ro deny service=shell cmd=show
> cmd-arh=tech-support
> AuthorizeGroup network_ro permit service=shell cmd=show cmd-arg=.*
> AuthorizeGroup network_ro deny .*
>
> # This is for authorized users for full access. Place in lvl 15
> immediately, no restrictions apply
> AuthorizeGroup full_access permit service=shell cmd\* {priv-lvl=15}
> AuthorizeGroup full_access permit .*
>
> # Default deny to prevent accidents when something is misconfigured
> AuthorizeGroup DEFAULT deny .*
>
> </ServerTACACSPLUS>
>
> # Include client definition
> include %D/radius-clients.cfg
> # Include Active Directory AuthBy Handler
> include %D/authby-ad.cfg
> # Include configuration for the built-in TACACS server
> include %D/tacacs.cfg
>
> # TACACS Handler
> <Handler NAS-Identifier=TACACS>
> AddToRequest ADGroup="CN=netadmin,C=ad,DC=xxxx,DC=xxxxxxxx,DC=de"
> AuthBy AuthByAD
>
> # Try read-only access
> # AddToRequest
> ADGroup="CN=netadmin-readonly,C=ad,DC=xxxx,DC=xxxxxxx,DC=de"
> # AuthBy AuthByAD
> </Handler>
> --- end ---
>
> My problem now is how to tie both clues together in the handler. Ideally I
> would also like to distinguish based on the TACACS client which is asking. If
> it is a firewall (IPs known), then use command sets full_access_fw and
> firewall_ro based on AD groups.
>
> Basically I need something like this:
>
> - Firewall is TACACS client, and the user is member of group
> netadmin-security, return request with tacacsgroup=full_access_fw
> - Switch is TACACS client, and the user is member of group netadmin,
> return request with tacacsgroup=full_access
> - Firewall is TACACS client, and the user is member of group
> netadmin-security-ro, return request with tacacsgroup=firewall_ro
> - Switch is TACACS client, and the user is member of group netadmin-ro,
> return request with tacacsgroup=network_ro
>
> How would I do this mapping?
>
> Many thanks and best regards
> Daniel
>
>
> _______________________________________________
> radiator mailing list
> [email protected]
> http://www.open.com.au/mailman/listinfo/radiator
--
Hugh Irvine
[email protected]
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
DIAMETER, SIM, etc.
Full source on Unix, Linux, Windows, MacOSX, Solaris, VMS, NetWare etc.
_______________________________________________
radiator mailing list
[email protected]
http://www.open.com.au/mailman/listinfo/radiator