Cisco ASA 5500 Series Configuration Guide using the CLI, 8.4 and 8.6
Configuring the ASA CX Module
Downloads: This chapterpdf (PDF - 542.0KB) The complete bookPDF (PDF - 22.87MB) | Feedback

Configuring the ASA CX Module

Table Of Contents

Configuring the ASA CX Module

Information About the ASA CX Module

How the ASA CX Module Works with the ASA

Information About ASA CX Management

Initial Configuration

Policy Configuration and Management

Information About Authentication Proxy

Information About VPN and the ASA CX Module

Compatibility with ASA Features

Licensing Requirements for the ASA CX Module

Guidelines and Limitations

Default Settings

Configuring the ASA CX Module

Task Flow for the ASA CX Module

Connecting Management Interface Cables

Configuring the ASA CX Management IP Address

Configuring Basic ASA CX Settings at the ASA CX CLI

Configuring the Security Policy on the ASA CX Module Using PRSM

(Optional) Configuring the Authentication Proxy Port

Redirecting Traffic to the ASA CX Module

Monitoring the ASA CX Module

Showing Module Status

Showing Module Statistics

Monitoring Module Connections

Capturing Module Traffic

Troubleshooting the ASA CX Module

General Recovery Procedures

Resetting the Password

Reloading or Resetting the Module

Shutting Down the Module

Debugging the Module

Problems with the Authentication Proxy

Configuration Examples for the ASA CX Module

Feature History for the ASA CX Module


Configuring the ASA CX Module


This chapter describes how to configure the ASA CX module that runs on the ASA. This chapter includes the following sections:

Information About the ASA CX Module

Licensing Requirements for the ASA CX Module

Guidelines and Limitations

Default Settings

Configuring the ASA CX Module

Monitoring the ASA CX Module

Troubleshooting the ASA CX Module

Configuration Examples for the ASA CX Module

Feature History for the ASA CX Module

Information About the ASA CX Module

The ASA CX module lets you enforce security based on the complete context of a situation. This context includes the identity of the user (who), the application or website that the user is trying to access (what), the origin of the access attempt (where), the time of the attempted access (when), and the properties of the device used for the access (how). With the ASA CX module, you can extract the full context of a flow and enforce granular policies such as permitting access to Facebook but denying access to games on Facebook or permitting finance employees access to a sensitive enterprise database but denying the same to other employees.

This section includes the following topics:

How the ASA CX Module Works with the ASA

Information About ASA CX Management

Information About Authentication Proxy

Information About VPN and the ASA CX Module

Compatibility with ASA Features

How the ASA CX Module Works with the ASA

The ASA CX module runs a separate application from the ASA. The ASA CX module includes external management interface(s) so you can connect to the ASA CX module directly. Any data interfaces on the ASA CX module are used for ASA traffic only.

Traffic goes through the firewall checks before being forwarded to the ASA CX module. When you identify traffic for ASA CX inspection on the ASA, traffic flows through the ASA and the ASA CX module as follows:

1. Traffic enters the ASA.

2. Incoming VPN traffic is decrypted.

3. Firewall policies are applied.

4. Traffic is sent to the ASA CX module.

5. The ASA CX module applies its security policy to the traffic, and takes appropriate actions.

6. Valid traffic is sent back to the ASA; the ASA CX module might block some traffic according to its security policy, and that traffic is not passed on.

7. Outgoing VPN traffic is encrypted.

8. Traffic exits the ASA.

Figure 59-1 shows the traffic flow when using the ASA CX module. In this example, the ASA CX module automatically blocks traffic that is not allowed for a certain application. All other traffic is forwarded through the ASA.

Figure 59-1 ASA CX Module Traffic Flow in the ASA


Note If you have a connection between hosts on two ASA interfaces, and the ASA CX service policy is only configured for one of the interfaces, then all traffic between these hosts is sent to the ASA CX module, including traffic orginiating on the non-ASA CX interface (the feature is bidirectional). However, the ASA only performs the authentication proxy on the interface to which the service policy is applied, because this feature is ingress-only.


Information About ASA CX Management

Initial Configuration

Policy Configuration and Management

Initial Configuration

For initial configuration, you must use the CLI on the ASA CX module to run the setup command and configure other optional settings.

To access the CLI, you can use the following methods:

ASA CX console port.

ASA CX Management 1/0 interface using SSH—You can connect to the default IP address (192.168.8.8.), or you can use ASDM to change the management IP address and then connect using SSH.


Note You cannot access the ASA CX module CLI over the ASA backplane using the session command.


Policy Configuration and Management

After you perform initial configuration, configure the ASA CX policy using Cisco Prime Security Manager (PRSM). Then configure the ASA policy for sending traffic to the ASA CX module using ASDM or the ASA CLI.


Note When using PRSM in multiple device mode, you can configure the ASA policy for sending traffic to the ASA CX module within PRSM, instead of using ASDM or the ASA CLI. Using PRSM lets you consolodate management to a single management system. However, PRSM has some limitations when configuring the ASA service policy; see the ASA CX user guide for more information.


