CISCO Catalyst 9800 Series Wireless Controller Software User Guide

June 14, 2024
Cisco

CISCO logo

Catalyst 9800 Series Wireless Controller Software
User Guide

CISCO Catalyst 9800 Series Wireless Controller Software
1

CISCO Catalyst 9800 Series Wireless Controller
Software

Managing Rogue Devices

Rogue Detection

Rogue Devices

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 the other clients to wait, which results in legitimate clients being unable to access network resources. 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 their IT department’s knowledge or consent. These rogue access points can be a serious breach of network security because 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. There is an increased chance of enterprise security breach when wireless users connect to access points in the enterprise network.

The following are some guidelines to manage rogue devices:

  • The access points are designed to serve associated clients. These access points spend relatively less time performing off-channel scanning: about 50 milliseconds on each channel. If you want to detect a large number of rogue APs and clients with high sensitivity, a monitor mode access point must be used. Alternatively, you can reduce the scan intervals from 180 seconds to a lesser value, for example, 120 or 60 seconds, ensuring that the radio goes off-channel more frequently, which improves the chances of rogue detection. However, the access point continues to spend about 50 milliseconds on each channel.
  • Rogue detection is disabled by default for Office Extend access points because these access points, which are deployed in a home environment, are likely to detect many rogue devices.
  • Client card implementation might mitigate the effectiveness of containment. This normally happens when a client might quickly reconnect to the network after receiving a “de-association/de-authentication” frame, so it might still be able to pass some traffic. However, the browsing experience of the rogue client would be badly affected when it is contained.
  • It is possible to classify and report rogue access points by using rogue states and user-defined classification rules that enable rogues to automatically move between states.
  • Each controller limits the number of rogue containments to three and six per radio for access points in the monitor mode.
  • When manual containment is performed using configuration, the rogue entry is retained even after the rogue entry expires.
  • When a rogue entry expires, the managed access points are instructed to stop any active containment on it.
  • When Validate Rogue AP Against AAA is enabled, the controller requests the AAA server for rogue AP classification with the configured interval.
  • To validate a Rogue AP against AAA, add the rogue AP MAC to the AAA user-database with relevant delimiter, username, and password being the MAC address with relevant delimiter. The Access-Accept contains the Cisco-AV-pair with one of the following keywords:
  • rogue-ap-state=state

Note
Here, state can be either of the types, namely: alert, contain, internal, external, or threat.

  • rogue-ap-class=class

Note
Here, class can be either of the types, namely: unclassified, malicious, or friendly.

The following are the allowed combinations of class or state:

  • unclassified: alert, contain, or threat.
  • malicious: alert, contain, or threat.
  • friendly: alert, internal, or external.

The Radius Access-Reject for rogue AP AAA validation is ignored.

  • When Validate Rogue Clients Against AAA is enabled, the controller requests the AAA server for rogue client validation only once. As a result, if rogue client validation fails on the first attempt then the rogue client will not be detected as a threat any more. To avoid this, add the valid client entries in the authentication server before enabling Validate Rogue Clients Against AAA.

Restrictions on Rogue Detection

  • Rogue containment is not supported on DFS channels.

A rogue access point is moved to a contained state either automatically or manually. The controller selects the best available access point for containment and pushes the information to the access point. The access point stores the list of containments per radio. For auto containment, you can configure the controller to use only the monitor mode access point. The containment operation occurs in the following two ways:

  • The container access point goes through the list of containments periodically and sends unicast containment frames. For rogue access point containment, the frames are sent only if a rogue client is associated.
  • Whenever a contained rogue activity is detected, containment frames are transmitted.

Individual rogue containment involves sending a sequence of unicast disassociation and reauthentication frames.
From 17.7.1 release onwards, Beacon DS Attack and Beacon Wrong Channel signatures were introduced.
Beacon DS Attack—When managed and rogue APs use the same BSSID, the rogue APs are termed as impersonators. An attacker can add the Direct-Sequence parameter set information element with any channel number. If the added channel number is different from the channel number used by the managed AP, the attack is termed as Beacon DS Attack.
Beacon Wrong Channel—When managed and rogue APs use the same BSSID, the rogue APs are termed as AP impersonators. If an AP impersonator uses a channel number that is different from the one used by the managed AP with the same BSSID, the attack is termed as Beacon Wrong Channel. In such a case, the Direct-Sequence Information Element might not even be present in the Beacon frame.

Cisco Prime Infrastructure Interaction and Rogue Detection
Cisco Prime Infrastructure supports rule-based classification and uses the classification rules configured on the controller. The controller sends traps to Cisco Prime Infrastructure after the following events:

  • If an unknown access point moves to the Friendly state for the first time, the controller sends a trap to Cisco Prime Infrastructure 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 Cisco Prime Infrastructure for rogue access points that are 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.

