Table of Contents
- The CVD program consists of systems and solutions designed, tested, and documented to facilitate faster, more reliable, and more predictable customer deployments. For more information visit http://www.cisco.com/go/designzone.
- ALL DESIGNS, SPECIFICATIONS, STATEMENTS, INFORMATION, AND RECOMMENDATIONS (COLLECTIVELY, "DESIGNS") IN THIS MANUAL ARE PRESENTED "AS IS," WITH ALL FAULTS. CISCO AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THE DESIGNS, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- THE DESIGNS ARE SUBJECT TO CHANGE WITHOUT NOTICE. USERS ARE SOLELY RESPONSIBLE FOR THEIR APPLICATION OF THE DESIGNS. THE DESIGNS DO NOT CONSTITUTE THE TECHNICAL OR OTHER PROFESSIONAL ADVICE OF CISCO, ITS SUPPLIERS OR PARTNERS. USERS SHOULD CONSULT THEIR OWN TECHNICAL ADVISORS BEFORE IMPLEMENTING THE DESIGNS. RESULTS MAY VARY DEPENDING ON FACTORS NOT TESTED BY CISCO.
- The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB’s public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.
- Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at http://www.cisco.com/go/trademarks. Third party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1005R)
- Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.
- IP Telephony for 802.1X Design Guide
- © 2011 Cisco Systems, Inc. All rights reserved.
IP telephony is one of the most widely deployed technologies, and has specific requirements and expectations at the access layer. This design guide addresses deployment considerations and best practices when integrating IP telephony with an 802.1X-enabled network. This document includes the following sections:
- About IP Telephony in Identity-Enabled Networks
- Features and Benefits
- Solution Components
- Additional Authentication Features
Cisco IOS Software enables standards-based network access control by using the IEEE 802.1X protocol to secure the physical ports where end users connect. 802.1X is an IEEE standard that permits or denies network connectivity based on the identity of the end user or device. However, the IEEE standard was not designed to accommodate the unique requirements of IP telephony. In particular, IP phones complicate the implementation of 802.1X in the following ways:
- Assumption of network access—By default, 802.1X-enabled ports deny all access until and unless the attached device has successfully authenticated. IP phones, on the other hand, expect immediate access to the network.
- Support for two devices per port—Cisco IP telephony allows the same access switch port to provide network access to an IP phone and a data device connected on the Ethernet port behind the phone. The phone can only send tagged traffic on the voice VLAN and the PC can only send untagged traffic on the data VLAN. This is done to cut down on cabling, capital equipment, and administrative costs. However, 802.1X does not directly address this issue.
- Lack of link state awareness—When an IP phone is present, the switch has no knowledge of the link state of the port on the back of the IP phone. However, 802.1X-enabled ports rely heavily on link state to determine when to start and stop the authentication state machine. This helps to ensure the validity of the authenticated session, and to prevent security holes or attacks.
- Phones that support 802.1X must be configured correctly.
- Phones that do not support 802.1X must be provided with some other means to access the voice network.
- 802.1X-enabled ports must address IP telephony deployments with a phone and a data device on the same port.
- Compensation for the lack of link state awareness.
An 802.1X-aware IP telephony system and a flexible policy server must be part of an intelligent infrastructure. Cisco can deliver an end-to-end solution, known as TrustSec, for an 802.1X-enabled network that fully integrates IP telephony.
An end-to-end Cisco solution provides unparalleled integration between IP telephony and 802.1X by taking advantage of the intelligence of the Cisco Catalyst switching platforms, the Cisco Unified Communications infrastructure, and the flexible policy engine of the Cisco Access Control Server (ACS). By following the recommendations and best practices outlined in this document, customers can enjoy the benefits of IP telephony without having to sacrifice the security and visibility of an 802.1X-enabled network.
An 802.1X-aware IP telephony system and a flexible policy server must be part of an intelligent infrastructure. TrustSec is an end-to-end solution for an 802.1X-enabled network that fully integrates IP telephony. Key features in the TrustSec system include the following:
- Multi-domain authentication (MDA)—A feature on Cisco Catalyst switches that divides a single port into two domains: the voice domain and the data domain. MDA enables the switch to independently authenticate a voice device and a data device on the same switch port.
- Cisco Discovery Protocol (CDP) Enhancement for Second Port Disconnect—Allows a Cisco IP phone to send a CDP message to the switch when a host unplugs from behind the phone. The switch is then able to clear any authenticated session for the indirectly connected host, exactly the same as if the host had been directly connected and the switch had detected a link down event.
- 802.1X-capable IP phones—Many Cisco IP phone versions support 802.1X. They can use either pre-provisioned manufacturing installed certificates (MIC) or customer-controlled locally significant certificates (LSCs) for 802.1X authentication.
- Touchless phone configuration and certificate enrollment—Starting in Version 7.1.2, the Cisco Unified Communication Manager (Unified CM) can centrally enable phones for 802.1X via a downloaded configuration file. In addition, Unified CM provides a Certificate Authority Proxy Function (CAPF) that enables phones to enroll locally-signed LSCs to use for authentication. Because these functions are performed over the network, there is no need to physically touch the phones.
- Touchless phone authentication—Cisco ACS can be configured to authenticate IP phones and authorize them into the voice domain purely on the basis of a valid certificate. Because the certificate attributes alone can be used to determine the validity of a phone, there is no need to enter the names of the phones in any internal or external database. This significantly reduces the amount of configuration required to support IP phones.
- Cisco Catalyst 2960 and 2960S Series Switches with Cisco IOS Software Release 12.2(55)SE3
- Cisco Catalyst 3750, 3750E, and 3750X Series Switches with Cisco IOS Software Release 12.2(55)SE3
- Cisco Catalyst 4500E Series Switches with Cisco IOS Software Release 12.2(53)SG5
- Cisco Catalyst 6500 Series Switches with Cisco IOS Software Release 12.2(33)SXI7
- Cisco Secure ACS Version 5.2 + patch 3
- Cisco IP phone firmware 9.0.3
- Cisco Unified Communication Manager 8.0.3
Although this solution has been optimized for an end-to-end Cisco solution with the latest code and firmware revisions, many additional features are available to support legacy or third-party devices, including the following:
- MAC authentication bypass (MAB)—A secondary authentication method that enables a Cisco Catalyst switch to check the MAC address of the connecting device in place of a successful 802.1X authentication. Phones that cannot perform 802.1X can be authenticated based on a MAC address.
- Flexible authentication (FlexAuth)—A combination of features that enables you to deploy a single configuration for every port in the network and know that the Cisco Catalyst switch intelligently applies the correct authentication and authorization policy. This works whether the device is a phone or a PC, or even if the device does not support 802.1X. FlexAuth also enables you to configure the order and priority of authentication methods so that you can choose the combination that works best for your network.
- Proxy EAPoL-Logoff—If the phone or switch cannot support CDP Enhancement for Second Port Disconnect, a Cisco IP phone can send a proxy EAPoL-Logoff message to the switch when an 802.1X-authenticated device unplugs from behind the phone. This allows the switch to cleanly terminate the authenticated session in the absence of direct knowledge of the link state of the port to which the device was connected. However, unlike CDP Enhancement for Second Port Disconnect, this feature works only for 802.1X-authenticated devices; not MAB or WebAuth.
- Inactivity timer—If there is no activity from a client, the switch can be configured to terminate the authorized session after a period of time. This feature can be used to terminate sessions of devices that disconnect from behind phones. The inactivity timer provides a way to terminate MAB sessions when CDP Enhancement for Second Port Disconnect is not available. The inactivity timer can also be used to terminate 802.1X-authenticated sessions if the phone does not support proxy EAPoL-Logoff.
- Configurable security violation handling—This feature can be used in conjunction with the inactivity timer. If another device attempts to authenticate behind a phone before the inactivity timer has expired, a security violation is triggered. By default, some Cisco Catalyst switches err-disable (shutdown) the port in response to a violation. Shutting down the port immediately causes the phone to go offline as well. Configurable security violation handling allows Cisco Catalyst switches to take alternative actions that have a less drastic effect on the phone, such as dropping traffic from the new device.
This section describes the recommended operation of IP telephony in an 802.1X-enabled network, and discusses the important stages of multi-domain authentication (MDA) host mode. It includes the following topics:
- Multi-Domain Authentication Host Mode Overview
- Phone Authenticates
- Device Behind Phone Authenticates
- Device Behind Phone Disconnects (Link State Issues)
The most secure and flexible deployments of IP telephony start with MDA. MDA allows a Cisco Catalyst switch to retain 802.1X security and visibility, while modifying the default 802.1X restriction that otherwise prevents more than one device from connecting to a switchport.
When properly enabled for MDA, the switch divides the switchport into two virtual domains, equivalent to VLANs on a wired network. The switch independently and asynchronously authenticates the phone and the device behind the phone. When the phone authenticates successfully, it is given access to the voice domain. When the device behind the phone is authorized, it is given access to the data domain, (see Figure 1).
The order of authentication is not relevant. In some scenarios, a data device may be able to authenticate in the data domain before the IP phone is authenticated in the voice domain, and vice versa. In addition, although MDA allows you to connect a phone and a data device to the same port, it does not require two devices to connect all the time. If only one device, such as a phone or a data device, is connected to a given switchport, the switch authenticates that device into the correct domain.
When a phone first plugs into a switchport, the link-up event triggers the start of the 802.1X state machine on the port. To get network access, the phone must now authenticate. Phones can authenticate using either 802.1X or MAB. As part of a successful authentication, the AAA server must inform the switch that the authenticated device is a phone.
If the phone unplugs from the switch, link state goes down and the switch clears all sessions on the port. Any phone or device that later connects to that same port is forced to authenticate to gain access.
Figure 2 shows a typical 802.1X authentication for a phone.
Note For more details on configuring 802.1X for IP phones, see the “Configuring Phones That Support 802.1X” section.
Figure 3 shows a typical MAB authentication for a phone. The switch initially tries to authenticate the phone using 802.1X. When there is no response to the Identity-Request messages, the switch times out and falls back to MAB.
Note For more operational details on MAB for IP phones, see the “Configuring Phones for MAB (Phones without 802.1X Support)” section.
Regardless of whether the phone is authenticated via 802.1X or MAB, the most important message from the MDA perspective is the final RADIUS Access-Accept from the ACS. The Access-Accept message contains a special Cisco vendor-specific attribute (VSA) that includes the string device-traffic-class = voice. This VSA tells the switch that the device that just authenticated is a phone and should be allowed access to the voice VLAN.
At a high level, MDA behaves the same way no matter what kind of IP phone is connected to the port. However, there are some functional differences between phones that require special consideration. Of particular importance is how the phone learns the voice VLAN. Cisco IP phones and some third-party phones learn the voice VLAN via CDP or Link Layer Discovery Protocol (LLDP). Other third-party phones rely on different mechanisms such as Dynamic Host Configuration Protocol (DHCP) or Trivial FTP (TFTP). MDA is flexible enough to handle both kinds of phones.
After a Cisco IP phone is plugged into an MDA-enabled switch port, the sequence of steps shown in Figure 4 occurs.
1. The Cisco IP phone and the switch start exchanging CDP messages. The first CDP frame received from the Cisco IP phone allows the switch to realize that a Cisco IP phone is actually connected to the port so that the right information, such as power level, voice VLAN ID (VVID), and so on) can then be delivered to the phone. CDP messages originated by the Cisco IP phone are always untagged, even when the Cisco IP phone learns the configured VVID. For non-Cisco phones that support LLDP for voice VLAN learning, the process is the same.
Traffic Allowed Prior to Authentication: By default, 802.1X ensures that all traffic is dropped except for traffic needed for authentication. However, when MDA is enabled, the switch makes a few exceptions to this rule. Most notably, both CDP and LLDP are allowed before authentication. This allows phones to send and receive information regarding power requirements and the voice VLAN. Note that the processing of CDP does not mean that the phone is able to use CDP or LLDP to bypass authentication for general network access. Although phones may learn the voice VLAN via CDP or LLDP before authentication, the switch drops all other traffic, whether tagged with the voice VLAN or not, if the phone has not authenticated.
Tip Best Practice Recommendation—Enable Control Plane Policing (CoPP). Because LLDP and CDP are allowed before authentication, CoPP can be used to rate-limit these types of traffic, thus preventing them from being used as a denial-of-service (DoS) attack vector. Consider enabling CoPP if your platform supports it.
3. After the Cisco IP phone is successfully authenticated via 802.1X or MAB, the AAA server sends a RADIUS-Accept message to the switch with the device-traffic-class=voice VSA. After this attribute is received, the switch authorizes the MAC address of the phone and allows it access to the voice VLAN. The switch also temporarily allows the MAC address of the phone on the data VLAN in case the phone has not yet learned the VVID.
4. Cisco IP phone tags all its traffic leveraging the VVID information learned via the CDP exchange discussed in Step 1. This traffic is allowed through the switch port as a result of authenticating the MAC address of the Cisco IP phone in the voice domain. After the switch receives tagged traffic from the phone, indicating that the phone has learned the VVID, the switch no longer allows the MAC address of the phone on the data VLAN.
When a third-party IP phone is plugged into an MDA-enabled switch port, the procedure required to allow it to achieve network connectivity is slightly different than a Cisco IP phone. This is because third-party phones may not be capable of sending LLDP frames to learn the voice VLAN. Figure 5 shows the operation of MDA with third-party IP phones.
1. After link up, the IP phone sends untagged traffic, assuming that the voice VLAN has not been statically configured on the phone. All this traffic is initially dropped because the switch port is unauthorized.
3. After the connecting IP phone is successfully authenticated via 802.1X or MAB, the AAA server responds with a RADIUS-Access-Accept message with the device-traffic-class=voice VSA, and the switch port is authorized in the voice domain.
4. Port forwarding is still authorized on both the voice and data VLANs at this point. Although the switch generally limits authenticated phones to the voice VLAN, MDA makes a temporary exception to accommodate third-party phones that do not learn the voice VLAN via CDP or LLDP. Immediately after authentication, phones are allowed to send untagged traffic in the data VLAN. This allows a third-party phone to learn the voice VLAN, typically via DHCP or TFTP, on the data VLAN.
5. After learning the VVID, the IP phone starts tagging traffic. The switch immediately removes the temporary access to the data VLAN and the phone is strictly limited to the voice VLAN. Access to the data VLAN is now prohibited for the IP phone.
MDA requires that the device behind the phone successfully authenticate to gain access to the network. Because the data device is not directly connected to the switch, the switch cannot rely on link state to know when to start authenticating the data device. Therefore, the switch waits until it detects traffic from the second device, such as an EAPoL-Start from an 802.1X supplicant, or DHCP or ARP traffic from a non-IEEE-802.1X-capable device. The switch then sends a unicast EAPoL-Request packet to the device to initiate the authentication.
An IP phone usually sends multicast Extensible Authentication Protocol over LAN (EAPoL) frames to the switch with the destination MAC address 01-80-C2-00-00-03. The switch, however, responds with unicast EAPoL frames to the MAC address of the IP phone. The sending of unicast EAPoL frames from the switch is an important characteristic of MDA. When the IP phone first connects to the switch port, the switch may initiate a transmission of multicast EAPoL messages and revert to unicast as soon as the MAC address of the device is learned. However, when a device connects behind the phone, the switch sends no EAPoL frames until the MAC address of the device is learned. This way, the switch does not risk disturbing the authenticated session of the phone. By using unicast EAPoL messages, the switch can independently authenticate both devices.
If the data device is not ready to or not capable of performing IEEE 802.lX, the switch times out and continue to the next authentication method, such as MAB, and/or authorization type, such as Guest VLAN. If the device later becomes capable of performing 802.1X, perhaps because the operating system finished booting or a supplicant was manually enabled, the data device should send an EAPoL-Start message to explicitly tell the switch to begin authentication.
Tip Best Practice Recommendation—Configure supplicants to send EAPoL-Start messages. Although EAPoL-Starts are optional according to the IEEE specification, they perform an important function by ensuring that a supplicant can authenticate, even if the switch has already timed out 802.1X. If your supplicant does not send EAPoL-starts by default, Cisco recommends enabling them.
If the data device passes authentication, either via 802.1X or MAB, it is allowed access to the data domain only. If the device fails authentication, it is not allowed access to either domain, unless the Auth-Fail VLAN has been configured, but the phone continues to operate normally.
MDA extends the default single-device-per-port requirement to allow two devices: one in the voice domain, and one in the data domain. If more than one device is detected in either domain, a security violation is triggered. This can be a problem when a phone fails to authenticate properly. If a phone fails authentication, the switch does not receive the device-traffic-class=voice VSA from the AAA server, and the switch assumes that the failed device was in the data domain. However, if there is already a data device behind the phone, there are two devices in the data domain, and a security violation is triggered. Therefore, although a failed authentication in the data domain does not affect a passed authentication in the voice domain, the inverse is not true. A failed authentication in the voice domain can adversely affect a passed authentication in the data domain.
If the device unplugs from behind the phone, the switch cannot rely on link state to know when to clear the session. Dangling sessions can lead to security violations and security holes. Figure 6 shows an example of the link state issue.
In Figure 6, Device A has previously authenticated behind the IP phone. Device A unplugs, but the switch, not knowing A has left, keeps the port authorized for the MAC address of Device A only. Sometime later, Device B plugs in and sends traffic. Because there is still an existing session for Device A, the switch does not attempt to authenticate Device B. From the perspective of the switch, Device B is an unauthorized device that may be trying to piggyback on the authenticated session of Device A. Therefore, the switch immediately triggers a security violation.
Another consequence of not removing the authenticated session when the data device disconnects from behind the phone is a security hole that could be exploited by a rogue user, as shown in Figure 7.
In Figure 7, Device A has previously authenticated behind the IP phone. Device A unplugs, but the switch, not knowing A has left, keeps the port authorized for the MAC address of Device A. Sometime later, a rogue user plugs in and spoofs the MAC address of Device A. Because there is still an existing session for Device A, the switch allows all traffic from the rogue device without forcing the rogue device to authenticate.
To avoid security violations and security holes, some method must be used to clear the session for the data domain. The following sections discuss three possible solutions, in order of preference. One or more of these methods must be operational to ensure smooth integration of IP telephony and 802.1X.
The best solution for the lack of direct link state awareness is to address the root cause. The switch does not know the link state of the data port of the phone (the second port), but the phone does. Therefore, if the phone can communicate link state to the switch, the switch can immediately clear the session. This is exactly what the CDP Enhancement for Second Port Disconnect, also known as host movement detection, does. Cisco IP phones can send a CDP message to the switch indicating that the link state for the port of the data device is down, allowing the switch to immediately clear the session of the data device, as shown in Figure 8.
Cisco IP phones and Cisco Catalyst switches with the appropriate releases of code automatically perform CDP Enhancement for Second Port Disconnect. It works for all authentication methods, including 802.1X, MAB, and WebAuth, and no configuration is required.
Tip Best Practice Recommendation—Use CDP Enhancement for Second Port Disconnect. This feature works for all authentication methods, takes effect as soon as the device disconnects, and requires no configuration. If you are using Cisco IP phones and Cisco Catalyst switches with the appropriate release of code, this is the simplest and most effective solution. No other method works as well to address the inability of the switch to detect link state for devices connected behind IP phones.
Table 1 lists the minimum firmware needed by various Cisco IP Phones to use CDP Enhancement for Second Port Disconnect.
If your switch or phone does not support CDP Enhancement for Second Port Disconnect, Proxy EAPoL-Logoff can provide a partial solution for 802.1X-authenticated data devices. Proxy EAPoL-Logoff enables the phone to transmit an EAPoL-Logoff message on behalf of the data device when the phone detects that an 802.1X device has unplugged from behind the phone. The phone substitutes the MAC address of the data device, so the proxy EAPoL-Logoff message is indistinguishable from an actual EAPoL-Logoff from the data device itself. The switch immediately clears the session as soon as it receives the Logoff message.
To support this feature, your phone must be capable of sending proxy EAPoL-Logoff messages. All Cisco IP phones and some third-party phones provide this functionality. No special functionality is required from the switch because the EAPoL-Logoff message is fully supported as per the IEEE standard.
Although effective for 802.1X-authenticated endpoints, Proxy EAPoL-Logoff does not work for MAB or WebAuth, because these authentication methods do not use EAP to authenticate. Another method, such as the inactivity timer, must be used to ensure that MAB sessions are appropriately cleared.
If your switch or phone does not support CDP Enhancement for Second Port Disconnect, the inactivity timer can provide a partial solution for disconnected data devices. When the inactivity timer is enabled, the switch monitors the activity from authenticated endpoints. When a device disconnects, the inactivity timer counts down. When the timer expires, the switch removes the authenticated session. The inactivity timer applies to 802.1X and MAB sessions.
Note The current implementation of WebAuth uses a different, IP Device Tracking-based inactivity timer than 802.1X and MAB. This timer clears the WebAuth authorization state, but it does not clear the entire session state. The only way to clear a WebAuth session behind a phone is to use the CDP Enhancement for Second Port Disconnect.
The inactivity timer for 802.1X and MAB can be statically configured on the switch port or it can be dynamically assigned using RADIUS Attribute 28. Cisco recommends setting the timer via the RADIUS attribute because this provides control over what devices are subject to this timer and how long the timer is for each class of devices. For example, if your phones are capable of Proxy-EAPoL-Logoff, there is no need to assign an inactivity timer for 802.1X-authenticated sessions. In this scenario, you can prevent the inactivity timer from being needlessly assigned to 802.1X-authenticated devices by sending RADIUS Attribute 28 only to MAB-authenticated devices.
- While the inactivity timer is counting down, the port is still subject to the potential security violation and security hole described above.
- The inactivity timer is an indirect mechanism the switch uses to infer that a device has disconnected. An expired inactivity timer cannot guarantee that a device has disconnected. Therefore, a quiet device that does not send traffic for long periods of time, such as a network printer that services occasional requests but is otherwise silent, may have its session cleared even though it is still connected. That device must then send traffic before it can be authenticated again and have access to the network.
Tip Best Practice Recommendation—Enable IP Device Tracking to keep quiet devices connected. If IP Device Tracking is enabled, the switch periodically sends ARP probes to devices in the IP Device Tracking table, which is initially populated by DHCP requests or ARP from the end point. As long as the device is connected and responds to these probes, the inactivity timer is not triggered and the device is not inadvertently removed from the network.
In general, testing is required to find an optimal value for the inactivity timer in your network: short enough to minimize the impact of security violations and holes, and long enough to prevent quiet devices from being inadvertently disconnected from the network.
- Use the inactivity timer only if there is no other way to address the link state issue.
- Use RADIUS to dynamically assign the best inactivity timeout value for each class of device authenticating via 802.1X or MAB.
- If your phones support proxy EAPoL-Logoff, rely on that feature to clear sessions for 802.1X-authenticated devices, and use the RADIUS-assigned inactivity timer for MAB devices.
- Enable IP Device Tracking to send keepalives to quiet devices.
- Test your network to find the optimal value for this timer. Use the smallest possible value that does not impact your quiet devices.
There is nothing special about 802.1X on phones: phones use the same protocols and submit the same types of credentials as other users and devices that perform 802.1X. However, there are some unique requirements for preparing the voice and authentication infrastructure for IP phones.
Tip Best Practice Recommendation—Use X.509 certificates for phone authentication. In addition to providing the strongest form of authentication, X.509 certificates on Cisco IP phones are simple to deploy. They can be validated by the ACS in a single authorization rule without the need to configure and maintain a database of phone usernames and/or passwords.
The Cisco IP phones listed in Table 2 support authentication via X.509 certificates using the EAP-Transport Layer Security (EAP-TLS) or EAP-Flexible Authentication via Secure Tunneling (EAP-FAST) methods of authentication.
Cisco IP Phones support two types of X.509 certificates: the Manufacturing Installed Certificate (MIC) and the Locally Significant Certificate (LSC). Customers typically leverage MICs and LSCs to secure the signaling and voice path used for IP telephony, but the same certificates can be used for 802.1X.
As the name suggests, the MIC is pre-loaded on the phone at the time of manufacture. The Cisco Manufacturing Certificate Authority signs it. Figure 9 shows a sample MIC.
Tip Viewing Phone Certificates: One way to view the actual certificate on the phone is to use the Troubleshoot operation in the CAPF Settings of the Phone Configuration window in Unified CM. This option retrieves the LSC or the MIC, so you can view the certificate credentials in the CAPF trace file. If both certificate types exist in the phone, Unified CM creates two trace files, one for each certificate type. The Troubleshoot option does not display if a certificate does not exist in the phone. After scheduling the Troubleshoot option within Unified CM, LSC and MIC certificates are stored in following location on Unified CM: /var/log/active/cm/trace/capf/sdi. The files can be retrieved using the Unified CM CLI command file get activelog cm/trace/capf/sdi/*.cer. Another way to view the certificate of the phone is to get a sniffer trace of the EAP-TLS authentication and examine the contents of the certificate as it is being sent.
A phone that presents a valid MIC can be assumed to be a valid Cisco phone. However, the MIC by itself cannot be used to determine whether this phone is a corporate asset or a rogue Cisco phone. For that, you need an LSC. Unlike the MIC, the LSC is signed by the CAPF of the Unified CM, which is the central call control and configuration engine for Cisco IP Telephony.
- Self-signed CAPF—Acts as a standalone CA, signing the LSCs with its own self-signed certificate.
- CA-signed CAPF—Signed by an external CA. A CA-signed CAPF signs the LSCs with the externally signed certificate in a subordinate manner.
Self-signed CAPF CAs have a lifetime of five years. Therefore, if you use a self-signed CAPF, the CAPF certificate must be renewed after five years and all the LSCs must be reissued. Cisco ACS does not allow network access to the phones if the LSCs have expired. The lifetime of the CA-signed CAPF is determined by the CA when it issues the certificate to Unified CM. Whatever lifetime you choose, be sure to renew the CAPF certificate and reissue the LSCs before expiration.
Because the LSC has been issued by your own Unified CM CA, you can be certain that a phone presenting a valid LSC is in fact a corporate-owned and managed asset. Figure 10 shows a sample LSC.
Table 3 lists the fields and values for this sample LSC.
Because you control the enrollment of LSCs on phones, LSCs represent a more tightly controlled and trusted credential than MICs. Cisco recommends that you use MICs for LSC installation only. If you configure phones to use MICs for 802.1X or for any other purpose, you must be aware that MIC certificate security relies on the security of Cisco CA root private keys that are not under your control and can, in theory, be compromised.
Table 5 lists some key differences between MICs and LSCs.
In an 802.1X authentication, the AAA server is responsible for validating the certificate provided by the phone. To do this, the AAA server must have a copy of the root CA certificate that signed the certificate of the phone. The root certificates for both LSCs and MICs can be exported from the Unified CM Operating System Administration interface and imported into your AAA server.
After the certificate has been validated, the AAA server may be able to authorize the phone simply based on attributes in the certificate. This is the recommended way to authorize phones with certificates, because it enables you to authenticate and authorize phones with a single global policy and avoids the need to enter individual phones in a database. Cisco ACS supports this type of authorization, but not all AAA servers do.
Tip Best Practice Recommendation—Use certificate attributes for phone authorization. This method avoids the need to enter individual phones in a database, thus significantly reducing the effort needed to deploy 802.1X for phones. ACS 5.x supports certificate attribute-based authorization for EAP-TLS. Note that as of release 5.x, only the attributes of the certificate subject, listed in Table 5, can be used in an ACS 5.x authorization policy. The attributes of the issuer cannot be used. ACS 4.2 supports certificate-only authorization for enabling EAP-FAST PKI authorization bypass.
If your AAA server does not support authorization based on certificate attributes alone, it requires an additional lookup, using the Common Name (CN) or another attribute in the certificate to query another database to gather sufficient information to authorize the phone. Thus, the name of every phone must be entered into an internal or external database for validation.
There is currently no mechanism within Unified CM for revoking MICs and LSCs. If the certificate of a phone becomes invalid or a phone is stolen, that phone must be removed from, or renamed in, Unified CM to prevent it from gaining access to the call control resources in Unified CM. Although the phone is not able to register or make calls, the lack of an explicit certificate revocation mechanism means that the phone is still able to authenticate using 802.1X, because its certificate is still valid as far as the AAA server can determine. To keep the phone with a revoked certificate from gaining network access via 802.1X, use an exception policy in ACS 5 to specifically disallow that phone when it attempts to authenticate.
Table 6 lists the Cisco IP phones that support authentication via username and password using the EAP-MD5 method of authentication.
The username for a Cisco IP phone follows the format CP-XXXXX-SEPYYYYYYYYYYYY, where XXXXX is the phone model (for example, 7965G), and YYYYYYYYYYYY is the MAC address of the phone. This name is hardcoded and cannot be changed. The password is manually configured on the phone itself. There is no centralized mechanism to provision passwords on phones.
Note IP Phones Have Long User Names. IP phones have 24 character usernames. Some AAA servers and backend directory servers, including Active Directory, have trouble with usernames that exceed 20 characters. Be sure that your AAA server can support the length of the hardcoded IP phone name. ACS5 can support usernames up to 64 characters.
MAB enables a Cisco Catalyst switch to check the MAC address of the connecting device in place of a successful 802.1X authentication. This section includes key information you should know when implementing IP telephony with MAB and includes the following topics:
MAC Authentication Bypass (MAB), if configured, is attempted when 802.1X times out by default or fails. When MDA is enabled, both the phone and the device behind the phone can authenticate using MAB. Table 7 lists Cisco IP phones that do not support 802.1X and should therefore be authenticated using MAB.
Like any device that uses MAB to get access to the network, phones are subject to delays in network access. The switch first attempts 802.1X as soon as link goes up. By default, the switch sends three EAP messages, 30 seconds apart, before MAB is attempted. This adds a 90-second delay before network access is allowed. There are the following three options to give non-IEEE-802.1X phones faster access:
The quickest way to create a MAB database for an existing Cisco IP phone deployment is to export the MAC addresses of all registered non-IEEE-802.1X-capable phones from Unified CM and import them into your AAA server or an identity store, such as an LDAP directory, that your AAA server can query. Both Unified CM and ACS provide GUI support for exporting and importing MAC addresses.
A second option for creating a MAC database is to use a tool such as the NAC Profiler to discover and classify devices on your network. Before deploying 802.1X on your network, you can run NAC Profiler for a period of time. Using DHCP fingerprinting, Simple Management Network Protocol (SNMP) polling of switch CDP tables, and other sources of information, NAC Profiler can determine which MAC addresses on your network are likely to be phones. After 802.1X has been deployed, NAC Profiler can act as an LDAP directory, which can be queried from the AAA server to validate phone MAC addresses. Note, however, that NAC Profiler can tell you only what MAC addresses are likely to belong to phones. It cannot tell you which phones are valid corporate assets. If this is a necessary distinction for your security policy, some sort of manual process, such as exporting phone MACs from Unified CM, is required.
Another possible option for third-party phones is to use MAC wildcarding. When assigning MAC addresses to devices, vendors set the first three octets to a specific value called the organizationally unique identifier (OUI). OUIs are assigned by the IEEE, and uniquely identify the manufacturer of a given device. If a phone vendor has an OUI or set of OUIs exclusively assigned to IP phones, it is possible to create a wildcard rule in your AAA server policy that allows any device presenting a MAC address beginning with that OUI to be authenticated and authorized into the voice domain. ACS v5 supports OUI wildcarding through the use of authorization rules, but not all AAA servers do. Also be aware that Cisco IP phones cannot support OUI wildcarding because Cisco uses many OUIs for its products, none of which are used exclusively for IP phones.
After a database has been created, it must be maintained as phones are added to or removed from the network. The simplest and most direct way to accomplish this is by manually adding or removing the MAC address from the AAA server or external MAC database. The effort involved in creating and maintaining a MAC database is one reason you should enable 802.1X on every device in your network that supports it.
This section discusses deployment considerations and best practices for enabling 802.1X on IP phones. Although the focus is on Cisco IP phones, many of these same principles apply to other kinds of IP phones as well.
- Enabling 802.1X On Phones
- Guest VLAN
- Auth-Fail VLAN
- Inaccessible-Auth Bypass
- Dynamic ACL Assignment
- Dynamic VLAN Assignment
- Host Modes
- Using Other Features with 802.1X
Out of the box, Cisco IP phones are capable of 802.1X but they are not enabled for 802.1X. This was done to preserve backwards compatibility with older releases of code. Although Cisco IP phones can be enabled for 802.1X manually using the keypad of the phone, this is not a scalable process when deploying large numbers of phones.
For scalability and ease of deployment, phones should be enabled for 802.1X via the network. Starting with Unified CM 7.1.2, it is possible to enable 802.1X on phones by enabling 802.1X in the phone configuration file or via the Bulk Administration Tool on the Unified CM. The next time the phone resets and downloads its configuration file, 802.1X is enabled for all supported EAP methods.
Tip Best Practice Recommendation—Configure ACS to request the preferred EAP method. There is no way to disable individual EAP methods on a Cisco IP phone. Therefore, the phone accepts any EAP method that the ACS requests. For example, if ACS requests EAP-MD5, the phone accepts that method, even if a password has not been configured. If a password was not configured, the phone fails EAP-MD5 authentication, even if the phone has a valid certificate and is capable of EAP-FAST or EAP-TLS. To avoid this situation, configure the ACS to request only the preferred and most secure EAP method when authenticating a phone.
Obviously, enabling 802.1X on phones via the network requires that the phones have network access. This means that you should enable the phones for 802.1X before you enable identity-based access control on the switches.
Although enabling 802.1X on phones first is a best practice, it may not always be possible, particularly when adding new phones to a network that has previously been enabled for 802.1X. In those situations, you have several options:
- Bring up new phones in a physically secure staging area where the access ports are not enabled for 802.1X. This allows the phones to access the network and download the needed configuration files.
- Manually enable 802.1X on each phone using the keypad. Although not practical for initial deployments of large numbers of phones, it may work for small numbers of phones.
- Authenticate the phone using MAB to give the phone enough access to the network to download its configuration file.
- Use a low impact deployment scenario to allow the phone enough access to the network before 802.1X authentication. Low impact mode allows you to deploy 802.1X on access ports with selectively open access, as specified by a port ACL, before authentication. For more information on low impact mode, see the “Low-Impact Mode” section.
WebAuth enables a Cisco Catalyst switch to check the credentials of a user submitted through a web login portal on the switch. WebAuth is supported with IP telephony deployments with the following important design considerations:
- When MDA is enabled, only the device behind the phone can authenticate using WebAuth. Cisco IP phones cannot be authenticated using WebAuth.
- The Cisco implementation of WebAuth on Cisco Catalyst switches uses access control lists (ACLs) to control access.
Before WebAuth succeeds, a port ACL controls access. The port ACL can be applied dynamically as part of a WebAuth fallback profile configured on the switch when 802.1X or MAB times out or fails, or it can simply be configured statically on the port. However, if IP telephony is enabled, only the latter method (statically configured port ACL) is supported. After WebAuth succeeds, access is controlled by a dynamic ACL that is downloaded from the ACS. Through the use of source substitution, a Cisco Catalyst switch can ensure that this ACL allows traffic only from the authenticated device in the data domain. However, like the port ACL, the dynamic ACL applies to the entire port (both domains). Therefore, to ensure that voice traffic is permitted, it is essential that the phone downloads its own ACL as part of its authorization process in the voice domain.
- The only way to clear a WebAuth session behind a phone is using CDP Enhancement for Second Port Disconnect.
As discussed in “Device Behind Phone Disconnects (Link State Issues)” section, inactivity timers cannot currently be used to clear WebAuth session behind phones. Because the CDP Enhancement feature is currently supported on Cisco phones and switches only, third-party phones cannot be securely used with WebAuth.
Note WebAuth is Not Supported Behind Third-Party Phones. Because third-party phones have no way to communicate second port status to the switch, WebAuth sessions behind third-party phones are not cleared correctly. Dangling sessions behind phones can lead to security violations and security holes, so this is not a viable deployment option.
If an 802.1X authentication times out while waiting for an EAPOL message exchange and MAB (if configured) fails, the switch can be configured to assign the client to a guest VLAN that provides limited services. However, when MDA is deployed, the Guest VLAN is supported only for devices in the data domain. Phones that inadvertently get assigned to the Guest VLAN because of a failed MAB authentication do not function properly because they do not have access to the voice VLAN, and may cause a security violation if there is already an authenticated device in the data domain.
If an 802.1X authentication fails, the switch can be configured to assign the client to an Auth-Fail VLAN that provides limited services. However, when MDA is deployed, the Auth-Fail VLAN is supported only for devices in the data domain. Phones that inadvertently get assigned to the Auth-Fail VLAN because of a failed 802.1X authentication do not function properly because they do not have access to the voice VLAN, and may cause a security violation if there is already an authenticated device in the data domain.
If an 802.1X authentication fails because the AAA server is unavailable, the switch can be configured to allow clients access to a special VLAN, sometimes called the critical VLAN, that provides configurable access to the network. The critical VLAN can be any VLAN except for the voice VLAN.
When MDA is deployed, Inaccessible-Auth Bypass is fully supported for the data domain. The operational impact of this feature on IP phones depends on the authorization state of the voice domain when the failure occurs.
If a phone has previously authenticated and re-authentication occurs after the AAA server has become unreachable, the switch puts the critical port in the critical-authentication state in the current VLAN, which is either the statically configured voice VLAN or a dynamically assigned voice VLAN from the AAA server. IP connectivity is not disrupted for previously authenticated phones.
If a phone plugs into the port when the AAA server is down, the switch places the port in the critical VLAN. Phones that get assigned to the critical VLAN do not function properly because they do not have access to the voice VLAN. Because the switch relies on the device-traffic-class=voice VSA that only the AAA server can provide, the switch has no way to authorize a phone into the voice domain if the AAA server is down.
Although there is no concept of Inaccessible-Auth Bypass for phones today, it is important to remember that wired phones are typically static devices. Therefore, most wired phones are properly authenticated when the AAA server is up and stay authenticated when the AAA server is unavailable. Only phones that connect to the network when the AAA server is down are affected. Because this is a rare occurrence, the current behavior of Inaccessible-Auth Bypass is usually not a significant operational issue for IP telephony deployments
IP telephony is compatible with ACLs that are dynamically assigned by the AAA server as the result of a successful authentication. Dynamic ACLs are applied to the entire port (voice and data domains) but the switch dynamically substitutes the source address of the authenticated client to be sure that the ACL permits and denies traffic only from the authenticated device. To prevent ACLs in one domain from adversely affecting the other domain, if an ACL is assigned for a device in the data domain, an ACL must also be assigned to IP phones in the voice domain and vice versa.
IP telephony is fully compatible with VLANs that are dynamically assigned by the AAA server as the result of a successful authentication. Both the data and the voice VLAN can be dynamically assigned. In the current release of code, a static voice VLAN must be configured on the port via the switchport access voice vlan command before a new VLAN can be assigned via RADIUS.
Before dynamically assigning VLANs to phones, ensure that your phone has a mechanism whereby it can learn the new voice VLAN. Cisco IP phones learn the dynamic VLAN from CDP, which the switch sends as soon as the new voice VLAN is assigned, and immediately begin tagging voice traffic with the new VLAN. Some third-party phones can use LLDP to learn the voice VLAN in the same way. For phones that use some mechanism other than CDP or LLDP, it is necessary to have some other process to synchronize the VLAN assigned by RADIUS with the VLAN that the phone is configured to use.
IP telephony is compatible with re-authentication. The phone and the device behind the phone can be independently re-authenticated at statically configured intervals on the switch or at dynamically RADIUS-assigned intervals. However, re-authentication is not typically recommended for IP phones for the following reasons:
- Re-authentication is not always necessary—Because 802.1X is a port-based authentication technique, the physical status of the port directly affects how long the authenticated session remains active. After a successful 802.1X or MAB authentication, the port remains open until the switch detects a physical link-down event or receives an explicit logoff notification. Any device attempting to connect to the port after a link-down or a logoff is required to authenticate again. In the absence of link-down or logoff events, there is usually no need to re-authenticate a previously authenticated phone that remains connected to the network. Because phones are directly connected to the network and physical connectivity is continuously maintained, there is no question that an authenticated phone remains connected to the port. Under these circumstances, periodically re-interrogating the credentials of the phone serves no purpose.
- Re-authentication adds load to the AAA server—Each re-authentication adds to the load on the AAA server.
- Limitations of switch-based re-authentication—If re-authentication is locally configured on the switch, the switch does not relearn the MAC address of a MAB-authenticated device when the re-authentication timer expires. Instead, the switch simply sends the previously-learned MAC address to the AAA server again. In addition, switch-based re-authentication applies to all 802.1X and MAB sessions, so it cannot be selectively enabled for certain devices.
- Limitations of server-based re-authentication—The AAA server can force the switch to relearn the MAC address of the connected MAB device during re-authentication by sending the Termination-Action RADIUS Attribute (Attribute ) set to default. However, this setting causes the switch to terminate the existing session and restart 802.1X, so the phone loses network connectivity until 802.1X times out and MAB is re-attempted. Setting the Termination-Action attribute to RADIUS-Request causes the switch to send the previously-learned MAC address to the AAA server without impacting the network connectivity of the phone.
Re-authentication may have some value for devices in the data domain. Because the data device is connected to the port via the IP phone, the switch might not have direct knowledge of link-down events. During re-authentication, the switch sends an EAP-Request to the host to initiate a new 802.1X authentication session, thus providing a mechanism by which the switch can confirm that the authenticated host is still connected. However, as discussed in the “Device Behind Phone Disconnects (Link State Issues)” section, the CDP Enhancement for Second Port Disconnect provides a more direct way to solve this problem.
Tip Best Practice Recommendation—Use re-authentication selectively, if at all. Because it adds unnecessary load on the AAA control plane without offering additional security or functionality, re-authentication should be disabled for IP phones in most cases. If re-authentication is desired for data devices, use server-based re-authentication, which can be used selectively. The server can send down different values for the session timeout for different classes of devices or send no values at all, effectively disabling re-authentication for that session. Server-based re-authentication allows you to enable re-authentication for some devices, such as laptops, while not enabling it for others. If continuous network connectivity is important, set the Termination-Action Attribute to RADIUS-Request and set the Session-Timeout RADIUS Attribute (Attribute ) to the desired length of the re-authentication. To disable re-authentication for a device such as a phone, configure the AAA server to not send either Attribute 27 or Attribute 29 for that session.
IP telephony is compatible with the Wake on LAN (WoL) feature for 802.1X. The WoL feature allows dormant PCs to be powered when the switch receives a specific Ethernet frame, known as the magic packet. You can use this feature in environments where administrators need to connect to systems that have been powered down.
IP telephony is compatible with the open access feature. By default, 802.1X drops all traffic before a successful 802.1X or MAB authentication, or WebAuth initialization. This is sometimes referred to as closed mode. Cisco switches can be configured for open access mode, which allows all traffic in both the data and voice VLANs before successful authentication, subject to any ACL configured on the port. Open access mode is a key component of the monitor mode and low impact mode deployment scenarios. For more information on these deployment scenarios, see the “Deployment Scenarios” section.
As discussed earlier, the current best practice for IP telephony is to use MDA host mode. Note that, with the only other host mode that is recommended for IP telephony is multiauth host mode. The other host modes are discussed below for the sake of completeness.
In single-host mode, only one MAC or IP address can be authenticated on a port. If a different MAC address is detected on the port after a host has authenticated, a security violation is triggered on the port. Cisco IP phones are the sole exception to this rule.
When a Cisco IP phone is plugged into a port that is configured with a voice VLAN and single-host mode, the phone is silently allowed onto the network by way of a feature known as CDP Bypass. The phone, or any device, that sends the appropriate type-length-value (TLV) messages in a CDP message is allowed access to the voice VLAN. CDP Bypass is a legacy feature that has been deprecated in favor of MDA for the following reasons:
- Lack of visibility—Phones are effectively invisible because they access the network without generating any kind of accounting record or syslog.
- Lack of access control—Because the phones are not authenticated, their identity is not validated before allowing access. Anyone who can spoof CDP can access the voice network.
- Lack of authorization—Without an authentication event, the phone cannot be authorized with a dynamic ACL or dynamic VLAN.
- Incompatibility—CDP Bypass cannot be used with WebAuth or dynamic ACL assignment for data devices.
- No support for third-party phones—CDP Bypass works only with Cisco phones. LLDP as an authentication bypass mechanism is not supported; it might be used just for announcing Voice VLAN.
- Not supported across all switch platforms—The Cisco 3560e and 3750e platforms do not support CDP Bypass.
multiauth host mode is essentially a superset of MDA. When multiauth is configured, a single authenticated phone is allowed in the voice domain, as with MDA, but an unlimited number of data devices can be authenticated in the data domain (MDA allows only a single device in the data domain).
multiauth is supported for IP telephony deployments when more than one data device needs to authenticate behind a phone. A common use case for multiauth behind a phone is a virtualized device with multiple host OSes. Note, however, that multiple data devices behind a phone, whether virtualized devices or physical devices connected to a hub, can exacerbate the link state awareness issue discussed in the “Device Behind Phone Disconnects (Link State Issues)” section.
- RADIUS accounting —Supported for IP telephony deployments. Cisco recommends enabling RADIUS accounting to ensure maximum visibility for all endpoints, voice and data, in the network.
- AutoQoS —Compatible with an 802.1X-enabled network.
- Auto smart ports —Not recommended when deploying VoIP in an 802.1X-enabled network.
- Port security —In general, Cisco does not recommend enabling port security when 802.1X is also enabled. When using MDA, 802.1X limits the port to one MAC address in the voice domain and one MAC address in the data domain. Therefore, port security is redundant and unnecessary.
- DHCP snooping —Fully compatible with IP telephony and should be enabled as a best practice.
- Dynamic ARP Inspection —Fully compatible with IP telephony and should be enabled as a best practice.
- IP Source Guard —Fully compatible with IP telephony.
When deploying 802.1X, Cisco recommends a phased deployment model that gradually deploys identity-based access control to the network. This section discusses three scenarios for phased deployment, and includes the following topics:
The primary goal of monitor mode is to enable authentication without imposing any form of access control. This approach allows network administrators to see who is on the network and prepare for access control in a later phase without affecting end users in any way.
To get the most value out of monitor mode, configure your phones and backend databases to the fullest extent possible. Enable 802.1X on the phones that support it, and create the most up-to-date MAC database possible. Although authorization, such as VLAN assignment and ACL assignment, is typically not done in monitor mode, enable authorization on the switch and create an authorization policy on the AAA server that sends the device-traffic-class=voice VSA for phones. This way, known phones are correctly identified and assigned to the voice domain, allowing you to discover phones that cannot authenticate and phones that can authenticate but are not properly authorized into the voice domain. Because you are in monitor mode, you can identify and fix authentication and authorization problems without affecting the operation of the phone.
When enabling monitor mode in an IP telephony environment, the host mode should be set to multiauth host mode. This prevents security violations even if the ACS server does not return the device-traffic-class=voice VSA for the phone.
Low impact mode builds on the idea of monitor mode, gradually introducing access control in a completely configurable manner. Instead of denying all access before authentication, as a traditional 802.1X deployment requires, low impact mode allows you to use ACLs to selectively allow traffic before authentication. This is particularly useful to devices that cannot perform 802.1X and rely on MAB to get access to the network, such as older generation IP phones. Waiting until 802.1X times out and falls back to MAB can have a negative impact on the boot process of these devices. Low impact mode enables you to permit time-sensitive traffic before authentication, enabling these devices to function effectively in an 802.1X-enabled environment.
As an example of the effectiveness of low impact mode, consider the issue discussed in the “Enabling 802.1X On Phones” section. New Cisco IP phones need access to the network to enable 802.1X, but they cannot get access without first doing 802.1X. Using low impact mode, you can selectively allow the traffic that the phone needs to contact the Call Manager and download a configuration file that enables 802.1X. Figure 11 shows a sample ACL.
Applied to a port in low impact mode, the ACL shown in Figure 11 allows the phone to get an IP address, resolve the hostname of its Call Manager, and download a configuration file and firmware load, all before authentication. Note, however, that the phone would not be able to place calls, because the ACL allows only DNS, DHCP, and TFTP. After 802.1X is enabled on the phone using the configuration file, the phone automatically authenticates and is assigned to the voice domain, on receipt of the device-traffic-class=voice VSA. As part of the authorization policy of the phone, the switch can be instructed to apply a dynamic ACL such as permit ip any any to the port of the phone. The successfully authenticated phone is now fully operational. Low impact mode has effectively enabled the phone to bootstrap itself onto the 802.1X-enabled network.
Tip Best Practice Recommendation—Use low impact mode to bootstrap phones. Because low impact mode allows limited access to the voice VLAN before authentication, it can be used to bootstrap phones onto the network.
High security mode is a more traditional deployment model for 802.1X that denies all access before authentication. It also facilitates VLAN assignment for the data and voice domains. The primary design consideration for IP phones in high security mode is the lack of immediate network access for non-IEEE-802.1X devices. Phones that were not capable of or not enabled for 802.1X would have to wait for 802.1X to timeout and fallback to MAB before they get access to the network. It may be necessary to adjust the default timeout (90 seconds) to ensure that phones and other non-IEEE-802.1X devices get network access in a timely fashion. The actual value of the timer depends on the sensitivity of your phones to delays in network access. Always test your timer values before making large-scale changes.
- Use MDA host mode to support IP telephony in an 802.1X-enabled network.
- Supplicants on data devices behind IP phones should be configured to send EAPoL-Starts.
- Address the lack of direct link state knowledge for the device behind the phone using CDP Enhancement for Second Port Disconnect (recommended) or a combination of Proxy-EAPoL-Logoff and server-based inactivity timers.
- Use 802.1X to authenticate your phones if your phones support it. Otherwise, use MAB.
- Use Unified CM 7.1.2 or higher to enable phones for 802.1X over the network.
- For IEEE-802.1X-enabled-Cisco IP phones, use EAP-FAST for ACS 4.2 or EAP-TLS for ACS 5.0.
- For IEEE-802.1X-enabled-Cisco IP phones, use LSCs for 802.1X authentication.
- Use monitor mode in the initial phase of your deployment to assess the readiness of your voice and data endpoints.
- Use low impact mode to enable new IEEE-802.1X-capable-phones to perform 802.1X when access control has been enabled.
- For non-IEEE-802.1X-capable phones, export MAC addresses from Unified CM and import them into ACS to rapidly create a phone MAC database.
- Enable switch-based local WebAuth only if you are using Cisco IP phones that support CDP Enhancement for Second Port Disconnect.
- Use server-based re-authentication to selectively enable re-authentication for data devices only. Do not enable re-authentication for IP phones.
- Use multiauth host mode if you want to support multiple data devices plugging in behind a single phone.
For more information about scenario-based deployments, see http://www.cisco.com/go/trustsec .
- Configuring ACS—All Phone Authentication Types
- Configuring Phones That Support 802.1X
- Configuring Phones for MAB (Phones without 802.1X Support)
- Creating an MAB Service Selection Rule
- Configuring the Switch (All Phone Authentication Types)
- Monitoring IP Telephony in an 802.1X Environment
- Troubleshooting IP Telephony in an 802.1X-Enabled Environment
The following sections describe two configuration tasks for ACS 5.x that are required for all phone types: configuring a RADIUS client and configuring a phone profile. Additional ACS configuration tasks that are specific to a certain authentication type (802.1X or MAB) are covered in subsequent sections.
The window shown in Figure 12 appears.
Note The RADIUS shared secret must match the key configured on the switch. The IP address must match the IP address of the RADIUS source interface that the switch uses to source RADIUS packets for Cisco Secure ACS.
The window shown in Figure 13 appears.
Step 5 Click the Common Tasks tab, as shown in Figure 14.
Step 3 Scroll down to the line titled 802.1x Authentication. From the drop-down menu, select Enabled, as shown in Figure 15.
Note To deploy LSCs, Unified CM must first be enabled for Certificate Authority Proxy Functionality (CAPF). Configuring CAPF is a multi-step process that is not covered in this document. For full details on how to deploy CAPF, see the Cisco Unified Communications Security Guide.
Step 1 In the Cisco Unified Operating System Administration window, choose Security > Certificate Management, as shown in Figure 16.
Step 2 Select Find to display all the certificates, as shown in Figure 17.
If authenticating phones using MICs, the required certificates may include: Cisco_Root_CA_2048, Cisco_Manufacturing_CA, CAP-RTP-001, and CAP-RTP-002. If authenticating using LSCs, the required certificates depend on your CAPF deployment. In the example above using a self-signed CAPF, the required certificate is CAPF-e4cbbcde. The actual name of your CAPF CA will vary.
The current list of trusted certificate authorities is displayed, as shown in Figure 18.
Step 4 Enter the name of the certificate file that was exported in the previous step and check the box next to Trust for client with EAP-TLS (see Figure 19).
In this section, an 802.1X access service is created in Cisco Secure ACS. This access service is used in the service selection rules in a subsequent step. The access service profile has four parts: the service name, the allowed protocol filter, the identity policy, and the authorization policy.
The window shown in Figure 20 appears.
The window shown in Figure 21 appears.
ACS 5.x attempts EAP-TLS before less secure methods such as EAP-MD5. Earlier versions of Cisco ACS, however, may attempt EAP-MD5 first if it is enabled. Because the phone attempts whatever method ACS requests, even if it does not have a password, do not enable EAP-MD5 in the access service used by IP phones. If necessary, create separate access services for IP phones and EAP-MD5-devices and use service selection rules to ensure that the correct access service is assigned to each device. For more information on service selection rules, see the product documentation for Cisco ACS.
The window shown in Figure 22 appears.
If you are using other EAP types that are not certificate-based, configure an Identity Store Sequence instead of CN Username so that ACS checks either the certificate or the password database as needed. See the ACS documentation for more information on Identity Store Sequences.
The window shown in Figure 23 appears.
Note If Compound Condition is not shown on this page, return to the 802.1X Access Service Authorization configuration page and select Customize to add Compound Condition to the set of allowed conditions.
As discussed in the “Using Certificates” section, the Common Name for Cisco IP phones always begins with SEP for LSCs. Click Add V to add this condition to the Current Condition Set.
m. Select the Phone Profile that was created in the “Creating a Phone Authorization Profile in Cisco Secure ACS” section and click OK.
The window shown in Figure 24 appears.
Note If Compound Condition is not shown on this page, return to the 802.1X Access Service Authorization configuration page and select Customize to add Compound Condition to the set of allowed conditions.
As discussed in the “Using Certificates” section, the common name for Cisco IP phones always begins with “CP-” for MICs.
The window shown in Figure 25 appears with a summary of the configured authorization rules.
This section describes how to create a service selection rule for 802.1X in Cisco Secure ACS. This service selection rule ensures that the authorization policies defined in the 802.1X access service are applied to IP phones.
The Service Selection rule dialog box appears, as shown in Figure 26, and should be filled out as described in the following steps.
The Service Selection rule summary appears with the new rule, as shown in Figure 27.
Tip Best Practice Recommendation—For multiple phones, use import/export tools. To enter MAC addresses for multiple phones, use the export function in Unified CM to extract the MAC addresses of registered IP phones that are not 802.1X-capable. When exported, the MAC addresses can be formatted and entered into ACS using the import function.
The window shown in Figure 28 appears.
In this section, MAB access service is created in Cisco Secure ACS. This access service is used in the service selection rules in a subsequent step. The access service profile has four parts: the service name, the allowed protocol filter, the identity policy, and the authorization policy.
The window shown in Figure 29 appears.
The window shown in Figure 30 appears.
The window shown in Figure 31 appears.
The window shown in Figure 32 appears.
f. Under Value, enter the phone group name that was assigned to the phone MAC in the Internal Host database in the “Configuring Phones for MAB (Phones without 802.1X Support)” section.
j. Select the Phone Profile that was created in the “Creating a Phone Authorization Profile in Cisco Secure ACS” section and click OK.
The window shown in Figure 33 appears with a summary of the configured authorization rules.
This section describes how to create a service selection rule for MAB in Cisco Secure ACS. This service selection rule ensures that the authorization policies defined in the MAB access service are applied to IP phones. Complete the following steps.
The Service Selection rule dialog box appears, as shown in Figure 34, and should be filled out as described in the following steps.
The Service Selection rule summary appears with the new rule, as shown in Figure 35.
The configuration instructions in the following sections assume that the existing configuration on the switch contains the necessary elements to support IP telephony. A basic port configuration should minimally include an access VLAN and a voice VLAN. Other features that may be required by your security policy, such as Spanning Tree PortFast and BPDU Guard, may also be enabled. The following is a working example:
A basic configuration of 802.1X and MAB includes global AAA settings, global RADIUS settings, global 802.1X settings, and interface 802.1X settings. Table 8 summarizes these settings. An example of a working configuration appears at the end of this section.
The value of the key string defined here must match the shared secret configured for this switch on the Cisco Secure ACS in the “Configuring Phones That Support 802.1X” section.
If there is more than one Layer 3 interface on the switch, use this command to help ensure that the switch sends RADIUS traffic with the same source address used to define the switch in the Cisco Secure ACS configuration in the “Configuring Phones That Support 802.1X” section.
The following example shows a basic 802.1X configuration that supports IP telephony using MDA. To give MAB devices faster network access, the 802.1X timeout using the configuration below is 9 seconds: tx-period * (max-reauth-req +1) = 3 * 3 = 9 seconds.
Note For detailed information about configuring 802.1X on Cisco IOS Software, see the Identity-Based Networking Services (IBNS) configuration guide at http://www.cisco.com/go/trustsec.
In the following output, you see one authenticated session for an 802.1X-authenticated Cisco IP phone. In this case, there is no data device plugged in behind the phone. Key fields are highlighted in bold. Note that you can determine that this phone used an LSC to authenticate because the User-Name listed below begins with SEP.
In the following output, you see two sessions on interface fastEthernet 2/47: an 802.1X-authenticated data device in the DATA domain, with the key fields highlighted in bold in the top half of the output; and a MAB-authenticated phone in the VOICE domain, with the key fields highlighted in bold in the lower half of the output.
Another useful CLI command for monitoring the link state of the second port of the phone is show cdp neighbors detail. Note that even though the Cisco 7961 is 802.1X-capable and the Cisco 7960 is not, both phones can use CDP to accurately report the status of the second port. Following are examples:
Use the reporting capabilities on Cisco Secure ACS to verify the session details. The output shown in Figure 36 shows the ACS report for the three authenticated sessions: one voice session and one data session on fastEthernet 2/47, and one voice session on fastEthernet 2/48.
Table 9 summarizes some common problems encountered when configuring IP telephony in an 802.1X-enabled environment.
- Wired 802.1X Deployment Guide— http://www.cisco.com/en/US/docs/solutions/Enterprise/Security/TrustSec_1.99/Dot1X_Deployment/Dot1x_Dep_Guide.html
- IP Telephony for 802.1X Design Guide— http://www.cisco.com/en/US/docs/solutions/Enterprise/Security/TrustSec_1.99/IP_Tele/IP_Telephony_DIG.html
- MAC Authentication Bypass Deployment Guide— http://www.cisco.com/en/US/docs/solutions/Enterprise/Security/TrustSec_1.99/MAB/MAB_Dep_Guide.html
- TrustSec Phased Deployment Configuration Guide— http://www.cisco.com/en/US/docs/solutions/Enterprise/Security/TrustSec_1.99/Phased_Deploy/Phased_Dep_Guide.html
- Local WebAuth Deployment Guide— http://www.cisco.com/en/US/docs/solutions/Enterprise/Security/TrustSec_1.99/WebAuth/WebAuth_Dep_Guide.html
- Scenario-Based TrustSec Deployments Application Note— http://www.cisco.com/en/US/docs/solutions/Enterprise/Security/TrustSec_1.99/Scenario_based_AppNote/Scenario_based_AN.html
- TrustSec 1.99 Deployment Note: FlexAuth Order, Priority, and Failed Authentication— http://www.cisco.com/en/US/docs/solutions/Enterprise/Security/TrustSec_1.99/FlexAuthNote/flexauth-note.html
- TrustSec Planning and Deployment Checklist— http://www.cisco.com/en/US/docs/solutions/Enterprise/Security/TrustSec_1.99/TrustSec_Checklist/trustsec-199_checklist.html
- Configuring WebAuth on the Cisco Catalyst 3750 Series Switches— http://www.cisco.com/en/US/partner/docs/switches/lan/catalyst3750/software/release/12.2_55_se/configuration/guide/sw8021x.html
- Configuring WebAuth on the Cisco Catalyst 4500 Series Switches— http://www.cisco.com/en/US/partner/docs/switches/lan/catalyst4500/12.2/53SG/configuration/webauth.html
- Configuring WebAuth on the Cisco Catalyst 6500 Series Switches— http://www.cisco.com/en/US/partner/docs/switches/lan/catalyst6500/ios/12.2SX/configuration/guide/webauth.html
- Cisco IOS Firewall authentication proxy— http://www.cisco.com/en/US/products/sw/secursw/ps1018/products_tech_note09186a0080094eb0.shtml
- WebAuth with Cisco Wireless LAN Controllers— http://www.cisco.com/en/US/partner/tech/tk722/tk809/technologies_configuration_example09186a008076f974.shtml#external-process