Configuring Security Solutions

This chapter describes security solutions for wireless LANs. It contains these sections:

Cisco UWN Solution Security

Cisco UWN Solution security includes the following sections:

Security Overview

The Cisco UWN security solution bundles potentially complicated Layer 1, Layer 2, and Layer 3 802.11 Access Point security components into a simple policy manager that customizes system-wide security policies on a per-WLAN basis. The Cisco UWN security solution provides simple, unified, and systematic security management tools.

One of the biggest hurdles to WLAN deployment in the enterprise is WEP encryption, which is a weak standalone encryption method. A newer problem is the availability of low-cost access points, which can be connected to the enterprise network and used to mount man-in-the-middle and denial-of-service attacks. Also, the complexity of add-on security solutions has prevented many IT managers from embracing the benefits of the latest advances in WLAN security.

Layer 1 Solutions

The Cisco UWN security solution ensures that all clients gain access within an operator-set number of attempts. Should a client fail to gain access within that limit, it is automatically excluded (blocked from access) until the operator-set timer expires. The operating system can also disable SSID broadcasts on a per-WLAN basis.

Layer 2 Solutions

If a higher level of security and encryption is required, the network administrator can also implement industry-standard security solutions such as Extensible Authentication Protocol (EAP), Wi-Fi protected access (WPA), and WPA2. The Cisco UWN Solution WPA implementation includes AES (advanced encryption standard), TKIP + Michael (temporal key integrity protocol + message integrity code checksum) dynamic keys, or WEP (Wired Equivalent Privacy) static keys. Disabling is also used to automatically block Layer 2 access after an operator-set number of failed authentication attempts.

Regardless of the wireless security solution selected, all Layer 2 wired communications between controllers and lightweight access points are secured by passing data through CAPWAP tunnels.

Layer 3 Solutions

The WEP problem can be further solved using industry-standard Layer 3 security solutions such as passthrough VPNs (virtual private networks).

The Cisco UWN Solution supports local and RADIUS MAC (media access control) filtering. This filtering is best suited to smaller client groups with a known list of 802.11 access card MAC addresses.

Finally, the Cisco UWN Solution supports local and RADIUS user/password authentication. This authentication is best suited to small to medium client groups.

Integrated Security Solutions

  • Cisco UWN Solution operating system security is built around a robust 802.1X AAA (authorization, authentication and accounting) engine, which allows operators to rapidly configure and enforce a variety of security policies across the Cisco UWN Solution.
  • The controllers and lightweight access points are equipped with system-wide authentication and authorization protocols across all ports and interfaces, maximizing system security.
  • Operating system security policies are assigned to individual WLANs, and lightweight access points simultaneously broadcast all (up to 16) configured WLANs. This can eliminate the need for additional access points, which can increase interference and degrade system throughput.
  • Operating system security uses the RRM function to continually monitor the air space for interference and security breaches, and notify the operator when they are detected.
  • Operating system security works with industry-standard authorization, authentication, and accounting (AAA) servers, making system integration simple and easy.

Configuring RADIUS

Remote Authentication Dial-In User Service (RADIUS) is a client/server protocol that provides centralized security for users attempting to gain management access to a network. It serves as a backend database similar to local and TACACS+ and provides authentication and accounting services:

  • Authentication —The process of verifying users when they attempt to log into the controller.

Users must enter a valid username and password in order for the controller to authenticate users to the RADIUS server.


Note When multiple databases are configured, you can use the controller GUI or CLI to specify the sequence in which the backend databases should be tried.


  • Accounting —The process of recording user actions and changes.

Whenever a user successfully executes an action, the RADIUS accounting server logs the changed attributes, the user ID of the person who made the change, the remote host where the user is logged in, the date and time when the command was executed, the authorization level of the user, and a description of the action performed and the values provided. If the RADIUS accounting server becomes unreachable, users are able to continue their sessions uninterrupted.

RADIUS uses User Datagram Protocol (UDP) for its transport. It maintains a database and listens on UDP port 1812 for incoming authentication requests and UDP port 1813 for incoming accounting requests. The controller, which requires access control, acts as the client and requests AAA services from the server. The traffic between the controller and the server is encrypted by an algorithm defined in the protocol and a shared secret key configured on both devices.

You can configure up to 17 RADIUS authentication and accounting servers each. For example, you may want to have one central RADIUS authentication server but several RADIUS accounting servers in different regions. If you configure multiple servers of the same type and the first one fails or becomes unreachable, the controller automatically tries the second one, then the third one if necessary, and so on.


Note If multiple RADIUS servers are configured for redundancy, the user database must be identical in all the servers for the backup to work properly.


The primary RADIUS server (the server with lowest server index) is assumed to be the most preferable server for the controller. If the primary server becomes unresponsive, the controller switches to the next active backup server (the server with the next lowest server index). The controller continues to use this backup server forever, unless you configure the controller to fall back to the primary RADIUS server when it recovers and becomes responsive or to a more preferable server from the available backup servers.

You must configure RADIUS on both your CiscoSecure Access Control Server (ACS) and your controller. You can configure the controller through either the GUI or the CLI.

Configuring RADIUS on the ACS

Follow these steps to configure RADIUS on the ACS.


Note RADIUS is supported on CiscoSecure ACS version 3.2 and greater. The instructions and illustrations in this section pertain to ACS version 4.1 and may vary for other versions. Refer to the CiscoSecure ACS documentation for the version you are running.



Step 1 Choose Network Configuration on the ACS main page.

Step 2 Choose Add Entry under AAA Clients to add your controller to the server. The Add AAA Client page appears (see Figure 5-1).

Figure 5-1 Add AAA Client Page on CiscoSecure ACS

 

Step 3 In the AAA Client Hostname field, enter the name of your controller.

Step 4 In the AAA Client IP Address field, enter the IP address of your controller.

Step 5 In the Shared Secret field, enter the shared secret key to be used for authentication between the server and the controller.


Note The shared secret key must be the same on both the server and the controller.


Step 6 Choose RADIUS (Cisco Aironet) from the Authenticate Using drop-down box.

Step 7 Click Submit + Apply to save your changes.

Step 8 Choose Interface Configuration on the ACS main page.

Step 9 Choose RADIUS (Cisco Aironet) . The RADIUS (Cisco Aironet) page appears.

Step 10 Under User Group, check the Cisco-Aironet-Session-Timeout check box.

Step 11 Click Submit to save your changes.

Step 12 Choose System Configuration on the ACS main page.

Step 13 Choose Logging .

Step 14 When the Logging Configuration page appears, enable all of the events that you want to be logged and save your changes.

Step 15 Choose Group Setup on the ACS main page.

Step 16 Choose a previously created group from the Group drop-down box.


Note This step assumes that you have already assigned users to groups on the ACS according to the roles to which they will be assigned.


Step 17 Click Edit Settings . The Group Setup page appears.

Step 18 Under Cisco Aironet Attributes , check the Cisco-Aironet-Session-Timeout check box and enter a session timeout value in the edit box.

Step 19 To specify read-only or read-write access to controllers through RADIUS authentication, set the Service-Type attribute (006) to Callback NAS Prompt for read-only access or to Administrative for read-write privileges. If you do not set this attribute, the authentication process completes successfully (without an authorization error on the controller), but you might be prompted to authenticate again.


Note If you set the Service-Type attribute on the ACS, make sure to check the Management check box on the RADIUS Authentication Servers page of the controller GUI. See If you are configuring a RADIUS authentication server, check the Management check box to enable management authentication, or uncheck it to disable this feature. The default value is checked. If you enable this feature, this entry is considered the RADIUS authentication server for management users, and authentication requests go to the RADIUS server. in the next section for more information.



Note The “RADIUS Authentication Attributes Sent by the Access Point” section lists the RADIUS attributes that are sent by a lightweight access point to a client in access-request and access-accept packets.


Step 20 Click Submit to save your changes.


 

Using the GUI to Configure RADIUS

Using the controller GUI, follow these steps to configure RADIUS.


Step 1 Choose Security > AAA > RADIUS .

Step 2 Perform one of the following:

  • If you want to configure a RADIUS server for authentication, choose Authentication .
  • If you want to configure a RADIUS server for accounting, choose Accounting .

Note The GUI pages used to configure authentication and accounting contain mostly the same fields. Therefore, these instructions walk through the configuration only once, using the Authentication pages as examples. You would follow the same steps to configure multiple services and/or multiple servers.


The RADIUS Authentication (or Accounting) Servers page appears (see Figure 5-2).

Figure 5-2 RADIUS Authentication Servers Page

 

This page lists any RADIUS servers that have already been configured.

  • If you want to delete an existing server, hover your cursor over the blue drop-down arrow for that server and choose Remove .
  • If you want to make sure that the controller can reach a particular server, hover your cursor over the blue drop-down arrow for that server and choose Ping .

Step 3 From the Call Station ID Type drop-down box, choose IP Address , System MAC Address , or AP MAC Address to specify whether the IP address, system MAC address, or AP MAC address of the originator will be sent to the RADIUS server in the Access-Request message.

Step 4 To enable RADIUS-to-controller key transport using AES key wrap protection, check the Use AES Key Wrap check box. The default value is unchecked. This feature is required for FIPS customers.

Step 5 Click Apply to commit your changes.

Step 6 Perform one of the following:

  • To edit an existing RADIUS server, click the server index number for that server. The RADIUS Authentication (or Accounting) Servers > Edit page appears.
  • To add a RADIUS server, click New . The RADIUS Authentication (or Accounting) Servers > New page appears (see Figure 5-3).

Figure 5-3 RADIUS Authentication Servers > New Page

 

Step 7 If you are adding a new server, choose a number from the Server Index (Priority) drop-down box to specify the priority order of this server in relation to any other configured RADIUS servers providing the same service. You can configure up to 17 servers. If the controller cannot reach the first server, it tries the second one in the list, then the third one if necessary, and so on.

Step 8 If you are adding a new server, enter the IP address of the RADIUS server in the Server IP Address field.

Step 9 From the Shared Secret Format drop-down box, choose ASCII or Hex to specify the format of the shared secret key to be used between the controller and the RADIUS server. The default value is ASCII.

Step 10 In the Shared Secret and Confirm Shared Secret fields, enter the shared secret key to be used for authentication between the controller and the server.


Note The shared secret key must be the same on both the server and the controller.


Step 11 If you are configuring a new RADIUS authentication server and want to enable AES key wrap, which makes the shared secret between the controller and the RADIUS server more secure, follow these steps. AES key wrap is designed for Federal Information Processing Standards (FIPS) customers and requires a key-wrap compliant RADIUS authentication server.

a. Check the Key Wrap check box.Choose ASCII or Hex from the Key Wrap Format drop-down box to specify the format of the AES key wrap keys: Key Encryption Key (KEK) and Message Authentication Code Key (MACK).

b. In the Key Encryption Key (KEK) field, enter the 16-byte KEK.

c. In the Message Authentication Code Key (MACK) field, enter the 20-byte KEK.

Step 12 If you are adding a new server, enter the RADIUS server’s UDP port number for the interface protocols in the Port Number field. The valid range is 1 to 65535, and the default value is 1812 for authentication and 1813 for accounting.

Step 13 From the Server Status field, choose Enabled to enable this RADIUS server or choose Disabled to disable it. The default value is Enabled.

Step 14 If you are configuring a new RADIUS authentication server, choose Enabled from the Support for RFC 3576 drop-down box to enable RFC 3576, which is an extension to the RADIUS protocol that allows dynamic changes to a user session, or choose Disabled to disable this feature. The default value is Enabled. RFC 3576 includes support for disconnecting users and changing authorizations applicable to a user session and supports disconnect and change-of-authorization (CoA) messages). Disconnect messages cause a user session to be terminated immediately whereas CoA messages modify session authorization attributes such as data filters.

Step 15 In the Server Timeout field, enter the number of seconds between retransmissions. The valid range is 2 to 30 seconds, and the default value is 2 seconds.


Note Cisco recommends that you increase the timeout value if you experience repeated reauthentication attempts or the controller falls back to the backup server when the primary server is active and reachable.


Step 16 Check the Network User check box to enable network user authentication (or accounting), or uncheck it to disable this feature. The default value is checked. If you enable this feature, this entry is considered the RADIUS authentication (or accounting) server for network users. If you did not configure a RADIUS server entry on the WLAN, you must enable this option for network users.

Step 17 If you are configuring a RADIUS authentication server, check the Management check box to enable management authentication, or uncheck it to disable this feature. The default value is checked. If you enable this feature, this entry is considered the RADIUS authentication server for management users, and authentication requests go to the RADIUS server.

Step 18 Check the IPSec check box to enable the IP security mechanism, or uncheck it to disable this feature. The default value is unchecked.


Note The IPSec option appears only if a crypto card is installed in the controller.


Step 19 If you enabled IPSec in Check the IPSec check box to enable the IP security mechanism, or uncheck it to disable this feature. The default value is unchecked. , follow these steps to configure additional IPSec parameters:

a. From the IPSec drop-down box, choose one of the following options as the authentication protocol to be used for IP security: HMAC MD5 or HMAC SHA1 . The default value is HMAC SHA1.

A message authentication code (MAC) is used between two parties that share a secret key to validate information transmitted between them. HMAC (Hash MAC) is a mechanism based on cryptographic hash functions. It can be used in combination with any iterated cryptographic hash function. HMAC MD5 and HMAC SHA1 are two constructs of the HMAC using the MD5 hash function and the SHA1 hash function. HMAC also uses a secret key for calculation and verification of the message authentication values.

b. From the IPSec Encryption drop-down box, choose one of the following options to specify the IP security encryption mechanism:

  • DES —Data Encryption Standard is a method of data encryption using a private (secret) key. DES applies a 56-bit key to each 64-bit block of data.
  • 3DES —Data Encryption Standard that applies three keys in succession. This is the default value.
  • AES CBS —Advanced Encryption Standard uses keys with a length of 128, 192, or 256 bits to encrypt data blocks with a length of 128, 192, or 256 bits. AES 128 CBC uses a 128-bit data path in Cipher Clock Chaining (CBC) mode.

c. From the IKE Phase 1 drop-down box, choose one of the following options to specify the Internet Key Exchange (IKE) protocol: Aggressive or Main . The default value is Aggressive.

IKE Phase 1 is used to negotiate how IKE should be protected. Aggressive mode passes more information in fewer packets with the benefit of slightly faster connection establishment at the cost of transmitting the identities of the security gateways in the clear.

d. In the Lifetime field, enter a value (in seconds) to specify the timeout interval for the session. The valid range is 1800 to 57600 seconds, and the default value is 1800 seconds.

e. From the IKE Diffie Hellman Group drop-down box, choose one of the following options to specify the IKE Diffie Hellman group: Group 1 (768 bits) , Group 2 (1024 bits) , or Group 5 (1536 bits) . The default value is Group 1 (768 bits).

Diffie-Hellman techniques are used by two devices to generate a symmetric key through which they can publicly exchange values and generate the same symmetric key. Although all three groups provide security from conventional attacks, Group 5 is considered more secure because of its larger key size. However, computations involving Group 1 and Group 2 based keys might occur slightly faster because of their smaller prime number size.

Step 20 Click Apply to commit your changes.

Step 21 Click Save Configuration to save your changes.

Step 22 Repeat the previous steps if you want to configure any additional services on the same server or any additional RADIUS servers.

Step 23 To specify the RADIUS server fallback behavior, follow these steps:

a. Choose Security > AAA > RADIUS > Fallback to open the RADIUS > Fallback Parameters page (see Figure 5-4).

Figure 5-4 RADIUS > Fallback Parameters Page

 

b. From the Fallback Mode drop-down box, choose one of the following options:

  • Off —Disables RADIUS server fallback. This is the default value.
  • Passive —Causes the controller to revert to a server with a lower priority from the available backup servers without using extraneous probe messages. The controller simply ignores all inactive servers for a time period and retries later when a RADIUS message needs to be sent.
  • Active —Causes the controller to revert to a server with a lower priority from the available backup servers by using RADIUS probe messages to proactively determine whether a server that has been marked inactive is back online. The controller simply ignores all inactive servers for all active RADIUS requests. Once the primary server receives a response from the recovered ACS server, the active fallback RADIUS server no longer sends probe messages to the server requesting the active probe authentication.

c. If you enabled Active fallback mode in From the Fallback Mode drop-down box, choose one of the following options: , enter the name to be sent in the inactive server probes in the Username field. You can enter up to 16 alphanumeric characters. The default value is “cisco-probe.”

d. If you enabled Active fallback mode in From the Fallback Mode drop-down box, choose one of the following options: , enter the probe interval value (in seconds) in the Interval in Sec field. The interval serves as inactive time in passive mode and probe interval in active mode. The valid range is 180 to 3600 seconds, and the default value is 300 seconds.

Step 24 To specify the order of authentication when multiple databases are configured, choose Security > Priority Order > Management User . The Priority Order > Management User page appears (see Figure 5-5).

Figure 5-5 Priority Order > Management User Page

 

Step 25 In the Order Used for Authentication field, specify which servers have priority when the controller attempts to authenticate management users. Use the > and < buttons to move servers between the Not Used and Order Used for Authentication fields. After the desired servers appear in the Order Used for Authentication field, use the Up and Down buttons to move the priority server to the top of the list.

By default, the local database is always queried first. If the username is not found, the controller switches to the RADIUS server if configured for RADIUS or to the TACACS+ server if configured for TACACS+. The default setting is local and then RADIUS.

Step 26 Click Apply to commit your changes.

Step 27 Click Save Configuration to save your changes.


 

Using the CLI to Configure RADIUS

Using the controller CLI, follow these steps to configure RADIUS.


Note Refer to the “Using the GUI to Configure RADIUS” section for the valid ranges and default values of the parameters used in the CLI commands.



Step 1 To specify whether the IP address, system MAC address, or AP MAC address of the originator will be sent to the RADIUS server in the Access-Request message, enter this command:

config radius callStationIdType { ip_address, mac_address, ap_mac_address, ap_macaddr_ssid }

Step 2 To specify the delimiter to be used in the MAC addresses that are sent to the RADIUS authentication or accounting server in Access-Request messages, enter this command:

config radius { auth | acct } mac-delimiter {colon | hyphen | single-hyphen | none }

where

  • colon sets the delimiter to a colon (the format is xx:xx:xx:xx:xx:xx).
  • hyphen sets the delimiter to a hyphen (the format is xx-xx-xx-xx-xx-xx). This is the default value.
  • single-hyphen sets the delimiter to a single hyphen (the format is xxxxxx-xxxxxx).
  • none disables delimiters (the format is xxxxxxxxxxxx).

Step 3 Use these commands to configure a RADIUS authentication server:

  • config radius auth add index server_ip_address port# { ascii | hex } shared_secret —Adds a RADIUS authentication server.
  • config radius auth keywrap {enable | disable } Enables AES key wrap, which makes the shared secret between the controller and the RADIUS server more secure. AES key wrap is designed for Federal Information Processing Standards (FIPS) customers and requires a key-wrap compliant RADIUS authentication server.
  • config radius auth keywrap add {ascii | hex } kek mack index— Configures the AES key wrap attributes where

kek specifies the 16-byte Key Encryption Key (KEK).

– mack specifies the 20-byte Message Authentication Code Key (MACK).

index specifies the index of the RADIUS authentication server on which to configure the AES key wrap.

  • config radius auth rfc3576 {enable | disable } index —Enables or disables RFC 3576, which is an extension to the RADIUS protocol that allows dynamic changes to a user session. RFC 3576 includes support for disconnecting users and changing authorizations applicable to a user session and supports disconnect and change-of-authorization (CoA) messages). Disconnect messages cause a user session to be terminated immediately whereas CoA messages modify session authorization attributes such as data filters.
  • config radius auth retransmit-timeout index timeout —Configures the retransmission timeout value for a RADIUS authentication server.
  • config radius auth network index {enable | disable }—Enables or disables network user authentication. If you enable this feature, this entry is considered the RADIUS authentication server for network users. If you did not configure a RADIUS server entry on the WLAN, you must enable this option for network users.
  • config radius auth management index {enable | disable }—Enables or disables management authentication. If you enable this feature, this entry is considered the RADIUS authentication server for management users, and authentication requests go to the RADIUS server.
  • config radius auth ipsec { enable | disable } index —Enables or disables the IP security mechanism.
  • config radius auth ipsec authentication { hmac-md5 | hmac-sha1 } index —Configures the authentication protocol to be used for IP security.
  • config radius auth ipsec encryption { 3des | aes | des | none } index —Configures the IP security encryption mechanism.
  • config radius auth ipsec ike dh-group { group-1 | group-2 | group-5 } index —Configures the IKE Diffie Hellman group.
  • config radius auth ipsec ike lifetime interval index —Configures the timeout interval for the session.
  • config radius auth ipsec ike phase1 { aggressive | main } index —Configures the Internet Key Exchange (IKE) protocol.
  • config radius auth { enable | disable } index —Enables or disables a RADIUS authentication server.
  • config radius auth delete index —Deletes a previously added RADIUS authentication server.

Step 4 Use these commands to configure a RADIUS accounting server:

  • config radius acct add index server_ip_address port# { ascii | hex } shared_secret —Adds a RADIUS accounting server.
  • config radius acct server-timeout index timeout —Configures the retransmission timeout value for a RADIUS accounting server.
  • config radius acct network index {enable | disable }—Enables or disables network user accounting. If you enable this feature, this entry is considered the RADIUS accounting server for network users. If you did not configure a RADIUS server entry on the WLAN, you must enable this option for network users.
  • config radius acct ipsec { enable | disable } index —Enables or disables the IP security mechanism.
  • config radius acct ipsec authentication { hmac-md5 | hmac-sha1 } index —Configures the authentication protocol to be used for IP security.
  • config radius acct ipsec encryption { 3des | aes | des | none } index —Configures the IP security encryption mechanism.
  • config radius acct ipsec ike dh-group { group-1 | group-2 | group-5 } index —Configures the IKE Diffie Hellman group.
  • config radius acct ipsec ike lifetime interval index —Configures the timeout interval for the session.
  • config radius acct ipsec ike phase1 { aggressive | main } index —Configures the Internet Key Exchange (IKE) protocol.
  • config radius acct { enable | disable } index —Enables or disables a RADIUS accounting server.
  • config radius acct delete index —Deletes a previously added RADIUS accounting server.

Step 5 To configure the RADIUS server fallback behavior, enter this command:

config radius fallback-test mode {off | passive | active}

where

  • Off disables RADIUS server fallback.
  • Passive causes the controller to revert to a server with a lower priority from the available backup servers without using extraneous probe messages. The controller simply ignores all inactive servers for a time period and retries later when a RADIUS message needs to be sent.
  • Active causes the controller to revert to a server with a lower priority from the available backup servers by using RADIUS probe messages to proactively determine whether a server that has been marked inactive is back online. The controller simply ignores all inactive servers for all active RADIUS requests. Once the primary server receives a response from the recovered ACS server, the active fallback RADIUS server no longer sends probe messages to the server requesting the active probe authentication.

Step 6 If you enabled Active mode in To configure the RADIUS server fallback behavior, enter this command: , enter these commands to configure additional fallback parameters:

  • config radius fallback-test username username Specifies the name to be sent in the inactive server probes. You can enter up to 16 alphanumeric characters for the username parameter .
  • config radius fallback-test interval interval Specifies the probe interval value (in seconds).

Step 7 To save your changes, enter this command:

save config

Step 8 To configure the order of authentication when multiple databases are configured, enter this command:

config aaa auth mgmt AAA_server_type AAA_server_type

where AAA_server_type is local, radius, or tacacs.

To see the current management authentication server order, enter this command:

show aaa auth

Information similar to the following appears:

Management authentication server order:
1......................................... local
2...................................... radius

Step 9 Use these commands to see RADIUS statistics:

  • show radius summary —Shows a summary of RADIUS servers and statistics.
  • show radius auth statistics —Shows the RADIUS authentication server statistics.
  • show radius acct statistics —Shows the RADIUS accounting server statistics.
  • show radius rfc3576 statistics —Shows a summary of the RADIUS RFC-3576 server.

Information similar to the following appears for the show radius auth statistics command:

Authentication Servers:
 
Server Index..................................... 1
Server Address................................... 10.91.104.76
Msg Round Trip Time.............................. 0 (msec)
First Requests................................... 1
Retry Requests................................... 0
Accept Responses................................. 0
Reject Responses................................. 0
Challenge Responses.............................. 0
Malformed Msgs................................... 0
Bad Authenticator Msgs........................... 0
Pending Requests................................. 0
Timeout Requests................................. 0
Unknowntype Msgs................................. 0
Other Drops................................... 0

Information similar to the following appears for the show radius acct statistics command:

Accounting Servers:
 
Server Index..................................... 1
Server Address................................... 10.10.10.1
Msg Round Trip Time.............................. 0 (msec)
First Requests................................... 1
Retry Requests................................... 0
Accounting Responses............................. 0
Malformed Msgs................................... 0
Bad Authenticator Msgs........................... 0
Pending Requests................................. 0
Timeout Requests................................. 0
Unknowntype Msgs................................. 0
Other Drops...................................... 0

Information similar to the following appears for the show radius rfc3576 statistics command:

RFC-3576 Servers:
 
Server Index..................................... 1
Server Address................................... 10.91.104.76
Disconnect-Requests.............................. 0
COA-Requests..................................... 0
Retransmitted Requests........................... 0
Malformed Requests............................... 0
Bad Authenticator Requests....................... 0
Other Drops...................................... 0
Sent Disconnect-Ack.............................. 0
Sent Disconnect-Nak.............................. 0
Sent CoA-Ack..................................... 0
Sent CoA-Nak.................................. 0

Step 10 Use these commands to see active security associations:

  • show ike {brief | detailed} ip_or_mac_addr —Shows a brief or detailed summary of active Internet Key Exchange (IKE) security associations.
  • show ipsec {brief | detailed} ip_or_mac_addr —Shows a brief or detailed summary of active Internet Protocol Security (IPSec) security associations.

