Understanding Authentication Policies
Now that you understand the four main responsibilities of the Authentication Policy, it will be easier to understand why you are doing the things that are introduced in this section. To understand Authentication Policies even more, let’s examine a few.
From the ISE GUI, navigate to Policy > Authentication. Notice the default, as displayed in Figure 13-1.
Figure 13-1. Default Authentication Policy
Basic Authentication Policy rules are logically organized in this manor:
- IF conditions THEN ALLOW PROTCOLS IN LIST AllowedProtocolList
- AND CHECK THE IDENTITY STORE IN LIST IdentityStore
Rules are processed in a top-down, first-match order; just like a firewall policy. So, if the conditions do not match, the authentication is compared to the next rule in the policy.
As shown in Figure 13-1, ISE is preconfigured with a default rule for MAC Authentication Bypass (MAB). Use this rule to dig into authentication rules and how they work. If you have a live ISE system, it may help to follow along with the text.
Figure 13-2 demonstrates the MAB rule in flowchart format.
Figure 13-2.MAB Rule Flow Chart
Conditions
The conditions of this rule state, “If the authentication request is Wired_MAB or Wireless_MAB, it will match this rule.” You can expand these conditions by mousing over the conditions and clicking the target icon that appears or by looking directly at the authentication conditions shown in the following steps:
- Navigate to Policy > Policy Elements > Conditions > Authentication > Compound Conditions.
- Select Wired_MAB.
As you can see in Figure 13-3, Wired_MAB is looking for the RADIUS Service-Type to be Call-Check and the NAS-Port-Type to be Ethernet. This combination of attributes from the RADIUS authentication packet notifies ISE that it is a MAB request from a switch.
Figure 13-3.Wired_MAB Condition
Figure 13-4 highlights these key attributes in a packet capture of the MAB authentication request.
Figure 13-4.Packet Capture of Wired MAB
- Navigate to Policy > Policy Elements > Conditions > Authentication > Compound Conditions.
- Select Wireless_MAB.
As shown in Figure 13-5, wireless MAB is similar. However, it uses a NAS-Port-Type of Wireless - IEEE 802.11. This combination of attributes from the RADIUS authentication packet tells ISE that it is a MAB request from a wireless device.
Figure 13-5. Wireless_MAB Condition
Allowed Protocols
After the conditions are matched, the rule now dictates what authentication protocols are permitted. Looking at the predefined MAB rule, this rule uses the Default Network Access list of allowed protocols (which is almost every supported authentication protocol).
Let’s examine the default allowed protocols. From the ISE GUI, perform the following steps:
- Navigate to Policy > Policy Elements > Results > Authentication > Allowed Protocols.
- Select Default Network Access.
As you can see in Figure 13-6, the list of supported protocols and their options is extensive. This default list is inclusive with the intention of making deployments work easily for customers, but security best practice is to lock this down to only the protocols needed for that rule.
Figure 13-6.Default Network Access
Authentication Protocol Primer
This section examines the most common authentication protocols seen in most environments, so you can create a more specific list of allowed protocols for your deployment. Let’s follow Figure 13-6, from top-down:
- PAP: Password Authentication Protocol. The username is sent in the clear, and the password is optionally encrypted. PAP is normally used with MAB, and some devices use PAP for Web authentications. We recommend you enable this for the MAB rule only and disable PAP for any authentication rules for real authentications.
The check box for Detect PAP as Host Lookup allows PAP authentications to access the internal endpoints database. Without this check box selected, MAB would not work.
- CHAP: Challenge Handshake Authentication Protocol. The username and password are encrypted using a challenge sent from the server. CHAP is not often used with network access; however, some vendors send MAB using CHAP instead of PAP.
The check box for Detect CHAP as Host Lookup allows CHAP authentications to access the internal endpoints database. Without this check box selected, MAB does not work.
Extensible Authentication Protocol (EAP) Types
EAP is an authentication framework providing for the transport and usage of identity credentials. EAP encapsulates the usernames, passwords, and certificates that a client is sending for purposes of authentication. There are many different EAP types, each one has its own benefit and downside. As an interesting sidenote, 802.1X defines EAP over LAN:
- EAP-MD5: Uses a Message Digest algorithm to hide the credentials in a HASH. The hash is sent to the server, where it is compared to a local hash to see if the credentials are accurate. However, EAP-MD5 does not have a mechanism for mutual authentication. That means the server is validating the client, but the client does not authenticate the server (i.e., does not check to see if it should trust the server). EAP-MD5 is common on some IP-Phones, and it is also possible that some switches send MAB requests within EAP-MD5. The check box for Detect EAP-MD5 as Host Lookup allows EAP-MD5 authentications to access the internal endpoints database. Without this check box selected, MAB does not work.
- EAP-TLS: Uses Transport Layer Security (TLS) to provide the secure identity transaction. This is similar to SSL and the way encryption is formed between your web browser and a secure website. EAP-TLS has the benefit of being an open IETF standard, and it is considered “universally supported.” EAP-TLS uses X.509 certificates and provides the ability to support mutual authentication, where the client must trust the server’s certificate, and vice versa. It is considered among the most secure EAP types, because password capture is not an option; the endpoint must still have the private key. EAP-TLS is quickly becoming the EAP type of choice when supporting BYOD in the enterprise.
Tunneled EAP Types
The EAP types previously described transmit their credentials immediately. These next two EAP types (see Figure 13-7) form encrypted tunnels first and then transmit the credentials within the tunnel:
- PEAP: Protected EAP. Originally proposed by Microsoft, this EAP tunnel type has quickly become the most popular and widely deployed EAP method in the world. PEAP forms a potentially encrypted TLS tunnel between the client and server, using the x.509 certificate on the server in much the same way the SSL tunnel is established between a web browser and a secure website. After the tunnel is formed, PEAP uses another EAP type as an “inner method,” authenticating the client using EAP within the outer tunnel.
- EAP-MSCHAPv2: When using this inner method, the client’s credentials are sent to the server encrypted within an MSCHAPv2 session. This is the most common inner-method, as it allows for simply transmission of username and password, or even computer name and computer passwords to the RADIUS server, which in turn authenticates them to Active Directory.
- EAP-GTC: EAP-Generic Token Card (GTC). This inner method was created by Cisco as an alternative to MSCHAPv2 that allows generic authentications to virtually any identity store, including One-Time-Password (OTP) token servers, LDAP, Novell E-Directory and more.
- EAP-TLS: Although rarely used and not widely known, PEAP is capable of using EAP-TLS as an inner method.
Figure 13-7.Tunneled EAP Types (PEAP and FAST)
- EAP-FAST: Flexible Authentication via Secure Tunnel (FAST) is similar to PEAP. FAST was created by Cisco as an alternative to PEAP that allows for faster re-authentications and supports faster wireless roaming. Just like PEAP, FAST forms a TLS outer tunnel and then transmits the client credentials within that TLS tunnel. Where FAST differs from the PEAP is the ability to use Protected Access Credentials (PAC). A PAC can be thought of like a secure cookie, stored locally on the host as “proof” of a successful authentication.
- EAP-MSCHAPv2: When using this inner method, the client’s credentials are sent to the server encrypted within an MSCHAPv2 session. This is the most common inner method, as it allows for simply transmission of username and password, or even computer name and computer passwords to the RADIUS server, which in turn authenticates them to Active Directory.
- EAP-GTC: EAP-Generic Token Card (GTC). This inner method was created by Cisco as an alternative to MSCHAPv2 that allows generic authentications to virtually any identity store, including One-Time-Password (OTP) token servers, LDAP, Novell E-Directory, and more.
- EAP-TLS: EAP-FAST is capable of using EAP-TLS as an inner method. This became popular with EAP chaining.
- EAP Chaining with EAP-FASTv2: As an enhancement to EAP-FAST, a differentiation was made to have a user PAC and a machine PAC. After a successful machine authentication, ISE issues a machine-PAC to the client. Then, when processing a user authentication, ISE requests the machine-PAC to prove that the machine was successfully authenticated, too. This is the first time in 802.1X history that multiple credentials have been able to be authenticated within a single EAP transaction, and it is known as EAP chaining. The IETF is creating a new open standard based on EAP-FASTv2 and, at the time of publishing this book, it was to be referred to as EAP-TEAP (tunneled EAP), which should eventually be supported by all major vendors.
Identity Store
After processing the allowed protocols, the authentication request is then authenticated against the chosen identity store, or in this case with MAB, it is compared to the internal endpoints database (list of MAC addresses stored locally on ISE).
If the MAC address is known, it is considered to be a successful MAB (notice it was not termed successful authentication). MAB is exactly that, bypassing authentication, and it is not considered a secure authentication.
The selected identity source may also be an identity source sequence, which attempts a series of identity stores in order. This is covered in Chapter 21, “Monitor Mode.”
Options
Every authentication rule has a set of options that are stored with the identity store selection. These options tell ISE what to do: if an authentication fails, if the user/device is unknown, or if the process fails. The options are Reject, Continue, and Drop:
- Reject: Send Access-Reject back to the NAD.
- Continue: Continue to the Authorization Policy regardless of authentication pass/fail. (Used with Web authentication.)
- Drop: Do not respond to the NAD; NAD will treat as if RADIUS server is dead.
See Chapters 20–23 for more details on when to use these options.
Common Authentication Policy Examples
This section considers a few quick examples of Authentication Policies, based on common use-case or simply because they were interesting.
Using the Wireless SSID
One of the most common Authentication Policy requests that I get is to treat authentications differently based on the SSID of the wireless network. Creating the policy is not difficult; what becomes challenging is the identification of the attribute to use, because Source-SSID is not a field in a RADIUS packet. The attribute you need to use is called-station-id. That is the field that describes the wireless SSID name.
For this example, let’s build a rule for an SSID named CiscoPress. This rule will be configured to
- Only match authentications coming from that SSID
- Allow only EAP-FAST authentications
- Utilize EAP chaining
- Authenticate against Active Directory
From the ISE GUI, perform the following steps:
- Navigate to Policy > Authentication.
- Insert a new rule above the preconfigured Dot1X rule.
- Provide a name for the rule. In this case, we named it CiscoPress SSID.
- For the condition, choose RADIUS > Called-Station-ID.
- Select Contains.
- Type in the SSID Name in the text box. Figure 13-8 shows the condition.
Figure 13-8. Called-Station-ID Contains CiscoPress
- Create a new allowed protocol object that only allows EAP-FAST, as shown in Figure 13-9. Select the drop-down for Allowed Protocols.
Figure 13-9.Create a New Allowed Protocol
- Click the cog in the upper-right corner and choose Create a New Allowed Protocol.
- Provide a name. In this case, it was named it EAP-FAST ONLY.
- Optionally, provide a description.
- Working top-down, ensure that all the check boxes are unchecked until you reach Allow EAP-FAST.
- Confirm that Allow EAP-FAST is enabled.
- For ease of use, enable EAP-MS-CHAPv2, EAP-GTC, and EAP-TLS for inner methods.
- Select Use PACs for faster session re-establishment, and to allow EAP chaining.
Figure 13-10 shows the EAP-FAST settings for the new Allowed Protocols definition.
Figure 13-10.Allowed Protocols
- For ease of deployment, select Allow Anonymous In-Band PAC Provisioning and Allow Authenticated In-Band PAC Provisioning.
- Check the boxes for Server Sends Access-Accept After Authenticated Provisioning and Accept Client Certificate for Provisioning.
- Enable Allow Machine Authentication.
- Select Enable Stateless Session Resume.
- Select Enable EAP chaining, as shown in Figure 13-11.
Figure 13-11.Allowed Protocols, Continued
- Because you are only allowing one protocol, there is no need to set a preferred EAP Protocol.
- Click Save.
- Select the drop-down for the identity source (currently set for Internal Users), as shown in Figure 13-12.
Figure 13-12.Selecting the AD Identity Source
- Select your Active Directory source. In this case, the name is AD1.
- Leave the default options.
- Click Done.
- Click Save.
Figure 13-13 shows the completed authentication rule.
Figure 13-13.Completed Authentication Rule
This completes the creation of the authentication rule. Determining what actions to take for the authentications that passed is handled in the Authorization Policy.
Remote-Access VPN
Very often, authentications for a remote-access VPN connection get routed to an OTP server, like RSAs SecureID. For this example, let’s build a rule for remote-access VPN authentications. This rule will be configured to
- Only match authentications coming from the VPN device
- Route that authentication to the OTP server
From the ISE GUI, perform the following steps:
- Navigate to Policy > Authentication.
- Insert a new rule above the preconfigured Dot1X rule.
- Provide a name for the rule. In this case, it was named RA VPN.
- For the condition, choose DEVICE > Device Type.
- Set the operator to Equals.
- Choose the Network Device Group VPN.
Figure 13-14 shows the selection of the conditions.
Figure 13-14.Device Type Equals VPN
- For this example, just use the allowed protocol of Default Network Access.
- For the identity store, the OTP server was selected that was previously configured in Administration > Identity Management > External Identity Sources > RADIUS Token (ATWOTP).
- Leave the default options.
- Click Done.
- Click Save.
Figure 13-15 shows the completed RA VPN rule.
Figure 13-15.Completed Authentication Rule
Alternative ID Stores Based on EAP Type
In this modern day of BYOD and mobility, it is common to have multiple user and device types connecting to the same wireless SSID. In scenarios like this, often times, the corporate users with corporate laptops authenticate using EAP-FAST with EAP chaining while BYOD-type devices need to use certificates and EAP-TLS. Anyone authenticating with PEAP is recognized as a non-corporate and non-registered asset and sent to a device registration portal instead of being permitted network access.
For this example, let’s modify the preconfigured Dot1X rule by creating subrules for each EAP type. This rule will be configured to
- Match wired or wireless 802.1X
- Route EAP-TLS authentications to a Certificate Authentication Profile (CAP)
- Route PEAP authentications to an LDAP server
- Route EAP-FAST to Active Directory
- Route EAP-MD5 to internal endpoints for host-lookup as a MAB request
From the ISE GUI, perform the following steps:
- Navigate to Policy > Authentication.
- Edit the preconfigured Dot1X rule.
- Create a new allowed protocol object that only allows EAP authentications. Select the drop-down for allowed protocols.
- Click the cog in the upper-right corner and choose Create a New Allowed Protocol.
- Provide a name. In this case, it is named All EAP Types.
- Optionally, provide a description.
- Working top-down, ensure all EAP types are enabled, except for LEAP (unless you need LEAP for backward compatibility).
- Enable EAP chaining, as done previously in the wireless SSID exercise.
- Click Save.
- Insert a new subrule above the Default Identity Store subrule and name it EAP-TLS.
- For the condition, choose Network Access > EapAuthentication equals EAP-TLS (as shown in Figure 13-16).
Figure 13-16.Network Access:EapAuthentication Equals EAP-TLS
- For the identity source, choose the preconfigured Certificate Authentication Profile (CAP). This was configured at Administration > Identity Management > External Identity Sources > Certificate Authentication Profile.
- Insert a new row above the EAP-TLS row to insert EAP-FAST. Place EAP-FAST above EAP-TLS, because EAP-TLS may be used as an inner-method of EAP-FAST.
- Choose Network Access > EapTunnel Equals EAP-FAST for the condition.
- Select the Active Directory object for the identity source.
- Insert a new row above the EAP-TLS row to insert PEAP.
- Choose Network Access > EapTunnel Equals PEAP for the condition.
- Select the LDAP object for the identity source.
- Insert a new row below the EAP-TLS row to insert EAP-MD5.
- Choose Network Access > EapAuthentication Equals EAP-MD5 for the condition.
- Select internal endpoints for the identity source.
- Change the default identity store (bottom row) to be Deny Access.
- Click Done.
- Click Save.
Figure 13-17 shows the completed rule and subrules.
Figure 13-17.Completed Authentication Rule and Sub Rules
This completes the authentication section of this chapter. The next section takes an in-depth look at Authorization Policies and common authorization rules.