Steve Have a look at the following trace extract (for a successful rlm_ldap LDAPS connection to AD):
rlm_ldap: attempting LDAP reconnection rlm_ldap: (re)connect to somedc.somecompany.com:636, authentication 0 rlm_ldap: setting TLS mode to 1 rlm_ldap: bind as cn=lookup,ou=something,dc=somecompany,dc=com/password to somedc.somecompany.com:636 ldap_bind ldap_simple_bind ldap_sasl_bind ldap_send_initial_request ldap_new_connection ldap_int_open_connection ldap_connect_to_host: TCP somedc.somecompany.com:636 ldap_new_socket: 6 ldap_prepare_socket: 6 ldap_connect_to_host: Trying 10.1.1.3:636 ldap_connect_timeout: fd: 6 tm: 5 async: 0 ldap_ndelay_on: 6 ldap_is_sock_ready: 6 ldap_ndelay_off: 6 TLS trace: SSL_connect:before/connect initialization TLS trace: SSL_connect:SSLv2/v3 write client hello A TLS trace: SSL_connect:SSLv3 read server hello A TLS certificate verification: depth: 1, err: 0, subject: /[EMAIL PROTECTED]/C=xx/ST=xx/L=xx/O=xx/OU=xx/CN=rootcadc .somecompany.com, issuer: /[EMAIL PROTECTED]/C=xx/ST=xx/L=xx/O=xx/OU=xx/CN=rootcadc .somecompany.com TLS certificate verification: depth: 0, err: 0, subject: /[EMAIL PROTECTED]/C=xx/ST=xx/L=xx/O=xx/OU=xx/CN=somedc.s omecompany.com, issuer: /[EMAIL PROTECTED]/C=xx/ST=xx/L=xx/O=xx/OU=xx/CN=rootcadc .somecompany.com TLS trace: SSL_connect:SSLv3 read server certificate A TLS trace: SSL_connect:SSLv3 read server certificate request A TLS trace: SSL_connect:SSLv3 read server done A TLS trace: SSL_connect:SSLv3 write client certificate A TLS trace: SSL_connect:SSLv3 write client key exchange A TLS trace: SSL_connect:SSLv3 write change cipher spec A TLS trace: SSL_connect:SSLv3 write finished A TLS trace: SSL_connect:SSLv3 flush data TLS trace: SSL_connect:SSLv3 read finished A ldap_open_defconn: successful ldap_send_server_request rlm_ldap: waiting for bind result ... The TLS setup involves verification of the root certificate and the server cert (the depth 1 and depth 0 above). This is not seen in your trace and is probably not being done at all. Permissions? Check the permissions on your root CA cert, the directory hierarchy it is in, check the ldap.conf file permissions and its directory hierarchy. If you look at the current CVS rlm_ldap source, you can see that you can set the tls_cacertfile, tls_cacertdir and other options in radiusd.conf as well. You could try that and thus eliminate permissions/config of openldap/ldap.conf altogether. I'm afraid you will have to work through this the hard way - trial and error, eliminating possibilities one by one. Tarun -----Original Message----- From: Steve OBrien [mailto:[EMAIL PROTECTED] Sent: Tuesday, 23 March 2004 11:00 AM To: [EMAIL PROTECTED] Subject: RE: Using freeradius to authenticate users to a Windows 2000 AD OK I got it going here too, just some login syntax issues with the ldabrowser. Now I can login with ssl there but am still getting errors with freeradius radtest. On a side note radtest is now working with identical radiusd.conf without ssl. To roll this out I need SSL to work. Here's Debug: Thanks again for all your help!! rad_recv: Access-Request packet from host 127.0.0.1:49066, id=128, length=56 User-Name = "test" User-Password = "test" NAS-IP-Address = 255.255.255.255 NAS-Port = 1 modcall: entering group authorize for request 0 modcall[authorize]: module "preprocess" returns ok for request 0 modcall[authorize]: module "chap" returns noop for request 0 modcall[authorize]: module "eap" returns noop for request 0 rlm_realm: No '@' in User-Name = "test", looking up realm NULL rlm_realm: No such realm "NULL" modcall[authorize]: module "suffix" returns noop for request 0 users: Matched DEFAULT at 152 modcall[authorize]: module "files" returns ok for request 0 modcall[authorize]: module "mschap" returns noop for request 0 modcall: group authorize returns ok for request 0 rad_check_password: Found Auth-Type LDAP auth: type "LDAP" modcall: entering group Auth-Type for request 0 rlm_ldap: - authenticate rlm_ldap: login attempt by "test" with password "test" radius_xlat: '(SamAccountName=test)' radius_xlat: 'dc=ci,dc=bend,dc=or,dc=us' ldap_get_conn: Got Id: 0 rlm_ldap: attempting LDAP reconnection rlm_ldap: (re)connect to cityhalldc1.ci.bend.or.us:636, authentication 0 rlm_ldap: setting TLS mode to 1 ldap_err2string rlm_ldap: could not set LDAP_OPT_X_TLS option Success rlm_ldap: bind as cn=freeradius,cn=users,dc=ci,dc=bend,dc=or,dc=us/freerad1us to cityhalldc1.ci.bend.or.us:636 ldap_bind ldap_simple_bind ldap_sasl_bind ldap_send_initial_request ldap_new_connection ldap_int_open_connection ldap_connect_to_host: TCP cityhalldc1.ci.bend.or.us:636 ldap_new_socket: 7 ldap_prepare_socket: 7 ldap_connect_to_host: Trying 192.168.19.40:636 ldap_connect_timeout: fd: 7 tm: 5 async: 0 ldap_ndelay_on: 7 ldap_is_sock_ready: 7 ldap_ndelay_off: 7 ldap_open_defconn: successful ldap_send_server_request rlm_ldap: waiting for bind result ... ldap_result msgid 1 ldap_chkResponseList for msgid=1, all=1 ldap_chkResponseList returns NULL wait4msg (timeout 10 sec, 0 usec), msgid 1 wait4msg continue, msgid 1, all 1 ** Connections: * host: cityhalldc1.ci.bend.or.us port: 636 (default) refcnt: 2 status: Connected last used: Mon Mar 22 15:55:54 2004 ** Outstanding Requests: * msgid 1, origid 1, status InProgress outstanding referrals 0, parent count 0 ** Response Queue: Empty ldap_chkResponseList for msgid=1, all=1 ldap_chkResponseList returns NULL ldap_int_select read1msg: msgid 1, all 1 ber_get_next failed. rlm_ldap: ldap_result() ldap_err2string rlm_ldap: cn=freeradius,cn=users,dc=ci,dc=bend,dc=or,dc=us bind to cityhalldc1.ci.bend.or.us:636 failed: Can't contact LDAP server ldap_free_request (origid 1, msgid 1) ldap_free_connection ldap_send_unbind ldap_free_connection: actually freed rlm_ldap: (re)connection attempt failed ldap_release_conn: Release Id: 0 modcall[authenticate]: module "ldap" returns fail for request 0 modcall: group Auth-Type returns fail for request 0 auth: Failed to validate the user. Delaying request 0 for 1 seconds Finished request 0 Going to the next request --- Walking the entire request list --- Waking up in 1 seconds... --- Walking the entire request list --- Waking up in 1 seconds... --- Walking the entire request list --- Sending Access-Reject of id 128 to 127.0.0.1:49066 Waking up in 4 seconds... --- Walking the entire request list --- Cleaning up request 0 ID 128 with timestamp 405f7d0a Nothing to do. Sleeping until we see a request. Here's ldap.conf: [snip] # Active Directory SSL options ssl on # OpenLDAP SSL options # Require and verify server certificate (yes/no) tls_checkpeer no # CA certificates for server certificate verification TLS_CACERT /usr/local/ssl/certs/cacertder.pem [snip] here's radiusd.conf: [snip] ldap { server = "cityhalldc1.ci.bend.or.us" port = 636 identity = "cn=freeradius,cn=users,dc=ci,dc=bend,dc=or,dc=us" password = freerad1us basedn = "dc=ci,dc=bend,dc=or,dc=us" #filter = "(cn=%u)" #filter = "(sAMAccountName=%u)" filter = "(SamAccountName=%{Stripped-User-Name:-%{User-Name}})" #filter = "(&(SamAccountName=%{Stripped-User-Name:-%{User-Name}} )(memberOf=cn=RemoteUser,cn=Users,dc=ci,dc=bend,dc=or,dc=us))" # set this to 'yes' to use TLS encrypted connections # to the LDAP database. start_tls = no #tls_mode = no # Mapping of RADIUS dictionary attributes to LDAP # directory attributes. dictionary_mapping = ${raddbdir}/ldap.attrmap # ldap_cache_timeout = 120 # ldap_cache_size = 0 ldap_connections_number = 10 #groupname_attribute = cn #groupmembership_filter = "(&(objectClass=Group)(member=%{Ldap-U serDn}))" timeout = 10 timelimit = 10 net_timeout = 5 ldap_debug = 0xFFFF ldap_debug = 0x0001 compare_check_items = yes access_attr_used_for_allow = no } [snip] "Tarun Bhushan" <[EMAIL PROTECTED]> Sent by: [EMAIL PROTECTED] 03/22/2004 02:26 PM Please respond to [EMAIL PROTECTED] To<[EMAIL PROTECTED]> cc SubjectRE: Using freeradius to authenticate users to a Windows 2000 AD Steve What you need is the Windows root CA cert that you placed on to the FreeRadius box. Use the same PEM file as input on the box you are executing the LDAP/Browser/Editor (LBE) from - this is the c:\temp\somedc.ca.pem file I refer to in the documentation below. I used LBE from a Windows box with the Sun Java run time installed - works just fine. Tarun NOTICE This e-mail and any attachments are confidential and may contain copyright material of Macquarie Bank or third parties. If you are not the intended recipient of this email you should not read, print, re-transmit, store or act in reliance on this e-mail or any attachments, and should destroy all copies of them. Macquarie Bank does not guarantee the integrity of any emails or any attached files. The views or opinions expressed are the author's own and may not reflect the views or opinions of Macquarie Bank. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

