[RADIATOR] Checking if attribute is within an IP subnet
daniel.herrmann at zv.fraunhofer.de
daniel.herrmann at zv.fraunhofer.de
Tue Feb 28 13:20:14 UTC 2017
Hi,
I want to achieve the following using Radiator:
Users connect via VPN to our Cisco ASA using AnyConnect, which authenticates the users via RADIUS. The Handler on Radiator is as follows. Basically, users belong to a group in our AD, let’s say vpn-inband. The client statement of the firewall includes the respective client-identifier to map the request to the handler.
--- schnip ---
##############################################
############# Authenticate VPN ##############
############## Cisco ASA VPN #################
##############################################
# InBand VPN
<Handler Client-Identifier=network-security-ib>
# Require vpn-inband Group
AddToRequest ADGroup="CN=vpn-inband,CN=xxx"
# Continue Auth until acceptable permission set is found
AuthByPolicy ContinueUntilAccept
# Try emergency-user before asking AD
AuthBy AuthByFile
# Try to authenticate against AD
AuthBy AuthByAD
</Handler>
--- schnapp ---
AuthBy AD actually just authenticates against AD:
--- schnip ---
<AuthBy LDAP2>
# Define DC to connect to
Host oob-ldap-proxy
# Identifier to use this AuthBy Clause later
Identifier AuthByAD
# Administrative user used to perform LDAP queries
AuthDN xxxxx
AuthPassword xxxx
# Where to search for users
BaseDN OU=xxx-User,DC=xxx
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
AuthAttrDef logonHours,MS-Login-Hours,check
</AuthBy>
--- schnap ---
So far, this is already working. Let’s now say, some of the users have an additional group in AD, say “CN=student,CN=xxx”. In this case, I want to restrict the source-IP they may use to connect to the VPN. The Appliance itself cannot handle this, but the RADIUS request includes the source IP.
--- snip ---
Attributes:
User-Name = "daniel.herrmann"
Calling-Station-Id = "10.1.0.10"
--- snap ---
I want to create this logic:
If user has both the inband and student group, he may only connect if the Calling-Station-Id is within a specific range, say 10.10.10/24. If the user is only in the inband group and not within the student group, he may connect from everywhere.
What would be the easiest way to build this in Radiator?
Thanks and best regards
Daniel
--
Daniel Herrmann
Network Architect – Fraunhofer Private Cloud
CCIE #55056 (Routing and Switching)
Cisco CCDP, CCIP; Fluke CCTT
Fraunhoferstraße 5, 64283 Darmstadt
Mail: daniel.herrmann at zv.fraunhofer.de
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.open.com.au/pipermail/radiator/attachments/20170228/15488928/attachment.html>
More information about the radiator
mailing list