Step 11 To clear the statistics for one or more RADIUS servers, enter this command:

clear stats radius { auth | acct} { index | all }

Step 12 To make sure the controller can reach the RADIUS server, enter this command:

ping server_ip_address


 

RADIUS Authentication Attributes Sent by the Access Point

The tables in this section identify the RADIUS authentication attributes sent by a lightweight access point to a client in access-request and access-accept packets.

Table 5-1 Authentication Attributes Sent in Access-Request Packets

Attribute ID
Description

1

User-Name

2

Password

3

CHAP-Password

4

NAS-IP-Address

5

NAS-Port

6

Service-Type1

12

Framed-MTU

30

Called-Station-ID (MAC address)

31

Calling-Station-ID (MAC address)

32

NAS-Identifier

33

Proxy-State

60

CHAP-Challenge

61

NAS-Port-Type

79

EAP-Message

243

TPLUS-Role

Table 5-2 Authentication Attributes Honored in Access-Accept Packets (Cisco)

Attribute ID
Description

1

Cisco-LEAP-Session-Key

2

Cisco-Keywrap-Msg-Auth-Code

3

Cisco-Keywrap-NonCE

4

Cisco-Keywrap-Key

5

Cisco-URL-Redirect

6

Cisco-URL-Redirect-ACL


Note These Cisco-specific attributes are not supported: Auth-Algo-Type and SSID.


 

Table 5-3 Authentication Attributes Honored in Access-Accept Packets (Standard)

Attribute ID
Description

6

Service-Type2

8

Framed-IP-Address

25

Class

26

Vendor-Specific

27

Timeout

29

Termination-Action

40

Acct-Status-Type

64

Tunnel-Type

79

EAP-Message

81

Tunnel-Group-ID


Note Message authenticator is not supported.


Table 5-4 Authentication Attributes Honored in Access-Accept Packets (Microsoft)

Attribute ID
Description

11

MS-CHAP-Challenge

16

MS-MPPE-Send-Key

17

MS-MPPE-Receive-Key

25

MS-MSCHAP2-Response

26

MS-MSCHAP2-Success

Table 5-5 Authentication Attributes Honored in Access-Accept Packets (Airespace)

Attribute ID
Description

1

VAP-ID

2

QoS-Level

3

DSCP

4

8021P-Type

5

VLAN-Interface-Name

6

ACL-Name

7

Data-Bandwidth-Average-Contract

8

Real-Time-Bandwidth-Average-Contract

9

Data-Bandwidth-Burst-Contract

10

Real-Time-Bandwidth-Burst-Contract

11

Guest-Role-Name

RADIUS Accounting Attributes

Table 5-6 identifies the RADIUS accounting attributes for accounting requests sent from a controller to the RADIUS server. Table 5-7 lists the different values for the Accounting-Status-Type attribute (40).

Table 5-6 Accounting Attributes for Accounting Requests

Attribute ID
Description

1

User-Name

4

NAS-IP-Address

5

NAS-Port

8

Framed-IP-Address

25

Class

30

Called-Station-ID (MAC address)

31

Calling-Station-ID (MAC address)

32

NAS-Identifier

40

Accounting-Status-Type

41

Accounting-Delay-Time (Stop and interim messages only)

42

Accounting-Input-Octets (Stop and interim messages only)

43

Accounting-Output-Octets (Stop and interim messages only)

44

Accounting-Session-ID

45

Accounting-Authentic

46

Accounting-Session-Time (Stop and interim messages only)

47

Accounting-Input-Packets (Stop and interim messages only)

48

Accounting-Output-Packets (Stop and interim messages only)

49

Accounting-Terminate-Cause (Stop messages only)

64

Tunnel-Type

65

Tunnel-Medium-Type

81

Tunnel-Group-ID

Table 5-7 Accounting-Status-Type Attribute Values

Attribute ID
Description

1

Start

2

Stop

3

Interim-Update

7

Accounting-On

8

Accounting-Off

9-14

Reserved for Tunneling Accounting

15

Reserved for Failed

Configuring TACACS+

Terminal Access Controller Access Control System Plus (TACACS+) is a client/server protocol that provides centralized security for users attempting to gain management access to a controller. It serves as a backend database similar to local and RADIUS. However, local and RADIUS provide only authentication support and limited authorization support while TACACS+ provides three services:

  • Authentication —The process of verifying users when they attempt to log into the controller.

Users must enter a valid username and password in order for the controller to authenticate users to the TACACS+ server. The authentication and authorization services are tied to one another. For example, if authentication is performed using the local or RADIUS database, then authorization would use the permissions associated with the user in the local or RADIUS database (which are read-only, read-write, and lobby-admin) and not use TACACS+. Similarly, when authentication is performed using TACACS+, authorization is tied to TACACS+.


Note When multiple databases are configured, you can use the controller GUI or CLI to specify the sequence in which the backend databases should be tried.


  • Authorization —The process of determining the actions that users are allowed to take on the controller based on their level of access.

For TACACS+, authorization is based on privilege (or role) rather than specific actions. The available roles correspond to the seven menu options on the controller GUI: MONITOR, WLAN, CONTROLLER, WIRELESS, SECURITY, MANAGEMENT, and COMMANDS. An additional role, LOBBY, is available for users who require only lobby ambassador privileges. The roles to which users are assigned are configured on the TACACS+ server. Users can be authorized for one or more roles. The minimum authorization is MONITOR only, and the maximum is ALL, which authorizes the user to execute the functionality associated with all seven menu options. For example, a user who is assigned the role of SECURITY can make changes to any items appearing on the Security menu (or designated as security commands in the case of the CLI). If users are not authorized for a particular role (such as WLAN), they can still access that menu option in read-only mode (or the associated CLI show commands). If the TACACS+ authorization server becomes unreachable or unable to authorize, users are unable to log into the controller.


Note If users attempt to make changes on a controller GUI page that are not permitted for their assigned role, a message appears indicating that they do not have sufficient privilege. If users enter a controller CLI command that is not permitted for their assigned role, a message may appear indicating that the command was successfully executed although it was not. In this case, the following additional message appears to inform users that they lack sufficient privileges to successfully execute the command: “Insufficient Privilege! Cannot execute command!”


  • Accounting —The process of recording user actions and changes.

Whenever a user successfully executes an action, the TACACS+ accounting server logs the changed attributes, the user ID of the person who made the change, the remote host where the user is logged in, the date and time when the command was executed, the authorization level of the user, and a description of the action performed and the values provided. If the TACACS+ accounting server becomes unreachable, users are able to continue their sessions uninterrupted.

TACACS+ uses Transmission Control Protocol (TCP) for its transport, unlike RADIUS which uses User Datagram Protocol (UDP). It maintains a database and listens on TCP port 49 for incoming requests. The controller, which requires access control, acts as the client and requests AAA services from the server. The traffic between the controller and the server is encrypted by an algorithm defined in the protocol and a shared secret key configured on both devices.

You can configure up to three TACACS+ authentication, authorization, and accounting servers each. For example, you may want to have one central TACACS+ authentication server but several TACACS+ authorization servers in different regions. If you configure multiple servers of the same type and the first one fails or becomes unreachable, the controller automatically tries the second one and then the third one if necessary.


Note If multiple TACACS+ servers are configured for redundancy, the user database must be identical in all the servers for the backup to work properly.


You must configure TACACS+ on both your CiscoSecure Access Control Server (ACS) and your controller. You can configure the controller through either the GUI or the CLI.

Configuring TACACS+ on the ACS

Follow these steps to configure TACACS+ on the ACS.


Note TACACS+ is supported on CiscoSecure ACS version 3.2 and greater. The instructions and illustrations in this section pertain to ACS version 4.1 and may vary for other versions. Refer to the CiscoSecure ACS documentation for the version you are running.



Step 1 Choose Network Configuration on the ACS main page.

Step 2 Choose Add Entry under AAA Clients to add your controller to the server. The Add AAA Client page appears (see Figure 5-6).

Figure 5-6 Add AAA Client Page on CiscoSecure ACS

 

Step 3 In the AAA Client Hostname field, enter the name of your controller.

Step 4 In the AAA Client IP Address field, enter the IP address of your controller.

Step 5 In the Shared Secret field, enter the shared secret key to be used for authentication between the server and the controller.


Note The shared secret key must be the same on both the server and the controller.


Step 6 Choose TACACS+ (Cisco IOS) from the Authenticate Using drop-down box.

Step 7 Click Submit + Apply to save your changes.

Step 8 Choose Interface Configuration on the ACS main page.

Step 9 Choose TACACS+ (Cisco IOS) . The TACACS+ (Cisco) page appears (see Figure 5-7).

Figure 5-7 TACACS+ (Cisco) Page on CiscoSecure ACS

 

Step 10 Under TACACS+ Services, check the Shell (exec) check box.

Step 11 Under New Services, check the first check box and enter ciscowlc in the Service field and common in the Protocol field.

Step 12 Under Advanced Configuration Options, check the Advanced TACACS+ Features check box.

Step 13 Click Submit to save your changes.

Step 14 Choose System Configuration on the ACS main page.

Step 15 Choose Logging .

Step 16 When the Logging Configuration page appears, enable all of the events that you want to be logged and save your changes.

Step 17 Choose Group Setup on the ACS main page.

Step 18 Choose a previously created group from the Group drop-down box.


Note This step assumes that you have already assigned users to groups on the ACS according to the roles to which they will be assigned.


Step 19 Click Edit Settings . The Group Setup page appears (see Figure 5-8).

Figure 5-8 Group Setup Page on CiscoSecure ACS

 

Step 20 Under TACACS+ Settings , check the ciscowlc common check box.

Step 21 Check the Custom Attributes check box.

Step 22 In the text box below Custom Attributes, specify the roles that you want to assign to this group. The available roles are MONITOR, WLAN, CONTROLLER, WIRELESS, SECURITY, MANAGEMENT, COMMANDS, ALL, and LOBBY. As mentioned previously, the first seven correspond to the menu options on the controller GUI and allow access to those particular controller features. You can enter one or multiple roles, depending on the group’s needs. Use ALL to specify all seven roles or LOBBY to specify the lobby ambassador role. Enter the roles using this format:

role x = ROLE

For example, to specify the WLAN, CONTROLLER, and SECURITY roles for a particular user group, you would enter the following text:

role1=WLAN
role2=CONTROLLER
role3=SECURITY

To give a user group access to all seven roles, you would enter the following text:

role1=ALL

Note Make sure to enter the roles using the format shown above. The roles must be in all uppercase letters, and there can be no spaces within the text.



Note You should not combine the MONITOR role or the LOBBY role with any other roles. If you specify one of these two roles in the Custom Attributes text box, users will have MONITOR or LOBBY privileges only, even if additional roles are specified.


Step 23 Click Submit to save your changes.


 

Using the GUI to Configure TACACS+

Follow these steps to configure TACACS+ through the controller GUI.


Step 1 Choose Security > AAA > TACACS+ .

Step 2 Perform one of the following:

  • If you want to configure a TACACS+ server for authentication, choose Authentication .
  • If you want to configure a TACACS+ server for authorization, choose Authorization .
  • If you want to configure a TACACS+ server for accounting, choose Accounting .

Note The GUI pages used to configure authentication, authorization, and accounting all contain the same fields. Therefore, these instructions walk through the configuration only once, using the Authentication pages as examples. You would follow the same steps to configure multiple services and/or multiple servers.



Note For basic management authentication via TACACS+ to succeed, it is required to configure authentication and authorization servers on the WLC. Accounting configuration is optional.


The TACACS+ (Authentication, Authorization, or Accounting) Servers page appears (see Figure 5-9).

Figure 5-9 TACACS+ Authentication Servers Page

 

This page lists any TACACS+ servers that have already been configured.

  • If you want to delete an existing server, hover your cursor over the blue drop-down arrow for that server and choose Remove .
  • If you want to make sure that the controller can reach a particular server, hover your cursor over the blue drop-down arrow for that server and choose Ping .

Step 3 Perform one of the following:

  • To edit an existing TACACS+ server, click the server index number for that server. The TACACS+ (Authentication, Authorization, or Accounting) Servers > Edit page appears.
  • To add a TACACS+ server, click New . The TACACS+ (Authentication, Authorization, or Accounting) Servers > New page appears (see Figure 5-10).

Figure 5-10 TACACS+ Authentication Servers > New Page

 

Step 4 If you are adding a new server, choose a number from the Server Index (Priority) drop-down box to specify the priority order of this server in relation to any other configured TACACS+ servers providing the same service. You can configure up to three servers. If the controller cannot reach the first server, it tries the second one in the list and then the third if necessary.

Step 5 If you are adding a new server, enter the IP address of the TACACS+ server in the Server IP Address field.

Step 6 From the Shared Secret Format drop-down box, choose ASCII or Hex to specify the format of the shared secret key to be used between the controller and the TACACS+ server. The default value is ASCII.

Step 7 In the Shared Secret and Confirm Shared Secret fields, enter the shared secret key to be used for authentication between the controller and the server.


Note The shared secret key must be the same on both the server and the controller.


Step 8 If you are adding a new server, enter the TACACS+ server’s TCP port number for the interface protocols in the Port Number field. The valid range is 1 to 65535, and the default value is 49.

Step 9 From the Server Status field, choose Enabled to enable this TACACS+ server or choose Disabled to disable it. The default value is Enabled.

Step 10 In the Server Timeout field, enter the number of seconds between retransmissions. The valid range is 5 to 30 seconds, and the default value is 5 seconds.


Note Cisco recommends that you increase the timeout value if you experience repeated reauthentication attempts or the controller falls back to the backup server when the primary server is active and reachable.


Step 11 Click Apply to commit your changes.

Step 12 Click Save Configuration to save your changes.

Step 13 Repeat the previous steps if you want to configure any additional services on the same server or any additional TACACS+ servers.

Step 14 To specify the order of authentication when multiple databases are configured, choose Security > Priority Order > Management User . The Priority Order > Management User page appears (see Figure 5-11).

Figure 5-11 Priority Order > Management User Page

 

Step 15 In the Order Used for Authentication field, specify which servers have priority when the controller attempts to authenticate management users. Use the > and < buttons to move servers between the Not Used and Order Used for Authentication fields. After the desired servers appear in the Order Used for Authentication field, use the Up and Down buttons to move the priority server to the top of the list.

By default, the local database is always queried first. If the username is not found, the controller switches to the RADIUS server if configured for RADIUS or to the TACACS+ server if configured for TACACS+. The default setting is local and then RADIUS.

Step 16 Click Apply to commit your changes.

Step 17 Click Save Configuration to save your changes.


 

Using the CLI to Configure TACACS+

Use the commands in this section to configure TACACS+ through the controller CLI.


Note Refer to the “Using the GUI to Configure TACACS+” section for the valid ranges and default values of the parameters used in the CLI commands.


1. Use these commands to configure a TACACS+ authentication server:

  • config tacacs auth add index server_ip_address port# { ascii | hex } shared_secret —Adds a TACACS+ authentication server.
  • config tacacs auth delete index —Deletes a previously added TACACS+ authentication server.
  • config tacacs auth ( enable | disable } index —Enables or disables a TACACS+ authentication server.
  • config tacacs auth server-timeout index timeout —Configures the retransmission timeout value for a TACACS+ authentication server.

2. Use these commands to configure a TACACS+ authorization server:

  • config tacacs athr add index server_ip_address port# { ascii | hex } shared_secret —Adds a TACACS+ authorization server.
  • config tacacs athr delete index —Deletes a previously added TACACS+ authorization server.
  • config tacacs athr ( enable | disable } index —Enables or disables a TACACS+ authorization server.
  • config tacacs athr server-timeout index timeout —Configures the retransmission timeout value for a TACACS+ authorization server.

3. Use these commands to configure a TACACS+ accounting server:

  • config tacacs acct add index server_ip_address port# { ascii | hex } shared_secret —Adds a TACACS+ accounting server.
  • config tacacs acct delete index —Deletes a previously added TACACS+ accounting server.
  • config tacacs acct ( enable | disable } index —Enables or disables a TACACS+ accounting server.
  • config tacacs acct server-timeout index timeout —Configures the retransmission timeout value for a TACACS+ accounting server.

4. Use these commands to see TACACS+ statistics:

  • show tacacs summary —Shows a summary of TACACS+ servers and statistics.
  • show tacacs auth stats —Shows the TACACS+ authentication server statistics.
  • show tacacs athr stats —Shows the TACACS+ authorization server statistics.
  • show tacacs acct stats —Shows the TACACS+ accounting server statistics.

For example, information similar to the following appears for the show tacacs summary command:

Authentication Servers
 
Idx Server Address Port State Tout
--- ---------------- ------ -------- ----
1 11.11.12.2 49 Enabled 5
2 11.11.13.2 49 Enabled 5
3 11.11.14.2 49 Enabled 5
 
Authorization Servers
 
Idx Server Address Port State Tout
--- ---------------- ------ -------- ----
1 11.11.12.2 49 Enabled 5
2 11.11.13.2 49 Enabled 5
3 11.11.14.2 49 Enabled 5
 
Accounting Servers
 
Idx Server Address Port State Tout
--- ---------------- ------ -------- ----
1 11.11.12.2 49 Enabled 5
2 11.11.13.2 49 Enabled 5
3 11.11.14.2 49 Enabled 5

Information similar to the following appears for the show tacacs auth stats command:

Server Index..................................... 1
Server Address................................... 10.10.10.10
Msg Round Trip Time.............................. 0 (msec)
First Requests................................... 0
Retry Requests................................... 0
Accept Responses................................. 0
Reject Responses................................. 0
Error Responses.................................. 0
Restart Responses................................ 0
Follow Responses................................. 0
GetData Responses................................ 0
Encrypt no secret Responses...................... 0
Challenge Responses.............................. 0
Malformed Msgs................................... 0
Bad Authenticator Msgs........................... 0
Pending Requests................................. 0
Timeout Requests................................. 0
Unknowntype Msgs................................. 0

Other Drops....................................0

5. To clear the statistics for one or more TACACS+ servers, enter this command:

clear stats tacacs [ auth | athr | acct ] { index | all }

6. To configure the order of authentication when multiple databases are configured, enter this command. The default setting is local and then radius.

config aaa auth mgmt [ radius | tacacs ]

To see the current management authentication server order, enter this command:

show aaa auth

Information similar to the following appears:

Management authentication server order:
1............................................ local
2......................................... tacacs

7. To make sure the controller can reach the TACACS+ server, enter this command:

ping server_ip_address

8. To enable or disable TACACS+ debugging, enter this command:

debug aaa tacacs { enable | disable }

9. To save your changes, enter this command:

save config


 

Viewing the TACACS+ Administration Server Logs

Follow these steps to view the TACACS+ administration server logs, if you have a TACACS+ accounting server configured on the controller.


Step 1 Choose Reports and Activity on the ACS main page.

Step 2 Choose TACACS+ Administration .

Step 3 Click the .csv file corresponding to the date of the logs you wish to view. The TACACS+ Administration .csv page appears (see Figure 5-12).

Figure 5-12 TACACS+ Administration .csv Page on CiscoSecure ACS

 

This page provides the following information:

  • The date and time the action was taken
  • The name and assigned role of the user who took the action
  • The group to which the user belongs
  • The specific action that the user took
  • The privilege level of the user who executed the action
  • The IP address of the controller
  • The IP address of the laptop or workstation from which the action was executed

Sometimes a single action (or command) is logged multiple times, once for each parameter in the command. For example, if the user enters the snmp community ipaddr ip_address subnet_mask community_name command, the IP address may be logged on one line while the subnet mask and community name are logged as “E.” On another line, the subnet mask maybe logged while the IP address and community name are logged as “E.” See the first and third lines in the example in Figure 5-13.

Figure 5-13 TACACS+ Administration .csv Page on CiscoSecure ACS

 


Note You can click Refresh at any time to refresh this page.



 

Configuring Maximum Local Database Entries

You can use the controller GUI or CLI to specify the maximum number of local database entries used for storing user authentication information. The database entries include local management users (including lobby ambassadors), local network users (including guest users), MAC filter entries, exclusion list entries, and access point authorization list entries. Together they cannot exceed the configured maximum value.

Using the GUI to Configure Maximum Local Database Entries

Using the controller GUI, follow these steps to configure the maximum number of local database entries.


Step 1 Choose Security > AAA > General to open the General page (see Figure 5-14).

Figure 5-14 General Page

 

Step 2 In the Maximum Local Database Entries field, enter a value for the maximum number of entries that can be added to the local database the next time the controller reboots. The currently configured value appears in parentheses to the right of the field. The valid range is 512 to 2048, and the default setting is 2048.

The Number of Entries, Already Used field shows the number of entries currently in the database.

Step 3 Click Apply to commit your changes.

Step 4 Click Save Configuration to save your settings.


 

Using the CLI to Configure Maximum Local Database Entries

Using the controller CLI, follow these steps to configure the maximum number of local database entries.


Step 1 To specify the maximum number of entries that can be added to the local database the next time the controller reboots, enter this command:

config database size max_entries

Step 2 To save your changes, enter this command:

save config

Step 3 To view the maximum number of database entries and the current database contents, enter this command:

show database summary

Information similar to the following appears:

Maximum Database Entries......................... 2048
Maximum Database Entries On Next Reboot.......... 2048
Database Contents
MAC Filter Entries........................... 2
Exclusion List Entries....................... 0
AP Authorization List Entries................ 1
Management Users............................. 1
Local Network Users.......................... 1
Local Users.............................. 1
Guest Users.............................. 0
Total..................................... 5


 

Configuring Local Network Users

This section explains how to add local network users to the local user database on the controller. The local user database stores the credentials (username and password) of all the local network users. These credentials are then used to authenticate the users. For example, local EAP may use the local user database as its backend database to retrieve user credentials. Refer to the “Configuring Local EAP” section for more information.


Note The controller passes client information to the RADIUS authentication server first. If the client information does not match a RADIUS database entry, the local user database is polled. Clients located in this database are granted access to network services if the RADIUS authentication fails or does not exist.


You can configure local network users through either the GUI or the CLI.

Using the GUI to Configure Local Network Users

Follow these steps to configure local network users using the controller GUI.


Step 1 Choose Security > AAA > Local Net Users to open the Local Net Users page (see Figure 5-15).

Figure 5-15 Local Net Users Page

 

This page lists any local network users that have already been configured. It also specifies any guest users and the QoS role to which they are assigned (if applicable). See the “Configuring Quality of Service Roles” section for information on configuring QoS roles.


Note If you want to delete an existing user, hover your cursor over the blue drop-down arrow for that user and choose Remove.


Step 2 Perform one of the following:

  • To edit an existing local network user, click the username for that user. The Local Net Users > Edit page appears.
  • To add a local network user, click New . The Local Net Users > New page appears (see Figure 5-16).

Figure 5-16 Local Net Users > New Page

 

Step 3 If you are adding a new user, enter a username for the local user in the User Name field. You can enter up to 24 alphanumeric characters.


Note Local network usernames must be unique because they are all stored in the same database.


Step 4 In the Password and Confirm Password fields, enter a password for the local user. You can enter up to 24 alphanumeric characters.

Step 5 If you are adding a new user, check the Guest User check box if you want to limit the amount of time that the user has access to the local network. The default setting is unchecked.

Step 6 If you are adding a new user and you checked the Guest User check box, enter the amount of time (in seconds) that the guest user account is to remain active in the Lifetime field. The valid range is 60 to 2,592,000 seconds (30 days) inclusive, and the default setting is 86,400 seconds.

Step 7 If you are adding a new user, you checked the Guest User check box, and you want to assign a QoS role to this guest user, check the Guest User Role check box. The default setting is unchecked.


Note If you do not assign a QoS role to a guest user, the bandwidth contracts for this user are defined in the QoS profile for the WLAN.


Step 8 If you are adding a new user and you checked the Guest User Role check box, choose the QoS role that you want to assign to this guest user from the Role drop-down box.


Note If you want to create a new QoS role, see the “Configuring Quality of Service Roles” section for instructions.


Step 9 From the WLAN Profile drop-down box, choose the name of the WLAN that is to be accessed by the local user. If you choose Any WLAN , which is the default setting, the user can access any of the configured WLANs.

Step 10 In the Description field, enter a descriptive title for the local user (such as “User 1”).

Step 11 Click Apply to commit your changes.

Step 12 Click Save Configuration to save your changes.


 

Using the CLI to Configure Local Network Users

Use the commands in this section to configure local network users using the controller CLI.


Note Refer to the “Using the GUI to Configure Local Network Users” section for the valid ranges and default values of the parameters used in the CLI commands.


1. Use these commands to configure a local network user:

  • config netuser add username password wlan wlan_id userType permanent description description —Adds a permanent user to the local user database on the controller.
  • config netuser add username password { wlan | guestlan} { wlan_id | guest_lan_id} userType guest lifetime seconds description description —Adds a guest user on a WLAN or wired guest LAN to the local user database on the controller.

Note Instead of adding a permanent user or a guest user to the local user database from the controller, you can choose to create an entry on the RADIUS server for the user and enable RADIUS authentication for the WLAN on which web authentication is performed.


  • config netuser delete username —Deletes a user from the local user database on the controller.

Note Local network usernames must be unique because they are all stored in the same database.


2. Use these commands to see information related to the local network users configured on the controller.

  • show netuser detail username —Shows the configuration of a particular user in the local user database.
  • show netuser summary —Lists all the users in the local user database.

For example, information similar to the following appears for the show netuser detail username command:

User Name............................... abc
WLAN Id................................. Any
Lifetime................................ Permanent
Description........................... test user

3. To save your changes, enter this command:

save config

Configuring LDAP

This section explains how to configure a Lightweight Directory Access Protocol (LDAP) server as a backend database, similar to a RADIUS or local user database. An LDAP backend database allows the controller to query an LDAP server for the credentials (username and password) of a particular user. These credentials are then used to authenticate the user. For example, local EAP may use an LDAP server as its backend database to retrieve user credentials. Refer to the “Configuring Local EAP” section for more information.


