08-27-2012 07:31 PM - edited 03-10-2019 07:28 PM
Greetings
Here is the scenario
previously using freeradius and no issues existed with windows clients connecting to the wireless.
The SSID has wpa/wpa2, 802.1x authentication
Installed ACS 5.3
configured Store for LDAP - we don't use AD so don't recommend it
allowing PEAP-GTC as PEAP-MSCHAP2 is unsupported
uploaded a valid sign Certificate for our organization to be used for EAP
all MAC clients work and most mobile devices, user receives the cert and click accept and then they are prompted for Username and Password
However all windows clients XPSP2, XPSP3, Windows 7 fail to connect
first error was
Windows was unable to find a certificate on local machine to use to validate network.
I would expect that the acs would provide the cert like the MAC devices at this point, that doesn't seem to be the case.
I exported the cert from acs and imported into the XPSP3 machine and placed it into Trusted Root CA
I tried almost every store listed as well.
After the import
The error is unable to connect to network.
ACS reports
While trying to negotiate a TLS handshake with the client, ACS received an unexpected TLS alert message. This might be due to the supplicant not trusting the ACS server certificate for some reason. ACS treated the unexpected message as a sign that the client rejected the tunnel establishment.
It also lists the username as the organization in the Cert and PEAP(null)
for the windows client I have
auth as WPA2
Data Encryption as AES
on the Authentication tab
EAP type > Protected EAP
authenticate as computer unchecked
authenticate as guest unchecked
under EAP properties button
Validate server cert - checked
Trusted Root CA - the organizations cert - checked
do not prompt user - unchecked
select auth method - smart card or other cert - selected - since mschapv2 is not supported for the ldap store
clicked configure
use a certificate on this computer - checked
use simple cert selection - checked
Validate server cert - checked
Trusted Root CA - checked the org cert
use different user - unchecked
enable fast reconnect - unchecked
What I would like to see
The user selects the ssid > is prompted to accept cert from acs > accepts > user is prompted for their ldap login creds > user is authenticated
Any insight would be greatly appreciated
15004 Matched rule |
15012 Selected Access Service - RBLDAP Network Access |
11507 Extracted EAP-Response/Identity |
12300 Prepared EAP-Request proposing PEAP with challenge |
11006 Returned RADIUS Access-Challenge |
11001 Received RADIUS Access-Request |
11018 RADIUS is re-using an existing session |
12302 Extracted EAP-Response containing PEAP challenge-response and accepting PEAP as negotiated |
12318 Successfully negotiated PEAP version 0 |
12800 Extracted first TLS record; TLS handshake started. |
12805 Extracted TLS ClientHello message. |
12806 Prepared TLS ServerHello message. |
12807 Prepared TLS Certificate message. |
12810 Prepared TLS ServerDone message. |
12305 Prepared EAP-Request with another PEAP challenge |
11006 Returned RADIUS Access-Challenge |
11001 Received RADIUS Access-Request |
11018 RADIUS is re-using an existing session |
12304 Extracted EAP-Response containing PEAP challenge-response |
12305 Prepared EAP-Request with another PEAP challenge |
11006 Returned RADIUS Access-Challenge |
11001 Received RADIUS Access-Request |
11018 RADIUS is re-using an existing session |
12304 Extracted EAP-Response containing PEAP challenge-response |
12318 Successfully negotiated PEAP version 0 |
12812 Extracted TLS ClientKeyExchange message. |
12804 Extracted TLS Finished message. |
12801 Prepared TLS ChangeCipherSpec message. |
12802 Prepared TLS Finished message. |
12816 TLS handshake succeeded. |
12310 PEAP full handshake finished successfully |
12305 Prepared EAP-Request with another PEAP challenge |
11006 Returned RADIUS Access-Challenge |
11001 Received RADIUS Access-Request |
11018 RADIUS is re-using an existing session |
12304 Extracted EAP-Response containing PEAP challenge-response |
12511 Unexpectedly received TLS alert message; treating as a rejection by the client |
11504 Prepared EAP-Failure |
11003 Returned RADIUS Access-Reject |
08-27-2012 08:12 PM
Simon,
Have you installed complete cert chain on the xp client we are authenticating with? It needs to have both CA and Intermediate CA intellaed in trusted store.
Do we have any patch installed?
Regards,
~JG
08-27-2012 08:42 PM
Hi jagdeep
I patched the machine yesterday. so it's upto date
we have a wild card cert *.orgname
Instead of using a self generated cert on the acs - I imported the org cert.
it was issued by
UTN-USERFirst-Hardware
I just selected this option as well
normally when I use this cert for ssl servers, client has accept it. This works for Mac os x 10.6 and 10.7 as well as ipads and iphones. Just the windows are trying to either use the machine name and local windows account or the cert org as the username.
I exported this cert from the acs and imported it to winxp
I get the same TLS error
While trying to negotiate a TLS handshake with the client, ACS received an unexpected TLS alert message. This might be due to the supplicant not trusting the ACS server certificate for some reason. ACS treated the unexpected message as a sign that the client rejected the tunnel establishment.
it lists the username as the org name in the cert
which seems wrong to me.
What I want is it to work like the apple systems
connect to ssid
get presented with cert from acs
accept that cert
get prompted for username and passwd
get connected
I have click and selected all sorts of options for the wireless connector.
This really needs to be simple, because we don't manage these devices and they don't belong to any domain
A
08-27-2012 09:08 PM
Hi Simon,
Unfortunately ACS does not support wildcard certs. Here is the bug id,
Regards,
~JG
08-27-2012 09:30 PM
Says it's fixed
Anyway the wildcard cert works fine for MAC OS devices except IPhone4s running IOS 5 - which is easy to fix by creating a profile and importing the cert manually.
It seems to me that something is not right with the microsoft wireless client
08-27-2012 10:17 PM
a bit of an update
I downloaded the Intel ProSet tool and used it instead of the microsoft zero config tool and the windows xp connects straight away. The PEAP settings seemed to be better in the intel software.
This is not an ideal solution because we will have many users with different version of windows needing to connect and the hardware will be different from machine to machine.
Cheers
08-28-2012 08:24 PM
I need some suggestions or solutions to this issue
Basically If you configure acs to use LDAP as the identity store, then the microsoft supplicant can not use the EAP/MSCHAP2.
You can select PEAP and configure Trusted Root CA with an imported CERT but there are no options to send the true USERNAME to the acs - instead the MS client sends the organization the cert was issued to
If you choose not to verify the cert the MS client sends the computername/user as the USERNAME
The only way around this is not to use the MS supplicant
You must use a 3rd party - which most are not free and depending on the version of windows may be different versions
It seems to me that others must have experienced this issue.
PEAP is a client-server security architecture that you use to encrypt EAP transactions, thereby protecting the contents of EAP authentications. PEAP uses server-side public key certificates to authenticate the server.
It then creates an encrypted SSL/TLS tunnel between the client and the authentication server. The ensuing exchange of authentication information to authenticate the client is then encrypted and user credentials are safe from eavesdropping.
PEAP is similar to EAP-TLS but uses a different client authentication method. PEAP provides authentication, by using server certificates, a TLS tunnel and client authentication through that encrypted tunnel. Unlike EAP-TLS, PEAP requires the client to use another EAP type, like EAP-MSCHAPv2.
PEAP authentications always involve two phases:
•In phase1, the end-user client authenticates ACS. This action requires a server certificate and authenticates ACS to the end-user client, ensuring that the user or machine credentials sent in phase two are sent to a AAA server that has a certificate issued by a trusted CA. The first phase uses a TLS handshake to establish an SSL tunnel between the end-user client and the AAA server.
Note Depending on the end-user client involved, the CA certificate for the CA that issued the ACS server certificate is likely to be required in local storage for trusted root CAs on the end-user client computer.
•In the second phase, ACS authenticates the user or machine credentials by using an EAP authentication protocol. The SSL tunnel that was created in phase1 protects the EAP authentication.
The inner-method authentication type that is negotiated during phase 2 can be either EAP-MSCHAPv2, EAP-GTC or EAP-TLS. The combination of the outer PEAP method with a specific inner EAP method is denoted using brackets (); for example, PEAP(EAP-MSCHAPv2) or PEAP(EAP-GTC).
An improvement in security that PEAP offers is identity protection. This improvement is the potential for protecting the username in all PEAP transactions. After phase one of PEAP, all data is encrypted, including username information that is usually sent in clear text.
The Microsoft PEAPv0 client does not provide identity protection; the Microsoft PEAPv0 client sends the username in clear text in phase one of PEAP authentication.
In ACS 5.3, PEAP is encapsulated in RADIUS protocol. Inner-method EAP messages are encapsulated in an EAP-TLV method.
ACS 5.3 supports these PEAP supplicants:
•Microsoft Built-In Clients 802.1x XP (PEAPv0 only)
•Microsoft Built-In Clients 802.1x Vista (PEAPv0 only)
•Microsoft Built-In Clients 802.1x Windows 7
•CSSC v.4.0
•CSSC v.5
•Funk Odyssey access client (latest version)
•Intel Supplicant 12.4.x
acs using LDAP DB Store does not support EAP/MSCHAP2
08-29-2012 11:06 PM
Simon,
Can you clear up the following statements:
You can select PEAP and configure Trusted Root CA with an imported CERT but there are no options to send the true USERNAME to the acs - instead the MS client sends the organization the cert was issued to
Are you referring to eap-tls? Which cert are you trying to send?
If you choose not to verify the cert the MS client sends the computername/user as the USERNAME
If the requests is coming in as host/computer.domain then you can disable this setting in the supplicant to force it to user auth only.
You can download the cisco anyconnect NAM with no charge if you meet the following requirements:
The AnyConnect Network Access Manager is licensed without charge for use with Cisco wireless access points, wireless LAN controllers, switches, and RADIUS servers. No AnyConnect Essentials or Premium license is required. A current SmartNet contract is required on the related Cisco equipment.
Here is some configuration information regarding the client using the network profile editor.
Thanks,
Tarik Admani
*Please rate helpful posts*
08-30-2012 08:05 PM
Hello Tarik
to answer the first question:
Yes it can't get past the eap-tls stage - the acs close the connection
in the acs logs I see "*.myorg.com" as the username with validate cert on
we have a company wildcard cert issued by Trusted Root CA in UTAH associated with Novell.
Acs says the client had an issue with the communication or did not respond correctly so the eap-tls was terminated
if I don't validate i see
"computername/windowsusername" as the username - which does not exist in LDAP
I don't see and option to disable this setting in the windows supplicant to force it to user auth only
My CCO account won't let me download even the free stuff or trial versions, I have contacted the vendor the account is registered through for a fix.
I am thinking that anyconnect may be my only option at this point.
because although intel proset works for my test machine, users may have different hardware.
The ideal situation would be if the MS supplicant worked like the MAC supplicant
08-30-2012 08:59 PM
I would like to add the error messages
While trying to negotiate a TLS handshake with the client, ACS received an unexpected TLS alert message. This might be due to the supplicant not trusting the ACS server certificate for some reason. ACS treated the unexpected message as a sign that the client rejected the tunnel establishment.
Ensure that the ACS server certificate is trusted by the client, by configuring the supplicant with the CA certificate that signed the ACS server certificate. It is strongly recommended to not disable the server certificate validation on the client!
I exported the cert from the acs as well trying to use the original cert
I imported into trusted root CA, personal, enterprise etc....
08-31-2012 12:41 AM
Cisco TAC replied.
From what I understand you are using PEAP-GTC with ACS and an LDAP backend.
You seem to have a few issues:
1. Your client does not trust your server certificate. The CA which issued the ACS certificate must be trusted by the client. This is how TLS works, both parties must trust the same CA in order to bring up a connection. You can bypass the certificate check on the client side by disabling server certificate validation. This will allow self-signed certificates, or untrusted certificates to be used to build the outer PEAP tunnel
2. You are trying to do PEAP-GTC with a Windows supplicant. Windows built-in supplicant does not support GTC - it can only do TLS or MSCHAPv2 as the inner method-, so you will need to use another supplicant. Anyconnect NAM is a possible solution.
Number seems strange to me. I imported the cert, if I open the browser to the acs, the mgmt uses the same cert, I get no warnings or anything. I have to assume that the cert is being trusted.
for #2 these are the protocols I am allowing.
09-01-2012 12:46 AM
Can you post the message of the warning, I wonder if there maybe confusion as to the message. I have seen this issue before where the message will not ask the client to trust the cert but in turn would be a warning message to the client regarding the identity of the radius server (when you click details it will show the trusted cert with no warning message).
Thanks,
Tarik Admani
*Please rate helpful posts*
09-02-2012 08:51 PM
Hi Thanks for the response after much thought on the matter
in the MS client the message says clickhere to select a certificate or other credentials for connection to the network XXXX
clicking just creates a loop of accepting the trusted cert over and over again
What I realized was that I was missing some understanding on how the MS client is trying to work with the acs.
So in my scenario
ACS with LDAP STORE does not support PEAP/MSCHAP2, which I knew
Didn't know that MS client does not support PEAP-GTC - but kind of figured it out.
Didn't understand all the requirements to get EAP-TLS to work and specifically how to configure the ms wireless client.
I basically need a CA
Need to generate a client side cert with the username embedded with in
Need to generate a server side cert for the ACS
configure them both to verify to the CA server.
This is a lot of work for .05 of the clients for our environment and is not very straight forward from a users perspective.
Here is some of the info that has started me down the right path
https://supportforums.cisco.com/docs/DOC-17512
and
As of this moment - I am still working on this.
09-03-2012 12:31 AM
Once you configure your CA you can choose autoenrollment feature so that all machines and users that connect to the domain are issued a certificate which takes the strain out of creating certs...
Good luck!
Tarik Admani
*Please rate helpful posts*
09-03-2012 12:46 AM
I will have to figure out how to get autenrollment working with freebsd.
I was able to get the securew2 windows client supplicant to work with PEAP EAP-GTC. as another option.
Cheers
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide