RE: Version 3.0.0 has been released

2013-10-08 Thread Garber, Neal
Congratulations!  Thank you again for all of the countless hours you spend on 
improving the best and most flexible RADIUS server.  One question though - is 
there a typo in the V2 upgrade link below?  When I click on it I get a 404 
error..

  Upgrading instructions are available here:

 https://github.com/FreeRADIUS/freeradius-server/blob/release_branch_3.0.0/raddb/README.rst

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Cache for machine authentication

2013-10-04 Thread Garber, Neal
Can someone tell me if it is possible in FR to cache in memory (for a short 
amount of time) Calling-Station-Id from successful machine authentications so 
that subsequent user authentications can test whether the user is connecting 
from an authorized device?  This is a feature that is available with Cisco ACS 
version 5 (using attribute Was-Machine-Authenticated) that I am trying to 
emulate in FR.  If it's possible and anyone can share ideas, I would appreciate 
it.  I thought about using a database, but it seems horribly inneficient 
compared to caching something in memory.  I know I could write a custom module 
or use perl and maintain the cache in a file, but I don't want to reinvent the 
wheel and I'm hoping there's an easier and more efficient way to accomplish 
this..

Thanks for your time..
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: ntlm_auth in freeradius

2012-05-16 Thread Garber, Neal
 i cant find the ntlm_auth file in my OS ,
 is it coming with freeradius or we have to 
 install it separately .

It's part of Samba.  A simple google search for ntlm_auth
would have answered that question for you.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: DHCP on FreeBSD 8.2

2012-04-21 Thread Garber, Neal
 I am getting the following errors during compilation on my FreeBSD 8.2 OS:  
 /usr/include/net/if_arp.h:47: error: expected specifier-qualifier-list
 before 'u_short'
 /usr/include/net/if_arp.h:88: error: field 'arp_pa' has incomplete type
 /usr/include/net/if_arp.h:89: error: field 'arp_ha' has incomplete type
 /usr/include/net/if_arp.h:115: error: expected specifier-qualifier-list
 before 'u_long'

Try adding the following includes before those that are already in the file
freeradius-server/src/lib/dhcp.c:

#include sys/socket.h
#include sys/types.h
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Freeradius with multiple clients

2012-04-20 Thread Garber, Neal
 yes i said that freeradius with coovachilli works but with 
 the access point i think send another request so it fails.. 

Yes, you did say that.  But, I have no idea what you mean by
i think send another request so it fails?  As I said
before, read the FAQ (it will tell you to provide debug
output):

 http://wiki.freeradius.org/FAQ#It+still+doesn%27t+work%21 

If you want help, provide details of what you're trying to
accomplish and debug output from a request that is failing.  
Otherwise, you're just wasting everyone's time.

If I said to you, my car doesn't work, is that enough 
information for you to tell me what's wrong with it?
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Freeradius with multiple clients

2012-04-19 Thread Garber, Neal
 but i have problems to the ap... The didn't login... 

Do you really think this is enough information for someone to help you?  
Did you read the FAQ?

 http://wiki.freeradius.org/FAQ#It+still+doesn%27t+work%21
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Blackberry disabled server certificates query

2012-01-20 Thread Garber, Neal
 if you leave the box unchecked disable server certificate validation
 then the blackberry connects fine if you uncheck connection fails 
 failed to connect. 

You wrote, ...if you leave it unchecked... (it)... connects fine if you 
uncheck (it the) connection fails???

Did you mean to say if you leave it *checked* it connects fine??  If so, 
checking the box is telling your Blackberry NOT to validate the RADIUS server's 
certificate.  If you don't validate the certificate, there's a risk that you 
could be passing your credentials to an untrusted RADIUS server (if someone 
impersonates your wireless network name).  

Best practice, for RADIUS, is to use a cert generated from a private CA that 
you control, or at least trust.  In this case, you would need to configure your 
Blackberry's to validate that the certificate is signed by the CA you expect 
(which means they would need the CA's cert installed - I assume this is 
possible with Blackberry's, but I don't own one and I don't know how difficult 
it is to distribute a cert to the Blackberry's or how many you have).

You need to decide whether to accept the risk or not.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Unlang issue

2011-07-29 Thread Garber, Neal
 Try:

 if ((Client-IP-Address == x) || (Client-IP-Address == y)) {
 }

No joy :-(.  For now, I ended up doing:

   if (Called-Station-Id) {
  if (Client-IP-Address == x) {
 update request {
Huntgroup-Name := 
 }
  }
  elsif (Client-IP-Address == y) {
 update request {
Huntgroup-Name := 
 }
  }
   }

Not as efficient, but it works.  I'll retest the old unlang code after I 
upgrade later this year.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Unlang issue

2011-07-28 Thread Garber, Neal
I'm running FR 2.1.6 (I know - I plan to upgrade later this year).  Is there 
anything wrong syntactically with the following code or is this a bug that was 
fixed since 2.1.6?

if (Client-IP-Address == 172.20.16.28 || Client-IP-Address == 
172.20.204.10)) {
update request {
Huntgroup-Name := GlobalRoaming
}
}

#
# If NAS is an autonomous AP, get SSID from Cisco-AVPair
#
if (Huntgroup-Name == EEProdAP || \
Huntgroup-Name == EETestAP) {
if (Cisco-AVPair =~ /ssid=(.*)/) {
update request {
SSID-Name = %{1}
}
}
}

I ask because the first if statement only works if the Client-IP-Address 
matches the first address listed (172.20.16.28).  I would expect that it would 
evaluate to true if Client-IP-Address matches either of the addresses.  Here's 
a snippet of debug output that illustrates the problem - it doesn't appear to 
finish the logical or comparison:

Info: ++? if (Called-Station-Id  (Client-IP-Address == 172.20.16.28 ||  
 Client-IP-Address == 172.20.204.10))
Info: ? Evaluating (Called-Station-Id ) - TRUE
Info:expand: %{Client-IP-Address} - 172.20.204.10
Info: ++? if (Huntgroup-Name == EEProdAP || Huntgroup-Name == EETestAP)
Info: (Attribute Huntgroup-Name was not found)

When I switch the order of the addresses for the logical or, I see the 
following in debug (it does the comparison and returns TRUE):

Info: ++? if (Called-Station-Id  (Client-IP-Address == 172.20.204.10 || 
  Client-IP-Address == 172.20.16.28))
Info: ? Evaluating (Called-Station-Id ) - TRUE
Info:expand: %{Client-IP-Address} - 172.20.204.10
Info: ?? Evaluating (Client-IP-Address == 172.20.204.10 ) - TRUE
Info: ?? Skipping (Client-IP-Address == 172.20.16.28)
Info: ++? if (Called-Station-Id  (Client-IP-Address == 172.20.204.10 || 
  Client-IP-Address == 172.20.16.28)) - TRUE
Info: ++- entering if (Called-Station-Id  (Client-IP-Address == 
172.20.204.10 ||   Client-IP-Address == 
172.20.16.28)) {...}
Info: +++[request] returns ok
Info: ++- if (Called-Station-Id  (Client-IP-Address == 172.20.204.10 || 
  Client-IP-Address == 172.20.16.28)) returns ok
Info: ++? if (Huntgroup-Name == EEProdAP || Huntgroup-Name == EETestAP)
Info: ? Evaluating (Huntgroup-Name == EEProdAP ) - FALSE
Info: ? Evaluating (Huntgroup-Name == EETestAP) - FALSE
Info: ++? if (Huntgroup-Name == EEProdAP || Huntgroup-Name == EETestAP) - 
FALSE


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: Unlang issue

2011-07-28 Thread Garber, Neal
Ok, thanks Alan.  I'll split it into two if stmts as a workaround for now..

BTW, when posting the code and trying to make it look nicer, I mangled it.  The 
original code really looked like this:

if (Called-Station-Id  (Client-IP-Address == 172.20.16.28 || \
  Client-IP-Address == 172.20.204.10)) {
   update request {
   Huntgroup-Name := GlobalRoaming
   }
}

Sorry for the confusion..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Unlang issue

2011-07-28 Thread Garber, Neal
 Try:

 if ((Client-IP-Address == x) || (Client-IP-Address == y)) {
 }

Thanks for the suggestion Phil.  I'll give that a try..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Yet another multiple SSID setup question

2011-07-28 Thread Garber, Neal
 It's failing on the inner tunnel with an error that 
 it has no value specified for the auth type,
 but shouldn't that be set by the eap module?

It didn't say no value, it said unknown value.  The
debug output showed the value of Auth-Type as 
eap_cuesta:

Found Auth-Type = eap_cuesta
  WARNING: Unknown value specified for Auth-Type.  Cannot perform
  requested action.

The problem is that the Auth-Type (eap_cuesta)
doesn't exist in your inner-tunnel-cuesta 
authenticate section.  You are also missing 
mschap_cuesta in the authorize section.

Try this:

inner tunnel:
authorize {
suffix
mschap_cuesta
eap_cuesta {
ok = return
}
}
authenticate {
mschap_cuesta
eap_cuesta
}

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: RADIUS Questions

2011-07-26 Thread Garber, Neal
You didn't give much information regarding your
environment, so some of the responses below are
based upon assumptions: that you manage all devices
that are connecting, that they are joined to your
A/D domain and that you are using the Windows
supplicant.  

You haven't said what version of Windows you
are running and what version of FreeRADIUS
you are running!

 Currently with Windows machines I can't just connect to
 the SSID and enter in a username and password. I have 
 to go and manually add the SSID, modify some settings; 

If you are referring to PEAP vs. TLS, that's a Windows XP
issue. XP defaults to TLS and won't connect automatically
if you are using PEAP.  However, you can push wireless
policy to your Windows devices using A/D group policy
and set this up automatically.

 specifically turning off validating server certificate

This is a bad idea as you could be passing your credentials
to someone else's RADIUS server.  It's best to generate a
certificate signed by an internal Certificate Authority
and require a cert signed by that CA in your 802.1x config.
This too can be pushed to Windows devices as part of your
A/D policy assuming they are joined to your domain and
run Windows.

 turning off automatically use my Windows login, and 
 turning on User or computer authentication mode.

Why do you want to use manual authentication as opposed to
automatic?  If the machines that are connecting are joined
to your A/D domain, you may want to consider using machine
authentication. User authentication, in the current release, doesn't support 
MS-CHAP password change. Also, user authentication with the Windows supplicant 
requires the
presence of cached credentials (because you logon locally 
first and then connect to the wireless network) which may
not match current A/D credentials.

 error messsage was: winbind client not authorized to
 use winbindd_pam_auth_crap. Ensure permissions on 
 /var/cache/samba/winbindd_privileged are set correctly.

Use sudo wbinfo or run it as root if you don't use sudo.
That said, wbinfo isn't used by FreeRADIUS to authenticate
to A/D (ntlm_auth is used for PEAP/MS-CHAPv2).


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: LDAP SHA1 Password, EAP-PAP and Dynamic VLAN

2011-07-26 Thread Garber, Neal
 Actually i've already a configuration to 
 dynamic assing VLAN ID with MS-CHAPv2 

What reply attribute(s) are you passing
to the switch in this case?

 I've done some tests.. can actually authenticated 
 based on the logs and the switch info, but Dynamic 
 VLAN isn't configured on the switch ports. 

If you are authenticating successfully, then check
what attributes are being returned to the switch and
compare to the scenario above when you said it worked!
Then, fix your config to return the proper attribute
with the proper value.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: RADIUS Questions

2011-07-26 Thread Garber, Neal
 I don't think that I'm using the supplicant but I could 
 be wrong. 

The supplicant is the software on the client device that
manages wireless profiles/connections.  If Windows 
controls the wireless connections (Wireless Zero Config service) then you are 
using the Windows supplicant.

 I'm running FreeRadius 2.1.7-7.e15 ( I believe this is the 
 latest) with freeradius2-krb5-2.1.7-7.e15 and freeradius2-
 utils-2.1.7-7.e15.