Note The LDAP backend database supports these local EAP methods: EAP-TLS, EAP-FAST/GTC, and PEAPv1/GTC. LEAP, EAP-FAST/MSCHAPv2, and PEAPv0/MSCHAPv2 are also supported but only if the LDAP server is set up to return a clear-text password. For example, Microsoft Active Directory is not supported because it does not return a clear-text password. If the LDAP server cannot be configured to return a clear-text password, LEAP, EAP-FAST/MSCHAPv2, and PEAPv0/MSCHAPv2 are not supported.


You can configure LDAP through either the GUI or the CLI.

Using the GUI to Configure LDAP

Follow these steps to configure LDAP using the controller GUI.


Step 1 Choose Security > AAA > LDAP to open the LDAP Servers page (see Figure 5-17).

Figure 5-17 LDAP Servers Page

 

This page lists any LDAP servers that have already been configured.

  • If you want to delete an existing LDAP server, hover your cursor over the blue drop-down arrow for that server and choose Remove .
  • If you want to make sure that the controller can reach a particular server, hover your cursor over the blue drop-down arrow for that server and choose Ping .

Step 2 Perform one of the following:

  • To edit an existing LDAP server, click the index number for that server. The LDAP Servers > Edit page appears.
  • To add an LDAP server, click New . The LDAP Servers > New page appears (see Figure 5-18).

Figure 5-18 LDAP Servers > New Page

 

Step 3 If you are adding a new server, choose a number from the Server Index (Priority) drop-down box to specify the priority order of this server in relation to any other configured LDAP servers. You can configure up to seventeen servers. If the controller cannot reach the first server, it tries the second one in the list and so on.

Step 4 If you are adding a new server, enter the IP address of the LDAP server in the Server IP Address field.

Step 5 If you are adding a new server, enter the LDAP server’s TCP port number in the Port Number field. The valid range is 1 to 65535, and the default value is 389.

Step 6 Check the Enable Server Status check box to enable this LDAP server or uncheck it to disable it. The default value is disabled.

Step 7 From the Simple Bind drop-down box, choose Anonymous or Authenticated to specify the local authentication bind method for the LDAP server. The Anonymous method allows anonymous access to the LDAP server whereas the Authenticated method requires that a username and password be entered to secure access. The default value is Anonymous.

Step 8 If you chose Authenticated in From the Simple Bind drop-down box, choose Anonymous or Authenticated to specify the local authentication bind method for the LDAP server. The Anonymous method allows anonymous access to the LDAP server whereas the Authenticated method requires that a username and password be entered to secure access. The default value is Anonymous. , follow these steps:

a. In the Bind Username field, enter a username to be used for local authentication to the LDAP server. The username can contain up to 80 characters.


Note If the username starts with “cn=” (in lowercase letters), the controller assumes that the username includes the entire LDAP database path and therefore does not append the user base DN. This designation allows the authenticated bind user to be outside the user base DN.


b. In the Bind Password and Confirm Bind Password fields, enter a password to be used for local authentication to the LDAP server. The password can contain up to 32 characters.

Step 9 In the User Base DN field, enter the distinguished name (DN) of the subtree in the LDAP server that contains a list of all the users. For example, ou=organizational unit, .ou=next organizational unit, and o=corporation.com. If the tree containing users is the base DN, type o= corporation .com or dc= corporation ,dc=com .

Step 10 In the User Attribute field, enter the name of the attribute in the user record that contains the username. You can obtain this attribute from your directory server.

Step 11 In the User Object Type field, enter the value of the LDAP objectType attribute that identifies the record as a user. Often, user records have several values for the objectType attribute, some of which are unique to the user and some of which are shared with other object types.

Step 12 In the Server Timeout field, enter the number of seconds between retransmissions. The valid range is 2 to 30 seconds, and the default value is 2 seconds.

Step 13 Click Apply to commit your changes.

Step 14 Click Save Configuration to save your changes.

Step 15 Follow these steps to specify LDAP as the priority backend database server for local EAP authentication:

a. Choose Security > Local EAP > Authentication Priority to open the Priority Order > Local-Auth page (see Figure 5-19).

Figure 5-19 Priority Order > Local-Auth Page

 

b. Highlight LOCAL and click < to move it to the left User Credentials box.

c. Highlight LDAP and click > to move it to the right User Credentials box. The database that appears at the top of the right User Credentials box is used when retrieving user credentials.


Note If both LDAP and LOCAL appear in the right User Credentials box with LDAP on the top and LOCAL on the bottom, local EAP attempts to authenticate clients using the LDAP backend database and fails over to the local user database if the LDAP servers are not reachable. If the user is not found, the authentication attempt is rejected. If LOCAL is on the top, local EAP attempts to authenticate using only the local user database. It does not fail over to the LDAP backend database.


d. Click Apply to commit your changes.

e. Click Save Configuration to save your changes.

Step 16 (Optional) Follow these steps if you wish to assign specific LDAP servers to a WLAN.

a. Choose WLANs to open the WLANs page.

b. Click the ID number of the desired WLAN.

c. When the WLANs > Edit page appears, choose the Security > AAA Servers tabs to open the WLANs > Edit (Security > AAA Servers) page (see Figure 5-20).

Figure 5-20 WLANs > Edit (Security > AAA Servers) Page

 

d. From the LDAP Servers drop-down boxes, choose the LDAP server(s) that you want to use with this WLAN. You can choose up to three LDAP servers, which are tried in priority order.


Note These LDAP servers apply only to WLANs with web authentication enabled. They are not used by local EAP.


e. Click Apply to commit your changes.

f. Click Save Configuration to save your changes.


 

Using the CLI to Configure LDAP

Use the commands in this section to configure LDAP using the controller CLI.


Note Refer to the “Using the GUI to Configure LDAP” section for the valid ranges and default values of the parameters used in the CLI commands.


1. Use these commands to configure an LDAP server:

  • config ldap add index server_ip_address port# user_base user_attr user_type
    Adds an LDAP server.
  • config ldap delete index —Deletes a previously added LDAP server.
  • config ldap { enable | disable } index —Enables or disables an LDAP server.
  • config ldap simple-bind { anonymous index | authenticated index username username password password }—Specifies the local authentication bind method for the LDAP server. The anonymous method allows anonymous access to the LDAP server whereas the authenticated method requires that a username and password be entered to secure access. The default value is anonymous.

Note The username can contain up to 80 characters.



Note If the username starts with “cn=” (in lowercase letters), the controller assumes that the username includes the entire LDAP database path and therefore does not append the user base DN. This designation allows the authenticated bind user to be outside the user base DN.


  • config ldap retransmit-timeout index timeout —Configures the number of seconds between retransmissions for an LDAP server.

2. Use this command to specify LDAP as the priority backend database server:

config local-auth user-credentials ldap


Note If you enter config local-auth user-credentials ldap local, local EAP attempts to authenticate clients using the LDAP backend database and fails over to the local user database if the LDAP servers are not reachable. If the user is not found, the authentication attempt is rejected. If you enter config local-auth user-credentials local ldap, local EAP attempts to authenticate using only the local user database. It does not fail over to the LDAP backend database.


3. (Optional) Use these commands if you wish to assign specific LDAP servers to a WLAN:

  • config wlan ldap add wlan_id server_index —Links a configured LDAP server to a WLAN.

Note The LDAP servers specified in this command apply only to WLANs with web authentication enabled. They are not used by local EAP.


  • config wlan ldap delete wlan_id {all | index } —Deletes a specific or all configured LDAP server(s) from a WLAN.

4. Use these commands to view information pertaining to configured LDAP servers:

  • show ldap summary—Shows a summary of the configured LDAP servers.
  • show ldap index—Shows detailed LDAP server information.
  • show ldap statistics—Shows LDAP server statistics.
  • show wlan wlan_id—Shows the LDAP servers that are applied to a WLAN.

For example, information similar to the following appears for the show ldap index command:

Server Index..................................... 2
Address.......................................... 10.10.20.22
Port............................................. 389
Enabled.......................................... Yes
User DN.......................................... ou=active,ou=employees,ou=people,
o=cisco.com
User Attribute................................... uid
User Type........................................ Person
Retransmit Timeout............................... 2 seconds
Bind Method ..................................... Authenticated
Bind Username................................. user1

Information similar to the following appears for the show ldap summary command:

Idx Server Address Port Enabled
--- --------------- ---- -------
1 2.3.1.4 389 No
2 10.10.20.22 389 Yes

Information similar to the following appears for the show ldap statistics command:

Server Index..................................... 1
Server statistics:
Initialized OK................................. 0
Initialization failed.......................... 0
Initialization retries......................... 0
Closed OK...................................... 0
Request statistics:
Received....................................... 0
Sent........................................... 0
OK............................................. 0
Success........................................ 0
Authentication failed.......................... 0
Server not found............................... 0
No received attributes......................... 0
No passed username............................. 0
Not connected to server........................ 0
Internal error................................. 0
Retries........................................ 0
 
Server Index..................................... 2
...

5. To make sure the controller can reach the LDAP server, enter this command:

ping server_ip_address

6. To save your changes, enter this command:

save config

7. To enable or disable debugging for LDAP, enter this command:

debug aaa ldap { enable | disable}

Configuring Local EAP

Local EAP is an authentication method that allows users and wireless clients to be authenticated locally. It is designed for use in remote offices that want to maintain connectivity to wireless clients when the backend system becomes disrupted or the external authentication server goes down. When you enable local EAP, the controller serves as the authentication server and the local user database, thereby removing dependence on an external authentication server. Local EAP retrieves user credentials from the local user database or the LDAP backend database to authenticate users. Local EAP supports LEAP, EAP-FAST, EAP-TLS, P EAPv0/MSCHAPv2, and PEAPv1/GTC authentication between the controller and wireless clients.


Note The LDAP backend database supports these local EAP methods: EAP-TLS, EAP-FAST/GTC, and PEAPv1/GTC. LEAP, EAP-FAST/MSCHAPv2, and PEAPv0/MSCHAPv2 are also supported but only if the LDAP server is set up to return a clear-text password. For example, Microsoft Active Directory is not supported because it does not return a clear-text password. If the LDAP server cannot be configured to return a clear-text password, LEAP, EAP-FAST/MSCHAPv2, and PEAPv0/MSCHAPv2 are not supported.



Note If any RADIUS servers are configured on the controller, the controller tries to authenticate the wireless clients using the RADIUS servers first. Local EAP is attempted only if no RADIUS servers are found, either because the RADIUS servers timed out or no RADIUS servers were configured. If four RADIUS servers are configured, the controller attempts to authenticate the client with the first RADIUS server, then the second RADIUS server, and then local EAP. If the client attempts to then reauthenticate manually, the controller tries the third RADIUS server, then the fourth RADIUS server, and then local EAP. If you never want the controller to try to authenticate clients using an external RADIUS server, enter these CLI commands in this order:
config wlan disable wlan_id
config wlan radius_server auth disable wlan_id
config wlan enable wlan_id


Figure 5-21 provides an example of a remote office using local EAP.

Figure 5-21 Local EAP Example

 

You can configure local EAP through either the GUI or the CLI.

Using the GUI to Configure Local EAP

Follow these steps to configure local EAP using the controller GUI.


Step 1 EAP-TLS, P EAPv0/MSCHAPv2, and PEAPv1/GTC use certificates for authentication, and EAP-FAST uses either certificates or PACs. The controller is shipped with Cisco-installed device and Certificate Authority (CA) certificates. However, if you wish to use your own vendor-specific certificates, they must be imported on the controller. If you are configuring local EAP to use one of these EAP types, make sure that the appropriate certificates and PACs (if you will use manual PAC provisioning) have been imported on the controller. Refer to the Managing Controller Software and Configurations chapter for instructions on importing certificates and PACs.

Step 2 If you want the controller to retrieve user credentials from the local user database, make sure that you have properly configured the local network users on the controller. See the “Configuring Local Network Users” section for instructions.

Step 3 If you want the controller to retrieve user credentials from an LDAP backend database, make sure that you have properly configured an LDAP server on the controller. See the “Configuring LDAP” section for instructions.

Step 4 Follow these steps to specify the order in which user credentials are retrieved from the backend database servers:

a. Choose Security > Local EAP > Authentication Priority to open the Priority Order > Local-Auth page (see Figure 5-22).

Figure 5-22 Priority Order > Local-Auth Page

 

b. Determine the priority order in which user credentials are to be retrieved from the local and/or LDAP databases. For example, you may want the LDAP database to be given priority over the local user database, or you may not want the LDAP database to be considered at all.

c. When you have decided on a priority order, highlight the desired database. Then use the left and right arrows and the Up and Down buttons to move the desired database to the top of the right User Credentials box.


Note If both LDAP and LOCAL appear in the right User Credentials box with LDAP on the top and LOCAL on the bottom, local EAP attempts to authenticate clients using the LDAP backend database and fails over to the local user database if the LDAP servers are not reachable. If the user is not found, the authentication attempt is rejected. If LOCAL is on the top, local EAP attempts to authenticate using only the local user database. It does not fail over to the LDAP backend database.


d. Click Apply to commit your changes.

Step 5 Follow these steps to specify values for the local EAP timers:

a. Choose Security > Local EAP > General to open the General page (see Figure 5-23).

Figure 5-23 General Page

 

b. In the Local Auth Active Timeout field, enter the amount of time (in seconds) in which the controller attempts to authenticate wireless clients using local EAP after any pair of configured RADIUS servers fails. The valid range is 1 to 3600 seconds, and the default setting is 100 seconds.

c. In the Identity Request Timeout field, enter the amount of time (in seconds) in which the controller attempts to send an EAP identity request to wireless clients using local EAP. The valid range is 1 to 120 seconds, and the default setting is 30 seconds.

d. In the Identity Request Max Retries field, enter the maximum number of times that the controller attempts to retransmit the EAP identity request to wireless clients using local EAP. The valid range is 1 to 20 retries, and the default setting is 20 retries.

e. In the Dynamic WEP Key Index field, enter the key index used for dynamic wired equivalent privacy (WEP). The default setting is 0.

f. In the Request Timeout field, enter the amount of time (in seconds) in which the controller attempts to send an EAP request to wireless clients using local EAP. The valid range is 1 to 120 seconds, and the default setting is 30 seconds.

g. In the Request Max Retries field, enter the maximum number of times that the controller attempts to retransmit the EAP request to wireless clients using local EAP. The valid range is 1 to 120 retries, and the default setting is 20 retries.

h. From the Max-Login Ignore Identity Response drop-down box, choose Enable to limit the number of devices that can be connected to the controller with the same username. You can log in up to eight times from different devices (PDA, laptop, IP phone, and so on) on the same controller. The default value is enabled.

i. In the EAPOL-Key Timeout field, enter the amount of time (in seconds) in which the controller attempts to send an EAP key over the LAN to wireless clients using local EAP. The valid range is 1 to 5 seconds, and the default setting is 1 second.

j. In the EAPOL-Key Max Retries field, enter the maximum number of times that the controller attempts to send an EAP key over the LAN to wireless clients using local EAP. The valid range is 0 to 4 retries, and the default setting is 2 retries.

k. Click Apply to commit your changes.

Step 6 Follow these steps to create a local EAP profile, which specifies the EAP authentication types that are supported on the wireless clients:

a. Choose Security > Local EAP > Profiles to open the Local EAP Profiles page (see Figure 5-24).

Figure 5-24 Local EAP Profiles Page

 

This page lists any local EAP profiles that have already been configured and specifies their EAP types. You can create up to 16 local EAP profiles.


Note If you want to delete an existing profile, hover your cursor over the blue drop-down arrow for that profile and choose Remove.


b. Click New to open the Local EAP Profiles > New page.

c. In the Profile Name field, enter a name your new profile and then click Apply .


Note You can enter up to 63 alphanumeric characters for the profile name. Make sure not to include spaces.


d. When the Local EAP Profiles page reappears, click the name of your new profile. The Local EAP Profiles > Edit page appears (see Figure 5-25).

Figure 5-25 Local EAP Profiles > Edit Page

 

e. Check the LEAP , EAP-FAST , EAP-TLS, and/or PEAP check boxes to specify the EAP type(s) that can be used for local authentication.


Note You can specify more than one EAP type per profile. However, if you choose multiple EAP types that use certificates (such as EAP-FAST with certificates, EAP-TLS, PEAPv0/MSCHAPv2, and PEAPv1/GTC), all of the EAP types must use the same certificate (from either Cisco or another vendor).



Note If you check the PEAP check box, both PEAPv0/MSCHAPv2 or PEAPv1/GTC are enabled on the controller.


f. If you chose EAP-FAST and want the device certificate on the controller to be used for authentication, check the Local Certificate Required check box. If you want to use EAP-FAST with PACs instead of certificates, leave this check box unchecked, which is the default setting.


Note This option applies only to EAP-FAST because device certificates are not used with LEAP and are mandatory for EAP-TLS and PEAP.


g. If you chose EAP-FAST and want the wireless clients to send their device certificates to the controller in order to authenticate, check the Client Certificate Required check box. If you want to use EAP-FAST with PACs instead of certificates, leave this check box unchecked, which is the default setting.


Note This option applies only to EAP-FAST because client certificates are not used with LEAP or PEAP and are mandatory for EAP-TLS.


h. If you chose EAP-FAST with certificates, EAP-TLS, or PEAP, choose which certificates will be sent to the client, the ones from Cisco or the ones from another Vendor , from the Certificate Issuer drop-down box. The default setting is Cisco.

i. If you chose EAP-FAST with certificates or EAP-TLS and want the incoming certificate from the client to be validated against the CA certificates on the controller, check the Check Against CA Certificates check box. The default setting is enabled.

j. If you chose EAP-FAST with certificates or EAP-TLS and want the common name (CN) in the incoming certificate to be validated against the CA certificates’ CN on the controller, check the Verify Certificate CN Identity check box. The default setting is disabled.

k. If you chose EAP-FAST with certificates or EAP-TLS and want the controller to verify that the incoming device certificate is still valid and has not expired, check the Check Certificate Date Validity check box. The default setting is enabled.Certificate date validity is checked against the current UTC (GMT) time that is configured on the controller. Timezone offset will be ignored.


Note Certificate date validity is checked against the current UTC (GMT) time that is configured on the controller. Time zone offset will be ignored.


l. Click Apply to commit your changes.

Step 7 If you created an EAP-FAST profile, follow these steps to configure the EAP-FAST parameters:

a. Choose Security > Local EAP > EAP-FAST Parameters to open the EAP-FAST Method Parameters page (see Figure 5-26).

Figure 5-26 EAP-FAST Method Parameters Page

 

b. In the Server Key and Confirm Server Key fields, enter the key (in hexadecimal characters) used to encrypt and decrypt PACs.

c. In the Time to Live for the PAC field, enter the number of days for the PAC to remain viable. The valid range is 1 to 1000 days, and the default setting is 10 days.

d. In the Authority ID field, enter the authority identifier of the local EAP-FAST server in hexadecimal characters. You can enter up to 32 hexadecimal characters, but you must enter an even number of characters.

e. In the Authority ID Information field, enter the authority identifier of the local EAP-FAST server in text format.

f. If you want to enable anonymous provisioning, check the Anonymous Provision check box. This feature allows PACs to be sent automatically to clients that do not have one during PAC provisioning. If you disable this feature, PACS must be manually provisioned. The default setting is enabled.


Note If the local and/or client certificates are required and you want to force all EAP-FAST clients to use certificates, uncheck the Anonymous Provision check box.


g. Click Apply to commit your changes.

Step 8 Follow these steps to enable local EAP on a WLAN:

a. Choose WLANs to open the WLANs page.

b. Click the ID number of the desired WLAN.

c. When the WLANs > Edit page appears, choose the Security > AAA Servers tabs to open the WLANs > Edit (Security > AAA Servers) page (see Figure 5-27).

Figure 5-27 WLANs > Edit (Security > AAA Servers) Page

 

d. Check the Local EAP Authentication check box to enable local EAP for this WLAN.

e. From the EAP Profile Name drop-down box, choose the EAP profile that you want to use for this WLAN.

f. If desired, choose the LDAP server(s) that you want to use with local EAP on this WLAN from the LDAP Servers drop-down boxes.

g. Click Apply to commit your changes.

Step 9 Click Save Configuration to save your changes.


 

Using the CLI to Configure Local EAP

Follow these steps to configure local EAP using the controller CLI.


Note Refer to the “Using the GUI to Configure Local EAP” section for the valid ranges and default values of the parameters used in the CLI commands.



Step 1 EAP-TLS, P EAPv0/MSCHAPv2, and PEAPv1/GTC use certificates for authentication, and EAP-FAST uses either certificates or PACs. The controller is shipped with Cisco-installed device and Certificate Authority (CA) certificates. However, if you wish to use your own vendor-specific certificates, they must be imported on the controller. If you are configuring local EAP to use one of these EAP types, make sure that the appropriate certificates and PACs (if you will use manual PAC provisioning) have been imported on the controller. Refer to the Managing Controller Software and Configurations chapter for instructions on importing certificates and PACs.

Step 2 If you want the controller to retrieve user credentials from the local user database, make sure that you have properly configured the local network users on the controller. See the “Configuring Local Network Users” section for instructions.

Step 3 If you want the controller to retrieve user credentials from an LDAP backend database, make sure that you have properly configured an LDAP server on the controller. See the “Configuring LDAP” section for instructions.

Step 4 To specify the order in which user credentials are retrieved from the local and/or LDAP databases, enter this command:

config local-auth user-credentials { local | ldap }


Note If you enter config local-auth user-credentials ldap local, local EAP attempts to authenticate clients using the LDAP backend database and fails over to the local user database if the LDAP servers are not reachable. If the user is not found, the authentication attempt is rejected. If you enter config local-auth user-credentials local ldap, local EAP attempts to authenticate using only the local user database. It does not fail over to the LDAP backend database.


Step 5 To specify values for the local EAP timers, enter these commands:

  • config local-auth active-timeout timeout— Specifies the amount of time (in seconds) in which the controller attempts to authenticate wireless clients using local EAP after any pair of configured RADIUS servers fails. The valid range is 1 to 3600 seconds, and the default setting is 100 seconds.
  • config advanced eap identity-request-timeout timeout —Specifies the amount of time (in seconds) in which the controller attempts to send an EAP identity request to wireless clients using local EAP. The valid range is 1 to 120 seconds, and the default setting is 30 seconds.
  • config advanced eap identity-request-retries retries —Specifies the maximum number of times that the controller attempts to retransmit the EAP identity request to wireless clients using local EAP. The valid range is 1 to 20 retries, and the default setting is 20 retries.
  • config advanced eap key-index index —Specifies the key index used for dynamic wired equivalent privacy (WEP). The default setting is 0.
  • config advanced eap request-timeout timeout —Specifies the amount of time (in seconds) in which the controller attempts to send an EAP request to wireless clients using local EAP. The valid range is 1 to 120 seconds, and the default setting is 30 seconds.
  • config advanced eap request-retries retries —Specifies the maximum number of times that the controller attempts to retransmit the EAP request to wireless clients using local EAP. The valid range is 1 to 120 retries, and the default setting is 20 retries.
  • config advanced eap eapol-key-timeout timeout —Specifies the amount of time (in seconds) in which the controller attempts to send an EAP key over the LAN to wireless clients using local EAP. The valid range is 1 to 5 seconds, and the default setting is 1 second.
  • config advanced eap eapol-key-retries retries —Specifies the maximum number of times that the controller attempts to send an EAP key over the LAN to wireless clients using local EAP. The valid range is 0 to 4 retries, and the default setting is 2 retries.
  • config advanced eap max-login-ignore-identity-response { enable | disable } —When enabled, this command limits the number of devices that can be connected to the controller with the same username. You can log in up to eight times from different devices (PDA, laptop, IP phone, and so on) on the same controller. The default value is enabled.

Step 6 To create a local EAP profile, enter this command:

config local-auth eap-profile add profile_name


Note Do not include spaces within the profile name.



Note To delete a local EAP profile, enter this command: config local-auth eap-profile delete profile_name.


Step 7 To add an EAP method to a local EAP profile, enter this command:

config local-auth eap-profile method add method profile_name

The supported methods are leap, fast, tls, and peap.


Note If you choose peap, both P EAPv0/MSCHAPv2 or PEAPv1/GTC are enabled on the controller.



Note You can specify more than one EAP type per profile. However, if you create a profile with multiple EAP types that use certificates (such as EAP-FAST with certificates, EAP-TLS, PEAPv0/MSCHAPv2, and PEAPv1/GTC), all of the EAP types must use the same certificate (from either Cisco or another vendor).



Note To delete an EAP method from a local EAP profile, enter this command: config local-auth eap-profile method delete method profile_name.


Step 8 To configure EAP-FAST parameters if you created an EAP-FAST profile, enter this command:

config local-auth method fast ?

where ? is one of the following:

  • anon-prov { enable | disable }—Configures the controller to allow anonymous provisioning, which allows PACs to be sent automatically to clients that do not have one during PAC provisioning.
  • authority-id auth_id —Specifies the authority identifier of the local EAP-FAST server.
  • pac-ttl days —Specifies the number of days for the PAC to remain viable.
  • server-key key —Specifies the server key used to encrypt and decrypt PACs.

Step 9 To configure certificate parameters per profile, enter these commands:

  • config local-auth eap-profile method fast local-cert { enable | disable } profile_name
    Specifies whether the device certificate on the controller is required for authentication.

Note This command applies only to EAP-FAST because device certificates are not used with LEAP and are mandatory for EAP-TLS and PEAP.


  • config local-auth eap-profile method fast client-cert { enable | disable } profile_name
    Specifies whether wireless clients are required to send their device certificates to the controller in order to authenticate.

