I'm trying to figure out how to put this lot together, but dont know enough about ACS when used with an external CA.
What I want to get working is:
A PC with a machine cert gets connected to a switch running 802.1x. The switch uses EAP with .1x to query PC, handing this off to ACS, that bit I'm ok with. The ACS needs to query the CA server to authenticate the PC, its this process I'm not sure about.
Reading the documentation I think that I need to configure LDAP between the ACS and the CA, which is running on 64-bit 2008 server. But, ACS SE remote agent is 32 bit only.
Is this correct, if so how do I get ACS SE to communicate with a 64-bit 2008 CA server?
Thanks for that, I've read up on this a bit more, I cannot figure out if I actually need to use the RA for my application.
I want the PC machine certificate to be authenticated to the microsoft CA, its the ACS to CA communication process I'm not sure about. What should I use here?
I also configured an ACS (not 4.2 but 5.1) for machine authentication with 802.1x. I think Cert - Validation directly with the CA is'nt possible. You have to establishe a LDAP - Connection to a DC. If the Option "publish Certificate in Active Directory" in the Cert - Template of the CA is activated, all issued Certs are retrieveable on the DC. So the ACS can use the whole bunch of attributes in the DC for building Access Policies. I.E to assign the used VLAN in Order to an LDAP - Attribute, like "description" (hostbased - VLAN - Assignement).
That answers my questions, having never worked with AD, CA and LDAP etc I didn’t realise that you could assign attributes at a user (machine in my case) level, although it makes perfect sense when you indicated that, as LDAP is a method of supporting user accounts right?
I suppose in that case I'll be able to assign an attribute through LDAP, which ACS will use to map that account/machine to a specific VLAN. The attribute value will be used to represent the VLAN mapping.
What component in ACS do I use to match against attributes? I don’t see anything in the NAP, NAF or RAC sections about this.
As an alternative, your reply prompted me to look at the ACS User Group mapping section, it describes mapping a windows group to an ACS group, which may also be a solution, although not as flexible as being able to match on an LDAP attribute associated with the machine accounts.
Reading through this it seems this is an area where the SE and Windows based ACS platforms differ, I'm using SE.
Sorry, Im not very familiar with ACS 4.2, because we started with 5.0 (this Version supports 2048 key lenght). In ACS 5.x you have a link "LDAP" in the webinterface under the section "Users and Identity Stores", where you can define the specific AD - structur of your organization (See screenshots).
In ACS 4.2, I suppose you have to do that under "External User Databases => Database Configuration => Windows Database. But before you have to Enable EAP-TS machine authentication and configure "Unknown User Policy" with the option "Check the following external userdatabases". As "External Databases, select "Network Admission Control" and as "Selected Databases" use "Windows Database". At least activate "Certificate CN comparison" in the EAP-TLS section. Dont forget to permit RAS for the client in AD. I hope it works.
In the Cisco ACS 5.x you import all the PKI's you will trust, never mind what root the ACS - certificat (wich is used to establishe the TLS tunnel) is descended from. May be, ACS 4.x did it in the same way? If you want to disclose the machines of the old certificate, you had to delete the old certificate in a section like "User and Identity Stores" => "External Identity Stores" => "Certificate Authorities" (May be, that the structure in ACS 4.x is different).