Information About Authentication Proxy

When the ASA CX needs to authenticate an HTTP user (to take advantage of identity policies), you must configure the ASA to act as an authentication proxy: the ASA CX module redirects authentication requests to the ASA interface IP address/proxy port. By default, the port is 885 (user configurable). Configure this feature as part of the service policy to divert traffic from the ASA to the ASA CX module. If you do not enable the authentication proxy, only passive authentication is available.


Note If you have a connection between hosts on two ASA interfaces, and the ASA CX service policy is only configured for one of the interfaces, then all traffic between these hosts is sent to the ASA CX module, including traffic orginiating on the non-ASA CX interface (the feature is bidirectional). However, the ASA only performs the authentication proxy on the interface to which the service policy is applied, because this feature is ingress-only.


Information About VPN and the ASA CX Module

The ASA includes VPN client and user authentication metadata when forwarding traffic to the ASA CX module, which allows the ASA CX module to include this information as part of its policy lookup criteria. The VPN metadata is sent only at VPN tunnel establishment time along with a type-length-value (TLV) containing the session ID. The ASA CX module caches the VPN metadata for each session. Each tunneled connection sends the session ID so the ASA CX module can look up that session's metadata.

Compatibility with ASA Features

The ASA includes many advanced application inspection features, including HTTP inspection. However, the ASA CX module provides more advanced HTTP inspection than the ASA provides, as well as additional features for other applications, including monitoring and controlling application usage.

To take full advantage of the ASA CX module features, see the following guidelines for traffic that you send to the ASA CX module:

Do not configure ASA inspection on HTTP traffic.

Other application inspections on the ASA are compatible with the ASA CX module, including the default inspections.

Do not enable the Mobile User Security (MUS) server; it is not compatible with the ASA CX module.

If you enable failover, when the ASA fails over, any existing ASA CX flows are transferred to the new ASA, but the traffic is allowed through the ASA without being acted upon by the ASA CX module. Only new flows recieved by the new ASA are acted upon by the ASA CX module.

Licensing Requirements for the ASA CX Module

The following table shows the licensing requirements for this feature:

Model
License Requirement

All models

Base License.


The ASA CX module and PRSM require additional licenses. See the ASA CX documentation for more information.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single context mode only. Does not support multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

Failover Guidelines

Does not support failover directly; when the ASA fails over, any existing ASA CX flows are transferred to the new ASA, but the traffic is allowed through the ASA without being inspected by the ASA CX.

IPv6 Guidelines

Supports IPv6.

Model Guidelines

Supported only on the ASA 5585-X. See the Cisco ASA Compatibility Matrix for more information:

http://www.cisco.com/en/US/docs/security/asa/compatibility/asamatrx.html

Additional Guidelines and Limitations

See the "Compatibility with ASA Features" section.

You cannot change the software type installed on the module; if you purchase an ASA CX module, you cannot later install other software on it.

Default Settings

Table 59-1 lists the default settings for the ASA CX module.

Table 59-1 Default Network Parameters 

Parameters
Default

Management 1/0 IP address

192.168.8.8/24

Gateway

192.168.8.1/24

SSH Username

admin

Password

Admin123


Configuring the ASA CX Module

This section describes how to configure the ASA CX module and includes the following topics:

Task Flow for the ASA CX Module

Connecting Management Interface Cables

Configuring the ASA CX Management IP Address

Configuring Basic ASA CX Settings at the ASA CX CLI

Configuring the Security Policy on the ASA CX Module Using PRSM

Redirecting Traffic to the ASA CX Module

Task Flow for the ASA CX Module

Configuring the ASA CX module is a process that includes configuration of the ASA CX security policy on the ASA CX module and then configuration of the ASA to send traffic to the ASA CX module. To configure the ASA CX module, perform the following steps:


Step 1 Cable the ASA and ASA CX management interfaces and optionally, the console interface. See the "Connecting Management Interface Cables" section.

Step 2 (Optional) On the ASA, configure the ASA CX module management IP address for initial SSH access. See the "Configuring the ASA CX Management IP Address" section.

Step 3 On the ASA CX module, configure basic settings. See the "Configuring Basic ASA CX Settings at the ASA CX CLI" section.

Step 4 On the ASA CX module, configure the security policy using PRSM. See the "Configuring the Security Policy on the ASA CX Module Using PRSM" section.

Step 5 (Optional) On the ASA, configure the authentication proxy port. See the "(Optional) Configuring the Authentication Proxy Port" section.

Step 6 On the ASA, identify traffic to divert to the ASA CX module. See the "Redirecting Traffic to the ASA CX Module" section.


Note When using PRSM in multiple device mode, you can configure the ASA policy for sending traffic to the ASA CX module within PRSM, instead of using ASDM or the ASA CLI. However, PRSM has some limitations when configuring the ASA service policy; see the ASA CX user guide for more information.