Note This command applies only to EAP-FAST because client certificates are not used with LEAP or PEAP and are mandatory for EAP-TLS.


  • config local-auth eap-profile cert-issuer {cisco | vendor} profile_name —If you specified EAP-FAST with certificates, EAP-TLS, or PEAP, specifies whether the certificates that will be sent to the client are from Cisco or another vendor.
  • config local-auth eap-profile cert-verify ca-issuer { enable | disable } profile_name —If you chose EAP-FAST with certificates or EAP-TLS, specifies whether the incoming certificate from the client is to be validated against the CA certificates on the controller.
  • config local-auth eap-profile cert-verify cn-verify { enable | disable } profile_name —If you chose EAP-FAST with certificates or EAP-TLS, specifies whether the common name (CN) in the incoming certificate is to be validated against the CA certificates’ CN on the controller.
  • config local-auth eap-profile cert-verify date-valid { enable | disable } profile_name —If you chose EAP-FAST with certificates or EAP-TLS, specifies whether the controller is to verify that the incoming device certificate is still valid and has not expired.

Step 10 To enable local EAP and attach an EAP profile to a WLAN, enter this command:

config wlan local-auth enable profile_name wlan_id


Note To disable local EAP for a WLAN, enter this command: config wlan local-auth disable wlan_id.


Step 11 To save your changes, enter this command:

save config

Step 12 To view information pertaining to local EAP, enter these commands:

  • show local-auth config— Shows the local EAP configuration on the controller.

Information similar to the following appears for the show local-auth config command:

User credentials database search order:
Primary ..................................... Local DB
 
Timer:
Active timeout .............................. 300
 
Configured EAP profiles:
Name ........................................ fast-cert
Certificate issuer ........................ vendor
Peer verification options:
Check against CA certificates ........... Enabled
Verify certificate CN identity .......... Disabled
Check certificate date validity ......... Enabled
EAP-FAST configuration:
Local certificate required .............. Yes
Client certificate required ............. Yes
Enabled methods ........................... fast
Configured on WLANs ....................... 1
 
Name ........................................ tls
Certificate issuer ........................ vendor
Peer verification options:
Check against CA certificates ........... Enabled
Verify certificate CN identity .......... Disabled
Check certificate date validity ......... Enabled
EAP-FAST configuration:
Local certificate required .............. No
Client certificate required ............. No
Enabled methods ........................... tls
Configured on WLANs ....................... 2
 
EAP Method configuration:
EAP-FAST:
Server key ................................ <hidden>
TTL for the PAC ........................... 10
Anonymous provision allowed ............... Yes
Accept client on auth prov ................ No
Authority ID .............................. 436973636f0000000000000000000000
Authority Information ..................... Cisco A-ID
 
  • show local-auth statistics —Shows the local EAP statistics.
  • show local-auth certificates —Shows the certificates available for local EAP.
  • show local-auth user-credentials —Shows the priority order that the controller uses when retrieving user credentials from the local and/or LDAP databases.
  • show advanced eap —Shows the timer values for local EAP. Information similar to the following appears:
EAP-Identity-Request Timeout (seconds)........... 1
EAP-Identity-Request Max Retries................. 20
EAP Key-Index for Dynamic WEP.................... 0
EAP Max-Login Ignore Identity Response........... enable
EAP-Request Timeout (seconds).................... 20
EAP-Request Max Retries.......................... 20
EAPOL-Key Timeout (seconds)...................... 1
EAPOL-Key Max Retries......................... 2
  • show ap stats wlan Cisco_AP —Shows the EAP timeout and failure counters for a specific access point for each WLAN. Information similar to the following appears:
WLAN 1
EAP Id Request Msg Timeouts................... 0
EAP Id Request Msg Timeouts Failures.......... 0
EAP Request Msg Timeouts...................... 2
EAP Request Msg Timeouts Failures............. 1
EAP Key Msg Timeouts.......................... 0
EAP Key Msg Timeouts Failures................. 0
WLAN 2
EAP Id Request Msg Timeouts................... 1
EAP Id Request Msg Timeouts Failures.......... 0
EAP Request Msg Timeouts...................... 0
EAP Request Msg Timeouts Failures............. 0
EAP Key Msg Timeouts.......................... 3
EAP Key Msg Timeouts Failures.............. 1
  • show client detail client_mac —Shows the EAP timeout and failure counters for a specific associated client. These statistics are useful in troubleshooting client association issues. Information similar to the following appears:
...
Client Statistics:
Number of Bytes Received................... 10
Number of Bytes Sent....................... 10
Number of Packets Received................. 2
Number of Packets Sent..................... 2
Number of EAP Id Request Msg Timeouts...... 0
Number of EAP Id Request Msg Failures...... 0
Number of EAP Request Msg Timeouts......... 2
Number of EAP Request Msg Failures......... 1
Number of EAP Key Msg Timeouts............. 0
Number of EAP Key Msg Failures............. 0
Number of Policy Errors.................... 0
Radio Signal Strength Indicator............ Unavailable
Signal to Noise Ratio...................... Unavailable
...
  • show wlan wlan_id —Shows the status of local EAP on a particular WLAN.

Step 13 If necessary, you can use these commands to troubleshoot local EAP sessions:

  • debug aaa local-auth eap method {all | errors | events | packets | sm} {enable | disable}—
    Enables or disables debugging of local EAP methods.
  • debug aaa local-auth eap framework {all | errors | events | packets | sm} {enable | disable}—
    Enables or disables debugging of the local EAP framework.

Note In these two debug commands, sm is the state machine.


  • clear stats local-auth —Clears the local EAP counters.
  • clear stats ap wlan Cisco_AP —Clears the EAP timeout and failure counters for a specific access point for each WLAN.


 

Configuring the System for SpectraLink NetLink Telephones

For best integration with the Cisco UWN Solution, SpectraLink NetLink Telephones require an extra operating system configuration step: enable long preambles. The radio preamble (sometimes called a header) is a section of data at the head of a packet that contains information that wireless devices need when sending and receiving packets. Short preambles improve throughput performance, so they are enabled by default. However, some wireless devices, such as SpectraLink NetLink phones, require long preambles.

Use one of these methods to enable long preambles:

Using the GUI to Enable Long Preambles

Use this procedure to use the GUI to enable long preambles to optimize the operation of SpectraLink NetLink phones on your wireless LAN.


Step 1 Choose Wireless > 802.11b/g/n > Network to open the 802.11b/g Global Parameters page.

Step 2 If the Short Preamble check box is checked, continue with this procedure. However, if the Short Preamble check box is unchecked (which means that long preambles are enabled), the controller is already optimized for SpectraLink NetLink phones and you do not need to continue this procedure.

Step 3 Uncheck the Short Preamble check box to enable long preambles.

Step 4 Click Apply to update the controller configuration.


Note If you do not already have an active CLI session to the controller, Cisco recommends that you start a CLI session to reboot the controller and watch the reboot process. A CLI session is also useful because the GUI loses its connection when the controller reboots.


Step 5 Choose Commands > Reboot > Reboot > Save and Reboot to reboot the controller . Click OK in response to this prompt:

Configuration will be saved and the controller will be rebooted. Click ok to confirm.
 

The controller reboots.

Step 6 Log back into the controller GUI to verify that the controller is properly configured.

Step 7 Choose Wireless > 802.11b/g/n > Network to open the 802.11b/g Global Parameters page. If the Short Preamble check box is unchecked, the controller is optimized for SpectraLink NetLink phones.


 

Using the CLI to Enable Long Preambles

Use this procedure to use the CLI to enable long preambles to optimize the operation of SpectraLink NetLink phones on your wireless LAN.


Step 1 Log into the controller CLI.

Step 2 Enter show 802.11b and check the Short preamble mandatory parameter. If the parameter indicates that short preambles are enabled, continue with this procedure. This example shows that short preambles are enabled:

Short Preamble mandatory....................... Enabled
 

However, if the parameter shows that short preambles are disabled (which means that long preambles are enabled), the controller is already optimized for SpectraLink NetLink phones and you do not need to continue this procedure. This example shows that short preambles are disabled:

Short Preamble mandatory....................... Disabled
 

Step 3 Enter config 802.11b disable network to disable the 802.11b/g network. (You cannot enable long preambles on the 802.11a network.)

Step 4 Enter config 802.11b preamble long to enable long preambles.

Step 5 Enter config 802.11b enable network to re-enable the 802.11b/g network.

Step 6 Enter reset system to reboot the controller. Enter y when this prompt appears:

The system has unsaved changes. Would you like to save them now? (y/n)
 

The controller reboots.

Step 7 To verify that the controller is properly configured, log back into the CLI and enter show 802.11b to view these parameters:

802.11b Network................................ Enabled
Short Preamble mandatory....................... Disabled
 

These parameters show that the 802.11b/g network is enabled and that short preambles are disabled.


 

Using the CLI to Configure Enhanced Distributed Channel Access

Use this CLI command to configure 802.11 enhanced distributed channel access (EDCA) parameters to support SpectraLink phones:

config advanced edca-parameters { svp-voice | wmm-default }

where

svp-voice enables SpectraLink voice priority (SVP) parameters and wmm-default enables wireless multimedia (WMM) default parameters.


Note To propagate this command to all access points connected to the controller, make sure to disable and then re-enable the 802.11b/g network after entering this command.


Using Management over Wireless

The management over wireless feature allows operators to monitor and configure local controllers using a wireless client. This feature is supported for all management tasks except uploads to and downloads from (transfers to and from) the controller.

Before you can use management over wireless, you must properly configure the controller using one of these sections:

Using the GUI to Enable Management over Wireless


Step 1 Choose Management > Mgmt Via Wireless to open the Management Via Wireless page.

Step 2 Check the Enable Controller Management to be accessible from Wireless Clients check box to enable management over wireless for the WLAN or uncheck it to disable this feature. The default value is unchecked.

Step 3 Click Apply to commit your changes.

Step 4 Click Save Configuration to save your changes.

Step 5 Use a wireless client web browser to connect to the controller management port or distribution system port IP address, and log into the controller GUI to verify that you can manage the WLAN using a wireless client.


 

Using the CLI to Enable Management over Wireless


Step 1 In the CLI, use the show network command to verify whether the management over wireless interface is e nabled or d isabled . If it is d isabled , continue with To enable management over wireless, enter config network mgmt-via-wireless enable.. Otherwise, continue with Use a wireless client to associate with an access point connected to the controller that you want to manage..

Step 2 To enable management over wireless, enter config network mgmt-via-wireless enable.

Step 3 Use a wireless client to associate with an access point connected to the controller that you want to manage.

Step 4 Enter telnet controller-ip-address and log into the CLI to verify that you can manage the WLAN using a wireless client.


 

Configuring DHCP Option 82

DHCP option 82 provides additional security when DHCP is used to allocate network addresses. Specifically, it enables the controller to act as a DHCP relay agent to prevent DHCP client requests from untrusted sources. The controller can be configured to add option 82 information to DHCP requests from clients before forwarding the requests to the DHCP server. See Figure 5-28 for an illustration of this process.

Figure 5-28 DHCP Option 82

 

The access point forwards all DHCP requests from a client to the controller. The controller adds the DHCP option 82 payload and forwards the request to the DHCP server. The payload can contain the MAC address or the MAC address and SSID of the access point, depending on how you configure this option. In controller software release 4.0 or later, you can configure DHCP option 82 using the controller CLI. In controller software release 6.0, you can configure this feature using either the GUI or CLI.


Note In order for DHCP option 82 to operate correctly, you must enable DHCP proxy, which is disabled by default. Refer to the “Configuring DHCP Proxy” section for instructions on configuring DHCP proxy.



Note Any DHCP packets that already include a relay agent option are dropped at the controller.



Note DHCP option 82 is not supported for use with auto-anchor mobility, which is described in the Configuring Mobility Groups chapter.


Using the GUI to Configure DHCP Option 82

Using the GUI, follow these steps to configure DHCP option 82 on the controller.


Step 1 Choose Controller > Advanced > DHCP to open the DHCP Parameters page (see Figure 5-29).

Figure 5-29 DHCP Parameters Page

 

Step 2 Choose one of the following options from the DHCP Option 82 Remote ID Field Format drop-down box to specify the format of the DHCP option 82 payload:

  • AP-MAC —Adds the MAC address of the access point to the DHCP option 82 payload. This is the default value.
  • AP-MAC-SSID —Adds the MAC address and SSID of the access point to the DHCP option 82 payload.

Step 3 Click Apply to commit your changes.

Step 4 Click Save Configuration to save your changes.


 

Using the CLI to Configure DHCP Option 82

Use these CLI commands to configure DHCP option 82 on the controller.

1. To configure the format of the DHCP option 82 payload, enter one of these commands:

– config dhcp opt-82 remote-id ap_mac

This command adds the MAC address of the access point to the DHCP option 82 payload.

– config dhcp opt-82 remote-id ap_mac:ssid

This command adds the MAC address and SSID of the access point to the DHCP option 82 payload.

2. To overrride the global DHCP option 82 setting and disable (or enable) this feature for the AP-manager or management interface on the controller, enter this command:

config interface dhcp {ap-manager | management} option-82 {disable | en able}

3. To see the status of DHCP option 82 on the controller, enter this command:

show interface detailed ap-manager

Information similar to the following appears:

Interface Name................................... ap-manager
MAC Address...................................... 00:0a:88:25:10:c4
IP Address....................................... 10.30.16.13
IP Netmask....................................... 255.255.248.0
IP Gateway....................................... 10.30.16.1
External NAT IP State............................ Disabled
External NAT IP Address.......................... 0.0.0.0
External NAT IP Netmask.......................... 0.0.0.0
VLAN............................................. untagged
Active Physical Port............................. LAG (29)
Primary Physical Port............................ LAG (29)
Backup Physical Port............................. Unconfigured
Primary DHCP Server.............................. 10.1.0.10
Secondary DHCP Server............................ Unconfigured
DHCP Option 82................................... Enabled
ACL.............................................. Unconfigured
AP Manager....................................... Yes
Guest Interface.................................. No

Configuring and Applying Access Control Lists

An access control list (ACL) is a set of rules used to limit access to a particular interface (for example, if you want to restrict a wireless client from pinging the management interface of the controller). After ACLs are configured on the controller, they can be applied to the management interface, the AP-manager interface, any of the dynamic interfaces, or a WLAN to control data traffic to and from wireless clients or to the controller central processing unit (CPU) to control all traffic destined for the CPU.

You may also want to create a preauthentication ACL for web authentication. Such an ACL could be used to allow certain types of traffic before authentication is complete.


Note If you are using an external web server with a 5500 series controller, a 2100 series controller, or a controller network module, you must configure a preauthentication ACL on the WLAN for the external web server.


You can define up to 64 ACLs, each with up to 64 rules (or filters). Each rule has parameters that affect its action. When a packet matches all of the parameters for a rule, the action set for that rule is applied to the packet.


Note All ACLs have an implicit “deny all rule” as the last rule. If a packet does not match any of the rules, it is dropped by the controller.



Note ACLs in your network might need to be modified if CAPWAP uses different ports than LWAPP.


You can configure and apply ACLs through either the GUI or the CLI.

Using the GUI to Configure Access Control Lists

Follow these steps to configure ACLs using the controller GUI.


Step 1 Choose Security > Access Control Lists > Access Control Lists to open the Access Control Lists page (see Figure 5-30).

Figure 5-30 Access Control Lists Page

 

This page lists all of the ACLs that have been configured for this controller.


Note If you want to delete an existing ACL, hover your cursor over the blue drop-down arrow for that ACL and choose Remove.


Step 2 If you want to see if packets are hitting any of the ACLs configured on your controller, check the Enable Counters check box and click Apply . Otherwise, leave the check box unchecked, which is the default value. This feature is useful when troubleshooting your system.


Note If you want to clear the counters for an ACL, hover your cursor over the blue drop-down arrow for that ACL and choose Clear Counters.



Note ACL counters are available only on the following controllers: 5500 series, 4400 series, Cisco WiSM, and Catalyst 3750G Integrated Wireless LAN Controller Switch.


Step 3 To add a new ACL, click New. The Access Control Lists > New page appears (see Figure 5-31).

Figure 5-31 Access Control Lists > New Page

 

Step 4 In the Access Control List Name field, enter a name for the new ACL. You can enter up to 32 alphanumeric characters.

Step 5 Click Apply. When the Access Control Lists page reappears, click the name of the new ACL.

Step 6 When the Access Control Lists > Edit page appears, click Add New Rule. The Access Control Lists > Rules > New page appears (see Figure 5-32).

Figure 5-32 Access Control Lists > Rules > New Page

 

Step 7 Follow these steps to configure a rule for this ACL:

a. The controller supports up to 64 rules for each ACL. These rules are listed in order from 1 to 64. In the Sequence field, enter a value (between 1 and 64) to determine the order of this rule in relation to any other rules defined for this ACL.


Note If rules 1 through 4 are already defined and you add rule 29, it is added as rule 5. If you add or change a sequence number for a rule, the sequence numbers for other rules adjust to maintain a contiguous sequence. For instance, if you change a rule’s sequence number from 7 to 5, the rules with sequence numbers 5 and 6 are automatically reassigned as 6 and 7, respectively.


b. From the Source drop-down box, choose one of these options to specify the source of the packets to which this ACL applies:

  • Any—Any source (This is the default value.)
  • IP Address—A specific source. If you choose this option, enter the IP address and netmask of the source in the edit boxes.

c. From the Destination drop-down box, choose one of these options to specify the destination of the packets to which this ACL applies:

  • Any—Any destination (This is the default value.)
  • IP Address—A specific destination. If you choose this option, enter the IP address and netmask of the destination in the edit boxes.

d. From the Protocol drop-down box, choose the protocol ID of the IP packets to be used for this ACL. These are the protocol options:

  • Any—Any protocol (This is the default value.)
  • TCP—Transmission Control Protocol
  • UDP—User Datagram Protocol
  • ICMP—Internet Control Message Protocol
  • ESP—IP Encapsulating Security Payload
  • AH—Authentication Header
  • GRE—Generic Routing Encapsulation
  • IP in IP—Internet Protocol (IP) in IP. Permits or denies IP-in-IP packets.
  • Eth Over IP—Ethernet-over-Internet Protocol
  • OSPF—Open Shortest Path First
  • Other—Any other Internet Assigned Numbers Authority (IANA) protocol

Note If you choose Other, enter the number of the desired protocol in the Protocol edit box. You can find the list of available protocols and their corresponding numbers here: http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml



Note The controller can permit or deny only IP packets in an ACL. Other types of packets (such as ARP packets) cannot be specified.


e. If you chose TCP or UDP in the previous step, two additional parameters appear: Source Port and Destination Port. These parameters enable you to choose a specific source port and destination port or port ranges. The port options are used by applications that send and receive data to and from the networking stack. Some ports are designated for certain applications such as telnet, ssh, http, and so on.

f. From the DSCP drop-down box, choose one of these options to specify the differentiated services code point (DSCP) value of this ACL. DSCP is an IP header field that can be used to define the quality of service across the Internet.

  • Any—Any DSCP (This is the default value.)
  • Specific—A specific DSCP from 0 to 63, which you enter in the DSCP edit box

g. From the Direction drop-down box, choose one of these options to specify the direction of the traffic to which this ACL applies:

  • Any—Any direction (This is the default value.)
  • Inbound—From the client
  • Outbound—To the client

Note If you are planning to apply this ACL to the controller CPU, choose Any or Inbound because a CPU ACL applies only to packets that are sent to the CPU, not packets from the CPU.


h. From the Action drop-down box, choose Deny to cause this ACL to block packets or Permit to cause this ACL to allow packets. The default value is Deny.

i. Click Apply to commit your changes. The Access Control Lists > Edit page reappears, showing the rules for this ACL. See Figure 5-33.

Figure 5-33 Access Control Lists > Edit Page

 

The Deny Counters field shows the number of times that packets have matched the explicit deny ACL rule. The Number of Hits field shows the number of times that packets have matched an ACL rule. You must enable ACL counters on the Access Control Lists page to enable these fields.


Note If you want to edit a rule, click the sequence number of the desired rule to open the Access Control Lists > Rules > Edit page. If you ever want to delete a rule, hover your cursor over the blue drop-down arrow for the desired rule and choose Remove.


j. Repeat this procedure to add any additional rules for this ACL.

Step 8 Click Save Configuration to save your changes.

Step 9 Repeat this procedure to add any additional ACLs.


 

Using the GUI to Apply Access Control Lists

Follow the instructions in these sections to apply ACLs using the controller GUI:


Note If you apply an ACL to an interface or a WLAN, wireless throughput is degraded when downloading from a 1-Gbps file server. To improve throughput, remove the ACL from the interface or WLAN, move the ACL to a neighboring wired device with a policy rate-limiting restriction, or connect the file server using 100 Mbps rather than 1 Gbps.


Applying an Access Control List to an Interface

Follow these steps to apply an ACL to a management, AP-manager, or dynamic interface using the controller GUI.


Step 1 Choose Controller > Interfaces .

Step 2 Click the name of the desired interface. The Interfaces > Edit page for that interface appears (see Figure 5-34).

Figure 5-34 Interfaces > Edit Page

 

Step 3 Choose the desired ACL from the ACL Name drop-down box and click Apply. None is the default value.


Note See the Configuring Ports and Interfaces chapter for more information on configuring controller interfaces.


Step 4 Click Save Configuration to save your changes.


 

Applying an Access Control List to the Controller CPU

Follow these steps to apply an ACL to the controller CPU to control traffic to the CPU using the controller GUI.


Step 1 Choose Security > Access Control Lists > CPU Access Control Lists . The CPU Access Control Lists page appears (see Figure 5-35).

Figure 5-35 CPU Access Control Lists Page

 

Step 2 Check the Enable CPU ACL check box to enable a designated ACL to control the traffic to the controller CPU or uncheck the check box to disable the CPU ACL feature and remove any ACL that had been applied to the CPU. The default value is unchecked.

Step 3 From the ACL Name drop-down box, choose the ACL that will control the traffic to the controller CPU. None is the default value when the CPU ACL feature is disabled. If you choose None while the CPU ACL Enable check box is checked, an error message appears indicating that you must choose an ACL.


Note This parameter is available only if you checked the CPU ACL Enable check box.


Step 4 From the CPU ACL Mode drop-down box, choose the type of traffic (wired, wireless, or both) that will be restricted from reaching the controller CPU. Wired is the default value.


Note This parameter is available only if you checked the CPU ACL Enable check box.


Step 5 Click Apply to commit your changes.

Step 6 Click Save Configuration to save your changes.


 

Applying an Access Control List to a WLAN

Follow these steps to apply an ACL to a WLAN using the controller GUI.


Step 1 Choose WLANs to open the WLANs page.

Step 2 Click the ID number of the desired WLAN to open the WLANs > Edit page.

Step 3 Choose the Advanced tab to open the WLANs > Edit (Advanced) page (see Figure 5-36).

Figure 5-36 WLANs > Edit (Advanced) Page

 

Step 4 From the Override Interface ACL drop-down box, choose the ACL that you want to apply to this WLAN. The ACL that you choose overrides any ACL that is configured for the interface. None is the default value.


Note See the Configuring WLANs chapter for more information on configuring WLANs.


Step 5 Click Apply to commit your changes.

Step 6 Click Save Configuration to save your changes.


 

Applying a Preauthentication Access Control List to a WLAN

Follow these steps to apply a preauthentication ACL to a WLAN using the controller GUI.


Step 1 Choose WLANs to open the WLANs page.

Step 2 Click the ID number of the desired WLAN to open the WLANs > Edit page.

Step 3 Choose the Security and Layer 3 tabs to open the WLANs > Edit (Security > Layer 3) page (see Figure 5-37).

Figure 5-37 WLANs > Edit (Security > Layer 3) Page

 

Step 4 Check the Web Policy check box.

Step 5 From the Preauthentication ACL drop-down box, choose the desired ACL and click Apply . None is the default value.


Note See the Configuring WLANs chapter for more information on configuring WLANs.


Step 6 Click Save Configuration to save your changes.


 

Using the CLI to Configure Access Control Lists

Follow these steps to configure ACLs using the controller CLI.


Step 1 To see all of the ACLs that are configured on the controller, enter this command:

show acl summary

Information similar to the following appears:

ACL Counter Status Enabled
-------------------------------------
ACL Name Applied
------------------------- -----------
acl1 Yes
acl2 Yes
acl3 Yes

Step 2 To see detailed information for a particular ACL, enter this command:

show acl detailed acl_name

Information similar to the following appears:

 
Source Destination Source Port Dest Port
I Dir IP Address/Netmask IP Address/Netmask Prot Range Range DSCP Action Counter
- --- ------------------ ------------------ ---- ----------- -------- ----- ------ -------
1 Any 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0 Any 0-65535 0-65535 0 Deny 0
2 In 0.0.0.0/0.0.0.0 200.200.200.0/ 6 80-80 0-65535 Any Permit 0
255.255.255.0
 
DenyCounter : 0


The Counter field increments each time a packet matches an ACL rule, and the DenyCounter field increments each time a packet does not match any of the rules.

Step 3 To enable or disable ACL counters for your controller, enter this command:

config acl counter { start | stop }


Note If you want to clear the current counters for an ACL, enter this command:
clear acl counters acl_name



Note ACL counters are available only on the following controllers: 5500 series, 4400 series, Cisco WiSM, and Catalyst 3750G Integrated Wireless LAN Controller Switch.


Step 4 To add a new ACL, enter this command:

config acl create acl_name

You can enter up to 32 alphanumeric characters for the acl_name parameter.

Step 5 To add a rule for an ACL, enter this command:

config acl rule add acl_name rule_index

Step 6 To configure an ACL rule, enter this command:

config acl rule {

action acl_name rule_index {permit | deny} |

change index acl_name old_index new_index |

destination address acl_name rule_index ip_address netmask |

destination port range acl_name rule_index start_port end_port |

direction acl_name rule_index {in | out | any} |

dscp acl_name rule_index dscp |

protocol acl_name rule_index protocol |

source address acl_name rule_index ip_address netmask |

source port range acl_name rule_index start_port end_port |

swap index acl_name index_1 index_2}

Refer to Follow these steps to configure a rule for this ACL: of the “Using the GUI to Configure Access Control Lists” section for explanations of the rule parameters.

Step 7 To save your settings, enter this command:

save config


Note To delete an ACL, enter config acl delete acl_name. To delete an ACL rule, enter config acl rule delete acl_name rule_index.



 

Using the CLI to Apply Access Control Lists

Follow these steps to apply ACLs using the controller CLI.


Step 1 Perform any of the following:

  • To apply an ACL to a management, AP-manager, or dynamic interface, enter this command:

config interface acl {management | ap-manager | dynamic_interface_name} acl_name


Note To see the ACL that is applied to an interface, enter show interface detailed {management | ap-manager | dynamic_interface_name}. To remove an ACL that is applied to an interface, enter config interface acl {management | ap-manager | dynamic_interface_name} none.


See the Configuring Ports and Interfaces chapter for more information on configuring controller interfaces.

  • To apply an ACL to the data path, enter this command:

config acl apply acl_name

  • To apply an ACL to the controller CPU to restrict the type of traffic (wired, wireless, or both) reaching the CPU, enter this command:

config acl cpu acl_name {wired | wireless | both}


Note To see the ACL that is applied to the controller CPU, enter show acl cpu. To remove the ACL that is applied to the controller CPU, enter config acl cpu none.


  • To apply an ACL to a WLAN, enter this command:

config wlan acl wlan_id acl_name


Note To see the ACL that is applied to a WLAN, enter show wlan wlan_id. To remove the ACL that is applied to a WLAN, enter config wlan acl wlan_id none.


  • To apply a preauthentication ACL to a WLAN, enter this command:

config wlan security web-auth acl wlan_id acl_name

See the Configuring WLANs chapter for more information on configuring WLANs.

Step 2 To save your settings, enter this command:

save config


 

Configuring Management Frame Protection

Management frame protection (MFP) provides security for the otherwise unprotected and unencrypted 802.11 management messages passed between access points and clients. MFP provides both infrastructure and client support. Controller software release 4.1 or later supports both infrastructure and client MFP while controller software release 4.0 supports only infrastructure MFP.

  • Infrastructure MFP —Protects management frames by detecting adversaries that are invoking denial-of-service attacks, flooding the network with associations and probes, interjecting as rogue access points, and affecting network performance by attacking the QoS and radio measurement frames. It also provides a quick and effective means to detect and report phishing incidents.

Specifically, infrastructure MFP protects 802.11 session management functions by adding message integrity check information elements (MIC IEs) to the management frames emitted by access points (and not those emitted by clients), which are then validated by other access points in the network. Infrastructure MFP is passive. It can detect and report intrusions but has no means to stop them.

  • Client MFP —Shields authenticated clients from spoofed frames, preventing many of the common attacks against wireless LANs from becoming effective. Most attacks, such as deauthentication attacks, revert to simply degrading performance by contending with valid clients.

Specifically, client MFP encrypts management frames sent between access points and CCXv5 clients so that both the access points and clients can take preventative action by dropping spoofed class 3 management frames (that is, management frames passed between an access point and a client that is authenticated and associated). Client MFP leverages the security mechanisms defined by IEEE 802.11i to protect the following types of class 3 unicast management frames: disassociation, deauthentication, and QoS (WMM) action. Client MFP protects a client-access point session from the most common type of denial-of-service attack. It protects class 3 management frames by using the same encryption method used for the session’s data frames. If a frame received by the access point or client fails decryption, it is dropped, and the event is reported to the controller.

To use client MFP, clients must support CCXv5 MFP and must negotiate WPA2 using either TKIP or AES-CCMP. EAP or PSK may be used to obtain the PMK. CCKM and controller mobility management are used to distribute session keys between access points for Layer 2 and Layer 3 fast roaming.


Note To prevent attacks using broadcast frames, access points supporting CCXv5 will not emit any broadcast class 3 management frames (such as disassociation, deauthentication, or action). CCXv5 clients and access points must discard broadcast class 3 management frames.


Client MFP supplements infrastructure MFP rather than replaces it because infrastructure MFP continues to detect and report invalid unicast frames sent to clients that are not client-MFP capable as well as invalid class 1 and 2 management frames. Infrastructure MFP is applied only to management frames that are not protected by client MFP.

Infrastructure MFP consists of three main components:

  • Management frame protection—The access point protects the management frames it transmits by adding a MIC IE to each frame. Any attempt to copy, alter, or replay the frame invalidates the MIC, causing any receiving access point configured to detect MFP frames to report the discrepancy.
  • Management frame validation—In infrastructure MFP, the access point validates every management frame that it receives from other access points in the network. It ensures that the MIC IE is present (when the originator is configured to transmit MFP frames) and matches the content of the management frame. If it receives any frame that does not contain a valid MIC IE from a BSSID belonging to an access point that is configured to transmit MFP frames, it reports the discrepancy to the network management system. In order for the timestamps to operate properly, all controllers must be Network Transfer Protocol (NTP) synchronized.
  • Event reporting—The access point notifies the controller when it detects an anomaly, and the controller aggregates the received anomaly events and can report the results through SNMP traps to the network management system.

Note Error reports generated on a hybrid-REAP access point in stand-alone mode cannot be forwarded to the controller and are dropped.



Note Client MFP uses the same event reporting mechanisms as infrastructure MFP.


Infrastructure MFP is enabled by default and can be disabled globally. When you upgrade from a previous software release, infrastructure MFP is disabled globally if access point authentication is enabled because the two features are mutually exclusive. Once infrastructure MFP is enabled globally, signature generation (adding MICs to outbound frames) can be disabled for selected WLANs, and validation can be disabled for selected access points.

Client MFP is enabled by default on WLANs that are configured for WPA2. It can be disabled, or it can be made mandatory (in which case only clients that negotiate MFP are allowed to associate) on selected WLANs.

You can configure MFP through either the GUI or the CLI.

Guidelines for Using MFP

Follow these guidelines for using MFP:

  • MFP is supported for use with Cisco Aironet lightweight access points.
  • Lightweight access points support infrastructure MFP in local and monitor modes and in hybrid-REAP mode when the access point is connected to a controller. They support Client MFP in local, hybrid-REAP, and bridge modes.
  • Client MFP is supported for use only with CCXv5 clients using WPA2 with TKIP or AES-CCMP.
  • Non-CCXv5 clients may associate to a WLAN if client MFP is disabled or optional.

Using the GUI to Configure MFP

Follow these steps to configure MFP using the controller GUI.


Step 1 Choose Security > Wireless Protection Policies > AP Authentication/MFP. The AP Authentication Policy page appears (see Figure 5-38).

Figure 5-38 AP Authentication Policy Page

 

Step 2 To enable infrastructure MFP globally for the controller, choose Management Frame Protection from the Protection Type drop-down box.

Step 3 Click Apply to commit your changes.


Note If more than one controller is included in the mobility group, you must configure a Network Time Protocol (NTP) server on all controllers in the mobility group that are configured for infrastructure MFP.


Step 4 Follow these steps if you want to disable or re-enable infrastructure MFP for a particular WLAN after MFP has been enabled globally for the controller:

a. Choose WLANs.

b. Click the profile name of the desired WLAN. The WLANs > Edit page appears.

c. Choose Advanced . The WLANs > Edit (Advanced) page appears (see Figure 5-39).

Figure 5-39 WLANs > Edit (Advanced) Page

 

d. Uncheck the Infrastructure MFP Protection check box to disable MFP for this WLAN or check this check box to enable infrastructure MFP for this WLAN. The default value is enabled. If global MFP is disabled, a note appears in parentheses to the right of the check box.

e. Choose Disabled , Optional , or Required from the MFP Client Protection drop-down box. The default value is Optional. If you choose Required, clients are allowed to associate only if MFP is negotiated (that is, if WPA2 is configured on the controller and the client supports CCXv5 MFP and is also configured for WPA2).

f. Click Apply to commit your changes.

Step 5 Follow these steps if you want to disable or re-enable infrastructure MFP validation for a particular access point after infrastructure MFP has been enabled globally for the controller:

a. Choose Wireless > Access Points > All APs to open the All APs page.

b. Click the name of the desired access point.

c. Choose the Advanced tab. The All APs > Details for (Advanced) page appears.

d. Uncheck the MFP Frame Validation check box to disable MFP for this access point or check this check box to enable MFP for this access point. The default value is enabled. If global MFP is disabled, a note appears in parentheses to the right of the check box.

e. Click Apply to commit your changes.

Step 6 Click Save Configuration to save your settings.


 

Using the GUI to View MFP Settings

To see the controller’s current global MFP settings, choose Security > Wireless Protection Policies > Management Frame Protection. The Management Frame Protection Settings page appears (see Figure 5-40).

Figure 5-40 Management Frame Protection Settings Page

 

On this page, you can see the following MFP settings:

  • The Management Frame Protection field shows if infrastructure MFP is enabled globally for the controller.
  • The Controller Time Source Valid field indicates whether the controller time is set locally (by manually entering the time) or through an external source (such as NTP server). If the time is set by an external source, the value of this field is “True.” If the time is set locally, the value is “False.” The time source is used for validating the timestamp on management frames between access points of different controllers within a mobility group.
  • The Infrastructure Protection field shows if infrastructure MFP is enabled for individual WLANs.
  • The Client Protection field shows if client MFP is enabled for individual WLANs and whether it is optional or required.
  • The Infrastructure Validation field shows if infrastructure MFP is enabled for individual access points.

Using the CLI to Configure MFP

Use these commands to configure MFP using the controller CLI.

1. To enable or disable infrastructure MFP globally for the controller, enter this command:

config wps mfp infrastructure {enable | disable}

2. To enable or disable infrastructure MFP signature generation on a WLAN, enter this command:

config wlan mfp infrastructure protection {enable | disable} wlan_id


Note Signature generation is activated only if infrastructure MFP is globally enabled.


3. To enable or disable infrastructure MFP validation on an access point, enter this command:

config ap mfp infrastructure validation {enable | disable} Cisco_AP


Note MFP validation is activated only if infrastructure MFP is globally enabled.


4. To enable or disable client MFP on a specific WLAN, enter this command:

config wlan mfp client {enable | disable} wlan_id [ required ]

If you enable client MFP and use the optional required parameter, clients are allowed to associate only if MFP is negotiated.

Using the CLI to View MFP Settings

Use these commands to view MFP settings using the controller CLI.

1. To see the controller’s current MFP settings, enter this command:

show wps mfp summary

Information similar to the following appears:

Global Infrastructure MFP state.... Enabled
Controller Time Source Valid....... False
 
WLAN Infra. Client
WLAN ID WLAN Name Status Protection Protection
------- ---------- -------- ---------- -----------
1 test1 Enabled Disabled Disabled
2 open Enabled Enabled Required
3 testpsk Enabled *Enabled Optional but inactive (WPA2 not configured)
 
Infra. Operational --Infra. Capability--
AP Name Validation Radio State Protection Validation
-------- ----------- ----- ----------- ----------- -----------
mapAP Disabled a Up Full Full
b/g Up Full Full
rootAP2 Enabled a Up Full Full
b/g Up Full Full
HReap *Enabled b/g Up Full Full
a Down Full Full
 

2. To see the current MFP configuration for a particular WLAN, enter this command:

show wlan wlan_id

Information similar to the following appears:

WLAN Identifier........................... 1
Profile Name.............................. test1
Network Name (SSID)....................... test1
Status.................................... Enabled
MAC Filtering............................. Disabled
Broadcast SSID............................ Enabled
...
Local EAP Authentication.................. Enabled (Profile 'test')
Diagnostics Channel....................... Disabled
Security
 
802.11 Authentication:................. Open System
Static WEP Keys........................ Disabled
802.1X................................. Enabled
Encryption:.............................. 104-bit WEP
Wi-Fi Protected Access (WPA/WPA2)...... Disabled
CKIP .................................. Disabled
IP Security............................ Disabled
IP Security Passthru................... Disabled
Web Based Authentication............... Disabled
Web-Passthrough........................ Disabled
Conditional Web Redirect............... Disabled
Auto Anchor............................ Enabled
H-REAP Local Switching................. Disabled
Infrastructure MFP protection.......... Enabled
Client MFP............................. Required
...
 

3. To see the current MFP configuration for a particular access point, enter this command:

show ap config general AP_name

Information similar to the following appears:

Cisco AP Identifier.............................. 0
Cisco AP Name.................................... ap:52:c5:c0
AP Regulatory Domain............................. 80211bg: -N 80211a: -N
Switch Port Number .............................. 1
MAC Address...................................... 00:0b:85:52:c5:c0
IP Address Configuration......................... Static IP assigned
IP Address....................................... 10.67.73.33
IP NetMask....................................... 255.255.255.192
...
AP Mode ......................................... Local
Remote AP Debug ................................. Disabled
S/W Version .................................... 4.0.2.0
Boot Version ................................... 2.1.78.0
Mini IOS Version ................................ --
Stats Reporting Period .......................... 180
LED State........................................ Enabled
ILP Pre Standard Switch.......................... Disabled
ILP Power Injector............................... Disabled
Number Of Slots.................................. 2
AP Model......................................... AP1020
AP Serial Number................................. WCN09260057
AP Certificate Type.............................. Manufacture Installed
Management Frame Protection Validation .......... Enabled

4. To see whether client MFP is enabled for a specific client, enter this command:

show client detail client_mac

Client MAC Address............................... 00:14:1c:ed:34:72
...
Policy Type...................................... WPA2
Authentication Key Management.................... PSK
Encryption Cipher................................ CCMP (AES)
Management Frame Protection...................... Yes
...

5. To see MFP statistics for the controller, enter this command:

show wps mfp statistics

Information similar to the following appears:


Note This report contains no data unless an active attack is in progress. Examples of various error types are shown for illustration only. This table is cleared every 5 minutes when the data is forwarded to any network management stations.


BSSID Radio Validator AP Last Source Addr Found Error Type Count Frame Types
----------------- ----- ------------- ------------------ ------ ------------ ----- -------
00:0b:85:56:c1:a0 a jatwo-1000b 00:01:02:03:04:05 Infra Invalid MIC 183 Assoc Req
Probe Req
Beacon
Infra Out of seq 4 Assoc Req
Infra Unexpected MIC 85 Reassoc Req
Client Decrypt err 1974 Reassoc Req
Disassoc
Client Replay err 74 Assoc Req
Probe Req
Beacon
Client Invalid ICV 174 Reassoc Req
Disassoc
Client Invalid header 174 Assoc Req
Probe Req
Beacon
Client Brdcst disass 174 Reassoc Req
Disassoc
00:0b:85:56:c1:a0 b/g jatwo-1000b 00:01:02:03:04:05 Infra Out of seq 185 Reassoc Resp
Client Not encrypted 174 Assoc Resp
Probe Resp

Using the CLI to Debug MFP Issues

Use these commands if you experience any problems with MFP:

  • debug wps mfp ? { enable | disable }

where ? is one of the following:

client —Configures debugging for client MFP messages.

capwap —Configures debugging for MFP messages between the controller and access points.

detail —Configures detailed debugging for MFP messages.

report —Configures debugging for MFP reporting.

mm—Configures debugging for MFP mobility (inter-controller) messages.

Configuring Client Exclusion Policies

This section explains how to configure the controller to exclude clients under certain conditions using the controller GUI or CLI.

Using the GUI to Configure Client Exclusion Policies

Using the controller GUI, follow these steps to configure client exclusion policies.


Step 1 Choose Security > Wireless Protection Policies > Client Exclusion Policies to open the Client Exclusion Policies page (see Figure 5-41).

Figure 5-41 Client Exclusion Policies Page

 

Step 2 Check any of these check boxes if you want the controller to exclude clients for the condition specified. The default value for each exclusion policy is enabled.

  • Excessive 802.11 Association Failures —Clients are excluded on the sixth 802.11 association attempt, after five consecutive failures.
  • Excessive 802.11 Authentication Failures —Clients are excluded on the sixth 802.11 authentication attempt, after five consecutive failures.
  • Excessive 802.1X Authentication Failures —Clients are excluded on the fourth 802.1X authentication attempt, after three consecutive failures.
  • IP Theft or IP Reuse —Clients are excluded if the IP address is already assigned to another device.
  • Excessive Web Authentication Failures —Clients are excluded on the fourth web authentication attempt, after three consecutive failures.

Step 3 Click Apply to commit your changes.

Step 4 Click Save Configuration to save your changes.


 

Using the CLI to Configure Client Exclusion Policies

Using the controller CLI, follow these steps to configure client exclusion policies.


Step 1 To enable or disable the controller to exclude clients on the sixth 802.11 association attempt, after five consecutive failures, enter this command:

config wps client-exclusion 802.11-assoc { enable | disable }

Step 2 To enable or disable the controller to exclude clients on the sixth 802.11 authentication attempt, after five consecutive failures, enter this command:

config wps client-exclusion 802.11-auth { enable | disable }

Step 3 To enable or disable the controller to exclude clients on the fourth 802.1X authentication attempt, after three consecutive failures, enter this command:

config wps client-exclusion 802.1x-auth { enable | disable }

Step 4 To enable or disable the controller to exclude clients if the IP address is already assigned to another device, enter this command:

config wps client-exclusion ip-theft { enable | disable }

Step 5 To enable or disable the controller to exclude clients on the fourth web authentication attempt, after three consecutive failures, enter this command:

config wps client-exclusion web-auth { enable | disable }

Step 6 To enable or disable the controller to exclude clients for all of the above reasons, enter this command:

config wps client-exclusion all { enable | disable }

Step 7 To save your changes, enter this command:

save config

Step 8 To see the client exclusion policy configuration settings, enter this command:

show wps summary

Information similar to the following appears:

Auto-Immune
Auto-Immune.................................... Disabled
 
Client Exclusion Policy
Excessive 802.11-association failures.......... Enabled
Excessive 802.11-authentication failures....... Enabled
Excessive 802.1x-authentication................ Enabled
IP-theft....................................... Enabled
Excessive Web authentication failure........... Enabled
 
Signature Policy
Signature Processing........................ Enabled


 

Configuring Identity Networking

These sections explain the identity networking feature, how it is configured, and the expected behavior for various security policies:

Identity Networking Overview

In most wireless LAN systems, each WLAN has a static policy that applies to all clients associated with an SSID. Although powerful, this method has limitations because it requires clients to associate with different SSIDs to inherit different QoS and security policies.

However, the Cisco Wireless LAN Solution supports identity networking, which allows the network to advertise a single SSID but allows specific users to inherit different QoS or security policies based on their user profiles. The specific policies that you can control using identity networking include:

  • Quality of Service. When present in a RADIUS Access Accept, the QoS-Level value overrides the QoS value specified in the WLAN profile.
  • ACL. When the ACL attribute is present in the RADIUS Access Accept, the system applies the ACL-Name to the client station after it authenticates. This overrides any ACLs that are assigned to the interface.
  • VLAN. When a VLAN Interface-Name or VLAN-Tag is present in a RADIUS Access Accept, the system places the client on a specific interface.

Note The VLAN feature only supports MAC filtering, 802.1X, and WPA. The VLAN feature does not support web authentication or IPSec.


  • Tunnel Attributes.

Note When any of the other RADIUS attributes (QoS-Level, ACL-Name, Interface-Name, or VLAN-Tag), which are described later in this section, are returned, the Tunnel Attributes must also be returned.


The operating system’s local MAC filter database has been extended to include the interface name, allowing local MAC filters to specify to which interface the client should be assigned. A separate RADIUS server can also be used, but the RADIUS server must be defined using the Security menus.

RADIUS Attributes Used in Identity Networking

This section explains the RADIUS attributes used in identity networking.

QoS-Level

This attribute indicates the Quality of Service level to be applied to the mobile client's traffic within the switching fabric, as well as over the air. This example shows a summary of the QoS-Level Attribute format. The fields are transmitted from left to right.

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Vendor-Id
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Vendor-Id (cont.) | Vendor type | Vendor length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| QoS Level |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Type – 26 for Vendor-Specific
  • Length – 10
  • Vendor-Id – 14179
  • Vendor type – 2
  • Vendor length – 4
  • Value – Three octets:

– 3 – Bronze (Background)

– 0 – Silver (Best Effort)

– 1 – Gold (Video)

– 2 – Platinum (Voice)

ACL-Name

This attribute indicates the ACL name to be applied to the client. A summary of the ACL-Name Attribute format is shown below. The fields are transmitted from left to right.

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Vendor-Id
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Vendor-Id (cont.) | Vendor type | Vendor length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ACL Name...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  • Type – 26 for Vendor-Specific
  • Length – >7
  • Vendor-Id – 14179
  • Vendor type – 6
  • Vendor length – >0
  • Value – A string that includes the name of the ACL to use for the client

Interface-Name

This attribute indicates the VLAN Interface a client is to be associated to. A summary of the Interface-Name Attribute format is shown below. The fields are transmitted from left to right.

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Vendor-Id
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Vendor-Id (cont.) | Vendor type | Vendor length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface Name...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  • Type – 26 for Vendor-Specific
  • Length – >7
  • Vendor-Id – 14179
  • Vendor type – 5
  • Vendor length – >0
  • Value – A string that includes the name of the interface the client is to be assigned to.

Note This Attribute only works when MAC filtering is enabled or if 802.1X or WPA is used as the security policy.


VLAN-Tag

This attribute indicates the group ID for a particular tunneled session, and is also known as the Tunnel-Private-Group-ID attribute.

This attribute might be included in the Access-Request packet if the tunnel initiator can predetermine the group resulting from a particular connection and should be included in the Access-Accept packet if this tunnel session is to be treated as belonging to a particular private group. Private groups may be used to associate a tunneled session with a particular group of users. For example, it may be used to facilitate routing of unregistered IP addresses through a particular interface. It should be included in Accounting-Request packets which contain Acct-Status-Type attributes with values of either Start or Stop and which pertain to a tunneled session.

A summary of the Tunnel-Private-Group-ID Attribute format is shown below. The fields are transmitted from left to right.

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Tag | String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Type – 81 for Tunnel-Private-Group-ID.
  • Length – >= 3
  • Tag – The Tag field is one octet in length and is intended to provide a means of grouping attributes in the same packet which refer to the same tunnel. If the value of the Tag field is greater than 0x00 and less than or equal to 0x1F, it should be interpreted as indicating which tunnel (of several alternatives) this attribute pertains. If the Tag field is greater than 0x1F, it should be interpreted as the first byte of the following String field.
  • String – This field must be present. The group is represented by the String field. There is no restriction on the format of group IDs.

Tunnel Attributes


Note When any of the other RADIUS attributes (QoS-Level, ACL-Name, Interface-Name, or VLAN-Tag) are returned, the Tunnel Attributes must also be returned.


Reference RFC2868 defines RADIUS tunnel attributes used for authentication and authorization, and RFC2867 defines tunnel attributes used for accounting. Where the IEEE 802.1X Authenticator supports tunneling, a compulsory tunnel may be set up for the Supplicant as a result of the authentication.

In particular, it may be desirable to allow a port to be placed into a particular Virtual LAN (VLAN), defined in IEEE8021Q, based on the result of the authentication. This can be used, for example, to allow a wireless host to remain on the same VLAN as it moves within a campus network.

The RADIUS server typically indicates the desired VLAN by including tunnel attributes within the Access-Accept. However, the IEEE 802.1X Authenticator may also provide a hint as to the VLAN to be assigned to the Supplicant by including Tunnel attributes within the Access- Request.

For use in VLAN assignment, the following tunnel attributes are used:

  • Tunnel-Type=VLAN (13)
  • Tunnel-Medium-Type=802
  • Tunnel-Private-Group-ID=VLANID

Note that the VLANID is 12-bits, taking a value between 1 and 4094, inclusive. Since the Tunnel-Private-Group-ID is of type String as defined in RFC2868, for use with IEEE 802.1X, the VLANID integer value is encoded as a string.

When Tunnel attributes are sent, it is necessary to fill in the Tag field. As noted in RFC2868, section 3.1:

  • The Tag field is one octet in length and is intended to provide a means of grouping attributes in the same packet which refer to the same tunnel. Valid values for this field are 0x01 through 0x1F, inclusive. If the Tag field is unused, it must be zero (0x00).
  • For use with Tunnel-Client-Endpoint, Tunnel-Server-Endpoint, Tunnel-Private-Group-ID, Tunnel-Assignment-ID, Tunnel-Client-Auth-ID or Tunnel-Server-Auth-ID attributes (but not Tunnel-Type, Tunnel-Medium-Type, Tunnel-Password, or Tunnel-Preference), a tag field of greater than 0x1F is interpreted as the first octet of the following field.
  • Unless alternative tunnel types are provided, (e.g. for IEEE 802.1X Authenticators that may support tunneling but not VLANs), it is only necessary for tunnel attributes to specify a single tunnel. As a result, where it is only desired to specify the VLANID, the tag field should be set to zero (0x00) in all tunnel attributes. Where alternative tunnel types are to be provided, tag values between 0x01 and 0x1F should be chosen.

Configuring AAA Override

The Allow AAA Override option of a WLAN allows you to configure the WLAN for identity networking. It allows you to apply VLAN tagging, QoS, and ACLs to individual clients based on the returned RADIUS attributes from the AAA server.


Note If a client moves to a new interface due to the AAA override and then you apply an ACL to that interface, the ACL does not take effect until the client reauthenticates. To work around this issue, apply the ACL and then enable the WLAN so that all clients connect to the ACL already configured on the interface, or disable and then re-enable the WLAN after you apply the interface so that the clients can reauthenticate.


Most of the configuration for allowing AAA override is done at the RADIUS server, where you should configure the Access Control Server (ACS) with the override properties you would like it to return to the controller (for example, Interface-Name, QoS-Level, and VLAN-Tag).