2.1.7 is old!  2.1.11 is the latest version of FreeRADIUS..

 I'm pretty sure I'm using PEAP.

This would be obvious in the wireless settings on the
device.  

 I realize that and I'm going to work on using our wild 
 card cert to better secure this. However the question 
 still arises on will our SSL cert validate properly on a 
 Windows system. When I initially set this up I never saw 
 anything regarding and 802.11x config. After updating I seem 
 to remember seeing this config file mentioned.

Windows clients require that certain extensions be present
in the certificate (you can thank Microsoft for that - it's
not a FreeRADIUS issue).  If most of the machines are not joined to your domain 
and are personal devices and you want easy access, you'll want to use a 
certificate signed by a CA
that's in the Windows root CA list.  Just be aware that 
this is not as secure as an internal or self-signed cert. because any 
certificate from the CA you choose would be
accepted (even if it's from someone else's RADIUS server);
but, the alternative is that you would need to distribute 
the CA's cert to each user that wants to connect.  

I can't answer your question regarding whether 
your SSL cert will validate properly on Windows because
you haven't said how it was generated? Is it self-signed?
Is it signed by a CA that's in the root CA list of a
device you were using to test?  Does it include the 
required Windows extensions?  There have been considerable
discussion on the mailing list regarding the creation 
of certs that will work with Windows clients.  Google is
your friend (along with the doc inside the FR files).

 Like I mentioned above not all, actually few machines, are 
 managed via our AD server. I would love to change this but it 
 would require far more administrative changes that I'm unable 
 to make.

Makes sense..

 Like I mentioned our Windows versions vary from XP to 7. 

I thought, but can't verify right now, that starting with
Vista, Windows will connect using PEAP without manual 
wireless configuration (i.e., it doesn't assume TLS 
as a default the way XP does). Perhaps your only issue 
with Vista/7 is that the cert doesn't have the required extensions or isn't 
signed by a CA that's in the root CA 
list of the device?


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: LEAP Authentication?

2011-06-30 Thread Garber, Neal
 It does. It is a Aironet 350 device and it has 
 internal RADIUS as well, which we are able to 
 authenticate against(using LEAP).

Is this for WLSE authentication to the AP?  If not,
do you have other options other than LEAP? If so,
avoid LEAP as many others have said.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Sending Reply-Message in Access-Reject (PEAP/MSCHAPv2)

2011-05-24 Thread Garber, Neal
 so, in inner-tunnel post-auth, set outer.reply 
 to be whatever you want.. you can then, in the 
 outer layer, query/check or use that reply.

There's an additional round trip after the failure
which is why Phil said it needs to be saved.  I 
had a patch to save/restore it; but, it needs 
rework and I don't have the time to do it now.. :-(

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: ntlm_auth authentication results logging messages

2011-05-19 Thread Garber, Neal
 I found a similar user in an old thread who submitted a patch: 
 (http://freeradius.1045715.n5.nabble.com/Capturing-ntlm-auth-failure-
 reasons-in-rlm-mschap-td2791760.html)
 And it appears that this patch made it into the rlm_mschap.c module code:

I submitted that patch and it was included in FR v1.  Unfortunately,
a change in v2 regressed this functionality. In v2, there's now an additional 
round trip, so the ntlm_auth results need to be saved - they 
are saved, in the current version, for success; but, not for failure.  
I submitted another patch for v2 last year that saves the ntlm_auth 
results for failures as well; but, it required rework (Alan wanted it 
split into two separate patches) and I haven't had a chance to rework 
it yet.  Other, really nice mschap patches have been submitted 
since then (thank you Phil), so the rework, for me, is now a bit more.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Relation between NAS and FreeRADIUS

2011-05-18 Thread Garber, Neal
 I want to ask that NAS provide internet or FreeRADIUS. 

What does that mean?

 I mean i should connect internet connection to NAS or FreeRADIUS.

Try rephrasing your question and provide more background on
what you are trying to accomplish..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: MSCHAP / NTLM_AUTH failure on expired AD password; out of sync cached creds / AD password.

2011-05-12 Thread Garber, Neal
 FR is configured to send the auth request to AD (MSCHAP 
 only, Aruba terminates PEAP) using NTLM_AUTH.  

Why do you want Aruba to terminate PEAP?

 If it IS expired, MSCHAP (or NTLM_AUTH) seems to always 
 return a reject.  

See below...

 Also, with new users an account is created with a 
 temp / one time password and their account is set to 
 user must change password at first logon.  This 
 results in a similar failure - the supplicant never pops 
 a box prompting to CHANGE password, it just prompts 
 to reenter because of the failure - which is 
 obviously worthless. 

For now, this is working as designed because FR doesn't support password change 
via MSCHAP.  Recently, there was a thread talking about
supporting retry and Phil Mayers wrote and submitted a patch to
provide retry  password change for MSCHAP (thank you Phil:) ).  But, 
I'm not sure that code will make it into 2.1.11 because I haven't seen 
a lot of people posting I tested it and it works fine messages.  Of course, 
Alan would know for sure...

 I THOUGHT MSCHAPv2 can recognize a password expired state 
 and actually allow a user to change it via MSCHAPv2 functions.  

True, but see above.

 We have a similar failure when the laptops cached credentials 
 are out of sync with AD.  

This might be fixed with Phil's patch.  Feel free to test it
and report your findings..

Another option is to use machine authentication (assuming the
machines connecting are all members of your AD domain).  Then,
while the user is logged off, the machine logs on.  The user
logon then goes to the domain since it already has a network
connection.  That would eliminate the bad cached credentials issue
and the expired password issue.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: PEAP/MSCHAPv2 failing with Windows 7

2011-05-10 Thread Garber, Neal
 In the PEAP properties, EAP-MSCHAP v2, if you DISABLE
 automatically use my windows logon name and password and
 instead enter the credentials manually it works.

What version of FR are you running?  If it's  2.1.10, try it with 2.1.10.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: PEAP/MSCHAPv2 failing with Windows 7

2011-05-10 Thread Garber, Neal
 In the PEAP properties, EAP-MSCHAP v2, if you DISABLE
 automatically use my windows logon name and password and
 instead enter the credentials manually it works.

Look at:

http://freeradius.1045715.n5.nabble.com/MSCHAP-Authentication-Issue-td2785146.html
 

to see if this is your problem (look at the table in the post). If so and 
you're running a version  2.1.10, upgrade as this problem is fixed in 2.1.10..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: PEAP/MSCHAPv2 failing with Windows 7

2011-05-10 Thread Garber, Neal
 I can/will upgrade, but the symptoms lead me to believe its a windows 
 thing.  What leads you to believe an FR upgrade would fix it?

I sent another response with more info.  The issue I'm thinking of is one we 
talked about quite a while ago (I asked if you could test it).  It's the one 
where the case (i.e., upper vs. lower) of the User-Name differs between the 
inner and outer tunnels.  Take a look at the link I included in my last 
response.  In it, there's a table that showed the results of tests I performed. 
 It was with XP not Win7, but the same *may* apply.  I would look in the debug 
output at the Access-Requests and compare the User-Name attributes for inner 
and outer tunnels to see if they are *exactly* the same (it's case-sensitive as 
it is used to construct the challenge/response.  I thought of this because my 
testing produced different results depending upon whether credentials were 
passed automatically (which is a symptom you described).  Look at the table in:

http://freeradius.1045715.n5.nabble.com/MSCHAP-Authentication-Issue-td2785146.html
 

to see what I mean..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: PEAP/MSCHAPv2 failing with Windows 7

2011-05-10 Thread Garber, Neal
 One additional note: the fixes that went into 2.1.10 extract (verbatim) 
 the client username from the EAP-MSCHAPv2 response, and pass that 
 through to the rlm_mschap module as an extra attribute.

You're right Phil.  It's been too long since I wrote that patch.  

Gary: Forget what I said about comparing User-Name in inner vs outer tunnels.  
You would need to look at the User-Name attribute vs. the username contained in 
the MSCHAP response. If you have a test server, I would test it with 2.1.10 
after you get Aruba not to be the termination point for PEAP..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: about FreeRadius+radiusmanager+mikrotik

2011-05-04 Thread Garber, Neal
 some of my user trying to login Mikrotik but they cant first time..

You may find that it will be easier for people to help you if you provide 
specific details about the problems you are having and what you've done in an 
attempt to fix the problems.

You should start by doing Internet searches to see if someone else had the same 
problem(s) and what was done to fix it.  If you can't find anything relevant, 
post the debug output of a failure.


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: MS-CHAPv2 password change implementation

2011-04-19 Thread Garber, Neal
 I have spent the last few days writing the code to allow rlm_mschap and 
 rlm_eap_mschapv2 to support password changes.

This is huge Phil!  Thanks for taking the time to write this enhancement.  I 
will test it in our environment over the couple weeks and report findings.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: unlang question

2011-04-04 Thread Garber, Neal
 i have made my modifications 

Perhaps if you show us the modifications, someone might be able to suggest 
what's wrong.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Limiting user accounts for specific devices

2010-12-02 Thread Garber, Neal
 so it would need to be set per IP address or range only for 
 the limits so that the other users in AD can be used for that

Have you thought about using huntgroups to group your NAS together and then 
authorize based upon Huntgroup-Name?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Grant access for all users before login

2010-12-01 Thread Garber, Neal
 Ok machine authentication works now with computer name from samba. 
 i can assign vlans also. The switch port appears as up, BUT i can't
 ping the machine und i can't login with new users that never before 
 use this machine (no local useraccount). Why i doesn't get network 
 access after successful machine authentification!?

If your authentication is successful and you're sure the port is
being put in the correct VLAN, then you should use standard network
troubleshooting techniques.  Not that it's in scope for this list,
but here are some thought starters:

- Does the device have an IP address?
- If so, is it in the VLAN you expected?
- Are the network mask and default gateway correct?
- Can you ping the switch to which you are connected?
- When you ping the switch, do you get an ARP response?
- Are there ACL's or firewalls that might be blocking traffic to other networks?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Grant access for all users before login

2010-11-30 Thread Garber, Neal
 When a user gets his login prompt, no access 
 to the network is allowed because they first 
 get access when they login and freeradius can
 perform an ldap check with the username.
 But when a new user wants to login or the user uses an different computer,
 the user dosen't exist on this machine - so they can't login - no
 network connection -can't load profile - no local user.

Use machine authentication (if wireless, use automatic connect).

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Logging ntlm authentication

2010-11-17 Thread Garber, Neal
 Could you please share the perl scripts and the corresponding
 configuration in radiusd.conf like authorize and post-auth section
 related to these logs?

Unfortunately, I would need to get a release from my company as the code 
belongs to them.  I cannot post it at this time.  You may want to look at the 
linelog module (depending upon what version of FR you are running). If you're 
not familiar with perl, that might be easier for you to implement.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Logging ntlm authentication

2010-11-10 Thread Garber, Neal
 Could you please summarize what you did to log the output from
 ntlm_auth and MS_CHAP-Error?  

Sure.  I should mention that other options are available now that didn't exist 
when I created the solution below...

I have a PERL script that runs during authorize that obtains user/group or 
machine/container permissions for the NAS in question from XML files to 
determine whether the entity is authorized and it creates a Log-Data reply 
attribute containing all non-sensitive request attributes.  This is then 
written to syslog during post-auth by another PERL script.  

Our help desk and others use a .Net application that I wrote to display/filter 
the data from the current or past log files in a grid control.  The log 
contains specifics of the request, authorization and authentication 
results/messages and reply attributes.
 
Does that answer your question?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: %RAD_REPLY hash problem

2010-10-29 Thread Garber, Neal
 Yes, I know :) but it would be better if we can solve that