Information About Rogue Containment (Protected Management Frames (PMF) Enabled)
From Cisco IOS XE Amsterdam, 17.3.1 onwards, rogue devices that are enabled with 802.11w Protected Management Frames (PMF) are not contained. Instead, the rogue device is marked as Contained Pending, and a WSA alarm is raised to inform about the Contained Pending event. Because the device containment is not performed, access point (AP) resources are not consumed unnecessarily.

Note
This feature is supported only on the Wave 2 APs.

Run the show wireless wps rogue ap detailed command to verify the device containment, when PMF is enabled on a rogue device.

AP Impersonation Detection

The various methods to detect AP impersonation are:

  • AP impersonation can be detected if a managed AP reports itself as Rogue. This method is always enabled and no configuration is required.
  • AP impersonation detection is based on MFP.
  • AP impersonation detection based on AP authentication.

Infrastructure MFP protects 802.11 session management functions by adding message integrity check (MIC) information elements, to the management frames sent by APs (and not those sent by clients), which are then validated by other APs in the network. If infrastructure MFP is enabled, the managed APs check if the MIC information elements are present and if MIC information elements are as expected. If either of these conditions is not fulfilled, the managed AP sends rogue AP reports with updated AP authentication failure counter.
The AP Authentication functionality allows you to detect AP impersonation. When you enable this functionality, the controller creates an AP domain secret and shares it with other APs in the same network. This allows the APs to authenticate each other.
An AP Authentication information element is attached to beacon and probe response frames. If the AP Authentication information element has an incorrect Signature field, or the timestamp is off, or if the AP Authentication information element is missing, then the AP that has detected such a condition increments the AP authentication failure count field. An impersonation alarm is raised after the AP authentication failure count field breaches its threshold. The rogue AP is classified as Malicious with state Threat.
Run the show wireless wps rogue ap detail command to see when the impersonation is detected due to authentication errors.

Configuring Rogue Detection (GUI)

Procedure

Step 1 Choose Configuration > Tags & Profiles > AP Join.
Step 2 Click the AP Join Profile Name to edit the AP join profile properties.
Step 3 In the Edit AP Join Profile window, click the Rogue AP tab.
Step 4 Check the Rogue Detection check box to enable rogue detection.
Step 5 In the Rogue Detection Minimum RSSI field, enter the RSSI value.
Step 6 In the Rogue Detection Transient Interval field, enter the interval in

seconds.
Step 7| In the Rogue Detection Report Interval field, enter the report interval value in seconds.
Step 8| In the Rogue Detection Client Number Threshold field, enter the threshold for rogue client detection.
Step 9| Check the Auto Containment on Flex Connect Standalone check box to enable auto containment.
Step 10| Click Update & Apply to Device.

Configuring Rogue Detection (CLI)

Procedure

| Command or Action| Purpose
---|---|---
Step 1| configure terminal Example: Device# configure terminal| Enters global configuration mode.
Step 2| ap profile profile-name rogue detection min-rssi rssi in dBm
Example:
Device(config)# ap profile profile1
Device(config)# rogue detection min-rssi -100| Specify the minimum RSSI value that rogues should have for APs to detect and for rogue entry to be created in the device.
Valid range for the rssi in dBm parameter is
–128 dBm to -70 dBm, and the default value is
-128 dBm.
Note This feature is applicable to all the AP modes. There can be many rogues with very weak RSSI values that do not provide any valuable information in rogue analysis. Therefore, you can use this option to filter rogues by specifying the minimum RSSI value at which APs should detect rogues.
Step 3| ap profile profile-name rogue detection containment { auto-rate | flex-rate }
Example:
Device(config)# ap profile profile1
Device(config)# rogue detection containment flex-rate| Specifies the rogue containment options. The auto-rate option enables auto-rate for containment of rogues. The flex-rate option enables rogue containment of standalone flexconnect APs.
Step 4| ap profile profile-name rogue detection enable Example:
Device(config)# ap profile profile1
Device(config)# rogue detection enable| Enables rogue detection on all APs.
Step 5| ap profile profile-name rogue detection report- interval time in seconds
Example:
Device(config)# ap profile profile1
Device(config)# rogue detection report-interval 120| Configures rogue report interval for monitor mode Cisco APs.
The valid range for reporting the interval in seconds is 10 seconds to 300 seconds.

Configuring RSSI Deviation Notification Threshold for Rogue APs (CLI)
Procedure