On the controller, simply enable the Allow AAA Override configuration parameter using the GUI or CLI. Enabling this parameter allows the controller to accept the attributes returned by the RADIUS server. The controller then applies these attributes to its clients.

Updating the RADIUS Server Dictionary File for Proper QoS Values

If you are using a Steel-Belted RADIUS (SBR), FreeRadius, or similar RADIUS server, clients may not obtain the correct QoS values after the AAA override feature is enabled. For these servers, which allow you to edit the dictionary file, you need to update the file to reflect the proper QoS values: Silver = 0, Gold = 1, Platinum = 2, and Bronze = 3. Follow the steps below to do so.


Note This issue does not apply to the Cisco Secure Access Control Server (ACS).



Step 1 Stop the SBR service (or other RADIUS service).

Step 2 Save the following text to the Radius_Install_Directory\Service folder as ciscowlan.dct:

################################################################################
# CiscoWLAN.dct- Cisco Wireless Lan Controllers
#
# (See README.DCT for more details on the format of this file)
################################################################################
 
# Dictionary - Cisco WLAN Controllers
#
# Start with the standard Radius specification attributes
#
@radius.dct
#
# Standard attributes supported by Airespace
#
# Define additional vendor specific attributes (VSAs)
#
 
MACRO Airespace-VSA(t,s) 26 [vid=14179 type1=%t% len1=+2 data=%s%]
 
ATTRIBUTE WLAN-Id Airespace-VSA(1, integer) cr
ATTRIBUTE Aire-QoS-Level Airespace-VSA(2, integer) r
VALUE Aire-QoS-Level Bronze 3
VALUE Aire-QoS-Level Silver 0
VALUE Aire-QoS-Level Gold 1
VALUE Aire-QoS-Level Platinum 2
 
ATTRIBUTE DSCP Airespace-VSA(3, integer) r
ATTRIBUTE 802.1P-Tag Airespace-VSA(4, integer) r
ATTRIBUTE Interface-Name Airespace-VSA(5, string) r
ATTRIBUTE ACL-Name Airespace-VSA(6, string) r
 
# This should be last.
 
################################################################################
# CiscoWLAN.dct - Cisco WLC dictionary
##############################################################################

Step 3 Open the dictiona.dcm file (in the same directory) and add the line “@ciscowlan.dct.”

Step 4 Save and close the dictiona.dcm file.

Step 5 Open the vendor.ini file (in the same directory) and add the following text:

vendor-product = Cisco WLAN Controller
dictionary = ciscowlan
ignore-ports = no
port-number-usage = per-port-type
help-id =

Step 6 Save and close the vendor.ini file.

Step 7 Start the SBR service (or other RADIUS service).

Step 8 Launch the SBR Administrator (or other RADIUS Administrator).

Step 9 Add a RADIUS client (if not already added). Choose Cisco WLAN Controller from the Make/Model drop-down box.


 

Using the GUI to Configure AAA Override

Follow these steps to configure AAA override using the controller GUI.


Step 1 Choose WLANs to open the WLANs page.

Step 2 Click the ID number of the WLAN that you want to configure. The WLANs > Edit page appears.

Step 3 Choose the Advanced tab to open the WLANs > Edit (Advanced) page (see Figure 5-42).

Figure 5-42 WLANs > Edit (Advanced) Page

 

Step 4 Check the Allow AAA Override check box to enable AAA override or uncheck it to disable this feature. The default value is disabled.

Step 5 Click Apply to commit your changes.

Step 6 Click Save Configuration to save your changes.


 

Using the CLI to Configure AAA Override

Use this command to enable or disable AAA override using the controller CLI:

config wlan aaa-override {enable | disable} wlan_id

For wlan_id , enter an ID from 1 to 16.

Managing Rogue Devices

This section describes security solutions for rogue devices. A rogue device is an unknown access point or client that is detected by managed access points in your network as not belonging to your system.

Challenges

Rogue access points can disrupt wireless LAN operations by hijacking legitimate clients and using plain-text or other denial-of-service or man-in-the-middle attacks. That is, a hacker can use a rogue access point to capture sensitive information, such as usernames and passwords. The hacker can then transmit a series of clear-to-send (CTS) frames. This action mimics an access point informing a particular client to transmit and instructing all others to wait, which results in legitimate clients being unable to access network resources. Therefore, wireless LAN service providers have a strong interest in banning rogue access points from the air space.

Because rogue access points are inexpensive and readily available, employees sometimes plug unauthorized rogue access points into existing LANs and build ad-hoc wireless networks without IT department knowledge or consent. These rogue access points can be a serious breach of network security as they can be plugged into a network port behind the corporate firewall. Because employees generally do not enable any security settings on the rogue access point, it is easy for unauthorized users to use the access point to intercept network traffic and hijack client sessions. Even more alarming, wireless users frequently publish unsecure access point locations, increasing the odds of having enterprise security breached.

Detecting Rogue Devices

The controller continuously monitors all nearby access points and automatically discovers and collects information on rogue access points and clients. When the controller discovers a rogue access point, it uses the Rogue Location Discovery Protocol (RLDP) to determine if the rogue is attached to your network.

You can configure the controller to use RLDP on all access points or only on access points configured for monitor (listen-only) mode. The latter option facilitates automated rogue access point detection in a crowded RF space, allowing monitoring without creating unnecessary interference and without affecting regular data access point functionality. If you configure the controller to use RLDP on all access points, the controller always chooses the monitor access point for RLDP operation if a monitor access point and a local (data) access point are both nearby. If RLDP determines that the rogue is on your network, you can choose to either manually or automatically contain the detected rogue.

Classifying Rogue Access Points

Controller software release 5.0 or later improves the classification and reporting of rogue access points through the use of rogue states and user-defined classification rules that enable rogues to automatically move between states. In previous releases, the controller listed all rogue access points on one page sorted by MAC address or BSSID. Now you can create rules that enable the controller to organize and display rogue access points as Friendly, Malicious, or Unclassified.

By default, none of the classification rules are enabled. Therefore, all unknown access points are categorized as Unclassified. When you create a rule, configure conditions for it, and enable the rule, the unclassified access points are reclassified. Whenever you change a rule, it is applied to all access points (friendly, malicious, and unclassified) in the Alert state only.


Note Rule-based rogue classification does not apply to ad-hoc rogues and rogue clients.



Note The 5500 series controllers support up to 2000 rogues (including acknowledged rogues); the 4400 series controllers, Cisco WiSM, and Catalyst 3750G Integrated Wireless LAN Controller Switch support up to 625 rogues; and the 2100 series controllers and Controller Network Module for Integrated Services Routers support up to 125 rogues. Each controller limits the number of rogue containments to three per radio (or six per radio for access points in monitor mode).


When the controller receives a rogue report from one of its managed access points, it responds as follows:

1. The controller verifies that the unknown access point is in the friendly MAC address list. If it is, the controller classifies the access point as Friendly.

2. If the unknown access point is not in the friendly MAC address list, the controller starts applying rogue classification rules.

3. If the rogue is already classified as Malicious, Alert or Friendly, Internal or External, the controller does not reclassify it automatically. If the rogue is classified differently, the controller reclassifies it automatically only if the rogue is in the Alert state.

4. The controller applies the first rule based on priority. If the rogue access point matches the criteria specified by the rule, the controller classifies the rogue according to the classification type configured for the rule.

5. If the rogue access point does not match any of the configured rules, the controller classifies the rogue as Unclassified.

6. The controller repeats the previous steps for all rogue access points.

7. If RLDP determines that the rogue access point is on the network, the controller marks the rogue state as Threat and classifies it as Malicious automatically, even if no rules are configured. You can then manually contain the rogue (unless you have configured RLDP to automatically contain the rogue), which would change the rogue state to Contained. If the rogue access point is not on the network, the controller marks the rogue state as Alert, and you can manually contain the rogue.

8. If desired, you can manually move the access point to a different classification type and rogue state.

Table 5-8 shows the rogue states that can be adopted by a rogue access point in a particular classification type.

Table 5-8 Classification Mapping

Rule-Based Classification Type
Rogue States

Friendly

  • Internal—If the unknown access point is inside the network and poses no threat to WLAN security, you would manually configure it as Friendly, Internal. For example, the access points in your lab network.
  • External—If the unknown access point is outside the network and poses no threat to WLAN security, you would manually configure it as Friendly, External. For example, the access points belonging to a neighboring coffee shop.
  • Alert—The unknown access point is moved to Alert if it is not in the neighbor list or in the user-configured friendly MAC list.

Malicious

  • Alert—The unknown access point is moved to Alert if it is not in the neighbor list or in the user-configured friendly MAC list.
  • Threat—The unknown access point is found to be on the network and poses a threat to WLAN security.
  • Contained—The unknown access point is contained.
  • Contained Pending—The unknown access point is marked Contained, but the action is delayed due to unavailable resources.

Unclassified

  • Pending—On first detection, the unknown access point is put in the Pending state for 3 minutes. During this time, the managed access points determine if the unknown access point is a neighbor access point.
  • Alert—The unknown access point is moved to Alert if it is not in the neighbor list or in the user-configured friendly MAC list.
  • Contained—The unknown access point is contained.
  • Contained Pending—The unknown access point is marked Contained, but the action is delayed due to unavailable resources.

If you upgrade to controller software release 5.0 or later, the classification and state of the rogue access points are reconfigured as follows:

  • From Known to Friendly, Internal.
  • From Acknowledged to Friendly, External.
  • From Contained to Malicious, Contained.

As mentioned previously, the controller can automatically change the classification type and rogue state of an unknown access point based on user-defined rules, or you can manually move the unknown access point to a different classification type and rogue state. Table 5-9 shows the allowable classification types and rogue states from and to which an unknown access point can be configured.

Table 5-9 Allowable Classification Type and Rogue State Transitions

From
To

Friendly (Internal, External, Alert)

Malicious (Alert)

Friendly (Internal, External, Alert)

Unclassified (Alert)

Friendly (Alert)

Friendly (Internal, External)

Malicious (Alert, Threat)

Friendly (Internal, External)

Malicious (Contained, Contained Pending)

Malicious (Alert)

Unclassified (Alert, Threat)

Friendly (Internal, External)

Unclassified (Contained, Contained Pending)

Unclassified (Alert)

Unclassified (Alert)

Malicious (Alert)

If the rogue state is Contained, you have to uncontain the rogue access point before you can change the classification type. If you want to move a rogue access point from Malicious to Unclassified, you must delete the access point and allow the controller to reclassify it.

WCS Interaction

WCS software release 5.0 or later also supports rule-based classification. WCS uses the classification rules configured on the controller. The controller sends traps to WCS after the following events:

  • If an unknown access point moves to Friendly for the first time, the controller sends a trap to WCS only if the rogue state is Alert. It does not send a trap if the rogue state is Internal or External.
  • If a rogue entry is removed after the timeout expires, the controller sends a trap to WCS for rogue access points categorized as Malicious (Alert, Threat) or Unclassified (Alert). The controller does not remove rogue entries with the following rogue states: Contained, Contained Pending, Internal, and External.

Configuring RLDP

You can configure RLDP to automatically detect and contain rogue devices using the controller GUI or CLI.

Using the GUI to Configure RLDP

Using the controller GUI, follow these steps to configure RLDP.


Step 1 Make sure that rogue detection is enabled on the desired access points. Rogue detection is enabled by default for all access points joined to the controller (except for OfficeExtend access points). However, in controller software release 6.0, you can enable or disable it for individual access points by checking or unchecking the Rogue Detection check box on the All APs > Details for (Advanced) page.


Note Rogue detection is disabled by default for OfficeExtend access points because these access points, which are deployed in a home environment, are likely to detect a large number of rogue devices.


Step 2 Choose Security > Wireless Protection Policies > Rogue Policies > General to open the Rogue Policies page (see Figure 5-43).

Figure 5-43 Rogue Policies Page

 

Step 3 Choose one of the following options from the Rogue Location Discovery Protocol drop-down box:

  • Disable —Disables RLDP on all access points. This is the default value.
  • All APs —Enables RLDP on all access points.
  • Monitor Mode APs —Enables RLDP only on access points in monitor mode.

Step 4 In the Expiration Timeout for Rogue AP and Rogue Client Entries field, enter the number of seconds after which the rogue access point and client entries expire and are removed from the list. The valid range is 240 to 3600 seconds, and the default value is 1200 seconds.


Note If a rogue access point or client entry times out, it is removed from the controller only if its rogue state is Alert or Threat for any classification type.


Step 5 If desired, check the Validate Rogue Clients Against AAA check box to use the AAA server or local database to validate if rogue clients are valid clients. The default value is unchecked.

Step 6 If desired, check the Detect and Report Ad-Hoc Networks check box to enable ad-hoc rogue detection and reporting. The default value is checked.

Step 7 If you want the controller to automatically contain certain rogue devices, check the following check boxes. Otherwise, leave the check boxes unchecked, which is the default value.


Caution When you enable any of these parameters, the following warning appears: “Using this feature may have legal consequences. Do you want to continue?” The 2.4- and 5-GHz frequencies in the Industrial, Scientific, and Medical (ISM) band are open to the public and can be used without a license. As such, containing devices on another party’s network could have legal consequences.

  • Rogue on Wire —Automatically contains rogues that are detected on the wired network.
  • Using Our SSID —Automatically contains rogues that are advertising your network’s SSID. If you leave this parameter unchecked, the controller only generates an alarm when such a rogue is detected.
  • Valid Client on Rogue AP —Automatically contains a rogue access point to which trusted clients are associated. If you leave this parameter unchecked, the controller only generates an alarm when such a rogue is detected.
  • AdHoc Rogue AP —Automatically contains adhoc networks detected by the controller. If you leave this parameter unchecked, the controller only generates an alarm when such a network is detected.

Step 8 Click Apply to commit your changes.

Step 9 Click Save Configuration to save your changes.


 

Using the CLI to Configure RLDP

Using the controller CLI, follow these steps to configure RLDP.


Step 1 Make sure that rogue detection is enabled on the desired access points. Rogue detection is enabled by default for all access points joined to the controller (except for OfficeExtend access points). However, in controller software release 6.0, you can enable or disable it for individual access points by entering this command: config rogue detection { enable | disable } Cisco_AP.


Note To see the current rogue detection configuration for a specific access point, enter this command: show ap config general Cisco_AP.



Note Rogue detection is disabled by default for OfficeExtend access points because these access points, which are deployed in a home environment, are likely to detect a large number of rogue devices.


Step 2 To enable, disable, or initiate RLDP, enter these commands:

  • config rogue ap rldp enable alarm-only —Enables RLDP on all access points .
  • config rogue ap rldp enable alarm-only monitor_ap_only—Enables RLDP only on access points in monitor mode.
  • config rogue ap rldp initiate rogue_mac_address—Initiates RLDP on a specific rogue access point.
  • config rogue ap rldp disable—Disables RLDP on all access points.

Step 3 To specify the number of seconds after which the rogue access point and client entries expire and are removed from the list, enter this command:

config rogue ap timeout seconds

The valid range for the seconds parameter is 240 to 3600 seconds (inclusive), and the default value is 1200 seconds.


Note If a rogue access point or client entry times out, it is removed from the controller only if its rogue state is Alert or Threat for any classification type.


Step 4 To enable or disable ad-hoc rogue detection and reporting, enter this command:

config rogue adhoc { enable | disable }

Step 5 To enable or disable the AAA server or local database to validate if rogue clients are valid clients, enter this command:

config rogue client aaa { enable | disable }

Step 6 If you want the controller to automatically contain certain rogue devices, enter these commands.


Caution When you enter any of these commands, the following warning appears: “Using this feature may have legal consequences. Do you want to continue?” The 2.4- and 5-GHz frequencies in the Industrial, Scientific, and Medical (ISM) band are open to the public and can be used without a license. As such, containing devices on another party’s network could have legal consequences.

  • config rogue ap rldp enable auto-contain —Automatically contains rogues that are detected on the wired network.
  • config rogue ap ssid auto-contain —Automatically contains rogues that are advertising your network’s SSID.

Note If you want the controller to only generate an alarm when such a rogue is detected, enter this command: config rogue ap ssid alarm.


  • config rogue ap valid-client auto-contain —Automatically contains a rogue access point to which trusted clients are associated.

Note If you want the controller to only generate an alarm when such a rogue is detected, enter this command: config rogue ap valid-client alarm.


  • config rogue adhoc auto-contain —Automatically contains adhoc networks detected by the controller.

Note If you want the controller to only generate an alarm when such a network is detected, enter this command: config rogue adhoc alert.


Step 7 To save your changes, enter this command:

save config


 

Configuring Rogue Classification Rules

You can configure up to 64 rogue classification rules per controller using the controller GUI or CLI.

Using the GUI to Configure Rogue Classification Rules

Using the controller GUI, follow these steps to configure rogue classification rules.


Step 1 Choose Security > Wireless Protection Policies > Rogue Policies > Rogue Rules to open the Rogue Rules page (see Figure 5-44).

Figure 5-44 Rogue Rules Page

 

Any rules that have already been created are listed in priority order. The name, type, and status of each rule is provided.


Note If you ever want to delete a rule, hover your cursor over the blue drop-down arrow for that rule and click Remove.


Step 2 To create a new rule, follow these steps:

a. Click Add Rule . An Add Rule section appears at the top of the page.

b. In the Rule Name field, enter a name for the new rule. Make sure that the name does not contain any spaces.

c. From the Rule Type drop-down box, choose Friendly or Malicious to classify rogue access points matching this rule as friendly or malicious.

d. Click Add to add this rule to the list of existing rules, or click Cancel to discard this new rule.

Step 3 To edit a rule, follow these steps:

a. Click the name of the rule that you want to edit. The Rogue Rule > Edit page appears (see Figure 5-45).

Figure 5-45 Rogue Rule > Edit Page

 

b. From the Type drop-down box, choose Friendly or Malicious to classify rogue access points matching this rule as friendly or malicious.

c. From the Match Operation field, choose one of the following:

  • Match All—If this rule is enabled, a detected rogue access point must meet all of the conditions specified by the rule in order for the rule to be matched and the rogue to adopt the classification type of the rule.
  • Match Any— If this rule is enabled, a detected rogue access point must meet any of the conditions specified by the rule in order for the rule to be matched and the rogue to adopt the classification type of the rule. This is the default value.

d. To enable this rule, check the Enable Rule check box. The default value is unchecked.

e. From the Add Condition drop-down box, choose one or more of the following conditions that the rogue access point must meet and click Add Condition :

  • SSID —Requires that the rogue access point have a specific user-configured SSID. If you choose this option, enter the SSID in the User Configured SSID field, and click Add SSID .

Note To delete an SSID, highlight the SSID and click Remove.


  • RSSI —Requires that the rogue access point have a minimum received signal strength indication (RSSI) value. For example, if the rogue access point has an RSSI that is greater than the configured value, then the access point could be classified as malicious. If you choose this option, enter the minimum RSSI value in the Minimum RSSI field. The valid range is –95 to –50 dBm (inclusive), and the default value is 0 dBm.
  • Duration —Requires that the rogue access point be detected for a minimum period of time. If you choose this option, enter a value for the minimum detection period in the Time Duration field. The valid range is 0 to 3600 seconds (inclusive), and the default value is 0 seconds.
  • Client Count —Requires that a minimum number of clients be associated to the rogue access point. For example, if the number of clients associated to the rogue access point is greater than or equal to the configured value, then the access point could be classified as malicious. If you choose this option, enter the minimum number of clients to be associated to the rogue access point in the Minimum Number of Rogue Clients field. The valid range is 1 to 10 (inclusive), and the default value is 0.
  • No Encryption —Requires that the rogue access point’s advertised WLAN does not have encryption enabled. If a rogue access point has encryption disabled, it is likely that more clients will try to associate to it. No further configuration is required for this option.

Note WCS refers to this option as “Open Authentication.”


  • Managed SSID —Requires that the rogue access point’s managed SSID (the SSID configured for the WLAN) be known to the controller. No further configuration is required for this option.

Note The SSID and Managed SSID conditions cannot be used with the Match All operation as these two SSID lists are mutually exclusive. If you define a rule with Match All and have these two conditions configured, the rogue access points are never classified as friendly or malicious because one of the conditions can never be met.


You can add up to six conditions per rule. When you add a condition, it appears under the Conditions section (see Figure 5-46).

Figure 5-46 Rogue Rule > Edit Page

 


Note If you ever want to delete a condition from this rule, hover your cursor over the blue drop-down arrow for that condition and click Remove.


f. Click Apply to commit your changes.

Step 4 Click Save Configuration to save your changes.

Step 5 If you want to change the order in which rogue classification rules are applied, follow these steps:

a. Click Back to return to the Rogue Rules page.

b. Click Change Priority to access the Rogue Rules > Priority page (see Figure 5-47).

Figure 5-47 Rogue Rules > Priority Page

 

The rogue rules are listed in priority order in the Change Rules Priority edit box.

c. Highlight the rule for which you want to change the priority, and click Up to raise its priority in the list or Down to lower its priority in the list.

d. Continue to move the rules up or down until the rules are in the desired order.

e. Click Apply to commit your changes.

Step 6 If you want to classify any rogue access points as friendly and add them to the friendly MAC address list, follow these steps:

a. Choose Security > Wireless Protection Policies > Rogue Policies > Friendly Rogue to access the Friendly Rogue > Create page (see Figure 5-48).

Figure 5-48 Friendly Rogue > Create Page

 

b. In the MAC Address field, enter the MAC address of the friendly rogue access point.

c. Click Apply to commit your changes.

d. Click Save Configuration to save your changes. This access point is added to the controller’s list of friendly access points and should now appear on the Friendly Rogue APs page.


 

Using the CLI to Configure Rogue Classification Rules

Using the controller CLI, follow these steps to configure rogue classification rules.


Step 1 To create a rule, enter this command:

config rogue rule add ap priority priority classify { friendly | malicious } rule_name


Note If you later want to change the priority of this rule and shift others in the list accordingly, enter this command: config rogue rule priority priority rule_name. If you later want to change the classification of this rule, enter this command: config rogue rule classify {friendly | malicious} rule_name.



Note If you ever want to delete all of the rogue classification rules or a specific rule, enter this command: config rogue rule delete {all | rule_name}.


Step 2 To disable all rules or a specific rule, enter this command:

config rogue rule disable { all | rule_name }


Note A rule must be disabled before you can modify its attributes.


Step 3 To add conditions to a rule that the rogue access point must meet, enter this command:

config rogue rule condition ap set condition_type condition_value rule_name

where condition_type is one of the following:

  • ssid —Requires that the rogue access point have a specific SSID. You should add SSIDs that are not managed by the controller. If you choose this option, enter the SSID for the condition_value parameter . The SSID is added to the user-configured SSID list.

Note If you ever want to delete all of the SSIDs or a specific SSID from the user-configured SSID list, enter this command: config rogue rule condition ap delete ssid {all | ssid} rule_name.


  • rssi —Requires that the rogue access point have a minimum RSSI value. For example, if the rogue access point has an RSSI that is greater than the configured value, then the access point could be classified as malicious. If you choose this option, enter the minimum RSSI value for the condition_value parameter . The valid range is –95 to –50 dBm (inclusive), and the default value is 0 dBm.
  • duration —Requires that the rogue access point be detected for a minimum period of time. If you choose this option, enter a value for the minimum detection period for the condition_value parameter . The valid range is 0 to 3600 seconds (inclusive), and the default value is 0 seconds.
  • client-count —Requires that a minimum number of clients be associated to the rogue access point. For example, if the number of clients associated to the rogue access point is greater than or equal to the configured value, then the access point could be classified as malicious. If you choose this option, enter the minimum number of clients to be associated to the rogue access point for the condition_value parameter . The valid range is 1 to 10 (inclusive), and the default value is 0.
  • no-encryption —Requires that the rogue access point’s advertised WLAN does not have encryption enabled. A condition_value parameter is not required for this option.
  • managed-ssid —Requires that the rogue access point’s SSID be known to the controller. A condition_value parameter is not required for this option.

Note You can add up to six conditions per rule. If you ever want to delete all of the conditions or a specific condition from a rule, enter this command: config rogue rule condition ap delete {all | condition_type} condition_value rule_name.


Step 4 To specify whether a detected rogue access point must meet all or any of the conditions specified by the rule in order for the rule to be matched and the rogue access point to adopt the classification type of the rule, enter this command:

config rogue rule match { all | any } rule_name

Step 5 To enable all rules or a specific rule, enter this command:

config rogue rule enable { all | rule_name }


Note For your changes to become effective, you must enable the rule.


Step 6 To add a new friendly access point entry to the friendly MAC address list or delete an existing friendly access point entry from the list, enter this command:

config rogue ap friendly { add | delete } ap_mac_address

Step 7 To save your changes, enter this command:

save config

Step 8 To view the rogue classification rules that are configured on the controller, enter this command:

show rogue rule summary

Information similar to the following appears:

Priority Rule Name State Type Match Hit Count
-------- ----------- -------- ------------ ------ ---------
1 Rule1 Disabled Friendly Any 0
2 Rule2 Enabled Malicious Any 339
3 Rule3 Disabled Friendly Any 0

Step 9 To view detailed information for a specific rogue classification rule, enter this command:

show rogue rule detailed rule_name

Information similar to the following appears:

Priority......................................... 2
Rule Name........................................ Rule2
State............................................ Enabled
Type............................................. Malicious
Match Operation.................................. Any
Hit Count........................................ 352
Total Conditions................................. 6
Condition 1
type......................................... Client-count
value........................................ 10
Condition 2
type......................................... Duration
value (seconds).............................. 2000
Condition 3
type......................................... Managed-ssid
value........................................ Enabled
Condition 4
type......................................... No-encryption
value........................................ Enabled
Condition 5
type......................................... Rssi
value (dBm).................................. -50
Condition 6
type......................................... Ssid
SSID Count................................... 1
SSID 1.................................... test


 