I agree, but I haven't found a better solution (i.e., that's what I do to 
workaround the problem).
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: Assign VLANS based on AD groups.

2010-10-28 Thread Garber, Neal
 Now that I have authentication working. I would like to assign users to
 VLANS based on AD group membership.
 Any examples would be appreciated.

Did you look here?

http://wiki.freeradius.org/HP (search for Dynamic VLAN assignment)

There area a number of ways to set reply attributes depending upon your setup 
(unlang, PERL script, etc.)

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: %RAD_REPLY hash problem

2010-10-26 Thread Garber, Neal
 My problem is that rlm_perl duplicate an attribute in %RAD_REPLY hash.

I'm not sure if this will fix it, but try:

use constant  RLM_MODULE_UPDATED=   8;#  /* OK (pairs modified) */

then change return RLM_MODULE_OK to:

return RLM_MODULE_UPDATED;

If this doesn't fix it, you can always delete the undesired member from the 
hash before you return.


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: Proxy Issue

2010-10-17 Thread Garber, Neal
DeKok, Alan wrote:
 It's a permanent change.  See latest git for a fix.

Thanks Alan.  I just retested and, uh, don't shoot the messenger, but now it 
dies in event.c:cleanup_delay():

Debug: Waking up in 11.4 seconds.
Error: ASSERT FAILED event.c[536]: (request-child_state == 
REQUEST_CLEANUP_DELAY) || (request-child_state == REQUEST_DONE)
[1]+  Abort trap: 6   radiusd -X  (wd: ~/freeradius-server)

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Proxy Issue

2010-10-17 Thread Garber, Neal
 shrug  Assertions are there to catch sanity failures.  In this 
 case, the request was treated as done without being explicitly 
 marked done.

 Do a git pull. :)

Looks much better - thanks again.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Proxy Issue

2010-10-15 Thread Garber, Neal
 Ah... I don't usually do builds  tests without pthreads.

Actually, I am building/testing with pthreads.  However, I was running in debug 
mode (radiusd -X).  The problem does not occur when I don't start radiusd with 
-X.  Some additional debug code in event.c shows the following sequence of 
events:

radiusd.c:main  spawn_flag = FALSE (due to -X flag) 
event.c:radius_event_init   have_children = spawn_flag
event.c:request_pre_handler request-child_state = REQUEST_RUNNING
event.c:no_response_to_proxied_request: request-child_state = REQUEST_RUNNING
event.c:wait_a_bit  request-child_state == REQUEST_RUNNING 
!have_children
radiusd dies with ASSERT FAILED..

 Hmm... the assert isn't on line 1175 in current git, 

Ugh.. I tested originally with pre-2.1.0, then retested with current git, then 
posted the output from the original test duh.

 Delete the assert, and replace it with a goto that jumps down to the
case REQUEST_DONE statement.

I can do that; but, are you saying this should be a permanent change because 
REQUEST_RUNNING  REQUEST_QUEUED are valid states even if not threading?  If 
not, shouldn't the assignments be changed not to use REQUEST_RUNNING if not 
threading?  Seems like we wouldn't want the server to die just because we're 
debugging and I'd rather not have to maintain a local change (to delete the 
assert) if I don't have to..

Thanks and I'm sorry for the 20 questions, I'm just trying to better 
understand the issue..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Proxy Issue

2010-10-14 Thread Garber, Neal
I'm testing proxying of authentications (it's not something I've done before so 
this could be my problem).  I have a pool with 2 home servers defined in 
proxy.conf.  For now, both servers are unreachable (blocked by a firewall).  
I'm using git head 2.1.x branch and I'm testing using eapol_test.  The failure 
is repeatable, while the server is performing no other work, and occurs after 
the client retries twice (so three Access-Requests are sent to FR) and after 
the 3rd request, it wakes up from sleeping and dies:

Wed Oct 13 14:44:17 2010 : Debug: Waking up in 11.3 seconds.
Wed Oct 13 14:44:28 2010 : Error: ASSERT FAILED event.c[1175]: We do not have 
threads, but the request is marked as queued or running in a child thread == 
NULL
[1]+  Abort trap: 6   radiusd -X  (wd: /usr/local/etc/raddb)

Any ideas?  I can post complete debug output if needed and/or parts of my 
config.


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: Microsoft SoH Support

2010-10-09 Thread Garber, Neal
 Thanks to a lot of work by Phil Mayers, the server now has support for
 Microsoft SoH in PEAP, normal RADIUS (MS VPN gateway), and in DHCP.

Wow!  That *must* have been a lot of work!  Thank you Phil.

Does this mean FreeRADIUS can now act as a Health Policy Server?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Problem with MSCHAP

2010-10-08 Thread Garber, Neal
 [peap] Received EAP-TLV response.
 [peap]  Had sent TLV failure.  User was rejected earlier in this session.

You need to look earlier in your debug output to see why it was rejected 
(that's what this error message means)

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Last call for 2.1.10

2010-09-22 Thread Garber, Neal
 Last call for 2.1.10

I haven't had a chance to rework the patch for saving replies after a PEAP/TTLS 
reject (been very busy at work).  I'll try to get to it today; but, I assume 
it's too late for 2.1.10 at this point, right?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Logging ntlm authentication

2010-09-09 Thread Garber, Neal
 Uh... eapol-test supports TTLS.  See the FreeRADIUS source:
 src/tests/eap-ttls-*.conf

Ugh..  I should have checked the doc.  I should be able to do the TTLS change 
independently (i.e., you can ignore the post to the devel list related to 
this).  Thanks for enlightening me :-)

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Logging ntlm authentication