Connecting Management Interface Cables

Connect the management PC to the ASA and the ASA CX module management interfaces, as well as to the ASA CX console port.

Guidelines

For initial setup, you can connect with SSH to the ASA CX Management 1/0 interface using the default IP address (192.168.8.8/24). If you cannot use the default IP address, you can either use the console port or use ASDM to change the management IP address so you can use SSH.

Detailed Steps

Connect to the ASA Management 0/0 interface and the ASA CX Management 1/0 interface.

What to Do Next

(Optional) Configure the ASA CX management IP address. See the "Configuring the ASA CX Management IP Address" section.

Configure basic ASA CX settings. See the "Configuring Basic ASA CX Settings at the ASA CX CLI" section.

Configuring the ASA CX Management IP Address

If you cannot use the default management IP address (192.168.8.8), then you can set the management IP address from the ASA. After you set the management IP address, you can access the ASA CX module using SSH to perform initial setup.

Detailed Steps

Command
Purpose

session 1 do setup host ip ip_address/mask,gateway_ip

Example:

hostname# session 1 do setup host ip 10.1.1.2/24,10.1.1.1

Sets the ASA CX management IP address, mask, and gateway.

Configuring Basic ASA CX Settings at the ASA CX CLI

You must configure basic network settings and other parameters on the ASA CX module before you can configure your security policy.

Detailed Steps


Step 1 Connect to the ASA CX CLI:

Using SSH to the ASA CX Management 1/0 interface—Log in with the username admin and the password Admin123. You will change the password as part of this procedure.

Using the ASA CX console port.

Step 2 Enter the following command:

asacx> setup
Example:
asacx> setup
Welcome to Cisco Prime Security Manager Setup
[hit Ctrl-C to abort]
Default values are inside [ ]
 
   

You are prompted through the setup wizard. The following example shows a typical path through the wizard; if you enter Y instead of N at a prompt, you will be able to configure some additional settings. This example shows how to configure both IPv4 and IPv6 static addresses. You can configure IPv6 stateless auto configuration by answering N when asked if you want to configure a static IPv6 address.

Enter a hostname [asacx]: asa-cx-host
Do you want to configure IPv4 address on management interface?(y/n) [Y]: Y
Do you want to enable DHCP for IPv4 address assignment on management interface?(y/n)[N]: N
Enter an IPv4 address [192.168.8.8]: 10.89.31.65
Enter the netmask [255.255.255.0]: 255.255.255.0
Enter the gateway [192.168.8.1]: 10.89.31.1
Do you want to configure static IPv6 address on management interface?(y/n) [N]: Y
Enter an IPv6 address: 2001:DB8:0:CD30::1234/64
Enter the gateway: 2001:DB8:0:CD30::1
Enter the primary DNS server IP address [ ]: 10.89.47.11
Do you want to configure Secondary DNS Server? (y/n) [N]: N
Do you want to configure Local Domain Name? (y/n) [N] Y
Enter the local domain name: example.com
Do you want to configure Search domains? (y/n) [N] Y
Enter the comma separated list for search domains: example.com
Do you want to enable the NTP service?(y/n) [N]: Y
Enter the NTP servers separated by commas: 1.ntp.example.com, 2.ntp.example.com
 
   

Step 3 After you complete the final prompt, you are presented with a summary of the settings. Look over the summary to verify that the values are correct, and enter Y to apply your changed configuration. Enter N to cancel your changes.

Example:
Apply the changes?(y,n) [Y]: Y
Configuration saved successfully!
Applying...
Done.
Generating self-signed certificate, the web server will be restarted after that
...
Done.
Press ENTER to continue...
asacx>
 
   

Note If you change the host name, the prompt does not show the new name until you log out and log back in.


Step 4 If you do not use NTP, configure the time settings. The default time zone is the UTC time zone. Use the show time command to see the current settings. You can use the following commands to change time settings:

asacx> config timezone
asacx> config time
 
   

Step 5 Change the admin password by entering the following command:

asacx> config passwd
Example:
asacx> config passwd
The password must be at least 8 characters long and must contain
at least one uppercase letter (A-Z), at least one lowercase letter
(a-z) and at least one digit (0-9).
Enter password: Farscape1
Confirm password: Farscape1
SUCCESS: Password changed for user admin
 
   

Step 6 Enter the exit command to log out.


Configuring the Security Policy on the ASA CX Module Using PRSM

This section describes how to launch PRSM to configure the ASA CX module application. For details on using PRSM to configure your ASA CX security policy, see the ASA CX user guide.

Detailed Steps

You can launch PRSM from your web browser, or you can launch it from ASDM.

Launch PRSM from a web browser by enter the following URL:

https://ASA_CX_management_IP
 
   

Where the ASA CX management IP address is the one you set in the "Configuring Basic ASA CX Settings at the ASA CX CLI" section.

Launch PRSM from ASDM by choosing Home > ASA CX Status, and clicking the Connect to the ASA CX application link.