Viewing and Classifying Rogue Devices

Using the controller GUI or CLI, you can view rogue devices and determine the action that the controller should take.


Caution When you choose to contain a rogue device, the following warning appears: “There may be legal issues following this containment. Are you sure you want to continue?” The 2.4- and 5-GHz frequencies in the Industrial, Scientific, and Medical (ISM) band are open to the public and can be used without a license. As such, containing devices on another party’s network could have legal consequences.

Using the GUI to View and Classify Rogue Devices

Using the controller GUI, follow these steps to view and classify rogue devices.


Step 1 Choose Monitor > Rogues .

Step 2 Choose the following options to view the different types of rogue access points detected by the controller:

  • Friendly APs
  • Malicious APs
  • Unclassified APs

A page similar to the following appears (see Figure 5-49).

Figure 5-49 Friendly Rogue APs Page

 

The Friendly Rogue APs page, Malicious Rogue APs page, and Unclassified Rogue APs page provide the following information: the MAC address and SSID of the rogue access point, the number of clients connected to the rogue access point, the number of radios that detected the rogue access point, and the current status of the rogue access point.


Note To remove acknowledged rogues from the database, go to the WLC UI and change the rogue state to Alert Unknown and click Save Configuration. If the rogue is no longer present, it will disappear from the database in 20 minutes.



Note If you ever want to delete a rogue access point from one of these pages, hover your cursor over the blue drop-down arrow and click Remove.


Step 3 To obtain more details about a rogue access point, click the MAC address of the access point. The Rogue AP Detail page appears (see Figure 5-50).

Figure 5-50 Rogue AP Detail Page

 

This page provides the following information: the MAC address of the rogue device, the type of rogue device (such as an access point), whether the rogue device is on the wired network, the dates and times when the rogue device was first and last reported, and the current status of the device.

Step 4 The Class Type field shows the current classification for this rogue access point:

  • Friendly —An unknown access point that matches the user-defined friendly rules or an existing known and acknowledged rogue access point. Friendly access points cannot be contained.
  • Malicious —An unknown access point that matches the user-defined malicious rules or is moved manually by the user from the Friendly or Unclassified classification type.

Note Once an access point is classified as Malicious, you cannot apply rules to it in the future, and it cannot be moved to another classification type. If you want to move a malicious access point to the Unclassified classification type, you must delete the access point and allow the controller to reclassify it.


  • Unclassified —An unknown access point that does not match the user-defined friendly or malicious rules. An unclassified access point can be contained. It can also be moved to the Friendly or Malicious classification type automatically in accordance with user-defined rules or manually by the user.

If you want to change the classification of this device, choose a different classification from the Class Type drop-down box.


Note A rogue access point cannot be moved to another class if its current state is Contain.


Step 5 From the Update Status drop-down box, choose one of the following options to specify how the controller should respond to this rogue access point:

  • Internal —The controller trusts this rogue access point. This option is available if the Class Type is set to Friendly.
  • External —The controller acknowledges the presence of this rogue access point. This option is available if the Class Type is set to Friendly.
  • Contain —The controller contains the offending device so that its signals no longer interfere with authorized clients. This option is available if the Class Type is set to Malicious or Unclassified.
  • Alert —The controller forwards an immediate alert to the system administrator for further action. This option is available if the Class Type is set to Malicious or Unclassified.

The bottom of the page provides information on both the access points that detected this rogue access point and any clients that are associated to it. To see more details for any of the clients, click Edit to open the Rogue Client Detail page.

Step 6 Click Apply to commit your changes.

Step 7 Click Save Configuration to save your changes.

Step 8 To view any rogue clients that are connected to the controller, choose Rogue Clients . The Rogue Clients page appears. This page shows the following information: the MAC address of the rogue client, the MAC address of the access point to which the rogue client is associated, the SSID of the rogue client, the number of radios that detected the rogue client, the date and time when the rogue client was last reported, and the current status of the rogue client.

Step 9 To obtain more details about a rogue client, click the MAC address of the client. The Rogue Client Detail page appears (see Figure 5-51).

Figure 5-51 Rogue Client Detail Page

 

This page provides the following information: the MAC address of the rogue client, the MAC address of the rogue access point to which this client is associated, the SSID and IP address of the rogue client, the dates and times when the rogue client was first and last reported, and the current status of the rogue client.

Step 10 From the Update Status drop-down box, choose one of the following options to specify how the controller should respond to this rogue client:

  • Contain —The controller contains the offending device so that its signals no longer interfere with authorized clients.
  • Alert —The controller forwards an immediate alert to the system administrator for further action.

The bottom of the page provides information on the access points that detected this rogue client.

Step 11 Click Apply to commit your changes.

Step 12 If desired, you can test the controller’s connection to this client by clicking Ping .

Step 13 Click Save Configuration to save your changes.

Step 14 To view any ad-hoc rogues detected by the controller, choose Adhoc Rogues . The Adhoc Rogues page appears (see Figure 5-52).

Figure 5-52 Adhoc Rogues Page

 

This page shows the following information: the MAC address, BSSID, and SSID of the ad-hoc rogue, the number of radios that detected the ad-hoc rogue, and the current status of the ad-hoc rogue.

Step 15 To obtain more details about an ad-hoc rogue, click the MAC address of the rogue. The Adhoc Rogue Detail page appears (see Figure 5-53).

Figure 5-53 Adhoc Rogue Detail Page

 

This page provides the following information: the MAC address and BSSID of the adhoc rogue, the dates and times when the rogue was first and last reported, and the current status of the rogue.

Step 16 From the Update Status drop-down box, choose one of the following options to specify how the controller should respond to this ad-hoc rogue:

  • Contain —The controller contains the offending device so that its signals no longer interfere with authorized clients.
  • Alert —The controller forwards an immediate alert to the system administrator for further action.
  • Internal —The controller trusts this rogue access point.
  • External —The controller acknowledges the presence of this rogue access point.

Step 17 From the Maximum Number of APs to Contain the Rogue drop-down box, choose one of the following options to specify the maximum number of access points used to contain this ad-hoc rogue: 1 , 2 , 3 , or 4.

The bottom of the page provides information on the access points that detected this ad-hoc rogue.

Step 18 Click Apply to commit your changes.

Step 19 Click Save Configuration to save your changes.

Step 20 To view any access points that have been configured to be ignored, choose Rogue AP Ignore-List . The Rogue AP Ignore-List page appears (see Figure 5-54).

Figure 5-54 Rogue AP Ignore-List Page

 

This page shows the MAC addresses of any access points that are configured to be ignored. The rogue-ignore list contains a list of any autonomous access points that have been manually added to WCS maps by WCS users. The controller regards these autonomous access points as rogues even though WCS is managing them. The rogue-ignore list allows the controller to ignore these access points. The list is updated as follows:

  • When the controller receives a rogue report, it checks to see if the unknown access point is in the rogue-ignore access point list.
  • If the unknown access point is in the rogue-ignore list, the controller ignores this access point and continues to process other rogue access points.
  • If the unknown access point is not in the rogue-ignore list, the controller sends a trap to WCS. If WCS finds this access point in its autonomous access point list, WCS sends a command to the controller to add this access point to the rogue-ignore list. This access point is then ignored in future rogue reports.
  • If a user removes an autonomous access point from WCS, WCS sends a command to the controller to remove this access point from the rogue-ignore list.


 

Using the CLI to View and Classify Rogue Devices

Using the controller CLI, enter these commands to view and classify rogue devices.

1. To view a list of all rogue access points detected by the controller, enter this command:

show rogue ap summary

Information similar to the following appears:

Rogue Location Discovery Protocol................ Enabled
Rogue AP timeout................................. 1200
 
MAC Address Classification # APs # Clients Last Heard
----------------- ------------------ ----- --------- -----------------------
00:0a:b8:7f:08:c0 Friendly 0 0 Not Heard
00:0b:85:01:30:3f Malicious 1 0 Fri Nov 30 11:30:59 2007
00:0b:85:63:70:6f Malicious 1 0 Fri Nov 30 11:20:14 2007
00:0b:85:63:cd:bf Malicious 1 0 Fri Nov 30 11:23:12 2007
...

2. To view a list of the friendly rogue access points detected by the controller, enter this command:

show rogue ap friendly summary

Information similar to the following appears:

Number of APs.................................... 1
 
MAC Address State # APs # Clients Last Heard
----------------- ------------------ ----- --------- ---------------------------
00:0a:b8:7f:08:c0 Internal 1 0 Tue Nov 27 13:52:04 2007

3. To view a list of the malicious rogue access points detected by the controller, enter this command:

show rogue ap malicious summary

Information similar to the following appears:

Number of APs.................................... 264
 
MAC Address State # APs # Clients Last Heard
----------------- ------------------ ----- --------- -----------------------
00:0b:85:01:30:3f Alert 1 0 Fri Nov 30 11:20:01 2007
00:0b:85:63:70:6f Alert 1 0 Fri Nov 30 11:20:14 2007
00:0b:85:63:cd:bf Alert 1 0 Fri Nov 30 11:23:12 2007
00:0b:85:63:cd:dd Alert 1 0 Fri Nov 30 11:27:03 2007
00:0b:85:63:cd:de Alert 1 0 Fri Nov 30 11:26:23 2007
00:0b:85:63:cd:df Alert 1 0 Fri Nov 30 11:26:50 2007
...

4. To view a list of the unclassified rogue access points detected by the controller, enter this command:

show rogue ap unclassified summary

Information similar to the following appears:

Number of APs.................................... 164
 
MAC Address State # APs # Clients Last Heard
----------------- ------------------ ----- --------- -----------------------
00:0b:85:63:cd:bd Alert 1 0 Fri Nov 30 11:12:52 2007
00:0b:85:63:cd:e7 Alert 1 0 Fri Nov 30 11:29:01 2007
00:0b:85:63:ce:05 Alert 1 0 Fri Nov 30 11:26:23 2007
00:0b:85:63:ce:07 Alert 1 0 Fri Nov 30 11:26:23 2007
...

5. To view detailed information for a specific rogue access point, enter this command:

show rogue ap detailed ap_mac_address

Information similar to the following appears:

Rogue BSSID...................................... 00:0b:85:63:d1:94
Is Rogue on Wired Network........................ No
Classification................................... Unclassified
State............................................ Alert
First Time Rogue was Reported.................... Fri Nov 30 11:24:56 2007
Last Time Rogue was Reported..................... Fri Nov 30 11:24:56 2007
Reported By
AP 1
MAC Address.............................. 00:12:44:bb:25:d0
Name..................................... HReap
Radio Type............................... 802.11g
SSID..................................... edu-eap
Channel.................................. 6
RSSI..................................... -61 dBm
SNR...................................... -1 dB
Encryption............................... Enabled
ShortPreamble............................ Enabled
WPA Support.............................. Disabled
Last reported by this AP.............. Fri Nov 30 11:24:56 2007

6. To see the rogue report (which shows the number of rogue devices detected on different channel widths) for a specific 802.11a/n radio, enter this command:

show ap auto-rf 802.11a Cisco_AP

Information similar to the following appears:

Number Of Slots.................................. 2
AP Name.......................................... AP2
MAC Address...................................... 00:1b:d5:13:39:74
Radio Type..................................... RADIO_TYPE_80211a
Noise Information
Noise Profile................................ PASSED
Channel 36................................... -80 dBm
Channel 40................................... -78 dBm
...
Interference Information
Interference Profile......................... PASSED
Channel 36................................... -81 dBm @ 8 % busy
Channel 40................................... -66 dBm @ 4 % busy
...
Rogue Histogram (20/40_ABOVE/40_BELOW)
Channel 36................................... 21/ 1/ 0
Channel 40................................... 7/ 0/ 0
...

7. To view a list of all rogue clients that are associated to a rogue access point, enter this command:

show rogue ap clients ap_mac_address

Information similar to the following appears:

MAC Address State # APs Last Heard
----------------- ------------------ ----- -------------------------
00:bb:cd:12:ab:ff Alert 1 Fri Nov 30 11:26:23 2007

8. To view a list of all rogue clients detected by the controller, enter this command:

show rogue client summary

Information similar to the following appears:

Validate rogue clients against AAA............... Disabled
 
MAC Address State # APs Last Heard
----------------- ------------------ ----- -----------------------
00:0a:8a:7d:f5:f5 Alert 1 Mon Dec 3 21:56:36 2007
00:18:ba:78:c4:44 Alert 1 Mon Dec 3 21:59:36 2007
00:18:ba:78:c4:d1 Alert 1 Mon Dec 3 21:47:36 2007
00:18:ba:78:ca:f8 Alert 1 Mon Dec 3 22:02:36 2007
...

9. To view detailed information for a specific rogue client, enter this command:

show rogue client detailed client_mac_address

Information similar to the following appears:

Rogue BSSID...................................... 00:0b:85:23:ea:d1
State............................................ Alert
First Time Rogue was Reported.................... Mon Dec 3 21:50:36 2007
Last Time Rogue was Reported..................... Mon Dec 3 21:50:36 2007
Rogue Client IP address.......................... Not known
Reported By
AP 1
MAC Address.............................. 00:15:c7:82:b6:b0
Name..................................... AP0016.47b2.31ea
Radio Type............................... 802.11a
RSSI..................................... -71 dBm
SNR...................................... 23 dB
Channel.................................. 149
Last reported by this AP.............. Mon Dec 3 21:50:36 2007

10. To view a list of all ad-hoc rogues detected by the controller, enter this command:

show rogue adhoc summary

Information similar to the following appears:

Detect and report Ad-Hoc Networks................ Enabled
 
Client MAC Address Adhoc BSSID State # APs Last Heard
------------------ ------------------ ----------- ------- ------------------------
00:bb:cd:12:ab:ff super Alert 1 Fri Nov 30 11:26:23 2007
 

11. To view detailed information for a specific ad-hoc rogue, enter this command:

show rogue adhoc detailed rogue_mac_address

Information similar to the following appears:

Adhoc Rogue MAC address.......................... 02:61:ce:8e:a8:8c
Adhoc Rogue BSSID................................ 02:61:ce:8e:a8:8c
State............................................ Alert
First Time Adhoc Rogue was Reported.............. Tue Dec 11 20:45:45 2007
Last Time Adhoc Rogue was Reported............... Tue Dec 11 20:45:45 2007
Reported By
AP 1
MAC Address.............................. 00:14:1b:58:4a:e0
Name..................................... AP0014.1ced.2a60
Radio Type............................... 802.11b
SSID..................................... rf4k3ap
Channel.................................. 3
RSSI..................................... -56 dBm
SNR...................................... 15 dB
Encryption............................... Disabled
ShortPreamble............................ Disabled
WPA Support.............................. Disabled
Last reported by this AP............... Tue Dec 11 20:45:45 2007

12. To view a list of rogue access points that are configured to be ignored, enter this command:

show rogue ignore-list

Information similar to the following appears:

MAC Address
------------------
10:bb:17:cc:01:ef

Note Refer to To view any access points that have been configured to be ignored, choose Rogue AP Ignore-List. The Rogue AP Ignore-List page appears (see Figure 5-54). of the “Using the GUI to View and Classify Rogue Devices” section for more information on the rogue-ignore access point list.


13. To classify a rogue access point as friendly, enter this command:

config rogue ap classify friendly state { internal | external } ap_mac_address

where

  • internal means that the controller trusts this rogue access point.
  • external means that the controller acknowledges the presence of this rogue access point.

Note A rogue access point cannot be moved to the Friendly class if its current state is Contain.


14. To mark a rogue access point as malicious, enter this command:

config rogue ap classify malicious state { alert | contain } ap_mac_address

where

  • contain means that the controller contains the offending device so that its signals no longer interfere with authorized clients.
  • alert means that the controller forwards an immediate alert to the system administrator for further action.

Note A rogue access point cannot be moved to the Malicious class if its current state is Contain.


15. To mark a rogue access point as unclassified, enter this command:

config rogue ap classify unclassified state { alert | contain } ap_mac_address


Note A rogue access point cannot be moved to the Unclassified class if its current state is Contain.


16. To specify how the controller should respond to a rogue client, enter one of these commands:

  • config rogue client alert client_mac_address— The controller forwards an immediate alert to the system administrator for further action.
  • config rogue client contain client_mac_address— The controller contains the offending device so that its signals no longer interfere with authorized clients.

17. To specify how the controller should respond to an adhoc rogue, enter one these commands:

  • config rogue adhoc alert rogue_mac_address—The controller forwards an immediate alert to the system administrator for further action.
  • config rogue adhoc contain rogue_mac_address—The controller contains the offending device so that its signals no longer interfere with authorized clients.
  • config rogue adhoc external rogue_mac_address— The controller acknowledges the presence of this ad-hoc rogue.

18. To save your changes, enter this command:

save config


 

Configuring IDS

The Cisco intrusion detection system/intrusion prevention system (CIDS/IPS) instructs controllers to block certain clients from accessing the wireless network when attacks involving these clients are detected at Layer 3 through Layer 7. This system offers significant network protection by helping to detect, classify, and stop threats including worms, spyware/adware, network viruses, and application abuse. Two methods are available to detect potential attacks:


Note The Cisco wireless intrusion prevention system (wIPS) is also supported on the controller through WCS. Refer to the “Configuring wIPS” section for more information.


Configuring IDS Sensors

You can configure IDS sensors to detect various types of IP-level attacks in your network. When the sensors identify an attack, they can alert the controller to shun the offending client. When you add a new IDS sensor, you register the controller with that IDS sensor so that the controller can query the sensor to get the list of shunned clients. You can configure IDS sensor registration through either the GUI or the CLI.

Using the GUI to Configure IDS Sensors

Follow these steps to configure IDS sensors using the controller GUI.


Step 1 Choose Security > Advanced > CIDs > Sensors to open the CIDS Sensors List page appears (see Figure 5-55).

Figure 5-55 CIDS Sensors List Page

 

This page lists all of the IDS sensors that have been configured for this controller.


Note If you want to delete an existing sensor, hover your cursor over the blue drop-down arrow for that sensor and choose Remove.


Step 2 To add an IDS sensor to the list, click New. The CIDS Sensor Add page appears (see Figure 5-56).

Figure 5-56 CIDS Sensor Add Page

 

Step 3 The controller supports up to five IDS sensors. From the Index drop-down box, choose a number (between 1 and 5) to determine the sequence in which the controller consults the IDS sensors. For example, if you choose 1, the controller consults this IDS sensor first.

Step 4 In the Server Address field, enter the IP address of your IDS server.

Step 5 The Port field contains the number of the HTTPS port through which the controller is to communicate with the IDS sensor. Cisco recommends that you set this parameter to 443 because the sensor uses this value to communicate by default.

Default: 443

Range: 1 to 65535

Step 6 In the Username field, enter the name that the controller uses to authenticate to the IDS sensor.


Note This username must be configured on the IDS sensor and have at least a read-only privilege.


Step 7 In the Password and Confirm Password fields, enter the password that the controller uses to authenticate to the IDS sensor.

Step 8 In the Query Interval field, enter the time (in seconds) for how often the controller should query the IDS server for IDS events.

Default: 60 seconds

Range: 10 to 3600 seconds

Step 9 Check the State check box to register the controller with this IDS sensor or uncheck this check box to disable registration. The default value is disabled.

Step 10 Enter a 40-hexadecimal-character security key in the Fingerprint field. This key is used to verify the validity of the sensor and is used to prevent security attacks.


Note Do not include the colons that appear between every two bytes within the key. For example, enter AABBCCDD instead of AA:BB:CC:DD.


Step 11 Click Apply. Your new IDS sensor appears in the list of sensors on the CIDS Sensors List page.

Step 12 Click Save Configuration to save your changes.


 

Using the CLI to Configure IDS Sensors

Follow these steps to configure IDS sensors using the controller CLI.


Step 1 To add an IDS sensor, enter this command:

config wps cids-sensor add index ids_ip_address username password

The index parameter determines the sequence in which the controller consults the IDS sensors. The controller supports up to five IDS sensors. Enter a number (between 1 and 5) to determine the priority of this sensor. For example, if you enter 1, the controller consults this IDS sensor first.


Note The username must be configured on the IDS sensor and have at least a read-only privilege.


Step 2 (Optional) To specify the number of the HTTPS port through which the controller is to communicate with the IDS sensor, enter this command:

config wps cids-sensor port index port_number

For the port-number parameter, you can enter a value between 1 and 65535. The default value is 443. This step is optional because Cisco recommends that you use the default value of 443. The sensor uses this value to communicate by default.

Step 3 To specify how often the controller should query the IDS server for IDS events, enter this command:

config wps cids-sensor interval index interval

For the interval parameter, you can enter a value between 10 and 3600 seconds. The default value is 60 seconds.

Step 4 To enter a 40-hexadecimal-character security key used to verify the validity of the sensor, enter this command:

config wps cids-sensor fingerprint index sha1 fingerprint

You can get the value of the fingerprint by entering show tls fingerprint on the sensor’s console.


Note Make sure to include the colons that appear between every two bytes within the key (for example, AA:BB:CC:DD).


Step 5 To enable or disable this controller’s registration with an IDS sensor, enter this command:

config wps cids-sensor {enable | disable} index

Step 6 To enable or disable protection from DoS attacks, enter this command:

config wps auto-immune { enable | disable }

The default value is disabled.


Note A potential attacker can use specially crafted packets to mislead the IDS into treating a legitimate client as an attacker. It causes the controller to wrongly disconnect this legitimate client and launches a DoS attack. The auto-immune feature, when enabled, is designed to protect against such attacks. However, conversations using Cisco 792x phones might be interrupted intermittently when the auto-immune feature is enabled. If you experience frequent disruptions when using 792x phones, you might want to disable this feature.


Step 7 To save your settings, enter this command:

save config

Step 8 To view the IDS sensor configuration, enter one of these commands:

  • show wps cids-sensor summary
  • show wps cids-sensor detail index

The second command provides more information than the first.

Step 9 To see the auto-immune configuration setting, enter this command:

show wps summary

Information similar to the following appears:

Auto-Immune
Auto-Immune.................................... Disabled
 
Client Exclusion Policy
Excessive 802.11-association failures.......... Enabled
Excessive 802.11-authentication failures....... Enabled
Excessive 802.1x-authentication................ Enabled
IP-theft....................................... Enabled
Excessive Web authentication failure........... Enabled
 
Signature Policy
Signature Processing........................... Enabled

Step 10 To obtain debug information regarding IDS sensor configuration, enter this command:

debug wps cids enable


Note If you ever want to delete or change the configuration of a sensor, you must first disable it by entering config wps cids-sensor disable index. To then delete the sensor, enter config wps cids-sensor delete index.



 

Viewing Shunned Clients

When an IDS sensor detects a suspicious client, it alerts the controller to shun this client. The shun entry is distributed to all controllers within the same mobility group. If the client to be shunned is currently joined to a controller in this mobility group, the anchor controller adds this client to the dynamic exclusion list, and the foreign controller removes the client. The next time the client tries to connect to a controller, the anchor controller rejects the handoff and informs the foreign controller that the client is being excluded. See the Configuring Mobility Groups chapter for more information on mobility groups.

You can view the list of clients that the IDS sensors have identified to be shunned through either the GUI or the CLI.

Using the GUI to View Shunned Clients

Follow these steps to view the list of clients that the IDS sensors have identified to be shunned using the controller GUI.


Step 1 Choose Security > Advanced > CIDS > Shunned Clients. The CIDS Shun List page appears (see Figure 5-57).

Figure 5-57 CIDS Shun List Page

 

This page shows the IP address and MAC address of each shunned client, the length of time that the client’s data packets should be blocked by the controller as requested by the IDS sensor, and the IP address of the IDS sensor that discovered the client.

Step 2 Click Re-sync to purge and reset the list as desired.


 

Using the CLI to View Shunned Clients

Follow these steps to view the list of clients that the IDS sensors have identified to be shunned using the controller CLI.


Step 1 To view the list of clients to be shunned, enter this command:

show wps shun-list

Step 2 To force the controller to sync up with other controllers in the mobility group for the shun list, enter this command:

config wps shun-list re-sync


 

Configuring IDS Signatures

You can configure IDS signatures, or bit-pattern matching rules used to identify various types of attacks in incoming 802.11 packets, on the controller. When the signatures are enabled, the access points joined to the controller perform signature analysis on the received 802.11 data or management frames and report any discrepancies to the controller. If an attack is detected, appropriate mitigation is initiated.

Cisco supports 17 standard signatures on the controller as shown on the Standard Signatures page (see Figure 5-58).

Figure 5-58 Standard Signatures Page

 

These signatures are divided into six main groups. The first four groups contain management signatures, and the last two groups contain data signatures.

  • Broadcast deauthentication frame signatures —During a broadcast deauthentication frame attack, a hacker sends an 802.11 deauthentication frame to the broadcast MAC destination address of another client. This attack causes the destination client to disassociate from the access point and lose its connection. If this action is repeated, the client experiences a denial of service. When the broadcast deauthentication frame signature (precedence 1) is used to detect such an attack, the access point listens for clients transmitting broadcast deauthentication frames that match the characteristics of the signature. If the access point detects such an attack, it alerts the controller. Depending on how your system is configured, the offending device is contained so that its signals no longer interfere with authorized clients, or the controller forwards an immediate alert to the system administrator for further action, or both.
  • NULL probe response signatures —During a NULL probe response attack, a hacker sends a NULL probe response to a wireless client adapter. As a result, the client adapter locks up. When a NULL probe response signature is used to detect such an attack, the access point identifies the wireless client and alerts the controller. The NULL probe response signatures include:

– NULL probe resp 1 (precedence 2)

– NULL probe resp 2 (precedence 3)

  • Management frame flood signatures —During a management frame flood attack, a hacker floods an access point with 802.11 management frames. The result is a denial of service to all clients associated or attempting to associate to the access point. This attack can be implemented with different types of management frames: association requests, authentication requests, reassociation requests, probe requests, disassociation requests, deauthentication requests, and reserved management subtypes.