2010-09-08 Thread Garber, Neal
 Hmm... OK.  The issue appears to be that the tunneled reply is saved
 for Access-Accept, but not Access-Reject.
 See accept_vps in rlm_eap_peap/*.  Something similar needs to be
 done for reject, and for TTLS.

You are a gentleman and a scholar!  I have made the changes as you suggested 
for PEAP and tested PEAP-MSCHAPv2.  It works!  I am now able to log the output 
from ntlm_auth and MS-CHAP-Error.  I'm also excited about the improved TLS 
logging in 2.1.10.

I will add the code for TTLS now.  Unfortunately, I don't have a way to test 
that as I don't believe eapol_test supports TTLS and we don't use it.  I 
suppose someone else can test it once I upload the patch (which I will do after 
I make the TTLS changes).

Thanks again Alan.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Logging ntlm authentication

2010-09-07 Thread Garber, Neal
 but it seems the next packet sent is a Challenge, not reject/accept.
 Therefore the message does not persist until reject/accept time.

Hmm..  It seems I've heard that before:

http://lists.cistron.nl/pipermail/freeradius-users/2009-August/msg00326.html 


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Logging ntlm authentication

2010-09-07 Thread Garber, Neal
 Fixed in 2.1.9.

Great (I guess missed that in the change log).  Was the change to eliminate the 
extra round trip?  If so, would you accept a patch to set 
Module-Failure-Message upon failure of ntlm_auth in rlm_mschap (as was 
originally implemented in the fix for bug 398 in v1.1.4)?

Thanks Alan.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Logging ntlm authentication

2010-09-07 Thread Garber, Neal
 I'll take a look...

Thanks.

 I'd like to get some feedback on the pre-release of 2.1.10, 
 especially the changes to the proxy code.

I'll download the latest 2.1.10 tomorrow; unfortunately, I won't have a chance 
to test it until next week.  Also, we don't use proxying, at the moment, but I 
will report any issues I find with other areas.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Logging ntlm authentication

2010-09-07 Thread Garber, Neal
 IIRC, it was to remember replies better.  When the inner tunnel
 returns accept and the outer sends a challenge... remember the 
 accept for later.

I just cloned and built the latest 2.1.10 to do some testing.  I did a 
PEAP-MSCHAPv2 authentication, with bad credentials, using eapol_test.  What I 
found seems to indicate the problem I was referring to still exists in 2.1.10 
(probably because I wasn't clear enough in describing the issue).  

It seems that after ntlm_auth fails, it sends the EAP failure via an 
Access-Challenge.  Then, after it receives the response in the next 
Access-Request, it sends Access-Reject.  This is how it behaved prior to 2.1.9 
also (this is what I meant by extra round trip in a previous post).  The 
problem is that any information stored in an attribute, after the ntlm_auth 
failure, will not survive the subsequent Access-Challenge, Access-Request.  I 
can post the debug output if you'd like to see it.

When I originally discovered this, I suggested storing the ntlm_auth output in 
the eap handler so it could be saved in Module-Failure-Message when the 
response to the EAP failure is received.  Is there a better approach?  If you 
tell me your preference, I'd be willing to create a patch..

Thanks for your time Alan.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Password Policy - Expired Password - mschap

2010-08-12 Thread Garber, Neal
 Understanding the security risks... is there an example of 
 setting Post-Auth-Type REJECT {...}  to override the reject 
 force the response to Auth-Accept?  

If you want to change all REJECTs to ACCEPT so that authentication always 
succeeds, then you are effectively eliminating the requirement for 802.1x 
authentication for network connectivity.  If it's not required, why not just 
turn off port security on your switches?  If it is required, why would you want 
to do the above?

It seems that what you really want is the ability to change the expired 
password via MSCHAP which isn't currently supported in FreeRADIUS (as I said in 
a previous post).  If you are going to write a patch, develop one to provide 
this functionality..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Password Policy - Expired Password - mschap

2010-08-11 Thread Garber, Neal
 if you enable the ldap/(opendirectory) option to require user to change
 password on next login the client is unable to connect.  

FreeRADIUS doesn't support password changes via MSCHAP.  Historically, Samba 
didn't even support it until a couple of years ago.  I believe support for this 
functionality was added to Samba 3.0.24 using a new helper protocol called 
ntlm-change-password-1.  

I posted something to the list asking if there was interest quite a while ago.  
Implementing this new helper protocol is not a trivial change to FreeRADIUS.  
Unfortunately, I haven't had enough free time to devote to implementing it yet. 
 If you have the time to create the patch, I'll be one of the testers ;-)

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Bug #17 (MS-CHAP user names)

2010-07-27 Thread Garber, Neal
 I've done some minor editing to the patches, and put them into the
 code for 2.1.10.

I just downloaded and installed 2.1.10 on my test server.  So far, everything 
looks good.  Thank you Alan.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Freeradius2 and Samba3x

2010-07-14 Thread Garber, Neal
 Sending Access-Accept of id 225 to 10.4.1.2 port 2452
 Reply-Message := Authorized Users Only
 MS-CHAP2-Success =  
 0x01533d39444636303933394145343137463835384143443632443
 9374137343844413541313936
  MS-MPPE-Recv-Key = 0xd81d386eb6bd95dcd85badccd21036b4
  MS-MPPE-Send-Key = 0x1415b0a4e0f2d9063a9b0d0e92e2869b
  MS-MPPE-Encryption-Policy = 0x0001
  MS-MPPE-Encryption-Types = 0x0006
 Wed Jul 14 11:18:38 2010 : Info: Finished request 8.
 Wed Jul 14 11:18:38 2010 : Debug: Going to the next request
 Wed Jul 14 11:18:38 2010 : Debug: Waking up in 4.9 seconds.
 Wed Jul 14 11:18:43 2010 : Info: Cleaning up 
 request 8 ID 225 with timestamp +665
 Wed Jul 14 11:18:43 2010 : Info: Ready to process requests.

 Any ideas?

Any ideas about what - the server returned Access-Accept??  Is this not what 
you wanted?  What problem are you trying to solve?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Freeradius2 and Samba3x

2010-07-14 Thread Garber, Neal

Any ideas about what - the server returned Access-Accept??  Is this 
not what you wanted?  What problem are you trying to solve?

That my VPN session still doesn't establish. I get back that the user 
can't be authenticated.

What are you using as the NAS?  Did you check the documentation to see if there 
are attributes it expects to receive on Access-Accept?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: FR proxy to ACS and NPS with MS CHAP v2

2010-07-14 Thread Garber, Neal
 will most appreciate your expert opinion. 

Post debug output!

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Wanted: Commercial FreeRADIUS Support

2010-06-17 Thread Garber, Neal
Have you looked here: http://networkradius.com/ 

 Even if you aren't able to provide support, I'd be interested in any
 suggestions for where to get support from.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: log request to Freeradius server from unknown client

2010-05-26 Thread Garber, Neal
 Hi, I'm trying to log request to my Freeradius server from unknown client...

Look in the radius.log file - it is also logged there
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: Configuring FreeRADIUS to use ntlm_auth for MS-CHAP

2010-04-28 Thread Garber, Neal

 Why is not working ntlm_auth for ms-chap ?

It would be easier to answer your question if you included the debug output for 
a rejected request as opposed to just the startup messages..
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: Freeradius With EAP-TTLS-LDAP and EAP-PEAP-AD

2010-04-13 Thread Garber, Neal
 I attached the logs for freeradius -X
 
The logs you attached just show the startup output, not an actual request that 
was rejected.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Log the 802.1x session

2010-04-09 Thread Garber, Neal
From what I've read, supplicants can send an EAPOL-Logoff message to

If the requirement is to determine when the user disconnects, isn't this best 
handled by accounting data?  That is, if the authenticator supports sending 
Accounting-Request packets to RADIUS, then when the user disconnects, it should 
send an Acct-Status-Type=stop request.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Pre-release of Version 2.1.8

2009-12-08 Thread Garber, Neal
 At approximately 08:40 something happens, and a lot of servers are
 flagged as dead or zombie.  

 This could of course have been caused by network problems, but there was
 no such problem at this time. Proxying goes over the same interface as

When it fails, is it always at night?  If so, could it be related to network 
load - perhaps backups that are running?  You could try capturing the output 
from a continuous ping to see if you start getting timeouts or really long 
response times between FR and one of the proxy servers that are having problems 
(obviously you'd want to check before, during and after the problem occurs).  

Said differently, maybe this isn't a FreeRadius problem..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Pre-release of Version 2.1.8

2009-12-08 Thread Garber, Neal
 This limit is around 8K packets in 2.1.x, and will be 64K packets in
 2.2.x.  So if you're getting 500 packets/s for a home server, 16s after
 it goes down, all 8k slots will be used.

I'm not sure if this is feasible and/or easy to implement, but I thought I'd 
ask..  As a suggestion, can there be a separate pool for each home server?  It 
seems like increasing the limit of a shared pool just lengthens the time before 
the same problem can occur.  If each home server had a separate pool, then one 
home server could not affect the others, regardless of the size of the pool.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Logins against AD failing in *most* cases. Can see why, butdon't*understand* why.

2009-12-07 Thread Garber, Neal
 It never occurred to me that the Cisco controllers could be our issue...
 Though I have just checked with a colleague and he did try restarting
 them after hours yesterday, and it didn't help matters. If you can find
 out what setting you changed that would be ideal, but probably best to
 email me directly as this is getting somewhat off-topic for the list.

Sorry for the delay in responding Dan.  I've been waiting for the engineer who 
worked on the problem to find his notes.  He just E-mailed me today and said 
that it was NOT an issue with the WLC.  Rather, Cisco told him to uncheck the 
CA in the WZC preferred network; save the config; recheck the CA; save the 
config again.  

At the time of the problem, he gave me the impression the issue was with the 
WLC, given that on a prior occasion, rebooting the WLC made the problem 
disappear.  In any case, just to rule out the client rejecting the server's 
cert, another option is to *temporarily* uncheck the validate server 
certificate checkbox and see if you can successfully connect.  If you can, 
that confirms that this is the problem (as Alan already pointed out).

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Logins against AD failing in *most* cases. Can see why, but don't*understand* why.

2009-12-02 Thread Garber, Neal
 I am perfectly willing to accept that you may be right and this may be
 my issue, I just don't understand how it has suddenly become a problem.

Are you using a Cisco Wireless LAN Controller (WLC)?  We had a similar issue 
with our Cisco 2112 WLC (EAP conversation stops on the NAS/supplicant side).  
For what it's worth, our WLC was working fine for a while and then suddenly 
stopped.  A reboot fixed it one time, but then it eventually failed again and a 
reboot didn't fix it.  It was resolved by changing a setting in the WLC (I'll 
get you the details if it's applicable).

Neal

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: showing NAS-IP of 127.0.01 instead of

2009-11-25 Thread Garber, Neal
 The problem is that although the Access-Request packet is shown as coming 
 from the correct host,
 that host's ip address is not showing up as the NAS-IP-Address for that 
 request. Instead, it's showing
 as 127.0.0.1 as seen below:
 I'm wondering what could cause this? Any help is appreciated.

The NAS is sending that attribute within the request - ask the NAS vendor why 
they are sending 127.0.0.1.  I've seen this issue with Lantronix console 
servers (not sure if that's the NAS you are using).  They eventually updated 
their firmware to use the correct address.  As a workaround, I did the 
following in the authorize section of the default server (before preprocess if 
you want huntgroup name lookup to work properly):

if (NAS-IP-Address == 127.0.0.1) {
   update request {
NAS-IP-Address := %{Client-IP-Address}
   }
}
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: ntlm_auth and AD authentication

2009-11-23 Thread Garber, Neal
 Hmm. I have two sets of authentication I care about, VPN Users, and 
 Cisco switches. I'd like to be able to control access to each of 
 those separately (different AD Security Groups, and different shared 
 keys).

I'm not sure what you mean by different shared keys - can you clarify?  Also, 
perhaps I do not understand your requirement; but, I think you mean 
authorization, not authentication above.  Authentication is validation of a 
user/password combination.  Authorization is checking to determine what type of 
access (if any) a user should have to a device.  

If I haven't misunderstood what you're trying to do, then I would determine the 
type of access the user has in the authorization section.  Personally, I use a 
perl module for authorization because we have many different types of 
devices/groups, including controlling access to several wireless networks.  The 
perl module obtains the user's groups from LDAP (including their default group 
which isn't in the memberOf attribute) and uses a hash that specifies 
user/group/machine/container to nas mappings and optionally allows returning 
custom vsa's.  This may be overkill for you, I'm not sure..

You could define multiple mschap modules (that's where ntlm_auth is defined) 
and use unlang to call the appropriate module.  But, this would quickly become 
unmanageable if you have many different groups you want to test during 
authorization.  If all you will ever have is two groups, then I suppose it 
wouldn't be an issue.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: SSID based authentication

2009-11-17 Thread Garber, Neal
 If I want an enduser to be able to connect to the same SSID on multiple AP´s 
 then I can not use
 Called-Station-ID since it also includes information about the mac address 
 for a specific AP.
 So how do I do to be able to authenticate by just using the SSID and not the 
 mac address for a specific AP?

Check your AP documentation to see if it can send an attribute containing the 
SSID.  On the Cisco AP's that we use, it is sent in Cisco-AVPair.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: Freeradius + OpenLdap + WindowsXP(Wifi)

2009-10-13 Thread Garber, Neal
 Have any idea ? Where can i find the solution ?
 When i trying connect freeradius server with wireless over
 access point i get this error:
snip
 Tue Oct 13 12:00:45 2009 : Debug:   rlm_eap_peap:  Had sent TLV failure.  
 User was rejcted rejected earlier in this session.

The error you're looking for is earlier that what you posted.  Look at the 
previous round trip in the debug output to see why it failed..
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Update on MS-CHAP Authentication / Bug 17

2009-10-06 Thread Garber, Neal
Here's some feedback I received (off-list) regarding the patch for bug 17..

I received an E-mail from someone experiencing the userid case sensitivity 
issue with EAP/MS-CHAPv2 in FR.  He applied the patch attached to bug 17 and 
confirmed that it fixed the problem for him.

I too have the patch applied (for about 6 weeks now) to two of our FR servers 
and haven't seen any issues.

Neal
-Original Message-
From: Garber, Neal 
Sent: Friday, October 02, 2009 1:58 AM
To: 'Marco D'Ettorre'
Subject: RE: MS-CHAP Authentication / Bug 17

Thank you for sharing your experience Marco.  At some point, I'd like to post 
your information to the FreeRADIUS list as Alan DeKok wanted to see positive 
feedback from testers before he accepted my patch.  Is that Ok?

Thanks again for your time and I'm pleased that the patch helped resolve your 
problem.

Neal 
-Original Message-
From: Marco D'Ettorre 
Sent: Thursday, October 01, 2009 4:55 PM
To: Garber, Neal
Subject: Re: MS-CHAP Authentication / Bug 17

Hi Neal,
I applied your patch to 2.1.7. Before writing you I was testing v1.1.8; 
then I tried 2.1.7 before applying the patch (with the same issue) and 
finally with your patch.

The issue is solved. Now I can logon the workstation with both upper and 
lower cases, and automatic ms-chap authentication always works.

I have not still wrote you an email because I did like to include more 
details, extract of log files and configurations, but I was too busy 
with other activities to do. I'll send you some details as soon as 
possible.

Thank you
Marco

Garber, Neal ha scritto:

 Hi Marco,

 Did you have a chance to apply the patch and test?  If I can help, let 
 me know..

 Neal 
 
 *From:* 'Marco D'Ettorre'
 *Sent:* Wednesday, September 23, 2009 5:31 PM
 *To:* Garber, Neal
 *Subject:* Re: MS-CHAP Authentication / Bug 17

 Hi Neal,

 I'm having the problem and I'd like to solve it as quick as possible.

 I am a fan of opensource developing (my main interest is testing 
 OpenLDAP, and I'm also one of the manteiners of italian OpenLDAP ML), 
 and I'll be very happy to help you if I can. I will post you the 
 results of my tests (and a description of the environment).

 Thank you
 M.

 - Neal Garber ha scritto:
 Absolutely!  You can get it from http://bugs.freeradius.org 
 http://bugs.freeradius.org/ (then enter 17 for the bug number). 
  Thanks for your interest. 

 Out of curiosity, are you having the problem described in the bug or 
 are you just a kind soul who wants to help me by testing this?

 Neal
 
 *From:* Marco D'Ettorre
 *Sent:* Wednesday, September 23, 2009 12:31 PM
  *To:* Garber, Neal
  *Subject:* MS-CHAP Authentication / Bug 17
 Hi,
 
  is your patch available for download?
 
  Thanks
  M.

 *Ing. Marco D'Ettorre*
 Consultant
 *SysNet s.r.l.*
 *Gruppo Partners Associates*

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: FreeRADIUS with 2 certs/CAs etc

2009-09-30 Thread Garber, Neal
Hi Alan,

First, I don't profess to be an eap expert and what follows is based upon my 
understanding of how eap and RADIUS work..  I'm also interested to see if 
anyone else has any other thoughts..

 anyway, in summary, your RADIUS server has to answer to the old clients
 and the new clients. What is the best practice way or configuration to
 ensure that your RADIUS server can be both people...old servercert+old_CA 
 and new servertcert+new_CA so that it can deal with both types of clients.

I'm not sure if this is best practice and it certainly doesn't apply to all 
environments, but we control WiFi settings on our laptops using A/D group 
policy.  This way, we can quickly push out changes and/or new certificates.  
Then, if the RADIUS server certificate changes, it requires that the user logon 
via wired network to get policy updates before they can connect to our WiFi 
network.

As far as dual certificates, we do that, but for a different reason.  I use one 
virtual server and some unlang to direct the request at a specific eap instance 
(I have 2 instances).  I use one eap instance for internal WiFi networks (i.e., 
Corporate machines connecting to our internal network) and present an 
internally signed cert.  I have another eap instance for guest users which 
presents a publicly signed cert (to avoid the cumbersome process of 
distributing our internal CA's cert to the guests and teaching them how to 
install it on their system).  I determine which eap instance to call based upon 
the SSID to which they are connecting (which is in a request attribute).  So, 
it is possible to accomplish this with one server.  

However, unless you have a way to distinguish between machines that have 
received the new cert and machines that haven't, I can't think of a way for you 
to accomplish what you want.  If it's WiFi authentication, perhaps you could 
create a new SSID and have machines with the new cert connect to the new SSID 
(not difficult if you're changing which SSID is automatic and what cert. is 
acceptable through an automated method, e.g. A/D group policy).

The problem you have is that it's not FR that is causing the rejection.  
Rather, the client is rejecting the RADIUS server's certificate which causes 
the eap tunnel creation to fail.  You can't force the client to try again in 
this case and even if you could, how would you know that the 2nd try should go 
to a different eap instance (it's a new request and you can't make decisions 
based upon the results of historical requests that I know of).

 I'm thinking 2 virtual serversone with old eap.conf and the other
 with neweap.conf with each virtual server ready to deal with each type of  
 client - but then how to direct the incoming EAP to the right way. 

One or 2 virtual servers could work.  Your last question is the issue - you 
need a way to determine whether the client connecting has the new cert. because 
if you present the wrong one, the SSL connection will fail.  Once the tunnel 
creation fails, the client would need to send a new request in order to try 
again.

 I cant see the normal fall-through group working --because the client has 
 to create the EAP tunnel... or would a normal fallthrough system work...
 we send it to eap1 and if it fails send it to eap2 (which should be okay 
 if client config okay!) ?

I don't think so because the client is causing the tunnel creation to fail 
because the certificate wasn't acceptable.  If this were possible, then someone 
could create an SSID that matches yours and keep trying various certificates 
until it found one you liked.  The purpose of the server certificate validation 
is to reduce the probability that someone can spoof your infrastructure (which 
is why using internal certs is better because someone on the outside, in 
theory, couldn't digitally sign a cert. from your internal CA, but they could 
easily get a cert. from Verisign).

 I can envisage fronting it with a.n.other RADIUS solution which will proxy
 the request through a remote server list UNTIL it doesnt get a REJECT
 back.. but i dont want additional software in the mix

I don't think this will help for the reasons I described above..  

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: FreeRADIUS with 2 certs/CAs etc

2009-09-30 Thread Garber, Neal
 as Alan Dekok said...deploy a new CA in advanced
 and then sign server with that new CA and put cert into place.  

I read Alan's reply and it's logical (as usual ;-) ).  

Perhaps it wasn't stated because it was intuitively obvious, but the only thing 
I would add is that when the new CA cert is deployed to the clients, their 
wireless config should also be changed to accept both the new and old CA.  This 
way, when you eventually switch FR to the cert signed by the new CA, it will be 
accepted.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Redundant SQL

2009-09-21 Thread Garber, Neal
 Source code patched.

Thanks..

 The redundant sections work just fine
 for normal queries to radcheck  radreply.  If you're doing %{...},
 then the redundant sections don't apply.

Ah, now I understand.  I abandoned redundant and used if/elsif instead in my 
dynamic_client virtual server:

  if (%{sqlaugs: SELECT ...}'}) {
 update control {
FreeRADIUS-Client-IP-Address = %{Packet-Src-IP-Address}
FreeRADIUS-Client-Shortname = %{sqlaugs: SELECT ...}'}
FreeRADIUS-Client-Secret = %{sqlaugs: SELECT ...}'}
FreeRADIUS-Client-NAS-Type = %{sqlaugs: SELECT ...}'}
 }
  }
  elsif (%{sqlroch: SELECT ...}'}) {
 update control {
FreeRADIUS-Client-IP-Address = %{Packet-Src-IP-Address}
FreeRADIUS-Client-Shortname = %{sqlroch: SELECT ...}'}
FreeRADIUS-Client-Secret = %{sqlroch: SELECT ...}'}
FreeRADIUS-Client-NAS-Type = %{sqlroch: SELECT ...}'}
 }
  }

This works great.  Thanks again for your help Alan..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


MS-CHAP Authentication / Bug 17

2009-09-21 Thread Garber, Neal
I've been running 2.1.6 in Production with the patch from Bug 17, for a month, 
and everything has been working fine.  As a reminder, this patch corrects a bug 
in MS-CHAP with the calculation of the MS-CHAPv1 challenge passed to ntlm_auth. 
 It causes inappropriate Logon Failure errors, in certain circumstances having 
to do with the case of the userid and the logon method (see the bug report and 
previous posts for more details if you didn't follow the thread).  Others have 
reported this problem in the past and the workaround has been to create all 
users in a specific case and force the userid to the same case in FR. (I'd 
really like to see this fix incorporated in the code, as other RADIUS servers 
don't have this userid case-sensitivity issue and this gives people an 
opportunity to cast stones at FR.)

Arran: You seemed a bit interested in this patch - have you had the time/desire 
to apply and test it?

If anyone else has some time to apply and test the patch, it is very much 
appreciated.  Thanks in advance for your assistance and feedback..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: MS-CHAP Authentication / Bug 17

2009-09-21 Thread Garber, Neal
Alan, Thank you for taking the time to review the patch and for your feedback.

 has a look at this but it's only of interest for classic MS-CHAP
 activity rather than MSCHAPv2 in PEAP or TTLS - correct? 
 (in this case we wouldnt use this function or be able to test
 this at our site...but logically it all looks sane)

Actually, the problem definitely impacts PEAP/MSCHAPv2 (and I believe 
TTLS/MSCHAPv2 also because it's an error in MS-CHAP, but we don't use TTLS so I 
can't test that). (I haven't thought about it enough to know whether it affects 
v1, but it definitely occurs with v2 as that's where I found it.)

The problem occurs when the client creates the MS-CHAPv2 response and uses a 
userid whose case differs from what FR subsequently uses to create the 
challenge for ntlm_auth.

 a few changes though (?)  - its 'delimiter', not 'delimeter'  ;-)

True, but I just copied that line from what was already in the code.  I'm ok 
with fixing the spelling error as part of this patch though ;-)

 and...some RDEBUG2 starts with a white space and others print tight to
 the line - reason for such differences?

I was trying to mimic some of the existing code (when in Rome ;-) )...  For 
instance, there was already an RDEBUG2 for:

RDEBUG2(  NT Domain delimeter found, should we have enabled 
with_ntdomain_hack?);

I'm not opposed to eliminating the leading spaces if you think it is more 
readable.

BTW, I just fixed one of the attachments (rlm_eap_mschapv2.c patch).  I 
inadvertently had all 3 patches included in that one file - the replacement now 
only contains the changes for rlm_eap_mschapv2.c.  Sorry about the confusion..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: MS-CHAP Authentication / Bug 17

2009-09-21 Thread Garber, Neal
 hmm, okay - I'll only be able to introduce core systrems 
 with this patch in place after 2nd October - we currently 
 have a change freeze on main systems until then

That's fabulous.  Thanks for your time and willingness to test.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: MS-CHAP Authentication / Bug 17

2009-09-21 Thread Garber, Neal
 google search for 'define:delimeter'
 Did you mean: define:delimiter  Top 2 results shown  :-)

You are clearly correct given the root of the word delimiter is delimit 
(not delimet) :-)

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Lower case to Upper case in Calling-Station-Id at policy.conf

2009-09-18 Thread Garber, Neal
Did you create an alias in modules/perl that uses this script for authorize?  
Did you add the alias name to the authorize section of your default server?  
What return value are you using in the script (RLM_UPDATED)?

-Original Message-
From: freeradius-users-bounces+neal.garber=energyeast@lists.freeradius.org 
[mailto:freeradius-users-bounces+neal.garber=energyeast@lists.freeradius.org]
 On Behalf Of Hilton Guaraldi
Sent: Friday, September 18, 2009 1:13 PM
To: FreeRadius users mailing list
Subject: Re: Lower case to Upper case in Calling-Station-Id at policy.conf

Ok...

I tried $RAD_REQUEST{'Calling-Station-Id'} =
uc($RAD_REQUEST{'Calling-Station-Id'}).
I guess in the sub authorize of example.pl ..The only file
I saw sub authorize in...
If I am wrong, please help me what is the correct file!

Running radiusd -X nothing happens in MAC address. If it is
00-18-e7-41-ad-c2, it remains the same, not 00-18-E7-41-AD-C2, :-(

Must I include example.pl to radius in order to do
$RAD_REQUEST{'Calling-Station-Id'} =
uc($RAD_REQUEST{'Calling-Station-Id'}) work?

Guaraldi


2009/9/18 Alexander Clouter a...@digriz.org.uk:
 Hi,

 Hilton Guaraldi guara...@gmail.com wrote:

 How can I use uc function below in order to change lower case to upper case?

 Ex. 00-18-e7-41-ad-c2---  00-18-E7-41-AD-C2

 In the policy.conf:

 When I last nosied through the source code there is no way.  I normally
 make sure all the polies are case insensitive *in* FreeRADIUS and when
 things get spat out to my SQL server I slip 'lower(...)' around the MAC
 addresses going in that direction.

 The only other way is to have a Perl script doing the work for you, but
 as you can use case insensitive regex to replace string matching, I
 would say it is not worth it.

 Cheers

 --
 Alexander Clouter
 .sigmonster says: Idleness is the holiday of fools.

 -
 List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Pre-release of 2.1.7

2009-09-08 Thread Garber, Neal
 Does it apply cleanly to the current git head?

I created it about 2 weeks ago against the then current git head.  It changes 
rlm_eap_mschapv2.c, rlm_mschap.c  radius.h.  I don't believe any of these have 
changed in the past 2 weeks, so it should still apply cleanly.

I've been running with it applied for several weeks now without issues.  If you 
have a chance to test it, that would be great Arran.  

Thanks..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Pre-release of 2.1.7

2009-09-08 Thread Garber, Neal
 It won't make 2.1.8.  Please submit a bug report and attach the patch.
 My preference for the patch is to split it into 2-3 pieces.  

Bug # 17 created with separate attachments for each file changed.

 Messing with functionality in the MSCHAP module is a bit 
 worrisome, as it's pretty core to a lot of systems.

I understand and share your concern.  

Perhaps some people would be willing to apply the patch and test it before it 
is included in a release to get additional confirmation that it doesn't break 
anything.

Thanks for your continued support Alan..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Using multiple certificates

2009-09-07 Thread Garber, Neal
 I have been asked it it possible to run two SSIDs on our wireless,  
 lets call them A and B that authorise against a FreeRADIUS server  
 running as two virtual servers radiusA and radiusB.

I have two EAP instances for the purpose of serving 2 different certificates; 
so, what you want to do is definitely possible.  I server both from the same 
virtual server and use unlang to determine which certificate to serve based 
upon SSID.  

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Pre-release of 2.1.7

2009-09-03 Thread Garber, Neal
 Build it, install it, and see if there are issues.

On FreeBSD 7.2 with libtool 2.2.6a:

- Built
- Installed
- Tested EAP-PEAP/MSCHAPv2, rlm_perl with no issues so far

No LD_PRELOAD needed for libperl.so with libtool 2.2.6.  

Do you think the MS-CHAP related patch I submitted will make 2.1.8?  Should I 
submit a bug report for it?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: rlm_perl / libtool / libltdl problem

2009-08-23 Thread Garber, Neal
Does this mean you are also having this problem with 2.2.6a of libtool/libltdl? 
 There isn't a permanent solution that I know of yet.  However, there is a 
workaround that you can use for now:

LD_PRELOAD=path_to_libperl.so /usr/local/sbin/radiusd

Where path_to_libperl.so is the full path for that file (e.g., it's 
/usr/local/lib/perl5/5.8.9/mach/CORE/libperl.so on one of my systems).

-Original Message-
From: freeradius-users-bounces+neal.garber=energyeast@lists.freeradius.org 
[mailto:freeradius-users-bounces+neal.garber=energyeast@lists.freeradius.org]
 On Behalf Of Anton Brinyov
Sent: Sunday, August 23, 2009 6:17 PM
To: FreeRadius users mailing list
Subject: Re: rlm_perl / libtool / libltdl problem

Hi,

It means, there isn't solution for this problem now?

Thanks,
Anton


2009/8/18 Garber, Neal neal.gar...@energyeast.com:
 Did I mention that I hate libtool and libltdl?  They're close to
 *causing* more problems than they solve.

 Yes, on several occasions that I recall :)  I share your sentiments...

 I actually started removing libltdl a while ago.  See
 src/main/modules.c.  Look for WITHOUT_LIBLTDL.  I'll bet that if you
 spent a bit of time hacking the source, you could get it to build  run
 *without* libltldl.  At that point, the stupid can't load library
 issues will go away.

 If I get some spare time (what's that :)), I'll see what I can do..

 -
 List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: MS 8021.x PEAP failing

2009-08-20 Thread Garber, Neal
 I've been playing around with conf/module files trying to strip the
 DOMAIN out of my login request - but no luck!

Have you tried with_ntdomain_hack = yes in the mschap module config?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: MS 8021.x PEAP failing

2009-08-20 Thread Garber, Neal
 Yup, that line is there. Much of the doc online is WAY out of date, so I'm 
 wondering if by actually RTFM first I broke something?


Ok.  This may sound crazy and it may not be your problem, but, I thought I'd 
mention it anyway..  Look at the samAccountName attribute in A/D for a user 
that is failing and see if it is all lowercase.  If not and the userid wasn't 
entered with the exact case in A/D, then you may receive Logon failure in some 
circumstances.  Check to see if your debug output shows Logon failure from 
ntlm_auth.  If so, you may be having the same problem I've seen (incorrect 
MS-CHAPv1 challenge created by rlm_mschap because the User-Name attribute 
doesn't exactly match the userid in the MS-CHAPv2 response packet's Name 
field).  I have a patch for this problem that I just finished testing earlier 
today.  I need to clean it up a bit (remove excess debug code) and then I will 
submit it.  If this is affecting you, logging on with cached credentials, 
entering the user/password manually or logging on with the userid in correct 
case is a workaround.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: rlm_perl / libtool / libltdl problem

2009-08-18 Thread Garber, Neal
 Did I mention that I hate libtool and libltdl?  They're close to
 *causing* more problems than they solve.

Yes, on several occasions that I recall :)  I share your sentiments...

 I actually started removing libltdl a while ago.  See
 src/main/modules.c.  Look for WITHOUT_LIBLTDL.  I'll bet that if you
 spent a bit of time hacking the source, you could get it to build  run
 *without* libltldl.  At that point, the stupid can't load library
 issues will go away.

If I get some spare time (what's that :)), I'll see what I can do..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


Unlang Question/Problem

2009-08-18 Thread Garber, Neal
I haven't had much sleep the past few days and just wanted another set of eyes 
on an issue I'm having.  Also, I won't be able to do more testing until 
tomorrow (user/equip. unavailable) and wanted to try to fix it before then.

I'm running FR 2.1.6 with patches to rlm_mschap  rlm_eap_mschapv2 to correct a 
problem with case-sensitive userids.  Anyway, the patch was working great for 
user auth. and failing for machine auth.  I used some unlang to get around the 
issue.  I haven't done a lot with unlang (and yes I read the man page), so I 
may be missing something simple.  I'm doing 802.1x authentication from Windows 
supplicant with PEAP/MS-CHAPv2.  Here's the authenticate section of my 
inner-tunnel server:

  authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
if (User-Name =~ /host\/(.*)\.energyeast\.net/i) {
update request {
Ntlm-Auth-Username = %{1}$
}
updated
}
else {
update request {
Ntlm-Auth-Username = %{User-Name}
}
updated
}
mschap-inner
}
Auth-Type LDAP {
ldap
}
eap-internal
eap-comodo
  }

First, if I didn't include updated after the update request actions, then 
it would return reject.  Is that normal (I didn't call a module in there)?  
Should the unlang be outside of the Auth-Type MS-CHAP block?  Also, 
Ntlm-Auth-Username is expanded, there's a [request] returns reject.  I think 
this is the source of the problem, but I don't understand where the reject is 
coming from.  The mschap module that follows returns OK, but the subsequent 
eap-comodo module returns reject with no explanation in the debug.  Do I need 
something like:

eap-comodo {
ok = return
}

Here's the relevant debug output:

Tue Aug 18 15:41:15 2009 : Info: Found Auth-Type = eap-comodo
Tue Aug 18 15:41:15 2009 : Info: +- entering group authenticate {...}
Tue Aug 18 15:41:15 2009 : Info: [eap-comodo] Request found, released from the 
list
Tue Aug 18 15:41:15 2009 : Info: [eap-comodo] EAP/mschapv2
Tue Aug 18 15:41:15 2009 : Info: [eap-comodo] processing type mschapv2
Tue Aug 18 15:41:15 2009 : Info: [mschapv2] +- entering group MS-CHAP {...}
Tue Aug 18 15:41:15 2009 : Info: [mschapv2] ++? if (User-Name =~ 
/host\/(.*)\.energyeast\.net/i)
Tue Aug 18 15:41:15 2009 : Info: [mschapv2] ? Evaluating (User-Name =~ 
/host\/(.*)\.energyeast\.net/i) - TRUE
Tue Aug 18 15:41:15 2009 : Info: [mschapv2] ++? if (User-Name =~ 
/host\/(.*)\.energyeast\.net/i) - TRUE
Tue Aug 18 15:41:15 2009 : Info: [mschapv2] ++- entering if (User-Name =~ 
/host\/(.*)\.energyeast\.net/i) {...}
Tue Aug 18 15:41:15 2009 : Info: [mschapv2] expand: %{1}$ - US62695C$
Tue Aug 18 15:41:15 2009 : Info: [mschapv2] +++[request] returns reject
Tue Aug 18 15:41:15 2009 : Info: +++[updated] returns updated
Tue Aug 18 15:41:15 2009 : Info: ++- if (User-Name =~ 
/host\/(.*)\.energyeast\.net/i) returns updated
Tue Aug 18 15:41:15 2009 : Info: ++ ... skipping else for request 124: 
Preceding if was taken
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner] No Cleartext-Password 
configured.  Cannot create LM-Password.
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner] No Cleartext-Password 
configured.  Cannot create NT-Password.
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner]   Using MS-CHAP Response Name 
(host/US62695C.energyeast.net) to construct MS-CHAPv1 challenge
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner] rlm_mschap: 
mschap_authenticate: Creating challenge hash with username: 
host/US62695C.energyeast.net
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner] Told to do MS-CHAPv2 for 
host/US62695C.energyeast.net with NT-Password
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner] No trailing :- after variable 
at %{Ntlm-Auth-UserName:-None}}
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner] WARNING: Deprecated conditional 
expansion :-.  See man unlang for details
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner] expand: 
--username=%{%{Ntlm-Auth-UserName:-None}} - --username=US62695C$
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner]  mschap2: d1
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner]   Using MS-CHAP Response Name 
(host/US62695C.energyeast.net) to construct MS-CHAPv1 challenge
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner] rlm_mschap: mschap_xlat: 
Creating challenge hash with username: host/US62695C.energyeast.net
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner] expand: 
--challenge=%{mschap:Challenge:-00} - --challenge=943b358133b5bcac
Tue Aug 18 15:41:15 2009 : Info: [mschap-inner] expand: 
--nt-response=%{mschap:NT-Response:-00} - 
--nt-response=121180cc778e59746acb8c12aa6bb9ab7ab2099604c750eb

RE: MSChap via ntlm_auth problem

2009-08-17 Thread Garber, Neal
I tried to use aythentication via Active Directory domain.
FreeRadius 2.1.6 return error:

Try removing the single double quote () just before the last right curly brace 
(}) at the bottom of the mschap file
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

rlm_perl / libtool / libltdl problem

2009-08-17 Thread Garber, Neal
I've had FR 2.1.6 running on a FreeBSD 7.2 test server for some time now.  When 
I applied the rlm_mschap / rlm_eap_mschap patch I worked on over the weekend 
(which is working great btw - I will upload it shortly), I now get the 
following error on FR startup:

Can't load '/usr/local/lib/perl5/5.8.8/mach/auto/Data/Dumper/Dumper.so' for 
module Data::Dumper: 
/usr/local/lib/perl5/5.8.8/mach/auto/Data/Dumper/Dumper.so: Undefined symbol 
Perl_sv_cmp at /usr/local/lib/perl5/5.8.8/mach/XSLoader.pm line 70.
 at /usr/local/lib/perl5/5.8.8/mach/Data/Dumper.pm line 36

My friend google tells me that others have had this problem in the past (esp. 
on Debian) and the workaround is to use LD_PRELOAD=path_to_libperl.so 
/usr/local/sbin/radiusd
This does, in fact, work; but, isn't very satisfying as a permanent solution.  
I believe that libtool and libltdl were updated during the install of the patch 
and this is the source of the problem.  I'm now running FreeBSD 7.2 with 
libltdl-2.2.6a  libtool-2.2.6a (they were at 2.2.5 before).

Is anyone aware of any compatibility issues with libtool/libltdl 2.2.6a and 
FreeRADIUS?
Anyone have a more permanent solution that avoids the LD_PRELOAD ugliness?

I've tried rebuilding FR from the port with no subsequent patches and received 
the same result (FR wouldn't start without the LD_PRELOAD).  I also tried using 
the portdowngrade port to downgrade libtool  libltdl back to 2.2.5 which 
didn't seem to have this problem.  However, it only displayed 2.2.6a (i.e., I 
couldn't downgrade).  rlm_perl seems to be pointing to the proper libperl.so as 
shown below:

ldd output on rlm_perl.so shows:
/usr/local/lib/freeradius-2.1.6/rlm_perl.so:
libfreeradius-radius-2.1.6.so = 
/usr/local/lib/freeradius-2.1.6/libfreeradius-radius-2.1.6.so (0x2816c000)
libperl.so = /usr/local/lib/perl5/5.8.8/mach/CORE/libperl.so 
(0x28187000)
libm.so.4 = /lib/libm.so.4 (0x28294000)
libcrypt.so.3 = /lib/libcrypt.so.3 (0x282aa000)
libutil.so.5 = /lib/libutil.so.5 (0x282c2000)

libtool output for rlm_perl:
libtool: install: warning: relinking `rlm_perl.la'
libtool: install: (cd 
/usr/ports/net/freeradius2/work/freeradius-server-2.1.6/src/modules/rlm_perl; 
/bin/sh /usr/local/bin/libtool  --mode=relink cc -release 2.1.6 -module 
-export-dynamic -L/usr/local/lib -pthread -o rlm_perl.la -rpath 
/usr/local/lib/freeradius-2.1.6 rlm_perl.lo rlm_perl.c 
/usr/ports/net/freeradius2/work/freeradius-server-2.1.6/src/lib/libfreeradius-radius.la
 -Wl,-R/usr/local/lib/perl5/5.8.8/mach/CORE -pthread -Wl,-E -L/usr/local/lib 
/usr/local/lib/perl5/5.8.8/mach/auto/DynaLoader/DynaLoader.a 
-L/usr/local/lib/perl5/5.8.8/mach/CORE -lperl -lm -lcrypt -lutil )

*** Warning: Linking the shared library rlm_perl.la against the
*** static library /usr/local/lib/perl5/5.8.8/mach/auto/DynaLoader/DynaLoader.a 
is not portable!
libtool: relink: cc -shared  .libs/rlm_perl.o   -Wl,-rpath 
-Wl,/usr/local/lib/freeradius-2.1.6 -L/usr/local/lib 
-L/usr/local/lib/freeradius-2.1.6 -lfreeradius-radius -pthread 
/usr/local/lib/perl5/5.8.8/mach/auto/DynaLoader/DynaLoader.a 
-L/usr/local/lib/perl5/5.8.8/mach/CORE -lperl -lm -lcrypt -lutil  -pthread 
-Wl,-R/usr/local/lib/perl5/5.8.8/mach/CORE -pthread -Wl,-E -pthread -pthread 
-pthread   -pthread -Wl,-soname -Wl,rlm_perl-2.1.6.so -o .libs/rlm_perl-2.1.6.so
libtool: install: 
/usr/ports/net/freeradius2/work/freeradius-server-2.1.6/install-sh -c -c 
.libs/rlm_perl-2.1.6.soT /usr/local/lib/freeradius-2.1.6/rlm_perl-2.1.6.so
libtool: install: (cd /usr/local/lib/freeradius-2.1.6  { ln -s -f 
rlm_perl-2.1.6.so rlm_perl.so || { rm -f rlm_perl.so  ln -s rlm_perl-2.1.6.so 
rlm_perl.so; }; })
libtool: install: 
/usr/ports/net/freeradius2/work/freeradius-server-2.1.6/install-sh -c -c 
.libs/rlm_perl.lai /usr/local/lib/freeradius-2.1.6/rlm_perl.la
libtool: install: 
/usr/ports/net/freeradius2/work/freeradius-server-2.1.6/install-sh -c -c 
.libs/rlm_perl.a /usr/local/lib/freeradius-2.1.6/rlm_perl.a
libtool: install: chmod 644 /usr/local/lib/freeradius-2.1.6/rlm_perl.a
libtool: install: ranlib /usr/local/lib/freeradius-2.1.6/rlm_perl.a

Thanks, in advance, for any help you can provide..
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: MSCHAP Authentication Issue

2009-08-15 Thread Garber, Neal
 I will now proceed to create a patch.

The MS-CHAP2-Response attribute created by rlm_eap_mschapv2 does not include 
the Name field from the MS-CHAP response packet (as I suspected).  I thought 
the cleanest way to pass the Name field was to create another attribute in 
rlm_eap_mschapv2 before it calls rlm_mschap (I chose NTLM-User-Name as it's in 
the dictionary and I couldn't find it used anywhere).

I have coded/compiled the changes (radius.h changed to include 
PW_NTLM_USER_NAME; rlm_eap_mschapv2.c changed to create NTLM-User-Name request 
attribute before calling rlm_mschap.c; rlm_mschap.c changed to use 
NTLM-User-Name to construct MS-CHAPv1 challenge if it exists and it is same as 
User-Name (case-insensitive compare considering with_ntdomain_hack too). If no 
NTLM-User-Name found then use User-Name.  If the attributes are different, then 
log error and reject.  I will try to get back to work this weekend to do 
testing.  My plan is to get this working over the weekend and submit the 
patches by Monday.

Does this sound like a reasonable solution?  If not, feel free to suggest a 
different approach and I will make changes before submitting the patch files.

BTW, if I should be sending these type of messages to the devel list, please 
let me know.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: MSCHAP Authentication Issue

2009-08-15 Thread Garber, Neal
 BTW, if I should be sending these type of messages to the devel list,
 please let me know.

I would suggest that should be the case :-)

Uh, sorry about that.  I rarely see anything on that list so I thought maybe it 
was no longer in use.  

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: MSCHAP Authentication Issue

2009-08-15 Thread Garber, Neal
 I rarely see anything on that list

Ugh.  I guess I would have if I looked at the sender more closely..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: PEAP / mschapv2 Error Messages

2009-08-14 Thread Garber, Neal
 Depends on the NAS. But yeah, doing this breaks things. The best thing you  
 can do is log the error in the post-auth section.

In V1 of FR, the rlm_mschap module used to create a Module-Failure-Message 
request attribute containing the output of ntlm_auth, if ntlm_auth failed 
(rlm_ldap does this too on user not found).  This code was removed in V2.  I've 
tried adding it back in but it doesn't work because in V2 another trip occurs 
after the failure.  So, the Module-Failure-Message attribute no longer exists 
when the reject is issued.

I'd like to capture the ntlm_auth output for logging purposes and need it 
available when the reject is sent.  I've thought about storing it in the eap 
handler so it survives the next trip; but, I'm not sure if this is the best 
alternative.  Does this seem like a reasonable solution or can you think of a 
better approach?  

Just to be clear, I'm not proposing sending this info back to the NAS, just 
capturing it for logging (so that if the user calls our help desk, they can 
determine why the authentication failed by looking in the log).

Thanks for your advice..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


MSCHAP Authentication Issue

2009-08-14 Thread Garber, Neal
I realize that this issue has been brought up many times in the past.  However, 
I believe I have new information that I haven't seen reported before..

I'm having a problem with Windows XP supplicant authenticating to FR with 
PEAP/MSCHAPv2 where authentication fails sometimes depending upon various 
factors.  The same device I'm using to test wireless authentication, never has 
an issue authenticating to my old dain-bramaged Cisco ACS servers.  As a 
result, I decided to investigate what might be different about FreeRadius 
(perhaps Samba I thought, but didn't want to make assumptions).

I don't profess to be an MS-CHAP expert, so what I'm about to say may be 
completely off-base.. After performing many tests (see below) and reviewing 
RFC2579 and the code in rlm_mschap.c, I'm hypothesizing that the problem is 
with how rlm_mschap calculates the challenge hash that is passed to ntlm_auth.  
Specifically, rlm_mschap uses the User-Name attribute as part of the 
calculation of the hash.  What I'm finding is that, in some cases, the 
User-Name attribute doesn't match the case of the Name field in the MS-CHAP 
response (i.e., the userid is the same, it just differs in case).  In the tests 
I've performed, when these userids don't match in case, I get a Logon Failure 
from ntlm_auth.  I'd really like this to just work as is commonly said around 
these parts without additional gymnastics (such as changing all userids to 
lowercase).

Does this seem like a plausible explanation for what's happening?  If not, does 
anyone have any other ideas?  I need to resolve this in order to retire two old 
and cranky (and fairly useless because they don't really do authorization) ACS 
servers!  I'm going to try a change to rlm_mschap so it passes the Name field 
from the MS-CHAP response to the challenge_hash function (as opposed to the 
User-Name attribute) to see if that resolves the issue.  I realize that 
ultimately it's Windows fault that it doesn't pass the userid with consistent 
case (i.e., Identity vs. MS-CHAP response); but, I don't want the ACS server to 
be seen as a better, more tolerant solution.  So, it would be great to make FR 
more tolerant of this aberrant behaviour.

Thanks in advance for any advice/help/suggestions you can provide..

Here's what I tested and what I observed that caused me to draw the above 
conclusion:

Background: Windows XP SP3 laptop using std. Windows wireless supplicant 
EAP/PEAP/MS-CHAPv2 - Cisco 1232AP - FR 2.1.6 (with rlm_perl patch) running on 
FreeBSD 7.2.  In all the tests below, the same SSID, wireless network 
configuration on the laptop, AP, userid and password were used (the domain and 
user listed below are contrived, but are representative of the case I saw in 
the debug output).

Laptop Logon Method

Wireless Credentials Passed Man/Auto

MS-CHAP Response Packet Name field

User-Name Request Attribute

ntlm_auth Authentication Result

Domain logon (via Ethernet) with all lowercase userid entered on gina

Manually entered all lowercase userid when supplicant prompted

MYDOMAIN\myuser

MYDOMAIN\myuser

SUCCESS

Domain logon (via Ethernet) with all lowercase userid entered on gina

Supplicant configured to auto. pass Windows credentials

MYDOMAIN\MyuseR

MYDOMAIN\myuser

Logon failure (0xc06d)

Locally cached credentials (on laptop) with all lowercase userid entered on gina

Manually entered all uppercase userid when supplicant prompted

MYUSER

MYUSER

SUCCESS

Locally cached credentials (on laptop) with all lowercase userid entered on gina

Manually entered all lowercase userid when supplicant prompted

myuser

myuser

SUCCESS

Locally cached credentials (on laptop) with all lowercase userid entered on gina

Supplicant configured to auto. pass Windows credentials

MYDOMAIN\MyuseR

MYDOMAIN\MyuseR

SUCCESS


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

RE: MSCHAP Authentication Issue

2009-08-14 Thread Garber, Neal
 Well... that's a good reason to make sure we do it right.  Any day
 where we can replace another RADIUS server with FreeRADIUS is a good day.

My feelings exactly :)

 I suspect that it will.  The mschap module should also pass the Name
 field when calling ntlm_auth, too.  And maybe print a warning if the
 fields are different.

I constructed a test program by extracting challenge_hash from rlm_mschap.c 
(and all supporting functions).  I then extracted the peer challenge, 
authenticator challenge and NT-Response from the debug output of a failed 
request (User-Name was all lowercase, Name field was mixed case).  I called 
challenge_hash with the all lowercase userid (to ensure it generated the same 
challenge as the failed request) - the challenge was identical.  I then 
generated another challenge with the userid from the Name field in the 
response.  Then, I executed ntlm_auth manually with the original challenge and 
the new challenge.  The original failed (as I expected) and, low and behold, 
the new challenge (created using the Name field's userid) succeeded!

I will now proceed to create a patch.  I was planning to do a strncasecmp to 
ensure the only difference between the userid part of User-Name and the userid 
part of the Name field is case.  If there are non-case differences, do you 
think a RLM_REJECT is in order or do you think it should just warn and use 
whatever is present (I can't think of a normal case where this would occur, but 
if you think this is better, then I would definitely use the Name field for the 
username parameter too)?  I was thinking of rejecting the request, in this 
case, so this couldn't be used to bypass authorization.

Interestingly, I copied the challenge and response from a successful and failed 
attempt and manually called ntlm_auth varying the case of the --username 
parameter and it didn't affect the results.  In other words, --username=MYUSER 
or --username=myuser or --username=MyuseR all behave the same if the 
--challenge and --nt-response are correct).

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: mschap auth for multiple realms off different domain ctlrs?

2009-07-30 Thread Garber, Neal
 radiusd.conf[723] Failed to link to module 'rlm_mschap_co1': Shared object 
 rlm_mschap_co1.so not found, required by radiusd
 radiusd.conf[1949] Unknown module mschap_co1.
 radiusd.conf[1949] Failed to parse mschap_co1 entry.

Did you create 3 instances of mschap using aliases like below?

mschap {
  .
  .
  .
}
mschap mschap_co1 {
  .
  .
}
mschap mschap_co2 {
  .
  .
}

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: rlm_perl problems]

2009-07-29 Thread Garber, Neal
 I know how to patch. I was just trying to find out what was the error.

Igor: I hope you weren't offended by my assumption - I wasn't sure, based upon 
your comment, and I was just trying to help.  If I offended you, I apologize.  
By the way, out of curiosity, did the patch work for you on 2.1.7 also?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: rlm_perl problems]

2009-07-28 Thread Garber, Neal
 I didn't try it yet and i am not very good in C. Error that I and Neal
 had is something regarding OS or...? I don't see anyone else having this
 problem except me and Neal.

The error is in rlm_perl and appears related to thread data management, not the 
O/S and not perl (I run FreeBSD and you run CentOS; we even have different 
versions of perl).  Boian can explain the change far better than I can; but, my 
interpretation of the change is that the thread specific data key is now 
created upon perl module instantiation and stored with the instance data (so 
there's now a separate key for each perl instance we defined in FreeRadius).  
(Perhaps someone will correct me if I interpreted it incorrectly.)

When you say you're not good in C, if you are mean you are unsure how to apply 
the patch, try this:

1. Put the .diff file in the directory with rlm_perl.c (src/modules/rlm_perl is 
the directory).  
2. Then use the patch command to update rlm_perl.c (it creates rlm_perl.c.orig 
as a backup and updates rlm_perl.c): 
patch rlm_perl.c rlm_perl.diff
3. Rebuild/install FreeRadius from source
4. Test
5. Say thank you to Boian (and Ivan as he helped also)..

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Captive portal: can I use chap or pap in conjunction with ntlm_auth?

2009-07-28 Thread Garber, Neal
 Do you have any ideas about getting chilispot to work with users who
 are retrieved from AD via winbind and ntlm_auth

I don't know Chilispot, but if it can pass a cleartext password, then you can 
use ntlm_auth in a script to do the authentication.  For other devices that 
send an A/D user and a cleartext password in User-Password, I use ldap in the 
authorization section and then:

Auth-Type ldap {
perl_ntlm
}

In the authentication section after ms-chap and eap.  In the script you call 
ntlm_auth and parse the response.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: rlm_perl problems]

2009-07-27 Thread Garber, Neal
Boian,

SUCCESS!  Thank you , thank you, thank you!  I applied the patch to my test 
2.1.6 system and it eliminated the Seg Fault and all of the strange behaviour.  
My perl scripts now function as they do in Production.  I am extremely grateful 
for the time you spent debugging this issue and creating a patch in such a 
timely manner.

I hope Igor experiences a similar euphoria..

Thanks again..

-Original Message-
From: freeradius-users-bounces+neal.garber=energyeast@lists.freeradius.org 
[mailto:freeradius-users-bounces+neal.garber=energyeast@lists.freeradius.org]
 On Behalf Of Boian Jordanov
Sent: Monday, July 27, 2009 10:09 AM
To: si...@blic.net; FreeRadius users mailing list
Cc: Boian Jordanov
Subject: Re: rlm_perl problems]


On Jul 26, 2009, at 12:59 AM, si...@blic.net si...@blic.net wrote:

 Igor wrote:

 I have tried 2.1.7 and got same error. I will try to compile it with
 --enable-developer and see if i can find out anything from gdb  
 output.
 I realy don't know why would this happen because exactly the same  
 setup worked on
 older releases. All i did was to compile the new version (2.1.6)  
 and then copy
 old raddb dir.

 I am not sure why i got so many no debugging symbols found but i  
 did per
 doc/bugs instructions.
 This is gdb output:

Try attached patch.


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: Error: rlm_eap: Failed to store handler

2009-07-27 Thread Garber, Neal
freeradius 2.1.1-6 crashes in a few minutes and
shows this error Error: rlm_eap: Failed to store handler.

There is documentation that describes what to do if FreeRadius crashes.  Look 
in the file doc/bugs in the distribution and it gives specific instructions for 
using gdb to produce information about the crash.  Also, is 2.1.1-6 really 
the version printed by the radiusd -v command?

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


RE: rlm_perl problems

2009-07-24 Thread Garber, Neal
I've been debating sending a similar message to the list as well.  I am also 
experiencing the same problem with 2.1.6 (undefined subroutines that *clearly* 
exist in the script) and Seg Faults.  I have reinstalled perl and then 
reinstalled FreeRadius to see if I can work around the issue with no success.  

Even the example.pl that comes with FR 2.1.6 fails.  Currently, I have some of 
my scripts disabled to workaround the problem.

-Original Message-
From: freeradius-users-bounces+neal.garber=energyeast@lists.freeradius.org 
[mailto:freeradius-users-bounces+neal.garber=energyeast@lists.freeradius.org]
 On Behalf Of Igor Smitran
Sent: Friday, July 24, 2009 8:30 AM
To: freeradius-users@lists.freeradius.org
Subject: rlm_perl problems]

I am using Freeradius 2.1.6.

I have a working setup of freeradius with perl scripts inside authorize
and accounting sections.
Everything works great when i am using only one script.
But. if i add another script to do some other stuff for example in
post-auth section i get errors in log and freeradius dies.

Error i get is:
Error: rlm_perl: perl_embed:: module =
/etc/raddb/config_dialup/perl_script_2.pl , func = post_auth exit
status= Undefined subroutine main::post_auth called.

My perl setup is like this:

perl perl_script_1 {
module = ${confdir}/config_dialup/perl_script_1.pl
func_authorize = authorize_check_username
func_accounting = accounting_check_username
}

perl perl_script_2 {
module = ${confdir}/config_dialup/perl_script_2.pl
}



If i put everything into one script, like this:


perl perl_script_1 {
module = ${confdir}/config_dialup/perl_script_1.pl
func_authorize = authorize_check_username
func_accounting = accounting_check_username
}

perl perl_script_2 {
module = ${confdir}/config_dialup/perl_script_1.pl
}

then everything is ok. Did any of you had these problems?

Thank you


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


  1   2   >