What to Do Next

(Optional) Configure the authentication proxy port. See the "(Optional) Configuring the Authentication Proxy Port" section.

Divert traffic to the ASA CX module. See the "Redirecting Traffic to the ASA CX Module" section.

(Optional) Configuring the Authentication Proxy Port

The default authentication port is 885. To change the authentication proxy port, perform the following steps. For more information about the authentication proxy, see the "Information About Authentication Proxy" section.


Note You can also set the port as part of the ASDM startup wizard. See the "Configuring Basic ASA CX Settings at the ASA CX CLI" section.


Detailed Steps

Command
Purpose

cxsc auth-proxy port port

Example:

hostname(config)# cxsc auth-proxy port 5000

Sets the authentication proxy port greater than 1024. The default is 885.

Redirecting Traffic to the ASA CX Module

This section identifies traffic to redirect from the ASA to the ASA CX module. Configure this policy on the ASA.


Note When using PRSM in multiple device mode, you can configure the ASA policy for sending traffic to the ASA CX module within PRSM, instead of using ASDM or the ASA CLI. However, PRSM has some limitations when configuring the ASA service policy; see the ASA CX user guide for more information.


Prerequisites

If you enable the authentication proxy on the ASA using this procedure, be sure to also configure a directory realm for authentication on the ASA CX module. See the ASA CX user guide for more information.

Detailed Steps

 
Command
Purpose

Step 1 

class-map name

Example:

hostname(config)# class-map cx_class

Creates a class map to identify the traffic for which you want to send to the ASA CX module.

If you want to send multiple traffic classes to the ASA CX module, you can create multiple class maps for use in the security policy.

Step 2 

match parameter

Example:

hostname(config-cmap)# match access-list cx_traffic

Specifies the traffic in the class map. See the "Identifying Traffic (Layer 3/4 Class Maps)" section for more information.

Step 3 

policy-map name

Example:

hostname(config)# policy-map cx_policy

Adds or edits a policy map that sets the actions to take with the class map traffic.

Step 4 

class name

Example:

hostname(config-pmap)# class cx_class

Identifies the class map you created in Step 1.

Step 5 

cxsc {fail-close | fail-open} [auth-proxy]

Example:

hostname(config-pmap-c)# cxsc fail-close auth-proxy

Specifies that the traffic should be sent to the ASA CX module.

The fail-close keyword sets the ASA to block all traffic if the ASA CX module is unavailable.

The fail-open keyword sets the ASA to allow all traffic through, uninspected, if the ASA CX module is unavailable.

The auth-proxy keyword enables the authentication proxy, which is required for active authentication.

Step 6 

(Optional)

class name2

Example:

hostname(config-pmap)# class cx_class2

If you created multiple class maps for ASA CX traffic, you can specify another class for the policy.

See the "Feature Matching Within a Service Policy" section for detailed information about how the order of classes matters within a policy map. Traffic cannot match more than one class map for the same action type.

Step 7 

(Optional)

cxsc {fail-close | fail-open} [auth-proxy]

Example:

hostname(config-pmap-c)# cxsc fail-close auth-proxy

Specifies that the second class of traffic should be sent to the ASA CX module.

Add as many classes as desired by repeating these steps.

Step 8 

service-policy policymap_name {global | interface interface_name}

Example:

hostname(config)# service-policy cx_policy interface outside

Activates the policy map on one or more interfaces. global applies the policy map to all interfaces, and interface applies the policy to one interface. Only one global policy is allowed. You can override the global policy on an interface by applying a service policy to that interface. You can only apply one policy map to each interface.

Monitoring the ASA CX Module

Showing Module Status

Showing Module Statistics

Monitoring Module Connections

Capturing Module Traffic

Debugging the Module


Note For ASA CX-related syslog messages, see the syslog message guide. ASA CX syslog messages start with message number 429001.


Showing Module Status

To check the status of a module, enter one of the following commands:

Command
Purpose
show module

Displays the status.

show module 1 details

Displays additional status information.


Examples

The following is sample output from the show module command for an ASA with an ASA CX SSP installed:

hostname# show module
Mod Card Type                                    Model              Serial No.
--- -------------------------------------------- ------------------ -----------
  0 ASA 5585-X Security Services Processor-10 wi ASA5585-SSP-10     JAF1507AMKE
  1 ASA 5585-X CX Security Services Processor-10 ASA5585-SSP-CX10   JAF1510BLSA
 
   
Mod MAC Address Range                 Hw Version   Fw Version   Sw Version
--- --------------------------------- ------------ ------------ ---------------
  0 5475.d05b.1100 to 5475.d05b.110b  1.0          2.0(7)0      100.7(6)78
  1 5475.d05b.2450 to 5475.d05b.245b  1.0          2.0(13)0     0.6.1
 
   
Mod SSM Application Name           Status           SSM Application Version
--- ------------------------------ ---------------- --------------------------
  1 ASA CX Security Module         Up               0.6.1
 
   