| Command or Action| Purpose
---|---|---
Step 1| configure terminal Example:
Device# configure terminal| Enters global configuration mode.
Step 2| wireless wps rogue ap notify-rssi-deviation Example:
Device(config)# wireless wps rogue ap notify-rssi-deviation| Configures RSSI deviation notification threshold for Rogue APs.
Step 3| end Example:
Device(config)# end| Returns to privileged EXEC mode. Alternatively, you can also press Ctrl-Z to exit global configuration mode.

Configuring Management Frame Protection (GUI)
Procedure

Step 1 Choose Configuration > Security > Wireless Protection Policies.
Step 2 In the Rogue Policy tab, under the MFP Configuration section, check

the Global MFP State check box and the AP Impersonation Detection check box to enable the global MFP state and the AP impersonation detection, respectively.
Step 3| In the MFP Key Refresh Interval field, specify the refresh interval in hours.
Step 4| Click Apply.

Configuring Management Frame Protection (CLI)

| Command or Action| Purpose
---|---|---
Step 1| configure terminal Example:
Device# configure terminal| Enters global configuration mode.
Step 2| wireless wps mfp Example:
Device(config)# wireless wps mfp| Configures a management frame protection.
Step 3| wireless wps mfp { ap-impersonationkey-refresh- intervalExample:
Device(config)# wireless wps mfp ap-impersonation
Device(config)# wireless wps mfp key-refresh-interval| Configures ap impersonation detection (or) MFP key refresh interval in hours.
key-refresh-interval—Refers to the MFP key refresh interval in hours. The valid range is from 1 to 24. Default value is 24.
---|---|---
Step 4| end Example:
Device(config)# end| Saves the configuration and exits configuration mode and returns to privileged EXEC mode.

Enabling Access Point Authentication
Procedure

| Command or Action| Purpose
---|---|---
Step 1| configure terminal Example:
Device# configure terminal| Enters global configuration mode.
Step 2| wireless wps ap-authentication Example:
Device(config)# wireless wps ap-authentication| Configures the wireless WPS AP authentication.
Step 3| wireless wps ap-authentication threshold threshold Example:
Device(config)# wireless wps ap-authentication threshold 100| Configures AP neighbor authentication and sets the threshold for AP authentication failures.
Step 4| wlan wlan-name wlan-id SSID-name Example:
Device(config)# wlan wlan-demo 1 ssid-demo| Configures a WLAN.
Step 5| ccx aironet-iesupport Example:
Device(config-wlan)# ccx aironet-iesupport| Enables support for Aironet Information Elements on this WLAN.
Step 6| end Example: Device# end| Returns to privileged EXEC mode.

Verifying Management Frame Protection

To verify if the Management Frame Protection (MFP) feature is enabled or not, use the following command:

CISCO Catalyst 9800 Series Wireless Controller Software - Symbol
2

To view the MFP details, use the following command:

CISCO Catalyst 9800 Series Wireless Controller Software - Symbol
3

Verifying Rogue Events

To verify the rogue event history, run the show wireless wps rogue ap detailed command:

CISCO Catalyst 9800 Series Wireless Controller Software - Symbol
4

CISCO Catalyst 9800 Series Wireless Controller Software - Symbol
5

Verifying Rogue Detection
This section describes the new command for rogue detection.
The following command can be used to verify rogue detection on the device.
Table 1: Verifying Adhoc Rogues Information

Command Purpose
show wireless wps rogue adhoc detailed _macaddress

Displays the detailed information for an Adhoc rogue.
show wireless wps rogue adhoc summary| Displays a list of all Adhoc rogues.

Table 2: Verifying Rogue AP Information

Command Purpose
show wireless wps rogue ap clients _macaddress Displays the list of

all rogue clients associated with a rogue.
show wireless wps rogue ap custom summary| Displays the custom rogue AP information.
show wireless wps rogue ap detailed _macaddress| Displays the detailed information for a rogue AP.
show wireless wps rogue ap friendly summary| Displays the friendly rogue AP information.
show wireless wps rogue ap list _macaddress| Displays the list of rogue APs detected by a given AP.
show wireless wps rogue ap malicious summary| Displays the malicious rogue AP information.
show wireless wps rogue ap summary| Displays a list of all Rogue APs.
show wireless wps rogue ap unclassified summary| Displays the unclassified rogue AP information.

Table 3: Verifying Rogue Auto-Containment Information

Command Purpose
show wireless wps rogue auto-contain Displays the rogue

auto-containment information.

Table 4: Verifying Classification Rule Information

Command Purpose
show wireless wps rogue rule detailed _rulename

Displays the detailed information for a classification rule.
show wireless wps rogue rule summary| Displays the list of all rogue rules.

Table 5: Verifying Rogue Statistics

Command Purpose
show wireless wps rogue stats Displays the rogue

statistics.

Table 6: Verifying Rogue Client Information

Command Purpose

show wireless wps rogue client detailed _macaddress| Displays detailed information for a Rogue client.
show wireless wps rogue client summary| Displays a list of all the Rogue clients.

Table 7: Verifying Rogue Ignore List

Command Purpose
show wireless wps rogue ignore-list Displays the rogue

ignore list.

Examples: Rogue Detection Configuration

This example shows how to configure the minimum RSSI that a detected rogue AP needs to be at, to have an entry created in the device:

CISCO Catalyst 9800 Series Wireless Controller Software - Symbol
6

Configuring Rogue Policies (GUI)

Procedure

Step 1 Choose Configuration > Security > Wireless Protection Policies.
Step 2 In the Rogue Policies tab, use the Rogue Detection Security Level

drop-down to select the security level.
Step 3| In the Expiration timeout for Rogue APs (seconds) field, enter the timeout value.
Step 4| Select the Validate Rogue Clients against AAA check box to validate rogue clients against AAA server.
Step 5| Select the Validate Rogue APs against AAA check box to validate rogue access points against AAA server.
Step 6| In the Rogue Polling Interval (seconds) field, enter the interval to poll the AAA server for rogue information.
Step 7| Select the Detect and Report Adhoc Networks check box to enable detection of rogue adhoc networks.
Step 8| In the Rogue Detection Client Number Threshold field, enter the threshold to generate SNMP trap.
Step 9| In the Auto Contain section, enter the following details.
Step 10| Use the Auto Containment Level drop-down to select the level.
Step 11| Select the Auto Containment only for Monitor Mode APs check box to limit the auto-containment only to monitor mode APs.
Step 12| Select the Rogue on Wire check box to limit the auto-containment only to rogue APs on wire.
Step 13| Select the Using our SSID check box to limit the auto-containment only to rogue APs using one of the SSID configured on the controller.
Step 14| Select the Adhoc Rogue AP check box to limit the auto-containment only to adhoc rogue APs.
Step 15| Click Apply.

Configuring Rogue Policies (CLI)
Procedure

| Command or Action| Purpose
---|---|---
Step 1| configure terminal Example:
Device# configure terminal| Enters global configuration mode.
Step 2| Example:
Device(config)# wireless wps rogue security-level custom| Configures the rogue detection security level.
You can select critical for highly sensitive deployments, custom for customizable security level, high for medium-scale deployments, and low for small-scale deployments.
Step 3| wireless wps rogue ap timeout number of seconds Example: Device(config)# wireless wps rogue ap timeout 250| Configures the expiration time for rogue entries, in seconds. Valid range for the time in seconds 240 seconds to 3600 seconds.
Step 4| Example:
Device(config)# wireless wps rogue client aaa| Configures the use of AAA or local database to detect valid MAC addresses.
---|---|---
Step 5| Example:
Device(config)# wireless wps rogue client mse| Configures the use of MSE to detect valid MAC addresses.
Step 6| wireless wps rogue client notify-min-rssi RSSI threshold Example:
Device(config)# wireless wps rogue client notify-min-rssi -128| Configures the minimum RSSI notification threshold for rogue clients. Valid range for the RSSI threshold in dB is -128 – dB to -70 dB.
Step 7| wireless wps rogue client notify-min-deviation RSSI threshold Example:
Device(config)# wireless wps rogue client notify-min-deviation 4| Configures the RSSI deviation notification threshold for rogue clients. Valid range for the RSSI threshold in dB is 0 dB to 10 dB.
Step 8| wireless wps rogue ap aaa Example:
Device(config)# wireless wps rogue ap aaa| Configures the use of AAA or local database to classify rogue AP based on rogue AP MAC addresses.
Step 9| wireless wps rogue ap aaa polling-interval AP AAA Interval Example:
Device(config)# wireless wps rogue ap aaa polling-interval 120| Configures rogue AP AAA validation interval. The valid range for the AP AAA interval in seconds is 60 seconds to 86400 seconds.
Step 10| wireless wps rogue adhoc Example:
Device(config)# wireless wps rogue adhoc| Enables detecting and reporting adhoc rogue (IBSS).
Step 11| wireless wps rogue client client-threshold threshold Example:
Device(config)# wireless wps rogue client client-threshold 100| Configures the rogue client per a rogue AP SNMP trap threshold. The valid range for the threshold is 0 to 256.
Step 12| wireless wps rogue ap in it-timer Example: Device(config)# wireless wps rogue ap in it-timer 180| Configures the in it timer for rogue APs. The default timer value is set to 180 seconds.
Note
When a rogue AP is detected, an in it timer is started and the rules are applied when this timer expires. This allows for rogue AP information to stabilize before applying any rules. However, you can change the value of this timer using this command. For instance, the in it timer can be set to 0, if the rules need to be applied as soon as a new rogue AP is detected.

Rogue Detection Security Level

The rogue detection security level configuration allows you to set rogue detection parameters.
The available security levels are:

  • Critical: Basic rogue detection for highly sensitive deployments.
  • High: Basic rogue detection for medium-scale deployments.
  • Low: Basic rogue detection for small-scale deployments.
  • Custom: Default security-level, where all detection parameters are configurable.

Note
When in Critical, High or Low, some rogue parameters are fixed and cannot be configured.
The following table shows parameter details for the three predefined levels:

Table 8: Rogue Detection: Predefined Levels

Parameter Critical High Low
Cleanup Timer 3600 1200 240
AAA Validate Clients Disabled Disabled Disabled
AAA Validate AP Disabled Disabled Disabled
Adhoc Reporting Enabled Enabled Enabled
Monitor-Mode Report Interval 10 seconds 30 seconds 60 seconds
Minimum RSSI -128 dBm -80 dBm -80 dBm
Transient Interval 600 seconds 300 seconds 120 seconds
Auto Contain Works only on Monitor Mode APs. Disabled Disabled Disabled
--- --- --- ---
Auto Contain Level 1 1 1
Auto Contain Same-SSID Disabled Disabled Disabled
Auto Contain Valid Clients on Rogue AP Disabled Disabled Disabled
Auto Contain Adhoc Disabled Disabled Disabled
Containment Auto-Rate Enabled Enabled Enabled
Validate Clients with CMX Enabled Enabled Enabled
Containment Flex Connect Enabled Enabled Enabled

Setting Rogue Detection Security-level

Follow the procedure given below to set the rogue detection security-level:

Procedure

| Command or Action| Purpose
---|---|---
Step 1| configure terminal Example:
Device# configure terminal| Enters the global configuration mode.
Step 2| wireless wps rogue security-level custom Example:
Device(config)# wireless wps rogue security-level custom| Configures rogue detection security level as custom.
Step 3| wireless wps rogue security-level low Example:
Device(config)# wireless wps rogue security-level low| Configures rogue detection security level for basic rogue detection setup for small-scale deployments.
Step 4| wireless wps rogue security-level high Example:
Device(config)# wireless wps rogue security-level high| Configures rogue detection security level for rogue detection setup for medium-scale deployments.
Step 5| wireless wps rogue security-level critical Example:
Device(config)# wireless wps rogue security-level critical| Configures rogue detection security level for rogue detection setup for highly sensitive deployments.

Wireless Service Assurance Rogue Events

Wireless Service Assurance (WSA) rogue events, supported in Release 16.12.x and later releases, consist of telemetry notifications for a subset of SNMP traps. WSA rogue events replicate the same information that is part of the corresponding SNMP trap.
For all the exported events, the following details are provided to the wireless service assurance (WSA) infrastructure:

  • MAC address of the rogue AP
  • Details of the managed AP and the radio that detected the rogue AP with strongest RSSI
  • Event-specific data such as SSID, channel for potential honeypot event, and MAC address of the impersonating AP for impersonation event

The WSA rogue events feature can scale up to four times the maximum number of supported APs and half of the maximum number of supported clients.
The WSA rogue events feature is supported on Cisco DNA Center and other third- party infrastructure.

Procedure

| Command or Action| Purpose
---|---|---
Step 1| configure terminal Example:
Device# configure terminal| Enters global configuration mode.
Step 2| network-assurance enable Example:
Device# network-assurance enable| Enables wireless service assurance.
Step 3| wireless wps rogue network-assurance enable Example:
Device# wireless wps rogue network-assurance enable| Enables wireless service assurance for rogue devices. This ensures that the WSA rogue events are sent to the event queue.

Monitoring Wireless Service Assurance Rogue Events
Procedure

  • show wireless wps rogue stats

Example:

CISCO Catalyst 9800 Series Wireless Controller Software - Symbol
7

In this example, nine events have been triggered, but only six of them have been enqueued. This is because three events were triggered before the WSA rogue feature was enabled.

  • show wireless wps rogue stats internal show wireless wps rogue ap detailed rogue-ap-mac-addr

These commands show information related to WSA events into the event history.

Read User Manual Online (PDF format)

Loading......

Download This Manual (PDF format)

Download this manual  >>

Related Manuals