When a management frame flood signature is used to detect such an attack, the access point identifies management frames matching the entire characteristic of the signature. If the frequency of these frames is greater than the value of the frequency set in the signature, an access point that hears these frames triggers an alarm. The controller generates a trap and forwards it to WCS.

The management frame flood signatures include:

– Assoc flood (precedence 4)

– Auth flood (precedence 5)

– Reassoc flood (precedence 6)

– Broadcast probe flood (precedence 7)

– Disassoc flood (precedence 8)

– Deauth flood (precedence 9)

– Reserved mgmt 7 (precedence 10)

– Reserved mgmt F (precedence 11)

The reserved management frame signatures 7 and F are reserved for future use.

  • Wellenreiter signature —Wellenreiter is a wireless LAN scanning and discovery utility that can reveal access point and client information. When the Wellenreiter signature (precedence 17) is used to detect such an attack, the access point identifies the offending device and alerts the controller.
  • EAPOL flood signature— During an EAPOL flood attack, a hacker floods the air with EAPOL frames containing 802.1X authentication requests. As a result, the 802.1X authentication server cannot respond to all of the requests and fails to send successful authentication responses to valid clients. The result is a denial of service to all affected clients. When the EAPOL flood signature (precedence 12) is used to detect such an attack, the access point waits until the maximum number of allowed EAPOL packets is exceeded. It then alerts the controller and proceeds with the appropriate mitigation.
  • NetStumbler signatures —NetStumbler is a wireless LAN scanning utility that reports access point broadcast information (such as operating channel, RSSI information, adapter manufacturer name, SSID, WEP status, and the latitude and longitude of the device running NetStumbler when a GPS is attached). If NetStumbler succeeds in authenticating and associating to an access point, it sends a data frame with the following strings, depending on the NetStumbler version:
  • Version
    String

    3.2.0

    “Flurble gronk bloopit, bnip Frundletrune”

    3.2.3

    “All your 802.11b are belong to us”

    3.3.0

    Sends white spaces

When a NetStumbler signature is used to detect such an attack, the access point identifies the offending device and alerts the controller. The NetStumbler signatures include:

– NetStumbler 3.2.0 (precedence 13)

– NetStumbler 3.2.3 (precedence 14)

– NetStumbler 3.3.0 (precedence 15)

– NetStumbler generic (precedence 16)

A standard signature file exists on the controller by default. You can upload this signature file from the controller, or you can create a custom signature file and download it to the controller or modify the standard signature file to create a custom signature. You can configure signatures through either the GUI or the CLI.

Using the GUI to Configure IDS Signatures

You must follow these instructions to configure signatures using the controller GUI:

  • Uploading or downloading IDS signatures
  • Enabling or disabling IDS signatures
  • Viewing IDS signature events

Using the GUI to Upload or Download IDS Signatures

Follow these steps to upload or download IDS signatures using the controller GUI.


Step 1 If desired, create your own custom signature file.

Step 2 Make sure that you have a Trivial File Transfer Protocol (TFTP) server available. Keep these guidelines in mind when setting up a TFTP server:

  • If you are downloading through the service port, the TFTP server must be on the same subnet as the service port because the service port is not routable, or you must create static routes on the controller.
  • If you are downloading through the distribution system network port, the TFTP server can be on the same or a different subnet because the distribution system port is routable.
  • A third-party TFTP server cannot run on the same computer as the Cisco WCS because the WCS built-in TFTP server and the third-party TFTP server require the same communication port.

Step 3 If you are downloading a custom signature file (*.sig), copy it to the default directory on your TFTP server.

Step 4 Choose Commands to open the Download File to Controller page (see Figure 5-59).

Figure 5-59 Download File to Controller Page

 

Step 5 Perform one of the following:

  • If you want to download a custom signature file to the controller, choose Signature File from the File Type drop-down box on the Download File to Controller page.
  • If you want to upload a standard signature file from the controller, choose Upload File and then Signature File from the File Type drop-down box on the Upload File from Controller page.

Step 6 From the Transfer Mode drop-down box, choose TFTP or FTP .

Step 7 In the IP Address field, enter the IP address of the TFTP or FTP server.

Step 8 If you are downloading the signature file using a TFTP server, enter the maximum number of times the controller should attempt to download the signature file in the Maximum Retries field.

Range: 1 to 254

Default: 10

Step 9 If you are downloading the signature file using a TFTP server, enter the amount of time in seconds before the controller times out while attempting to download the signature file in the Timeout field.

Range: 1 to 254 seconds

Default: 6 seconds

Step 10 In the File Path field, enter the path of the signature file to be downloaded or uploaded. The default value is “/.”

Step 11 In the File Name field, enter the name of the signature file to be downloaded or uploaded.


Note When uploading signatures, the controller uses the filename you specify as a base name and then adds “_std.sig” and “_custom.sig” to it in order to upload both standard and custom signature files to the TFTP server. For example, if you upload a signature file called “ids1,” the controller automatically generates and uploads both ids1_std.sig and ids1_custom.sig to the TFTP server. If desired, you can then modify ids1_custom.sig on the TFTP server (making sure to set “Revision = custom”) and download it by itself.


Step 12 If you are using an FTP server, follow these steps:

a. In the Server Login Username field, enter the username to log into the FTP server.

b. In the Server Login Password field, enter the password to log into the FTP server.

c. In the Server Port Number field, enter the port number on the FTP server through which the download occurs. The default value is 21.

Step 13 Choose Download to download the signature file to the controller or Upload to upload the signature file from the controller.


 

Using the GUI to Enable or Disable IDS Signatures

Follow these steps to enable or disable IDS signatures using the controller GUI.


Step 1 Choose Security > Wireless Protection Policies > Standard Signatures or Custom Signatures. The Standard Signatures page (see Figure 5-60) or the Custom Signatures page appears.

Figure 5-60 Standard Signatures Page

 

The Standard Signatures page shows the list of Cisco-supplied signatures that are currently on the controller. The Custom Signatures page shows the list of customer-supplied signatures that are currently on the controller. This page shows the following information for each signature:

  • The order, or precedence, in which the controller performs the signature checks.
  • The name of the signature, which specifies the type of attack that the signature is trying to detect.
  • The frame type on which the signature is looking for a security attack. The possible frame types are data and management.
  • The action that the controller is directed to take when the signature detects an attack. The possible action are None and Report.
  • The state of the signature, which indicates whether the signature is enabled to detect security attacks.
  • A description of the type of attack that the signature is trying to detect.

Step 2 Perform one of the following:

  • If you want to allow all signatures (both standard and custom) whose individual states are set to Enabled to remain enabled, check the Enable Check for All Standard and Custom Signatures check box at the top of either the Standard Signatures page or the Custom Signatures page. The default value is enabled (or checked). When the signatures are enabled, the access points joined to the controller perform signature analysis on the received 802.11 data or management frames and report any discrepancies to the controller.
  • If you want to disable all signatures (both standard and custom) on the controller, uncheck the Enable Check for All Standard and Custom Signatures check box. If you uncheck this check box, all signatures are disabled, even the ones whose individual states are set to Enabled.

Step 3 Click Apply to commit your changes.

Step 4 To enable or disable an individual signature, click the precedence number of the desired signature. The Standard Signature (or Custom Signature) > Detail page appears (see Figure 5-61).

Figure 5-61 Standard Signature > Detail Page

 

This page shows much of the same information as the Standard Signatures and Custom Signatures pages but provides these additional details:

  • The tracking method used by the access points to perform signature analysis and report the results to the controller. The possible values are:

– Per Signature—Signature analysis and pattern matching are tracked and reported on a per-signature and per-channel basis.

– Per MAC—Signature analysis and pattern matching are tracked and reported separately for individual client MAC addresses on a per-channel basis.

– Per Signature and MAC—Signature analysis and pattern matching are tracked and reported on a per-signature and per-channel basis as well as on a per-MAC-address and per-channel basis.

  • The pattern that is being used to detect a security attack

Step 5 In the Measurement Interval field, enter the number of seconds that must elapse before the signature frequency threshold is reached within the configured interval. The range is 1 to 3600 seconds, and the default value varies per signature.

Step 6 In the Signature Frequency field, enter the number of matching packets per interval that must be identified at the individual access point level before an attack is detected. The range is 1 to 32,000 packets per interval, and the default value varies per signature.

Step 7 In the Signature MAC Frequency field, enter the number of matching packets per interval that must be identified per client per access point before an attack is detected. The range is 1 to 32,000 packets per interval, and the default value varies per signature.

Step 8 In the Quiet Time field, enter the length of time (in seconds) after which no attacks have been detected at the individual access point level and the alarm can stop. The range is 60 to 32,000 seconds, and the default value varies per signature.

Step 9 Check the State check box to enable this signature to detect security attacks or uncheck it to disable this signature. The default value is enabled (or checked).

Step 10 Click Apply to commit your changes. The Standard Signatures or Custom Signatures page reflects the signature’s updated state.

Step 11 Click Save Configuration to save your changes.


 

Using the GUI to View IDS Signature Events

Follow these steps to view signature events using the controller GUI.


Step 1 Choose Security > Wireless Protection Policies > Signature Events Summary. The Signature Events Summary page appears (see Figure 5-62).

Figure 5-62 Signature Events Summary Page

 

This page shows the number of attacks detected by the enabled signatures.

Step 2 To see more information on the attacks detected by a particular signature, click the signature type link for that signature. The Signature Events Detail page appears (see Figure 5-63).

Figure 5-63 Signature Events Detail Page

 

This page shows the following information:

  • The MAC addresses of the clients identified as attackers
  • The method used by the access point to track the attacks
  • The number of matching packets per second that were identified before an attack was detected
  • The number of access points on the channel on which the attack was detected
  • The day and time when the access point detected the attack

Step 3 To see more information for a particular attack, click the Detail link for that attack. The Signature Events Track Detail page appears (see Figure 5-64).

Figure 5-64 Signature Events Track Detail Page

 

This page shows the following information:

  • The MAC address of the access point that detected the attack
  • The name of the access point that detected the attack
  • The type of radio (802.11a or 802.11b/g) used by the access point to detect the attack
  • The radio channel on which the attack was detected
  • The day and time when the access point reported the attack


 

Using the CLI to Configure IDS Signatures

Follow these steps to configure IDS signatures using the controller CLI.


Step 1 If desired, create your own custom signature file.

Step 2 Make sure that you have a TFTP server available. See the guidelines for setting up a TFTP server in Step 2 of the “Using the GUI to Upload or Download IDS Signatures” section.

Step 3 Copy the custom signature file (*.sig) to the default directory on your TFTP server.

Step 4 To specify the download or upload mode, enter transfer {download | upload} mode tftp.

Step 5 To specify the type of file to be downloaded or uploaded, enter transfer {download | upload} datatype signature.

Step 6 To specify the IP address of the TFTP server, enter transfer {download | upload} serverip tftp-server-ip-address.


Note Some TFTP servers require only a forward slash (/) as the TFTP server IP address, and the TFTP server automatically determines the path to the correct directory.


Step 7 To specify the download or upload path, enter transfer {download | upload} path absolute-tftp-server-path-to-file.

Step 8 To specify the file to be downloaded or uploaded, enter transfer {download | upload} filename filename.sig.


Note When uploading signatures, the controller uses the filename you specify as a base name and then adds “_std.sig” and “_custom.sig” to it in order to upload both standard and custom signature files to the TFTP server. For example, if you upload a signature file called “ids1,” the controller automatically generates and uploads both ids1_std.sig and ids1_custom.sig to the TFTP server. If desired, you can then modify ids1_custom.sig on the TFTP server (making sure to set “Revision = custom”) and download it by itself.


Step 9 Enter transfer {download | upload} start and answer y to the prompt to confirm the current settings and start the download or upload.

Step 10 To specify the number of seconds that must elapse before the signature frequency threshold is reached within the configured interval, enter this command:

config wps signature interval signature_id interval

where signature_id is a number used to uniquely identify a signature. The range is 1 to 3600 seconds, and the default value varies per signature.

Step 11 To specify the number of matching packets per interval that must be identified at the individual access point level before an attack is detected, enter this command:

config wps signature frequency signature_id frequency

The range is 1 to 32,000 packets per interval, and the default value varies per signature.

Step 12 To specify the number of matching packets per interval that must be identified per client per access point before an attack is detected, enter this command:

config wps signature mac-frequency signature_id mac_frequency

The range is 1 to 32,000 packets per interval, and the default value varies per signature.

Step 13 To specify the length of time (in seconds) after which no attacks have been detected at the individual access point level and the alarm can stop, enter this command:

config wps signature quiet-time signature_id quiet_time

The range is 60 to 32,000 seconds, and the default value varies per signature.

Step 14 To enable or disable IDS signatures, perform one of the following:

  • To enable or disable an individual IDS signature, enter this command:

config wps signature {standard | custom} state signature_id {enable | disable}

  • To enable or disable IDS signature processing, which enables or disables the processing of all IDS signatures, enter this command:

config wps signature {enable | disable}


Note If IDS signature processing is disabled, all signatures are disabled, regardless of the state configured for individual signatures.


Step 15 To save your changes, enter this command:

save config

Step 16 If desired, you can reset a specific signature or all signatures to default values. To do so, enter this command:

config wps signature reset {signature_id | all }


Note You can reset signatures to default values only through the controller CLI.



 

Using the CLI to View IDS Signature Events

Use these commands to view signature events using the controller CLI.

1. To see whether IDS signature processing is enabled or disabled on the controller, enter this command:

show wps summary

Information similar to the following appears:

Auto-Immune
Auto-Immune.................................... Disabled
 
Client Exclusion Policy
Excessive 802.11-association failures.......... Enabled
Excessive 802.11-authentication failures....... Enabled
Excessive 802.1x-authentication................ Enabled
IP-theft....................................... Enabled
Excessive Web authentication failure........... Enabled
 
Signature Policy
Signature Processing........................... Enabled

Note If IDS signature processing is disabled, all signatures are disabled, regardless of the state configured for individual signatures.


2. To see individual summaries of all of the standard and custom signatures installed on the controller, enter this command:

show wps signature summary

Information similar to the following appears:

Signature-ID..................................... 1
Precedence....................................... 1
Signature Name................................... Bcast deauth
Type............................................. standard
FrameType........................................ management
State............................................ enabled
Action........................................... report
Tracking......................................... per Signature and Mac
Signature Frequency.............................. 50 pkts/interval
Signature Mac Frequency.......................... 30 pkts/interval
Interval......................................... 1 sec
Quiet Time....................................... 300 sec
Description...................................... Broadcast Deauthentication Frame
Patterns:
0(Header):0x00c0:0x00ff
4(Header):0x01:0x01

3. To see the number of attacks detected by the enabled signatures, enter this command:

show wps signature events summary

Information similar to the following appears:

Precedence Signature Name Type # Events
---------- ------------------ ----- -----------
1 Bcast deauth Standard 2
2 NULL probe resp 1 Standard 1

4. To see more information on the attacks detected by a particular standard or custom signature, enter this command:

show wps signature events {standard | custom} precedence# summary

Information similar to the following appears:

Precedence....................................... 1
Signature Name................................... Bcast deauth
Type............................................. Standard
Number of active events....................... 2
Source MAC Addr Track Method Frequency No. APs Last Heard
----------------- ------------ --------- -------- ------------------------
00:01:02:03:04:01 Per Signature 4 3 Tue Dec 6 00:17:44 2005
00:01:02:03:04:01 Per Mac 6 2 Tue Dec 6 00:30:04 2005

5. To see information on attacks that are tracked by access points on a per-signature and per-channel basis, enter this command:

show wps signature events {standard | custom} precedence# detailed per-signature source_mac

6. To see information on attacks that are tracked by access points on an individual-client basis (by MAC address), enter this command:

show wps signature events {standard | custom} precedence# detailed per-mac source_mac

Information similar to the following appears:

Source MAC....................................... 00:01:02:03:04:01
Precedence....................................... 1
Signature Name................................... Bcast deauth
Type............................................. Standard
Track............................................ Per Mac
Frequency........................................ 6
Reported By
AP 1
MAC Address.............................. 00:0b:85:01:4d:80
Name..................................... Test_AP_1
Radio Type............................... 802.11bg
Channel.................................. 4
Last reported by this AP................. Tue Dec 6 00:17:49 2005
AP 2
MAC Address.............................. 00:0b:85:26:91:52
Name..................................... Test_AP_2
Radio Type............................... 802.11bg
Channel.................................. 6

Last reported by this AP................. Tue Dec 6 00:30:04 2005


 

Configuring wIPS

The Cisco Adaptive wireless intrusion prevention system (wIPS) is an advanced approach to wireless threat detection and performance management. It combines network traffic analysis, network device and topology information, signature-based techniques, and anomaly detection to deliver highly accurate and complete wireless threat prevention. With a fully infrastructure-integrated solution, you can continually monitor wireless traffic on both the wired and wireless networks and use that network intelligence to analyze attacks from many sources to more accurately pinpoint and proactively prevent attacks rather than waiting until damage or exposure has occurred.

The Cisco Adaptive wIPS is enabled by the Cisco 3300 Series Mobility Services Engine (MSE), which is an appliance-based solution that centralizes the processing of intelligence collected by the continuous monitoring of Cisco Aironet access points. With Cisco Adaptive wIPS functionalities and WCS integration into the MSE, the wIPS service can configure, monitor, and report wIPS policies and alarms.

The Cisco Adaptive wIPS is not configured on the controller. Instead, WCS forwards the profile configuration to the wIPS service, which in turn forwards the profile to the controller. The profile is stored in flash memory on the controller and sent to access points when they join the controller. When an access point disassociates and joins another controller, it receives the wIPS profile from the new controller.

Access points in monitor mode periodically send alarms based on the policy profile to the wIPS service through the controller. The wIPS service stores and processes the alarms and generates SNMP traps. WCS configures its IP address as a trap destination to receive SNMP traps from the MSE.

Table 5-10 lists all the SNMP trap controls and their respective traps. When a trap control is enabled, all the traps of the trap control are also enabled.

 

Table 5-10 SNMP Trap Controls and their respective Traps

Tab Name
Trap Control
Trap

General

Link (Port) Up/Down

linkUp, linkDown

Spanning Tree

newRoot, topologyChange, stpInstanceNewRootTrap, stpInstanceTopologyChangeTrap

Config Save

bsnDot11EssCreated, bsnDot11EssDeleted, bsnConfigSaved, ciscoLwappScheduledResetNotif, ciscoLwappClearResetNotif, ciscoLwappResetFailedNotif, ciscoLwappSysInvalidXmlConfig

AP

AP Register

bsnAPDisassociated, bsnAPAssociated

Ap Interface Up/Down

bsnAPIfUp, bsnAPIfDown

Client Traps

802.11 Association

bsnDot11StationAssociate

802.11 Disassociation

bsnDot11StationDisassociate

802.11 Deauthentication

bsnDot11StationDeauthenticate

802.11 Failed Authentication

bsnDot11StationAuthenticateFail

802.11 Failed Association

bsnDot11StationAssociateFail

Exclusion

bsnDot11StationBlacklisted

Security Traps

User Authentication

bsnTooManyUnsuccessLoginAttempts, cLWAGuestUserLoggedIn, cLWAGuestUserLoggedOut

RADIUS Servers Not Responding

bsnRADIUSServerNotResponding, ciscoLwappAAARadiusReqTimedOut

WEP Decrypt Error

bsnWepKeyDecryptError

Rogue AP

bsnAdhocRogueAutoContained, bsnRogueApAutoContained, bsnTrustedApHasInvalidEncryption, bsnMaxRogueCountExceeded, bsnMaxRogueCountClear, bsnApMaxRogueCountExceeded, bsnApMaxRogueCountClear, bsnTrustedApHasInvalidRadioPolicy, bsnTrustedApHasInvalidSsid, bsnTrustedApIsMissing

SNMP Authentication

agentSnmpAuthenticationTrapFlag

Multiple Users

multipleUsersTrap

Auto RF Profile Traps

Load Profile

bsnAPLoadProfileFailed

Noise Profile

bsnAPNoiseProfileFailed

Interference Profile

bsnAPInterferenceProfileFailed

Coverage Profile

bsnAPCoverageProfileFailed

Auto RF Update Traps

Channel Update

bsnAPCurrentChannelChanged

Tx Power Update

bsnAPCurrentTxPowerChanged

Mesh Traps

Child Excluded Parent

ciscoLwappMeshChildExcludedParent

Parent Change

ciscoLwappMeshParentChange

Authfailure Mesh

ciscoLwappMeshAuthorizationFailure

Child Moved

ciscoLwappMeshChildMoved

Excessive Parent Change

ciscoLwappMeshExcessiveParentChange

Excessive Children

ciscoLwappMeshExcessiveChildren

Poor SNR

ciscoLwappMeshAbateSNR, ciscoLwappMeshOnsetSNR

Console Login

ciscoLwappMeshConsoleLogin

Excessive Association

ciscoLwappMeshExcessiveAssociation

Default Bridge Group Name

ciscoLwappMeshDefaultBridgeGroupName


Note The remaining traps do not have trap controls. These are traps, which are not generated too frequently and thus do not require any trap control. Thus, any other trap generated by the Controller cannot be turned off.



Note In all of the above cases, the controller functions solely as a forwarding device.



Note For more information on the Cisco Adaptive wIPS, refer to the Cisco Wireless Control System Configuration Guide, Release 6.0 and the Cisco 3300 Series Mobility Services Engine Configuration Guide, Release 6.0.


Configuring wIPS on an Access Point

Using the controller CLI, follow these steps to configure wIPS on an access point. These steps are required in order to enable wIPS.


Step 1 To configure an access point for monitor mode, enter this command:

config ap mode monitor Cisco_AP

Step 2 When warned that the access point will be rebooted and asked if you want to continue, enter Y .

Step 3 To save your changes, enter this command:

save config

Step 4 To disable the access point radio, enter this command:

config {802.11a | 802.11b} disable Cisco_AP

Step 5 To configure the wIPS submode on the access point, enter this command:

config ap mode monitor submode wips Cisco_AP


Note To disable wIPS on the access point, enter this command: config ap mode monitor submode none Cisco_AP.


Step 6 To enable wIPS optimized channel scanning for the access point, enter this command:

config ap monitor-mode wips-optimized Cisco_AP

The access point scans each channel for 250 milliseconds. It derives the list of channels to be scanned from the monitor configuration. Three channel sets are available:

  • All —All channels supported by the access point’s radio
  • Country —Only the channels supported by the access point’s country of operation
  • DCA —Only the channel set used by the dynamic channel assignment (DCA) algorithm, which by default includes all of the non-overlapping channels allowed in the access point’s country of operation

The 802.11a or 802.11b Monitor Channels field in the output of the show advanced { 802.11a | 802.11b} monitor command shows the monitor configuration channel set:

Default 802.11b AP monitoring
802.11b Monitor Mode........................... enable
802.11b Monitor Channels....................... Country channels
802.11b AP Coverage Interval................... 180 seconds
802.11b AP Load Interval....................... 60 seconds
802.11b AP Noise Interval...................... 180 seconds
802.11b AP Signal Strength Interval............ 60 seconds

Step 7 To re-enable the access point radio, enter this command:

config { 802.11a | 802.11b} enable Cisco_AP

Step 8 To save your changes, enter this command:

save config


 

Viewing wIPS Information

Using the controller CLI, enter these commands to view wIPS information.


Note You can also view the access point submode from the controller GUI. To do so, choose Wireless > Access Points > All APs > the access point name > the Advanced tab. The AP Sub Mode field shows wIPS if the access point in is monitor mode and the wIPS submode is configured on the access point or None if the access point is not in monitor mode or the access point is in monitor mode but the wIPS submode is not configured.


1. To view the wIPS submode on the access point, enter this command:

show ap config general Cisco_AP

Information similar to the following appears:

Cisco AP Identifier.............................. 3
Cisco AP Name.................................... AP1131:46f2.98ac
...
AP Mode ......................................... Monitor
Public Safety ................................... Disabled Disabled
AP SubMode ...................................... WIPS
...

2. To see the wIPS optimized channel scanning configuration on the access point, enter this command:

show ap monitor-mode summary

Information similar to the following appears:

AP Name Ethernet MAC Status Scanning Channel List
------------------ -------------------- ---------- ------------------------
AP1131:46f2.98ac 00:16:46:f2:98:ac wIPS 1, 6, NA, NA

 

3. To view the wIPS configuration forwarded by WCS to the controller, enter this command:

show wps wips summary

Information similar to the following appears:

Policy Name.............. Default
Policy Version.......... 3

4. To view the current state of wIPS operation on the controller, enter this command:

show wps wips statistics

Information similar to the following appears:

Policy Assignment Requests............ 1
Policy Assignment Responses........... 1
Policy Update Requests................ 0
Policy Update Responses............... 0
Policy Delete Requests................ 0
Policy Delete Responses............... 0
Alarm Updates......................... 13572
Device Updates........................ 8376
Device Update Requests................ 0
Device Update Responses............... 0
Forensic Updates...................... 1001
Invalid WIPS Payloads................. 0
Invalid Messages Received............. 0
NMSP Transmitted Packets.............. 22950
NMSP Transmit Packets Dropped......... 0
NMSP Largest Packet................... 1377

5. To clear the wIPS statistics on the controller, enter this command:

clear stats wps wips

Detecting Active Exploits

The controller supports three active exploit alarms that serve as notifications of potential threats. They are enabled by default and therefore require no configuration on the controller.

  • ASLEAP detection —The controller raises a trap event if an attacker launches a LEAP crack tool. The trap message is visible in the controller’s trap log.
  • Fake access point detection —The controller tweaks the fake access point detection logic to avoid false access point alarms in high-density access point environments.
  • Honeypot access point detection —The controller raises a trap event if a rogue access point is using managed SSIDs (WLANs configured on the controller). The trap message is visible in the controller’s trap log.