Mod Status             Data Plane Status     Compatibility
--- ------------------ --------------------- -------------
  0 Up Sys             Not Applicable
  1 Up                 Up
 
   

Showing Module Statistics

To show module statistics, enter the following command:

Command
Purpose

show service-policy cxsc

Displays the ASA CX statistics and status per service policy.


Examples

The following is sample output from the show service-policy command showing the ASA CX policy and the current statistics as well as the module status when the authentication proxy is disabled:

hostname# show service-policy cxsc
Global policy: 
  Service-policy: global_policy
    Class-map: bypass
      CXSC: card status Up, mode fail-open, auth-proxy disabled
        packet input 2626422041, packet output 2626877967, drop 0, reset-drop 0, proxied 0
 
   

The following is sample output from the show service-policy command showing the ASA CX policy and the current statistics as well as the module status when the authentication proxy is enabled; in this case, the proxied counters also increment:

hostname# show service-policy cxsc
Global policy: 
  Service-policy: pmap
    Class-map: class-default
      Default Queueing      Set connection policy: random-sequence-number disable
        drop 0
      CXSC: card status Up, mode fail-open, auth-proxy enabled
        packet input 7724, packet output 7701, drop 0, reset-drop 0, proxied 10
 
   

Monitoring Module Connections

To show connections through the ASA CX module, enter the one of the following commands:

Command
Purpose

show asp table classify domain cxsc

Shows the NP rules created to send traffic to the ASA CX module.

show asp table classify domain cxsc-auth-proxy

Shows the NP rules created for the authentication proxy for the ASA CX module.

show asp drop

Shows dropped packets. The following drop types are used:

Frame Drops:

cxsc-bad-tlv-received—This occurs when ASA receives a packet from CXSC without a Policy ID TLV. This TLV must be present in non-control packets if it does not have the Standy Active bit set in the actions field.

cxsc-request—The frame was requested to be dropped by CXSC due a policy on CXSC whereby CXSC would set the actions to Deny Source, Deny Destination, or Deny Pkt.

cxsc-fail-close—The packet is dropped because the card is not up and the policy configured was 'fail-close' (rather than 'fail-open' which allows packets through even if the card was down).

cxsc-fail—The CXSC configuration was removed for an existing flow and we are not able to process it through CXSC it will be dropped. This should be very unlikely.

cxsc-malformed-packet—The packet from CXSC contains an invalid header. For instance, the header length may not be correct.

Flow Drops:

cxsc-request—The CXSC requested to terminate the flow. The actions bit 0 is set.

reset-by-cxsc—The CXSC requested to terminate and reset the flow. The actions bit 1 is set.

cxsc-fail-close—The flow was terminated because the card is down and the configured policy was 'fail-close'.

show asp event dp-cp cxsc-msg

This output shows how many ASA CX module messages are on the dp-cp queue. Currently, only VPN queries from the ASA CX module are sent to dp-cp.

show conn

This command already shows if a connection is being forwarded to an module by displaying the `X - inspected by service module' flag. Connections being forwarded to the ASA CX module will also display the `X' flag.


Examples

The following is sample output from the show asp table classify domain cxsc command:

hostname# show asp table classify domain cxsc
Input Table
in  id=0x7ffedb4acf40, priority=50, domain=cxsc, deny=false
	hits=15485658, user_data=0x7ffedb4ac840, cs_id=0x0, use_real_addr, flags=0x0, 
protocol=0
	src ip/id=0.0.0.0, mask=0.0.0.0, port=0
	dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, dscp=0x0
	input_ifc=outside, output_ifc=any
in  id=0x7ffedb4ad4a0, priority=50, domain=cxsc, deny=false
	hits=992053, user_data=0x7ffedb4ac840, cs_id=0x0, use_real_addr, flags=0x0, protocol=0
	src ip/id=0.0.0.0, mask=0.0.0.0, port=0
	dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, dscp=0x0
	input_ifc=inside, output_ifc=any
in  id=0x7ffedb4ada00, priority=50, domain=cxsc, deny=false
	hits=0, user_data=0x7ffedb4ac840, cs_id=0x0, use_real_addr, flags=0x0, protocol=0
	src ip/id=0.0.0.0, mask=0.0.0.0, port=0
	dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, dscp=0x0
	input_ifc=m, output_ifc=any
 
   
Output Table:
 
   
L2 - Output Table:
 
   
L2 - Input Table:
 
   
Last clearing of hits counters: Never
 
   

The following is sample output from the show asp table classify domain cxsc-auth-proxy command. For the first rule in the output below, the destination "port=2000" is the auth-proxy port configured by the cxsc auth-proxy port 2000 command, and the destination "ip/id=192.168.0.100" is the ASA interface IP address.

