3.0.12 EAP-PEAP with OpenLDAP group membership and Packet-Src-IP-Address checking
A.L.M.Buxey at lboro.ac.uk
A.L.M.Buxey at lboro.ac.uk
Wed Jan 11 20:28:30 CET 2017
Hi,
> In future we want to enable VLAN assignment via LDAP so we want to use LDAP group membership comparison and combine it with Packet-Src-IP-Address checking.
>
> Users from LDAP group „Admins“ should be assigned to VLAN 10 (management)
> Users from LDAP group „Operators“ should be assigned to VLAN 20 (operator)
> Users from other LDAP groups „Group-X“ should be assigned to userspecific VLAN which is represented in the LDAP attribute „radiusTunnelPrivateGroupId“.
okay. simple policy
> 1. according to Alan DeKoks suggestions here: http://lists.freeradius.org/pipermail/freeradius-users/2015-April/077171.html
> configured freeradius/mods-enabled/ldap „group“ section for group checking.
> In our case every LDAP user has an LDAP attribute 'gidNumber' which represents its group membership.
okay
> 2. configured /freeradius/users file
>
> # in LDAP: Admins gidNumber = 111, Operators gidNumber = 222, Users in POP1 gidNumber = 901
> DEFAULT LDAP-Group == "111", Auth-Type = LDAP
> DEFAULT LDAP-Group == "222", Auth-Type = LDAP
> DEFAULT Packet-Src-IP-Address == 10.0.0.1, LDAP-Group == „901“, Auth-Type = LDAP
> ...
> DEFAULT Packet-Src-IP-Address == 10.0.0.15, LDAP-Group == „915“, Auth-Type = LDAP
> DEFAULT Auth-Type := Reject
eugh. none of that old rubbish. just use a policy written in unlang in the post-auth section of
your inner-tunnel. ensure that the return attributes are in the outer tunnel
(so the NAS can read that info)
> 3. configured /freeradius/sites-enabled/default
>
> >no "ldap" in the "authorize" section
> so ldap gets commented here -> #ldap
>
> >be sure there's "Auth-Type LDAP" in the "authenticate" section
> so #Auth-Type LDAP {
> # ldap
> # }
> gets uncommented here ->
> Auth-Type LDAP {
> ldap
> }
no. you cannot trust the outer ID...anything can be in there
dont enable anything apart from the EAP in the outer
> 4. configured /freeradius/sites-enabled/inner-tunnel
>
> authorize {
> ldap
>
> authenticate {
> #Auth-Type LDAP {
> # ldap
> # }
LDAP should be enabled for authentication in inner tunnel
> Is there a more elegant way to implement it?
unlang
> Is it possible to reduce the LDAP queries exept from sorting the POP listing in users file? (there seems to be a change in 3.0.13 ?)
there was another addition so handle the occasional 'updated' return...the default pre 3.0.13 has served most people ...i guess
the reason you are seeing 2 requests is the authenticate and the authorise.....or its a side effect of the authenticate
in outer tunnel (default) which might lead to another try - if you only auth in inner tunnel then things will be cleaner.
alan
More information about the Freeradius-Users
mailing list