Configuring Cisco IOS IPS
Configuring Cisco IOS Intrusion Prevention System (IPS) is a core competency for a network security administrator. In this section, you will learn how to configure Cisco IOS IPS on routers using the Cisco Router and Security Device Manager (SDM). You will also discover that Cisco SDM makes it easy to configure and manage Cisco IOS IPS on routers and security devices.
Cisco IOS IPS Features
Cisco has implemented IPS functions into its Cisco IOS Software. Cisco IOS IPS uses technology from Cisco Intrusion Detection System (IDS) and IPS sensor product lines, including Cisco IPS 4200 series sensors, and Cisco Catalyst 6500 series Intrusion Detection System Services Module (IDSM). Cisco IOS IPS combines existing Cisco IDS and IPS product features with the following three intrusion detection techniques:
- Profile-based intrusion detection: Profile-based intrusion detection generates an alarm when activity on the network goes outside a defined profile. With anomaly detection, profiles are created for each user or user group on your system. These profiles are then used as a baseline to define normal user and network activity. A profile could be created to monitor web traffic.
- Signature-based intrusion detection: Signature-based intrusion detection is less prone to triggering a false alarm when detecting unauthorized activity. A signature is a set of rules pertaining to typical intrusion activity. Signature-based intrusion detection uses signatures that are based on values in IP, TCP, UDP, and ICMP headers. Network engineers research known attacks and vulnerabilities and then develop signatures to detect these attacks and vulnerabilities on the network. These attack signatures encompass specific traffic or activity that is based on known intrusive activity.
Cisco IOS IPS implements signatures that can look at every packet going through the network and generate alarms when necessary. A Cisco IOS IPS generates alarms when a specific pattern of traffic is matched or a signature is triggered. You can configure a Cisco IOS IPS to exclude signatures and modify signature parameters to work optimally in your network environment.
A pattern-matching approach searches for a fixed sequence of bytes in a single packet. Pattern matching is a rigid approach but is simple to employ. In most cases, the pattern is matched against a packet only if the suspect packet is associated with a particular service or, more precisely, destined to or from a particular port. For example, a signature might be based on a simple pattern-matching approach such as the following: If <the packet is IPv4 and TCP> and <the destination port is 2222> and <the payload contains the string “foo”> then <fire an alarm>.
- Protocol analysis-based intrusion detection: Protocol analysis-based intrusion detection is similar to signature-based intrusion detection, but it performs a more in-depth analysis of the protocols specified in the packets. A deeper analysis examines the payloads within TCP and UDP packets, which contain other protocols. For example, a protocol such as DNS is contained within TCP or UDP, which itself is contained within IP.
The first step of protocol analysis is to decode the packet IP header information and determine whether the payload contains TCP, UDP, or another protocol. For example, if the payload is TCP, some of the TCP header information within the IP payload is processed before the TCP payload is accessed (for example, DNS data). Similar actions are mapped for other protocols.
Protocol analysis requires that the IPS sensor knows how various protocols work so that it can more closely analyze the traffic of those protocols to look for suspicious or abnormal activity. For each protocol, the analysis is based not only on protocol standards, particularly the RFCs, but also on how things are implemented in the real world. Many implementations violate protocol standards. It is important that signatures reflect common and accepted practice rather than the RFC-specified ideal; otherwise, false results can be reported.
The following attributes describe the primary benefits of the Cisco IOS IPS solution:
- Cisco IOS IPS uses the underlying routing infrastructure to provide an additional layer of security with investment protection.
- Because Cisco IOS IPS is inline and is supported on a broad range of routing platforms, attacks can be effectively mitigated to deny malicious traffic from both inside and outside the network.
- When used in combination with Cisco IDS, Cisco IOS Firewall, virtual private network (VPN), and Network Admission Control (NAC) solutions, Cisco IOS IPS provides superior threat protection at all entry points to the network.
- Cisco IOS IPS is supported by easy and effective management tools, such as Cisco SDM, Cisco Security MARS, and Cisco Security Manager.
- Whether threats are targeted at endpoints, servers, or the network infrastructure, Cisco offers pervasive intrusion prevention solutions that are designed to integrate smoothly into the network infrastructure and to proactively protect vital resources.
- Cisco IOS IPS supports around 2000 attack signatures from the same signature database that is available for Cisco IPS appliances.
Table 6-9 describes the features of Cisco IOS IPS-based signatures.
Table 6-9. Cisco IOS IPS Signature Features
Cisco IOS IPS Signature Feature
Regular expression string pattern matching
Enables the creation of string patterns using regular expressions.
Enables the sensor to take an action when the signature is triggered.
Enables the sensor to aggregate alarms. It does this to limit the number of times an alarm is sent when the signature is triggered.
Enables a signature to be tuned to perform optimally in a network.
Enables a signature to defeat evasive techniques used by an attacker.
Configuring Cisco IOS IPS Using Cisco SDM
Cisco IOS IPS allows you to manage intrusion prevention on routers that use Cisco IOS Software Release 12.3(8)T4 or later. Cisco IOS IPS monitors and prevents intrusions by comparing traffic against signatures of known threats and blocking the traffic when a threat is detected. Cisco SDM lets you control the application of Cisco IOS IPS on interfaces, import and edit signature files from Cisco.com, and configure the action that Cisco IOS IPS should take if a threat is detected.
The tasks associated with managing routers and security devices are displayed in a task pane on the left side of the Cisco SDM home page, as shown in Figure 6-15. Choose Configure > Intrusion Prevention to reveal the intrusion prevention options in Cisco SDM. You can use Cisco SDM to configure Cisco IOS IPS on routers and security devices.
Figure 6-15 Cisco SDM and IPS Wizard
Use the tabs at the top of the Intrusion Prevention System (IPS) window to navigate to the area you want to configure or monitor:
- Create IPS: This tab contains the IPS Rule wizard that you use to create a new Cisco IOS IPS rule.
- Edit IPS: This tab allows you to edit Cisco IOS IPS rules and apply or remove them from interfaces.
- Security Dashboard: This tab allows you to view the Top Threats table and deploy signatures associated with those threats.
- IPS Migration: If the router runs a Cisco IOS Software Release 12.4(11)T or later, you can use this tab to migrate Cisco IOS IPS configurations that were created using earlier releases of the Cisco IOS Software.
Cisco SDM enables you to create a new rule on a Cisco router in two ways: manually through the Edit IPS tab or automatically using the IPS Rule Wizard. The Cisco IOS IPS Deployment Guide recommends using the IPS Rule Wizard. The wizard that is launched does more than just configure a rule; it performs all the Cisco IOS IPS configuration steps.
Follow these steps to configure Cisco IOS IPS on the router or security device using Cisco SDM:
- Step 1. Choose Configure > Intrusion Prevention > Create IPS.
- Step 2. Click the Launch IPS Rule Wizard button.
- Step 3. Read the Welcome to the IPS Policies Wizard screen, and then click Next.
Step 4. Next, you must choose the interfaces on which you want to apply the Cisco IOS IPS rule by specifying whether the rule is to be applied to inbound traffic or outbound traffic, as shown in Figure 6-16. If you check both the Inbound and the Outbound check boxes, the rule applies to traffic flowing in both directions.
Figure 6-16 IPS Wizard: Applying Cisco IOS IPS Rule to an Interface
- Step 5. From the Select Interfaces dialog window, choose the router interfaces to which you want to apply the IPS rule by checking either the Inbound check box, Outbound check box, or both, that is next to the desired interface.
- Step 6. Click Next.
- Step 7. Cisco IOS IPS examines traffic by comparing it against signatures contained in a signature file. The signature file can be located in router flash memory or on a remote system that the router can reach. You can specify multiple signature file locations so that if the router is unable to contact the first location, it can attempt to contact other locations until it obtains a signature file.
Step 8. From the Signature File and Public Key dialog window, in the Signature File pane, click either the Specify the Signature File You Want to Use with the IOS IPS or Get the Latest Signature File from Cisco.com and Save to PC option and fill in the Signature File or Location text box as appropriate, as shown in Figure 6-17.
Figure 6-17 IPS Wizard—Example of Signature File and Public Key
Step 9. If you chose to download the latest signature file from Cisco.com, you will need to click Download when you are ready to download the signature file.
The Cisco IOS IPS signature file contains the default signature information present in each update to the file on Cisco.com. Any changes made to this configuration are saved in a delta file. For security, the delta file must be digitally signed. Follow these steps to place the public-key information in the Name and Key fields.
- Step 10. Go to the following link to obtain the public key: http://www.cisco.com/pcgi-bin/tablebuild.pl/ios-v5sigup.
- Step 11. Download the key to your PC.
- Step 12. Open the key in a text editor and copy the text after the phrase named-key into the Name field. For example, if the line of text is “named-key realm-cisco.pub signature” copy “realm-cisco.pub signature” to the Name field.
Step 13. Copy the text between the phrase key-string and the word quit into the Key field. The following output shows what this text might look like:
30820122 300D0609 2A864886 F70D0101 01050003 82010F00 3082010A 02820101 00C19E93 A8AF124A D6CC7A24 5097A975 206BE3A2 06FBA13F 6F12CB5B 4E441F16 17E630D5 C02AC252 912BE27F 37FDD9C8 11FC7AF7 DCDD81D9 43CDABC3 6007D128 B199ABCB D34ED0F9 085FADC1 359C189E F30AF10A C0EFB624 7E0764BF 3E53053E 5B2146A9 D7A5EDE3 0298AF03 DED7A5B8 9479039D 20F30663 9AC64B93 C0112A35 FE3F0C87 89BCB7BB 994AE74C FA9E481D F65875D6 85EAF974 6D9CC8E3 F0B08B85 50437722 FFBE85B9 5E4189FF CC189CB9 69C46F9C A84DFBA5 7A0AF99E AD768C36 006CF498 079F88F8 A3B3FB1F 9FB7B3CB 5539E1D1 9693CCBB 551F78D2 892356AE 2F56D826 8918EF3C 80CA4F4D 87BFCA3B BFF668E9 689782A5 CF31CB6E B4B094D3 F3020301 0001
Step 14. Click Next.
For Cisco IOS Release 12.4(11) or later, you can specify the following additional options:
Config location: This information specifies where to store files that contain changes to the Cisco IOS IPS configuration. This information consists of the signature file and the delta file that is created when changes are made to the signature information, as shown in Figure 6-18.
Figure 6-18 IPS Wizard: Config Location and Category
- Signature category: The basic signature category is appropriate for routers with less than 128 MB of flash memory, and the advanced signature category is appropriate for routers with more than 128 MB of flash memory.
Follow these steps to specify a location for storing the signature information and what signature category you would like the router to use:
- Step 15. From the Config Location and Category window, in the Config Location section, click the ellipsis (...) button to the right of the Config Location field to display a dialog that allows you to specify a location. After you enter information in this dialog, Cisco SDM displays the path to the location in this field.
- Step 16. Because router memory and resource constraints can prevent the use of all the available signatures, there are two categories of signatures: basic and advanced. In the Choose Category field, choose the category that will allow the Cisco IOS IPS to function efficiently on the router.
Step 17. Click Finish. The IPS Policies Wizard confirms configuration as follows:
IPS rule will be applied to the incoming traffic on the following interfaces. FastEthernet0/0 FastEthernet0/1.3 FastEthernet0/1.4 Tunnel0 Signature File location: tftp://10.10.10.10/IOS-S314-CLI.pkg Public Key: Name: realm-cisco.pub Key: 30820122 300D0609 2A864886 F70D0101 01050003 82010F00 3082010A 02820101 <output omitted> Config Location flash:/IPS/ Selected category of signatures: Basic
Figure 6-19 shows actual Wizard Summary windows
Figure 6-19 IPS Wizard: IPS Policy Summary
Configuring Cisco IOS IPS Using CLI
To use the command-line interface (CLI) to specify an IPS rule, use the ip ips name name command in global configuration mode as follows:
router(config)# ip ips name sdm_ips_rule
To specify the location of the IPS configuration, use the ip ips config location location global configuration command, as demonstrated here:
router(config)# ip ips config location flash:/ipsdir/retries 1
To specify the method of event notification, use the ip ips notify global configuration command. The following is an example of event notification sent using Security Device Event Exchange (SDEE), which is a standard developed to communicate an event generated by security devices:
router(config)# ip ips notify SDEE
To configure the router to support the default basic signature set use the ip ips signature-category global configuration command as follows:
Router(config)# ip ips signature-category Router(config-ips-category)# category all Router(config-ips-category-action)# retired true Router(config-ips-category-action)# exit Router(config-ips-category)# category ios_ips basic Router(config-ips-category-action)# retired false
To apply an IPS rule to an interface, use the ip ips ips_rule_name command in interface configuration mode as demonstrated here:
router(config)# interface Serial0/0/0 router(config-if)# ip ips sdm_ips_rule in
Virtual Fragment Reassembly
Virtual Fragment Reassembly (VFR) enables the Cisco IOS Firewall to examine out-of-sequence fragments and reorder the packets into the order. It examines the number of fragments from a same single IP address. When VFR is enabled on a Cisco IOS Firewall, it creates the appropriate dynamic ACLs, thereby protecting the network from various fragmentation attacks. To enable VFR on an interface, use the ip virtual-reassembly command in interface configuration mode, as demonstrated here:
Router(config)# interface Serial0/0/0 Router(config-if)# ip virtual-reassembly
Example 6-1 provides a combined view of the commands shown in the preceding paragraphs.
Example 6-1. Cisco IOS IPS CLI Configuration
Router(config)# ip ips name sdm_ips_rule Router(config)# ip ips config location flash:/ipsdir/ retries 1 Router(config)# ip ips notify SDEE ! Router(config)# ip ips signature-category Router(config-ips-category)# category all Router(config-ips-category-action)# retired true Router(config-ips-category-action)# exit Router(config-ips-category)# category ios_ips basic Router(config-ips-category-action)# retired false ! Router(config)# interface Serial0/0/0 Router(config-if)# ip ips sdm_ips_rule in Router(config-if)# ip virtual-reassembly
Configuring IPS Signatures
Cisco IOS IPS prevents intrusion by comparing traffic against the signatures of known attacks. Cisco IOS images that support Cisco IOS IPS have built-in signatures that the router can use, and you can import signatures for the router to use. Imported signatures are stored in a signature file.
IPS signatures are loaded as part of the procedure to create a Cisco IOS IPS rule using the IPS rule wizard. To view the configured Cisco IOS IPS signatures on the router, choose Configure > Intrusion Prevention > Edit IPS > Signatures > All Categories. Because signatures optimize your configuration, confirm that all the correct signatures are loaded on the router or security device. From this window, you can add customized signatures or import signatures that are downloaded from Cisco.com. You can also edit, delete, enable, and disable signatures.
The signature tree enables you to filter the signature list according to the type of signature that you want to view. To modify a signature, right-click the signature and choose an option from the pop-up menu, as shown in Figure 6-20. To change the severity of the signature, choose Set Severity To.
Figure 6-20 Setting Signature Severity
You can tune a signature configuration using Cisco SDM. To tune a signature, choose Configure > Intrusion Prevention > Edit IPS > Signatures > All Categories. A list of available signatures appears.
To modify a signature action, right-click the signature and choose Actions from the pop-up menu. The Assign Actions window appears, as shown in Figure 6-21, and displays the actions that can be taken upon a signature match. The available actions depend on the signature, but the following are the most common actions:
- Deny Attacker Inline: Create an ACL that denies all traffic from the IP address that is considered the source of the attack by the Cisco IOS IPS system.
- Deny Connection Inline: Drop the packet and all future packets from this TCP flow.
- Deny Packet Inline: Do not transmit this packet (inline only).
- Produce Alert: Generate an alarm message.
- Reset TCP Connection: Send TCP resets to terminate the TCP flow.
Figure 6-21 Configuring Signature Actions
To access and configure signature parameters, choose the signature and then click the Edit button in the Cisco SDM Configure Signatures window, as shown in Figure 6-22.
Figure 6-22 Preparing to Edit the Cisco IOS IDS Signatures
In the dialog box that results from clicking the Edit button in the Cisco SDM Configure Signatures window, shown in Figure 6-23, configure the signature parameters.
Figure 6-23 Editing Signatures Using Cisco SDM
Different signatures will have different parameters that you can modify. The following are common fields.
- Signature ID: This field displays a unique numerical value that is assigned to this signature. This value allows Cisco IOS IPS to identify a particular signature.
- SubSignature ID: This field displays a unique numeric value that is assigned to this subsignature. A subsig ID identifies a more granular version of a broad signature.
- Alert Severity: This field displays the severity of the alert for this signature.
- Sig Description: This section includes the signature name, alert notes, user comments, alert traits, and release number.
- Engine: This section contains information about what engine the signature uses and characteristics about how the engine operates.
- Event Counter: This section displays the event count, the event count key, and whether an alert interval is to be specified. An alert interval allows you to define special handling for timed events.
- Alert Frequency: (Not shown in Figure 6-23.) This section has settings to define the frequency of the alert.
- Status: (Not shown in Figure 6-23) This section shows whether the signature is enabled and whether the signature is retired.
Monitoring IOS IPS
Figure 6-24 shows how you can use the Security Device Event Exchange (SDEE) protocol and a syslog-based approach to send Cisco IPS alerts. The sensor generates an alarm when an enabled signature is triggered. Alarms are stored on the sensor. A host can pull the alarms from the sensor using SDEE. Pulling alarms from a sensor allows multiple hosts to subscribe to the event “feed” to allow a host or hosts to subscribe on an as-needed basis.
Figure 6-24 Support for SDEE and Syslog
The support for SDEE and syslog in the Cisco IOS IPS solution is as follows:
- Cisco IOS Software supports the SDEE protocol. When Cisco SDEE notification is enabled (by using the ip ips notify sdee command), by default 200 events can be stored in the event buffer, whose size can be increased to hold a maximum of 1000 events. When you disable Cisco SDEE notification, all stored events are lost. A new buffer is allocated when the notifications are reenabled.
- SDEE uses a pull mechanism. That is, requests come from the network management application, and the IDS and IPS router responds.
- SDEE becomes the standard format for all vendors to communicate events to a network management application.
- You must also enable HTTP or HTTPS on the router, using the ip http server command, when you enable SDEE. The use of HTTPS ensures that data is secured as it traverses the network.
- The Cisco IOS IPS router still sends IPS alerts via syslog.
When you use Cisco SDM, you can keep track of alarms that are common in SDEE system messages, including IPS signature alarms. The following is an example of an SDEE system alarm message:
%IPS-4-SIGNATURE:Sig:1107 Subsig:0 Sev:2 RFC1918 address [192.168.121.1:137 ->192.168.121.255:137]
The preceding alarm was triggered by the fact that a packet with a private addresses, as listed in RFC 1918, traversed the IPS sensor.
To view SDEE alarm messages in Cisco SDM, choose Monitor > Logging > SDEE Message Log, as shown in Figure 6-25.
Figure 6-25 Viewing an SDDE Alarm Message
To view alarms generated by Cisco IOS IPS, choose Monitor > Logging > Syslog, as shown in Figure 6-26.
Figure 6-26 Viewing a Syslog IPS Alarm