hostname# show asp table classify domain cxsc-auth-proxy 
Input Table
in  id=0x7ffed86cc470, priority=121, domain=cxsc-auth-proxy, deny=false
	hits=0, user_data=0x7ffed86ca220, cs_id=0x0, flags=0x0, protocol=6
	src ip/id=0.0.0.0, mask=0.0.0.0, port=0
	dst ip/id=192.168.0.100, mask=255.255.255.255, port=2000, dscp=0x0
	input_ifc=inside, output_ifc=identity
in  id=0x7ffed86cce20, priority=121, domain=cxsc-auth-proxy, deny=false
	hits=0, user_data=0x7ffed86ca220, cs_id=0x0, flags=0x0, protocol=6
	src ip/id=0.0.0.0, mask=0.0.0.0, port=0
	dst ip/id=2.2.2.2, mask=255.255.255.255, port=2000, dscp=0x0
	input_ifc=new2, output_ifc=identity
in  id=0x7ffed86cd7d0, priority=121, domain=cxsc-auth-proxy, deny=false
	hits=0, user_data=0x7ffed86ca220, cs_id=0x0, flags=0x0, protocol=6
	src ip/id=0.0.0.0, mask=0.0.0.0, port=0
	dst ip/id=172.23.58.52, mask=255.255.255.255, port=2000, dscp=0x0
	input_ifc=mgmt, output_ifc=identity
in  id=0x7ffed86caa80, priority=121, domain=cxsc-auth-proxy, deny=false
	hits=0, user_data=0x7ffed86ca220, cs_id=0x0, flags=0x0, protocol=6
	src ip/id=0.0.0.0, mask=0.0.0.0, port=0
	dst ip/id=192.168.5.172, mask=255.255.255.255, port=2000, dscp=0x0
	input_ifc=outside, output_ifc=identity
in  id=0x7ffed86cb3c0, priority=121, domain=cxsc-auth-proxy, deny=false
	hits=0, user_data=0x7ffed86ca220, cs_id=0x0, flags=0x0, protocol=6
	src ip/id=::/0, port=0
        dst ip/id=fe80::5675:d0ff:fe5b:1102/128, port=2000
	input_ifc=outside, output_ifc=identity
in  id=0x7ffed742be10, priority=121, domain=cxsc-auth-proxy, deny=false
	hits=0, user_data=0x7ffed86ca220, cs_id=0x0, flags=0x0, protocol=6
	src ip/id=::/0, port=0
	dst ip/id=1:1:1:1::10/128, port=2000
	input_ifc=outside, output_ifc=identity
 
   
Output Table:
 
   
L2 - Output Table:
 
   
L2 - Input Table:
 
   
Last clearing of hits counters: Never
 
   

The following is sample output from the show asp drop command. This output is just an example and lists all the possible reasons for a dropped frame or flow from the ASA CX module:

hostname# show asp drop
Frame drop:
  CXSC Module received packet with bad TLV's (cxsc-bad-tlv-received)           2
  CXSC Module requested drop (cxsc-request)                                    1
  CXSC card is down (cxsc-fail-close)                                          1
  CXSC config removed for flow (cxsc-fail)                                     3
  CXSC Module received malformed packet (cxsc-malformed-packet)                1
  
Last clearing: 18:12:58 UTC May 11 2012 by enable_15
 
   
Flow drop:
  Flow terminated by CXSC (cxsc-request)                                       2
  Flow reset by CXSC (reset-by-cxsc)                                           1
  CXSC fail-close (cxsc-fail-close)                                            1
 
   
Last clearing: 18:12:58 UTC May 11 2012 by enable_15
 
   

The following is sample output from the show asp event dp-cp cxsc-msg command:

hostname# show asp event dp-cp cxsc-msg
DP-CP EVENT QUEUE                  QUEUE-LEN  HIGH-WATER
Punt Event Queue                           0           5
Identity-Traffic Event Queue               0           0
General Event Queue                        0           4
Syslog Event Queue                         4          90
Non-Blocking Event Queue                   0           2
Midpath High Event Queue                   0          53
Midpath Norm Event Queue                8074        8288
SRTP Event Queue                           0           0
HA Event Queue                             0           0
Threat-Detection Event Queue               0           3
ARP Event Queue                            0        2048
IDFW Event Queue                           0           0
CXSC Event Queue                           0           1
EVENT-TYPE          ALLOC ALLOC-FAIL ENQUEUED ENQ-FAIL  RETIRED 15SEC-RATE
cxsc-msg                1          0        1        0        1          0
 
   

The following is sample output from the show conn detail command:

hostname# show conn detail 
0 in use, 105 most used
Flags: A - awaiting inside ACK to SYN, a - awaiting outside ACK to SYN,
       B - initial SYN from outside, b - TCP state-bypass or nailed, C - CTIQBE media,
       D - DNS, d - dump, E - outside back connection, F - outside FIN, f - inside FIN,
       G - group, g - MGCP, H - H.323, h - H.225.0, I - inbound data,
       i - incomplete, J - GTP, j - GTP data, K - GTP t3-response
       k - Skinny media, M - SMTP data, m - SIP media, n - GUP
       O - outbound data, P - inside back connection, p - Phone-proxy TFTP connection,
       q - SQL*Net data, R - outside acknowledged FIN,
       R - UDP SUNRPC, r - inside acknowledged FIN, S - awaiting inside SYN,
       s - awaiting outside SYN, T - SIP, t - SIP transient, U - up,
       V - VPN orphan, W - WAAS,
       X - inspected by service module
 
   
