Table Of Contents
Configuring TCP/IP Normalization and IP Reassembly Parameters on the Virtual Firewall
Contents
Information About TCP Normalization
Information About IP Normalization
How to Configure TCP/IP Normalization and Reassembly Parameters
Configuring TCP/IP Normalization and Termination
Prerequisites
Troubleshooting Tip
Configuring IP Fragment Reassembly Parameters
Prerequisites
Displaying Configurations and Statistics for TCP/IP and UDP Connections and IP Reassembly
Prerequisites
Clearing Connections and Statistics
Prerequisites
Additional References
Related Documents
Standards
MIBs
RFCs
Technical Assistance
Configuring TCP/IP Normalization and IP Reassembly Parameters on the Virtual Firewall
This module describes how to configure TCP/IP normalization and termination parameters to protect your Cisco IOS XR software and the data center from attacks. It also describes IP fragmentation and reassembly parameters.
Feature History for Configuring TCP/IP Normalization and IP Reassembly Parameters on the VFW Application
Release
|
Modification
|
Release 3.5.0
|
This feature was introduced on the multiservice blade (MSB) for the Cisco XR 12000 Series Router.
|
Release 3.6.0
|
No modification.
|
Release 3.7.0
|
No modification.
|
Contents
•
Information About TCP Normalization
•
Information About IP Normalization
•
How to Configure TCP/IP Normalization and Reassembly Parameters
•
Additional References
Information About TCP Normalization
This section provides an overview of TCP normalization. The VFW application uses this feature to protect itself and the data center from a variety of network-based attacks.
TCP normalization is a Layer 4 feature that consists of a series of checks that the VFW application performs at various stages of a flow, from initial connection setup to the closing of a connection. You can control many of the segment checks by configuring one or more advanced TCP connection settings. The VFW application uses these TCP connection settings to decide which checks to perform and whether to discard a TCP segment based on the results of the checks. The VFW application discards segments that appear to be abnormal or malformed.
This feature checks for segments that have invalid or suspect conditions (for example, a SYN sent to the client from the server or a SYNACK sent to the server from the client) and takes appropriate actions based on the configured parameter settings. The VFW application uses TCP normalization to block certain types of network attacks (for example, insertion attacks and evasion attacks). Insertion attacks devise a scheme so that the inspection module accepts a packet that the end system rejects. Evasion attacks devise a scheme such that the inspection module rejects a packet while the end system accepts it.
The VFW application always discards segments when the following conditions exist:
•
Bad segment checksum
•
Bad TCP header or payload length
•
Suspect TCP flags (for example, NULL, SYN/FIN, or FIN/URG)
To configure TCP normalization, you assemble various TCP commands into a parameter map. After you create the connection parameter map, you associate it with a multimatch policy map, and activate the traffic policy globally across all interfaces in the context using a service policy.
Information About IP Normalization
The VFW application uses IP normalization to protect itself and the data center from a variety of attacks. IP normalization is to Layer 3 what TCP normalization is to Layer 4.
In general, IP normalization performs a series of checks on IP packets, including:
•
General security checks
•
ICMP security checks
•
Fragmentation security checks
•
IP fragment reassembly
•
IP fragmentation if a packet exceeds the outbound maximum transmission unit (MTU)
If a packet fails one of these checks, the VFW application takes appropriate action (including discarding a packet) depending on the IP parameters that you configure.
To configure the type of service (ToS) for IP traffic, use the set ip tos command in a connection parameter map.
To configure interface-related IP normalization parameters, refer to the "TCP/IP Normalization and IP Reassembly Parameters Commands" module in Cisco IOS XR Virtual Firewall Command Reference:
How to Configure TCP/IP Normalization and Reassembly Parameters
•
Configuring TCP/IP Normalization and Termination
•
Configuring IP Fragment Reassembly Parameters
•
Displaying Configurations and Statistics for TCP/IP and UDP Connections and IP Reassembly
•
Clearing Connections and Statistics
Configuring TCP/IP Normalization and Termination
This task provides the steps required to configure TCP Normalization.
Prerequisites
You must attach from the route processor to the VFW application before you can perform this task. See the "Attaching to the VFW Application" section on page VFC-14.
SUMMARY STEPS
1.
changeto context_name
2.
configure
3.
parameter-map type connection map_name
4.
set timeout inactivity [seconds]
5.
set ip tos number
6.
exit
7.
class-map match-any map_name
8.
[line_number] match destination-address ip_address
[line_number] match port tcp eq port_number
9.
exit
10.
policy-map multi-match map_name
11.
class map_name
12.
exit
13.
exit
14.
interface interface_name
15.
service-policy input policy_name
16.
ip ttl minimum number
17.
ip options clear
18.
ip df allow
19.
end
20.
copy running-config startup-config
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
changeto context_name
Example:
firewall/Admin# changeto C1
firewall/C1#
|
Logs into the correct context. If you are operating in multiple contexts, observe the CLI prompt to verify that you are operating in the desired context.
Note For details on creating contexts, see Configuring Virtualization on the Virtual Firewall.
|
Step 2
|
configure
Example:
firewall/Admin# configure
Enter configuration commands, one per line.
End with CNTL/Z.
firewall/Admin(config)#
|
Enters global configuration mode. You are now within configuration mode of the VFW application.
|
Step 3
|
parameter-map type connection map_name
Example:
firewall/C1(config)# parameter-map type
connection TCPIP_PARAM_MAP
firewall/C1(config-parammap-conn)#
|
Creates a connection parameter map to group together TCP/IP normalization and termination parameters.
|
Step 4
|
set timeout inactivity [seconds]
Example:
firewall/C1(config-parammap-conn)# set timeout
inactivity 2400
|
Configures the TCP/IP normalization inactivity timer. The seconds argument specifies the time period after which the VFW application disconnects idle established connections, and can be an integer from 0 to 4294967294 seconds. The defaults are:
• ICMP—2 seconds
• TCP—3600 seconds (1 hour)
• UDP—120 seconds (2 minutes)
A value of 0 specifies that the VFW application never times out a TCP connection. The VFW application rounds up the value you enter to the nearest 30-second interval.
|
Step 5
|
set ip tos number
Example:
firewall/C1(config-parammap-conn)# set ip tos
20
|
Configures the type of service (TOS) for packets in a particular traffic class. The number argument can be an integer from 0 to 255.
|
Step 6
|
exit
Example:
firewall/C1(config-parammap-conn)# exit
firewall/C1(config)#
|
Exits TCP/IP normalization configuration mode.
|
Step 7
|
class-map match-any map_name
Example:
firewall/C1(config)# class-map match-all
TCP_CLASS
firewall/C1(config-cmap)#
|
Creates a Layer 3 and Layer 4 class map to classify network traffic passing through the VFW application.
|
Step 8
|
[line_number] match destination-address
ip_address
[line_number] match port tcp eq port_number
Example:
firewall/C1(config-cmap)# match
destination-address 172.27.16.7
firewall/C1(config-cmap)# match port tcp eq 21
|
Specifies one or more match commands as part of the Layer 3 and Layer 4 class map. Refer to the "Class Map Commands on the Virtual Firewall" module in Cisco IOS XR Virtual Firewall Command Reference for more information on available match commands.
|
Step 9
|
exit
Example:
firewall/C1(config-cmap)# exit
firewall/C1(config)#
|
Exits class map configuration mode.
|
Step 10
|
policy-map multi-match map_name
Example:
firewall/C1(config)# policy-map multi-match
TCPIP_POLICY
|
Creates and configures a Layer 3 and Layer 4 policy map.
|
Step 11
|
class map_name
Example:
firewall/C1(config-pmap)# class TCP_CLASS
|
Associates a class map defined in Step 7 with the Layer 3 and Layer 4 policy map.
|
Step 12
|
exit
Example:
firewall/C1(config-pmap-c)# exit
firewall/C1(config-pmap)#
|
Exits class map configuration mode.
|
Step 13
|
exit
Example:
firewall/C1(config-pmap)# exit
firewall/C1(config)#
|
Exits policy map configuration mode.
|
Step 14
|
interface interface_name
Example:
firewall/C1(config)# interface inside1
|
Enters interface configuration mode for an interface.
|
Step 15
|
service-policy input policy_name
Example:
firewall/C1(config-if)# service-policy input
TCPIP_POLICY
|
Applies the policy map globally across all interfaces in the context using a service policy.
|
Step 16
|
ip ttl minimum number
Example:
firewall/C1(config-if)# ip ttl 15
|
Specifies the number of hops that a packet is allowed to reach its destination. Each router along the packet's path decrements the TTL by one. If the packet's TTL reaches zero before the packet reaches its destination, the packet is discarded.
|
Step 17
|
ip options clear
Example:
firewall/C1(config-if)# ip options clear
|
Clears all IP options from the packet and allows the packet.
|
Step 18
|
ip df allow
Example:
firewall/C1(config-if)# ip df allow
|
Permits the packet with the DF bit set. If the packet is larger than the next-hop MTU, the VFW application discards the packet and sends an ICMP unreachable message to the source host.
|
Step 19
|
end
Example:
firewall/C1(config-if)# end
firewall/C1#
|
Exits interface configuration mode.
|
Step 20
|
copy running-config startup-config
Example:
firewall/C1# copy running-config
startup-config
|
(Optional) Saves your configuration changes to flash memory.
|
Troubleshooting Tip
Use the following show commands to display TCP/IP normalization configuration information:
•
show running-config policy-map
•
show running-config parameter-map
•
show running-config interface
•
show service-policy name
Configuring IP Fragment Reassembly Parameters
You can configure several parameters that control how the VFW application performs IP fragment reassembly. This task describes the steps required to configure IP fragment reassembly.
Prerequisites
You must attach from the route processor to the VFW application before you can perform this task. See the "Attaching to the VFW Application" section on page VFC-14.
SUMMARY STEPS
1.
changeto context_name
2.
configure
3.
interface interface_name
4.
fragment chain number
5.
fragment min-mtu number
6.
fragment timeout seconds
7.
end
8.
copy running-config startup-config
9.
show interface interface_name
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
changeto context_name
Example:
firewall/Admin# changeto C1
firewall/C1#
|
Logs into the correct context. If you are operating in multiple contexts, observe the CLI prompt to verify that you are operating in the desired context.
Note For details on creating contexts, see Configuring Virtualization on the Virtual Firewall.
|
Step 2
|
configure
Example:
firewall/Admin# configure
Enter configuration commands, one per line.
End with CNTL/Z.
firewall/Admin(config)#
|
Enters global configuration mode. You are now within configuration mode of the VFW application.
|
Step 3
|
interface interface_name
Example:
firewall/C1(config)# interface inside1
|
Enters interface configuration mode for the interface on which you want to configure fragment reassembly parameters.
|
Step 4
|
fragment chain number
Example:
firewall/C1(config-if)# fragment chain 126
|
Configures the maximum number of fragments belonging to the same packet that the VFW application accepts for reassembly. For the number argument, enter a fragment chain limit as an integer from 1 to 256 fragments. The default is 24 fragments.
|
Step 5
|
fragment min-mtu number
Example:
firewall/C1(config-if)# fragment min-mtu 1024
|
Configures the minimum fragment size that the VFW application will accept for reassembly. For the number argument, enter the minimum fragment size as an integer from 68 to 9216 bytes. The default is 576 bytes.
|
Step 6
|
fragment timeout seconds
Example:
firewall/C1(config-if)# fragment timeout 15
|
Configures a fragment reassembly timeout to specify he period of time after which the VFW application abandons the fragment reassembly process if it does not receive any outstanding fragments for the current fragment chain (fragments belonging to the same packet). For the seconds argument enter an integer from to 1 to 30 seconds. The default is 5 seconds.
|
Step 7
|
end
Example:
firewall/C1(config-if)# end
firewall/C1#
|
Exits interface configuration mode.
|
Step 8
|
copy running-config startup-config
Example:
firewall/C1# copy running-config
startup-config
|
(Optional) Saves your configuration changes to flash memory.
|
Step 9
|
show interface interface_name
Example:
firewall/C1# show interface inside1
|
(Optional) Displays IP fragment reassembly configuration information.
|
Displaying Configurations and Statistics for TCP/IP and UDP Connections and IP Reassembly
This task describes the show commands that you can use to display configurations and statistics for:
•
TCP connections parameters
•
IP connections parameters
•
UDP connection parameters
•
IP fragment reassembly
Prerequisites
You must attach from the route processor to the VFW application before you can perform this task. See the "Attaching to the VFW Application" section on page VFC-14.
SUMMARY STEPS
1.
show running-config class-map
2.
show running-config policy-map
3.
show running-config interface
4.
show conn {address ip_address1 [ip_address2] netmask mask} | count | detail | {port number1 [number2]} | {protocol {tcp | udp}}
5.
show stats connection
6.
show ip traffic
7.
show fragment [interface_name]
8.
show tcp statistics
9.
show udp statistics
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
show running-config class-map
Example:
firewall/C1# show running-config class-map
|
(Optional) Displays all traffic classifications configured in the current context, including match statements for IP addresses and TCP or UDP ports.
|
Step 2
|
show running-config policy-map
Example:
firewall/C1# show running-config policy-map
|
(Optional) Displays all policy maps configured in the current context, including the associated class maps.
|
Step 3
|
show running-config interface
Example:
firewall/C1# show running-config interface
|
(Optional) Displays all interface configurations in the current context.
|
Step 4
|
show conn {address ip_address1 [ip_address2]
netmask mask} | count | detail | {port number1
[number2]} | {protocol {tcp | udp}}
Example:
firewall/C1# show conn address 192.168.12.15
192.168.12.35 netmask 255.255.255.0
|
(Optional) Displays TCP/IP and UDP connection statistics. The keywords, arguments, and options are:
• address ip_address1 [ip_address2]—Displays connection statistics for a single source or destination IP address or, optionally, for a range of source or destination IP addresses. To specify a range of IP addresses, enter an IP address for the lower limit of the range and a second IP address for the upper limit of the range.
• count—Displays the total curent connections to the VFW application.
• detail—Displays detailed connection information.
• netmask mask—Network mask for the IP address or range of IP addresses you specify.
• port number1 [number2]—Displays connection statistics for a single source or destination port or, optionally, for a range of source or destination ports.
• protocol {tcp | udp}—Displays connection statistics for TCP or UDP.
|
Step 5
|
show stats connection
Example:
firewall/C1# show stats connection
|
(Optional) Displays global connection statistics for the current context.
|
Step 6
|
show ip traffic
Example:
firewall/C1# show ip traffic
|
(Optional) Displays IP traffic information. Aside from fragmentation, reassembly, and ARP statistics, this command displays statistics for traffic destined to the VFW application, rather than through the VFW application.
|
Step 7
|
show fragment [interface_name]
Example:
firewall/C1# show fragment
|
(Optional) Displays IP fragmentation and reassembly statistics for all interfaces in the VFW application or the specified interface.
If you omit the interface_name argument, statistics are displayed for all interfaces in the VFW application.
|
Step 8
|
show tcp statistics
Example:
firewall/C1# show tcp statistics
|
(Optional) Displays TCP statistics. This command displays statistics for traffic destined to the VFW application, rather than through the VFW application.
|
Step 9
|
show udp statistics
Example:
firewall/C1# show udp statistics
|
(Optional) Displays UDP statistics. This command displays statistics for traffic destined to the VFW application, rather than through the VFW application.
|
Clearing Connections and Statistics
This task demonstrates how to clear the various connections and restart the statistics counters.
Prerequisites
You must attach from the route processor to the VFW application before you can perform this task. See the "Attaching to the VFW Application" section on page VFC-14.
SUMMARY STEPS
1.
clear ip statistics
2.
clear tcp statistics
3.
clear udp statistics
4.
clear conn [all | flow {icmp | tcp | udp}]
5.
clear interface [interface_name]
6.
clear stats conn
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
clear ip statistics
Example:
firewall/C1# clear ip statistics
|
(Optional) Clears IP statistics. This command clears all statistics associated with IP normalization, fragmentation, and reassembly in the current context.
Note If you configured redundancy, then you need to explicitly clear IP statistics on both the active and the standby VFWs. Clearing statistics on the active module alone leaves the standby module's statistics at the old values.
|
Step 2
|
clear tcp statistics
Example:
firewall/C1# clear tcp statistics
|
(Optional) Clears TCP statistics. This command clears all statistics associated with TCP connections and normalization in the current context.
Note If you configured redundancy, then you need to explicitly clear TCP statistics on both the active and the standby VFWs. Clearing statistics on the active module alone leaves the standby module's statistics at the old values.
|
Step 3
|
clear udp statistics
Example:
firewall/C1# clear udp statistics
|
(Optional) Clears UDP statistics. This command clears all statistics associated with UDP connections in the current context.
Note If you configured redundancy, then you need to explicitly clear UDP statistics on both the active and the standby VFWs. Clearing statistics on the active module alone will leave the standby module's statistics at the old values.
|
Step 4
|
clear conn [all | flow {icmp | tcp | udp}]
Example:
firewall/C1# clear conn flow tcp
|
(Optional) Clears ICMP, TCP, and UDP connections.
|
Step 5
|
clear interface [interface_name]
Example:
firewall/C1# clear interface
|
(Optional) Clears IP fragmentation and reassembly statistics. If you omit the interface_name argument, you can clear fragmentation and reassembly statistics for all interfaces in the context.
Note If redundancy is configured, you must explicitly clear IP fragmentation and reassembly statistics on both the active and the standby VFWs. If statistics are cleared only on the active module, the statistics on the standby module retain the old values.
|
Step 6
|
clear stats conn
Example:
firewall/C1# clear stats conn
|
(Optional) Clears all connection statistics in the current context.
|
Additional References
The following sections provide references related to TCP/IP normalization and IP reassembly.
Related Documents
Related Topic
|
Document Title
|
Virtual firewall normalization command syntax
|
"TCP/IP Normalization and IP Reassembly Parameters Commands on the Virtual Firewall" module in Cisco IOS XR Virtual Firewall Command Reference
|
Standards
Standards
|
Title
|
No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.
|
—
|
MIBs
RFCs
RFCs
|
Title
|
No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.
|
—
|
Technical Assistance
Description
|
Link
|
The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.
|
http://www.cisco.com/techsupport
|