Information About The IPS Module
Information About The IPS Module
This chapter describes how to configure the IPS application that runs on the following module types:
• Security Services Cards (SSCs)
• Security Services Modules (SSMs)
• Security Services Processors (SSPs)
For a list of supported IPS modules per ASA model, see the Cisco ASA 5500 Series Hardware and
Software Compatibility:
http://www.cisco.com/en/US/docs/security/asa/compatibility/asamatrx.html
This chapter includes the following sections:
• Information About the IPS Module, page 59-1
• Licensing Requirements for the IPS Module, page 59-4
• Guidelines and Limitations, page 59-4
• Configuring the IPS Module, page 59-5
• Monitoring the IPS Module, page 59-10
• Configuration Examples for the IPS Module, page 59-10
• Feature History for the IPS Module, page 59-11
How the IPS Module Works with the Adaptive Security Appliance
The IPS module runs a separate application from the ASA. It is, however, integrated into the ASA traffic
flow. The IPS module does not contain any external interfaces itself (except for the management
interface on the SSM only). When you identify traffic for IPS inspection on the ASA, traffic flows
through the ASA and the IPS module in the following way:
1. Traffic enters the ASA.
2. Incoming VPN traffic is decrypted.
3. Firewall policies are applied.
4. Traffic is sent to the IPS module over the backplane.
See the “Operating Modes” section on page 59-2 for information about only sending a copy of the
traffic to the IPS module.
5. The IPS module applies its security policy to the traffic, and takes appropriate actions.
6. Valid traffic is sent back to the adaptive security appliance over the backplane; the IPS 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 adaptive security appliance.
Figure 59-1 shows the traffic flow when running the IPS module in inline mode. In this example, the IPS
module automatically blocks traffic that it identified as an attack. All other traffic is forwarded through
the ASA.
Figure 59-1 IPS Module Traffic Flow in the Adaptive Security Appliance: Inline Mode
ASA
Main System
Firewall VPN
inside Policy Decryption
outside
Diverted Traffic
Backplane
Block
IPS inspection
251157
IPS
Operating Modes
You can send traffic to the IPS module using one of the following modes:
• Inline mode—This mode places the IPS module directly in the traffic flow (see Figure 59-1). No
traffic that you identified for IPS inspection can continue through the ASA without first passing
through, and being inspected by, the IPS module. This mode is the most secure because every packet
that you identify for inspection is analyzed before being allowed through. Also, the IPS module can
implement a blocking policy on a packet-by-packet basis. This mode, however, can affect
throughput.
• Promiscuous mode—This mode sends a duplicate stream of traffic to the IPS module. This mode is
less secure, but has little impact on traffic throughput. Unlike the inline mode, in promiscuous mode
the IPS module can only block traffic by instructing the adaptive ASA to shun the traffic or by
resetting a connection on the ASA. Also, while the IPS module is analyzing the traffic, a small
amount of traffic might pass through the adaptive ASA before the IPS module can shun it.
Figure 59-2 shows the IPS module in promiscuous mode. In this example, the IPS module sends a
shun message to the ASA for traffic it identified as a threat.
Figure 59-2 IPS Module Traffic Flow in the Adaptive Security Appliance: Promiscuous Mode
ASA
Main System
Firewall VPN
inside Policy Decryption outside
Shun
message
Copied Traffic
Backplane
IPS inspection
251158
IPS
ASA
Context Main System
1
Context
2
Context
3
Sensor Sensor
1 2
251160
IPS
Figure 59-4 shows a single mode ASA paired with multiple virtual sensors (in inline mode); each defined
traffic flow goes to a different sensor.
Figure 59-4 Single Mode Security Appliance with Multiple Virtual Sensors
ASA
Main System
Traffic 1
Traffic 2
Traffic 3
251159
IPS
The IPS application on the IPS module requires a separate Cisco Services for IPS license in order to
support signature updates. All other updates are available without a license.
Model Guidelines
• The SSC is supported on the ASA 5505 only. For a complete list of supported ASA software,
models, and modules, see Cisco ASA 5500 Series Hardware and Software Compatibility:
http://www.cisco.com/en/US/docs/security/asa/compatibility/asamatrx.html
• The ASA 5505 adaptive security appliance does not support multiple context mode, so multiple
context features, such as virtual sensors, are not supported on the AIP SSC.
Step 1 On the IPS module, configure the inspection and protection policy, which determines how to inspect
traffic and what to do when an intrusion is detected. (ASA 5510 and higher) Configure the inspection
and protection policy for each virtual sensor if you want to run the IPS module in multiple sensor mode.
See the “Configuring the Security Policy on the IPS Module” section on page 59-5.
Step 2 (ASA 5510 and higher) On the ASA in multiple context mode, specify which IPS virtual sensors are
available for each context (if you configured virtual sensors). See the “Assigning Virtual Sensors to a
Security Context (ASA 5510 and Higher)” section on page 59-6.
Step 3 On the ASA, identify traffic to divert to the IPS module. See the “Diverting Traffic to the IPS Module”
section on page 59-8.
Note You can alternatively use ASDM to configure the IPS module. See the ASDM documentation for more
information.
See also the “Configuring the SSC Management Interface” section on page 58-4 to configure the SSC
management interface for ASDM access and other uses.
Detailed Steps
Step 1 Session from the ASA to the IPS module. See the “Sessioning to the Module” section on page 58-6
Step 2 To run the setup utility for initial configuration of the IPS module, enter the following command:
sensor# setup
If you sessioned to the IPS module from the ASA, you return to the ASA prompt.
What to Do Next
For the ASA in multiple context mode, see the “Assigning Virtual Sensors to a Security Context (ASA
5510 and Higher)” section on page 59-6.
For the ASA in single context mode, see the “Diverting Traffic to the IPS Module” section on page 59-8.
Note You do not need to be in multiple context mode to use virtual sensors; you can be in single mode and use
different sensors for different traffic flows.
Prerequisites
For more information about configuring contexts, see the “Configuring a Security Context” section on
page 5-16.
Detailed Steps
Command Purpose
Step 1 context name Identifies the context you want to configure. Enter this command in
the system execution space.
Example:
hostname(config)# context admin
hostname(config-ctx)#
Step 2 allocate-ips sensor_name [mapped_name] Enter this command for each sensor you want to assign to the context.
[default]
The sensor _name argument is the sensor name configured on the IPS
Example: module. To view the sensors that are configured on the IPS module,
hostname(config-ctx)# allocate-ips enter allocate-ips ?. All available sensors are listed. You can also
sensor1 highsec
enter the show ips command. In the system execution space, the show
ips command lists all available sensors; if you enter it in the context,
it shows the sensors you already assigned to the context. If you
specify a sensor name that does not yet exist on the IPS module, you
get an error, but the allocate-ips command is entered as is. Until you
create a sensor of that name on the IPS module, the context assumes
the sensor is down.
Use the mapped_name argument as an alias for the sensor name that
can be used within the context instead of the actual sensor name. If
you do not specify a mapped name, the sensor name is used within
the context. For security purposes, you might not want the context
administrator to know which sensors are being used by the context.
Or you might want to genericize the context configuration. For
example, if you want all contexts to use sensors called “sensor1” and
“sensor2,” then you can map the “highsec” and “lowsec” sensors to
sensor1 and sensor2 in context A, but map the “medsec” and
“lowsec” sensors to sensor1 and sensor2 in context B.
The default keyword sets one sensor per context as the default
sensor; if the context configuration does not specify a sensor name,
the context uses this default sensor. You can only configure one
default sensor per context. If you want to change the default sensor,
enter the no allocate-ips sensor_name command to remove the
current default sensor before you allocate a new default sensor. If you
do not specify a sensor as the default, and the context configuration
does not include a sensor name, then traffic uses the default sensor on
the IPS module.
Step 3 changeto context context_name Changes to the context so you can configure the IPS security policy
as described in “Diverting Traffic to the IPS Module” section on
Example:
hostname# changeto context customer1
page 59-8.
Examples
The following example assigns sensor1 and sensor2 to context A, and sensor1 and sensor3 to context B.
Both contexts map the sensor names to “ips1” and “ips2.” In context A, sensor1 is set as the default
sensor, but in context B, no default is set so the default that is configured on the IPS module is used.
hostname(config-ctx)# context A
hostname(config-ctx)# allocate-interface gigabitethernet0/0.100 int1
hostname(config-ctx)# allocate-interface gigabitethernet0/0.102 int2
hostname(config-ctx)# allocate-interface gigabitethernet0/0.110-gigabitethernet0/0.115
int3-int8
hostname(config-ctx)# allocate-ips sensor1 ips1 default
hostname(config-ctx)# allocate-ips sensor2 ips2
hostname(config-ctx)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/test.cfg
hostname(config-ctx)# member gold
What to Do Next
Change to each context to configure the IPS security policy as described in “Diverting Traffic to the IPS
Module” section on page 59-8.
Prerequisites
In multiple context mode, perform these steps in each context execution space.
Detailed Steps
Command Purpose
Step 1 class-map name Creates a class map to identify the traffic for which you want to
send to the IPS module.
Example:
hostname(config)# class-map ips_class If you want to send multiple traffic classes to the IPS module, you
can create multiple class maps for use in the security policy.
Step 2 match parameter Specifies the traffic in the class map. See the “Identifying Traffic
(Layer 3/4 Class Map)” section on page 9-13 for more
Example:
hostname(config-cmap)# match access-list
information.
ips_traffic
Command Purpose
Step 3 policy-map name Adds or edits a policy map that sets the actions to take with the
class map traffic.
Example:
hostname(config)# policy-map ips_policy
Step 4 class name Identifies the class map you created in Step 1.
Example:
hostname(config-pmap)# class ips_class
Step 5 ips {inline | promiscuous} {fail-close | Specifies that the traffic should be sent to the IPS module.
fail-open} [sensor {sensor_name |
mapped_name}] The inline and promiscuous keywords control the operating
mode of the IPS module. See the “Operating Modes” section on
Example: page 59-2 for more details.
hostname(config-pmap-c)# ips promiscuous
fail-close The fail-close keyword sets the adaptive security appliance to
block all traffic if the IPS module is unavailable.
The fail-open keyword sets the adaptive security appliance to
allow all traffic through, uninspected, if the IPS module is
unavailable.
(ASA 5510 and higher) If you use virtual sensors, you can specify
a sensor name using the sensor sensor_name argument. To see
available sensor names, enter the ips ... sensor ? command.
Available sensors are listed. You can also use the show ips
command. If you use multiple context mode on the ASA, you can
only specify sensors that you assigned to the context (see the
“Assigning Virtual Sensors to a Security Context (ASA 5510 and
Higher)” section on page 59-6). Use the mapped_name if
configured in the context. If you do not specify a sensor name,
then the traffic uses the default sensor. In multiple context mode,
you can specify a default sensor for the context. In single mode or
if you do not specify a default sensor in multiple mode, the traffic
uses the default sensor that is set on the IPS module. If you enter
a name that does not yet exist on the IPS module, you get an error,
and the command is rejected.
Step 6 (Optional) If you created multiple class maps for IPS traffic, you can specify
class name2 another class for the policy.
See the “Information About Layer 3/4 Policy Maps” section on
Example:
hostname(config-pmap)# class ips_class2
page 9-5 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; so if you want network A to
go to sensorA, but want all other traffic to go to sensorB, then you
need to enter the class command for network A before you enter
the class command for all traffic; otherwise all traffic (including
network A) will match the first class command, and will be sent
to sensorB.
Command Purpose
Step 7 (Optional) Specifies that the second class of traffic should be sent to the IPS
ips {inline | promiscuous} {fail-close | module.
fail-open} [sensor {sensor_name |
mapped_name}]
Example:
hostname(config-pmap-c)# ips promiscuous
fail-close
Step 8 service-policy policymap_name {global | Activates the policy map on one or more interfaces. global applies
interface interface_name} the policy map to all interfaces, and interface applies the policy
Example:
to one interface. Only one global policy is allowed. You can
hostname(config)# service-policy override the global policy on an interface by applying a service
tcp_bypass_policy outside policy to that interface. You can only apply one policy map to
each interface.
The following example diverts all IP traffic destined for the 10.1.1.0 network and the 10.2.1.0 network
to the IPS module in inline mode, and allows all traffic through if the IPS module fails for any reason.
For the my-ips-class traffic, sensor1 is used; for the my-ips-class2 traffic, sensor2 is used.
hostname(config)# access-list my-ips-acl permit ip any 10.1.1.0 255.255.255.0
hostname(config)# access-list my-ips-acl2 permit ip any 10.2.1.0 255.255.255.0
hostname(config)# class-map my-ips-class
hostname(config-cmap)# match access-list my-ips-acl
hostname(config)# class-map my-ips-class2
hostname(config-cmap)# match access-list my-ips-acl2
hostname(config-cmap)# policy-map my-ips-policy
hostname(config-pmap)# class my-ips-class
hostname(config-pmap-c)# ips inline fail-open sensor sensor1
hostname(config-pmap)# class my-ips-class2
hostname(config-pmap-c)# ips inline fail-open sensor sensor2
hostname(config-pmap-c)# service-policy my-ips-policy interface outside