TCP outside 208.80.152.2:80 inside 192.168.1.20:59928, idle 0:00:10, bytes 79174, flags 
XUIO

Capturing Module Traffic

To configure and view packet captures for the ASA CX module, enter one of the following commands:

Command
Purpose

capture name interface asa_dataplane

Captures packets between ASA CX module and the ASA on the backplane.

copy capture

Copies the capture file to a server.

show capture

Shows the capture at the ASA console.



Note Captured packets contain an additional AFBP header that your PCAP viewer might not understand; be sure to use the appropriate plugin to view these packets.


Troubleshooting the ASA CX Module

General Recovery Procedures

Debugging the Module

Problems with the Authentication Proxy

General Recovery Procedures

This section includes procedures that help you recover or troubleshoot the module and includes the following topics:

Resetting the Password

Reloading or Resetting the Module

Shutting Down the Module


Note You can install or upgrade your image from within the ASA CX module. See the ASA CX module documentaiton for more information.


Resetting the Password

You can reset the module password to the default. For the user admin, the default password is Admin123. After resetting the password, you should change it to a unique value using the module application.

Resetting the module password causes the module to reboot. Services are not available while the module is rebooting.

To reset the module password to the default of Admin123, perform the following steps.

Detailed Steps

Command
Purpose
hw-module module 1 password-reset
 
        
Example:

hostname# hw-module module 1 password-reset

Resets the module password to Admin123 for user admin.


Reloading or Resetting the Module

To reload or reset the module, enter one of the following commands at the ASA CLI.

Detailed Steps

Command
Purpose
hw-module module 1 reload
 
        
Example:

hostname# hw-module module 1 reload

Reloads the module software.

hw-module module 1 reset
 
        
Example:

hostname# hw-module module 1 reset

Performs a reset, and then reloads the module.


Shutting Down the Module

If you restart the ASA, the module is not automatically restarted. To shut down the module, perform the following steps at the ASA CLI.

Detailed Steps

Command
Purpose
hw-module module 1 shutdown
 
        
Example:

hostname# hw-module module 1 shutdown

Shuts down the module.


Debugging the Module

To enable ASA CX debugging, enter the following command:

Command
Purpose

debug cxsc [error | event | message]

Enables debugs at error, event, or message level.


When you enable the authentication proxy, the ASA generates a debug messge when it sends an authentication proxy TLV to the ASA CX module, giving details of IP and port:

DP CXSC Event: Sent Auth proxy tlv for adding Auth Proxy on interface: inside4.
DP CXSC Event: Sent Auth proxy tlv for adding Auth Proxy on interface: cx_inside.
DP CXSC Event: Sent Auth proxy tlv for adding Auth Proxy on interface: cx_outside.
 
   

When the interface IP address is changed, auth-proxy tlv updates are sent to CXSC:

DP CXSC Event: Sent Auth proxy tlv for removing Auth Proxy for interface inside.
DP CXSC Event: Sent Auth proxy tlv for adding Auth Proxy on interface: inside.
 
   

When a flow is freed on the ASA, the ASA CX module is notified so it can clean up the flow:

DP CXSC Msg: Notifying CXSC that flow (handle:275233990) is being freed  for 
192.168.18.5:2213 -> 10.166.255.18:80.
 
   

When the ASA CX module sends a redirect to a client to authenticate, and that redirect is sent to the ASA, the ASA sends it to the ASA CX module. In this example, 192.168.18.3 is the interface address and port 8888 is the authentication proxy port reserved on that interface for the authentication proxy feature:

DP CXSC Msg: rcvd authentication proxy data from 192.168.18.5:2214 -> 192.168.18.3:8888, 
forwarding to cx
 
   

When a VPN connection is established on the ASA, and the ASA sends connection information to the ASA CX module:

CXSC Event:   Dumping attributes from the vpn session record
CXSC Event:   tunnel->Protocol:        17
CXSC Event:   tunnel->ClientVendor:    SSL VPN Client
CXSC Event:   tunnel->ClientVersion:   Cisco AnyConnect VPN Agent for Windows 2.4.1012
CXSC Event:   Sending VPN RA session data to CXSC
CXSC Event:   sess index:      0x3000
CXSC Event:   sess type id:    3
CXSC Event:   username:        devuser
CXSC Event:   domain:          CN=Users,DC=test,DC=priv
CXSC Event:   directory type:  1
CXSC Event:   login time:      1337124762
CXSC Event:   nac result:      0
CXSC Event:   posture token:   
CXSC Event:   public IP:       172.23.34.108
CXSC Event:   assigned IP:     192.168.17.200
CXSC Event:   client OS id:    1
CXSC Event:   client OS:       
CXSC Event:   client type:     Cisco AnyConnect VPN Agent for Windows 2.4.1012
CXSC Event:   anyconnect data: , len: 0
 
   

