LDAP authorization without group attribute
Walter Reynolds
waltr at umich.edu
Tue May 13 13:45:54 CEST 2014
I am running Freeradius 2.2.4 and am not quite sure where to go with this.
I have read the documentation, but my need does not quite match.
We have the standard EAP-PEAP setup where users are authenticated against
AD via ntlm-auth. What I need to do is add an authorization check to
determine if a users should get a specific VLAN attribute sent back or be
placed in a default VLAN (This is so we can only allow access to library
resources to those that should be allowed).
Now, if I had a LDAP group that contained these I could use a simple group
setup listed in the http://wiki.freeradius.org/modules/Rlm_ldap page. My
problem is, the attribute that contains the data about the affiliation is a
multi valued attribute
UMICHINSTROLES
StudentAA, StudentDBRN, and StudentFLNT (continuing and incoming students
regardless of enrollment; includes detached study);
EnrolledStudentAA, EnrolledStudentDBRN, EnrolledStudentFLNT (enrolled in at
least one credit hour for ""current"" term; next term information is used
during gap between terms)
AlumniAA, AlumniDBRN, AlumniFLNT (any person who has completed at least one
semester in a degree-granting program)
FacultyAA, FacultyDBRN, FacultyFLNT (defined as academic, instructional,
and research appointments; includes emeritus faculty)
RegularStaffAA, RegularStaffDBRN, RegularStaffFLNT (current appointment
with a status of active, suspended, short-work break, leave, or paid leave);
TemporaryStaffAA, TemporaryStaffDBRN, TemporaryStaffFLNT (current
appointment with a status of active, suspended, short-work break, leave, or
paid leave)
Retiree (retired from any U-Mcampus, regardless of other appoints that may
still be active)
SponsoredAffiliateAA, SponsoredAffiliateDBRN, SponsoredAffiliateFLNT (has
at least one departmental sponsorship).
Is there a way to make the group match a specific set of these values? (I
can do that with the Cisco VPN DAP policies) Something along these lines
(again based on group section from wiki)l
post-auth {
if (LDAP-Group == "umichinstroles=*FacultyAA") {
Assign VLAN Special
}
elsif (LDAP-Group == "umichinstroles=*StudentAA") {
Assign VLAN Special
}
else {
Assign VLAN Default
}
}
Another path of thought was to specify a filter in the LDAP module config
to something like this.
filter =
"(&(uid=%{Stripped-User-Name:-%{User-Name}})(|(umichinstroles=*AffiliateAA)(umichinstroles=*FacultyAA)(umichinstroles=*StudentAA)(umichinstroles=*StaffAA)))"
So that works as far as only responding if a user matches one of those, but
then how would I apply a VLAN for them and leave everyone else in a default
VLAN?
There must be a way to do this but my lack of LDAP knowledge is not helping
me see how to do this and the guides I find do not seem help.
Any help would be appreciated.
------------------------
Walter Reynolds
Principal Systems Security Development Engineer
Information and Technology Services
University of Michigan
(734) 615-9438
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20140513/f11d022a/attachment.html>
More information about the Freeradius-Users
mailing list