Authenticating users on LDAP based on Group name
Jose Torres-Berrocal
jetsystemservices at gmail.com
Fri Apr 24 21:51:32 CEST 2015
On Thu, Apr 23, 2015 at 4:57 PM, Alan DeKok <aland at deployingradius.com> wrote:
> On Apr 23, 2015, at 4:24 PM, Jose Torres-Berrocal <jetsystemservices at gmail.com> wrote:
>> I think one coffusion is that Radius has a setting called Groupname
>> attribute.
>
> FreeRADIUS has an LDAP-Group attribute. Is that what you mean?
>
No. I mean Groupname_attribute. In my configuration is set
Groupname_attribute = cn.
>> I am talking about the Group name in Active Directory as Domain
>> Admins, Administrators, etc. Let say that the AD/LDAP groups are called
>> Wingroups, and Wingroup name is for instance Domain Admins. In my case I
>> want to use the Wingroup InternetAccess.
>
> Please don't invent new terminology. That makes it more confusing.
>
OK, then. When I say Group I am talking about the Group name in Active
Directory as Domain Admins, Administrators, etc. In my case Group =
IntenerAccess.
> FreeRADIUS uses LDAP-Group to check.... groups in LDAP. In your case, AD. That should be clear.
>
>> I do not know how to make aside the conffusion on Authorization and
>> Authentication, but let say that Authentication is having a process where
>> the username/password combination values that are received in the
>> connection request is verified against the LDAP and if found it is say to
>> be Authenticated succesfully otherwise failed.
>
> Don't re-define existing terminology. Authentication is where users are authenticated.
>
> And no, their connection request is not verified against LDAP. You're again using vague and imprecise terminology. Please stop.
>
OK. Is verified against Active Directory using LDAP. Right?
>> I know there are other
>> types of Authentications but I want to keep it simple. Now, Authorization
>> is the process to allow or denied the request to connect. I now there are
>> branches to this, but for simplicity I would like to keep it in that.
>
> Requests don't connect. Users connect. This difference MATTERS.
>
Well, yes, the one who connects is the user but the allow or denied is
the answer to a request, signified by the Access-Request packet. In
RADIUS, the allow is signified by the Access-Accept, the denied by the
Access-Reject, right?
>> Then, I want to allow connection to requests that have a username/password
>> combination authenticated succesfully against an LDAP (Windows AD) and
>> which user belongs to Wingroup InternetAccess.
>
> This is really the first simple explanation I've seen. It shouldn't be that hard to do, to be honest.
>
>> I have being succesfull allowing connection by username/password or by the
>> user belonging to Wingroup, but not at the same time. Those are the debugs
>> I already sent you.
>
> There's hundreds of lines of output, but it's not clear what you want. So... it's hard to say what's going wrong in the debug output.
>
>> When I set the Group name attribute, groupmembership_filter and
>> groupmembership_attribute (Which is what I call using group options)
>
> Again, you're inventing terminology. Stop it. You're confusing yourself, and making the problem worse. MUCH worse.
>
My bad. I should have written groupname_attribute instead of Group
name attribute.
>> I am
>> succesfull allowing/denied connection by the user belonging to the
>> Wingroup, but it currently ignores the password.
>
> Well, no. You didn't do what you said. Instead, you checked for the group, and if the user was in the group, you set Auth-Type := Accept. That's a bit different.
>
>> When I comment the Group
>> name attribute, groupmembership_attribute, etc (Which is what I call not
>> using group options), I am succesfull allowing/denied connection by the
>> username/password, but clearly does not work with the Wingroup.
>
> So... when you don't check groups, it doesn't do group checking? That's not a surprise.
>
>> I have being playing with the Users.conf file and I think is really close
>> for what I need, not sure if it is the correct way
>
> It's not a "users.conf" file. Again, you're inventing terminology.
>
My bad. I should have written "Users" file. Is that some files are
.conf, others are .cnf and other without extension. There is no
standard.
> What do I need to do in order to convince you that your entire approach is wrong? That inventing things, and changing the meaning of existing words is a PROBLEM?
>
> Don't do it. Just... don't.
>
>> ====================================================
>> /usr/pbi/freeradius-i386/etc/raddb/users
>>
>> "test" Cleartext-Password := "squidtest"
>> DEFAULT Ldap-Group != "InternetAccess", Auth-Type := Reject
>> Ldap-Group == "InternetAccess", Auth-Type := LDAP
>> ====================================================
>
> That isn't what you have in the file. It's been modified and re-formatted.
>
The initial file that I sent you is not the same as the one I
currently have. As I told in the previous email, I have being playing
with the Users file ( I written the name wrongly as Users.conf in the
sentence) and clearly I change it trying to get closer to what I need.
In fact is closer.
>
>> Debug output that closely do what I want. Ii is long because is showing on
>> the same run four (4) tests.
>> 1. Username/password combination found in LDAP but NOT in Wingroup.
>> 2. Username/password combination not found in LDAP but in Wingroup
>> 3. Username/password combination found in LDAP and in Wingroup
>> 4. Username/password combination not found in LDAP and not in Wingroup
>
> If you understand what's going on, and don't invent new terminology, it's simple. Just do this:
>
> 1) configure the ldap module. ALL of it. Including the groupmembership_attribute, groupmembership_filter, etc.
>
> 2) put this into the "users" file, at the TOP of the file:
>
> #
> DEFAULT LDAP-Group == "InternetAccess", Auth-Type := LDAP
> #
>
> 3) be sure there's no "ldap" in the "authorize" section
>
> 4) be sure there's "Auth-Type LDAP" in the "authenticate" section
>
> Try to connect. Users in the "InternetAccess" group will get authenticated. But ONLY if their name and password is correct.
>
> Users NOT in the "InternetAccess" group will not get authenticated.
>
> It really is that easy.
>
> But you SHOULD NOT invent new terminology. You MUST understand what the existing words mean. You MUST describe what you want in simple, clear, terms.
>
> Alan DeKok.
>
>
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
OK. I will try that configuration. I think the trick, as I call it,
is to turn off Authorization for LDAP. Will let you know how it goes.
More information about the Freeradius-Users
mailing list