Problems with the Authentication Proxy

If you are having a problem using the authentication proxy feature, follow these steps to troubleshoot your configuration and connections:

1. Check your configurations.

On the ASA, check the output of the show asp table classify domain cxsc-auth-proxy command and make sure there are rules installed and that they are correct.

In PRSM, ensure the directory realm is created with the correct credentials and test the connection to make sure you can reach the authentication server; also ensure that a policy object or objects are configured for authentication.

2. Check the output of the show service-policy cxsc command to see if any packets were proxied.

3. Perform a packet capture on the backplane, and check to see if traffic is being redirected on the correct configured port. See the "Capturing Module Traffic" section. You can check the configured port using the show running-config cxsc command or the show asp table classify domain cxsc-auth-proxy command.


Note If you have a connection between hosts on two ASA interfaces, and the ASA CX service policy is only configured for one of the interfaces, then all traffic between these hosts is sent to the ASA CX module, including traffic orginiating on the non-ASA CX interface (the feature is bidirectional). However, the ASA only performs the authentication proxy on the interface to which the service policy is applied, because this feature is ingress-only.


Example 59-1 Make sure port 2000 is used consistently:

1. Check the authentication proxy port:

hostname# show running-config cxsc 
cxsc auth-proxy port 2000
 
   

2. Check the authentication proxy rules:

hostname# show asp table classify domain cxsc-auth-proxy 
 
   
Input Table
in  id=0x7ffed86cc470, priority=121, domain=cxsc-auth-proxy, deny=false
	hits=0, user_data=0x7ffed86ca220, cs_id=0x0, flags=0x0, protocol=6
	src ip/id=0.0.0.0, mask=0.0.0.0, port=0
	dst ip/id=192.168.0.100, mask=255.255.255.255, port=2000, dscp=0x0
	input_ifc=inside, output_ifc=identity
 
   

3. In the packet captures, the redirect request should be going to destination port 2000.

Configuration Examples for the ASA CX Module

The following example diverts all HTTP traffic to the ASA CX module, and blocks all HTTP traffic if the ASA CX module card fails for any reason:

hostname(config)# access-list ASACX permit tcp any any eq port 80
hostname(config)# class-map my-cx-class
hostname(config-cmap)# match access-list ASACX
hostname(config-cmap)# policy-map my-cx-policy
hostname(config-pmap)# class my-cx-class
hostname(config-pmap-c)# cxsc fail-close auth-proxy
hostname(config-pmap-c)# service-policy my-cx-policy global
 
   

The following example diverts all IP traffic destined for the 10.1.1.0 network and the 10.2.1.0 network to the ASA CX module, and allows all traffic through if the ASA CX module fails for any reason.

hostname(config)# access-list my-cx-acl permit ip any 10.1.1.0 255.255.255.0
hostname(config)# access-list my-cx-acl2 permit ip any 10.2.1.0 255.255.255.0
hostname(config)# class-map my-cx-class
hostname(config-cmap)# match access-list my-cx-acl
hostname(config)# class-map my-cx-class2
hostname(config-cmap)# match access-list my-cx-acl2
hostname(config-cmap)# policy-map my-cx-policy
hostname(config-pmap)# class my-cx-class
hostname(config-pmap-c)# cxsc fail-open auth-proxy
hostname(config-pmap)# class my-cx-class2
hostname(config-pmap-c)# cxsc fail-open auth-proxy
hostname(config-pmap-c)# service-policy my-cx-policy interface outside
 
   

Feature History for the ASA CX Module

Table 59-2 lists each feature change and the platform release in which it was implemented.

Table 59-2 Feature History for the ASA CX Module 

Feature Name
Platform Releases
Feature Information

ASA 5585-X support for the ASA CX SSP

8.4(4.1)

ASA CX module lets you enforce security based on the complete context of a situation. This context includes the identity of the user (who), the application or website that the user is trying to access (what), the origin of the access attempt (where), the time of the attempted access (when), and the properties of the device used for the access (how). With the ASA CX module, you can extract the full context of a flow and enforce granular policies such as permitting access to Facebook but denying access to games on Facebook or permitting finance employees access to a sensitive enterprise database but denying the same to other employees.

We introduced or modified the following commands: capture, cxsc, cxsc auth-proxy, debug cxsc, hw-module module password-reset, hw-module module reload, hw-module module reset, hw-module module shutdown, session do setup host ip, session do get-config, session do password-reset, show asp table classify domain cxsc, show asp table classify domain cxsc-auth-proxy, show capture, show conn, show module, show service-policy.

This feature is not available in Version 8.6(1).