Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Network Attack Protection on MS-MPC and MS-MIC

Understanding IDS on an MS-MPC

Intrusion Detection Services

Intrusion detection services (IDS) rules on an MS-MPC give you a way to identify and drop traffic that is part of a network attack.

IDS rules provide a more granular level of filtering than firewall filters and policers, which can stop illegal TCP flags and other bad flag combinations, and can enforce general rate limiting (see the Routing Policies, Firewall Filters, and Traffic Policers User Guide). You can use firewall filters and policers along with IDS to reduce the traffic that needs to be processed by an IDS rule.

In an IDS rule, you can specify:

  • Limits on the sessions that originate from individual sources or that terminate at individual destinations. This protects against network probing and flooding attacks.

  • Types of suspicious packets to drop.

To protect against header anomaly attacks, a header integrity check is automatically performed if you configure an IDS rule, stateful firewall rule, or a NAT rule and apply it to the service set. You can also explicitly configure a header integrity check for the service set if you do not assign the service set an IDS rule, stateful firewall rule, or a NAT rule.

Benefits

  • Provides protection against several types of network attacks.

Session Limits

You can use IDS rules to set session limits for traffic from an individual source or to an individual destination. This protects against network probing and flooding attacks. Traffic that exceeds the session limits is dropped. You can specify session limits either for traffic with a particular IP protocol, such as ICMP, or for traffic in general.

You decide whether the limits apply to individual addresses or to an aggregation of traffic from individual subnets of a particular prefix length. For example, if you aggregate limits for IPv4 subnets with a prefix length of 24, traffic from 192.0.2.2 and 192.0.2.3 is counted against the limits for the 192.0.2.0/24 subnet.

Some common network probing and flooding attacks that session limits protect against include:

ICMP Address Sweep

The attacker sends ICMP request probes (pings) to multiple targets. If a target machine replies, the attacker receives the IP address of the target.

ICMP Flood

The attacker floods a target machine by sending a large number of ICMP packets from one or more source IP addresses. The target machine uses up its resources as it attempts to process those ICMP packets, and can no longer process valid traffic.

TCP Port Scan

The attacker sends TCP SYN packets from one source to multiple destination ports of the target machine. If the target replies with a SYN-ACK from one or more destination ports, the attacker learns which ports are open on the target.

TCP SYN Flood

The attacker floods a target machine by sending a large number of TCP SYN packets from one or more source IP addresses. The attacker might use real source IP addresses, which results in a completed TCP connection, or might use fake source IP addresses, resulting in the TCP connection not being completed. The target creates states for all the completed and uncompleted TCP connections. The target uses up its resources as it attempts to manage the connection states, and can no longer process valid traffic.

UDP Flood

The attacker floods a target machine by sending a large number of UDP packets from one or more source IP addresses. The target machine uses up its resources as it attempts to process those UDP packets, and can no longer process valid traffic.

Session limits for traffic from a source or to a destination include:

  • maximum number of concurrent sessions

  • maximum number of packets per second

  • maximum number of connections per second

IDS also installs a dynamic filter on the PFEs of line cards for suspicious activity when the following conditions occur:

  • Either the packets per second or the number of connections per second for an individual source or destination address (not for a subnet) exceeds four times the session limit in the IDS rule. This session limit is the general source or destination limit for the IDS rule, not the limit specified for a particular protocol.

  • The services card CPU utilization percentage exceeds a configured value (default value is 90 percent).

The dynamic filter drops the suspicious traffic at the PFE, and the traffic is not sent to the MS-MPC to be processed by the IDS rule. When the packet or connection rate no longer exceeds four times the limit in the IDS rule, the dynamic filter is removed.

Suspicious Packet Patterns

You can use IDS rules to identify and drop traffic with a suspicious packet pattern. This protects against attackers that craft unusual packets to launch denial-of-service attacks.

Suspicious packet patterns and attacks that you can specify in an IDS rule are:

ICMP fragmentation attack

The attacker sends the target ICMP packets that are IP fragments. These are considered suspicious packets because ICMP packets are usually short. When the target receives these packets, the results can range from processing packets incorrectly to crashing the entire system.

ICMP large packet attack

The attacker sends the target ICMP frames with an IP length greater than 1024 bytes. These are considered suspicious packets because most ICMP messages are small.

ICMP Ping of death attack

The attacker sends the target ICMP ping packets whose IP datagram length (ip_len) exceeds the maximum legal length (65,535 bytes) for IP packets, and the packet is fragmented. When the target attempts to reassemble the IP packets, a buffer overflow might occur, resulting in a system crashing, freezing, and restarting.

IP Bad option attack

The attacker sends the target packets with incorrectly formatted IPv4 options or IPv6 extension headers. This can cause unpredictable issues, depending on the IP stack implementation of routers and the target.

IPv4 options

Attackers can maliciously use IPv4 options for denial-of-service attacks.

IPv6 extension headers

Attackers can maliciously use extension headers for denial-of-service attacks or to bypass filters.

IP teardrop attack

The attacker sends the target fragmented IP packets that overlap. The target machine uses up its resources as it attempts to reassemble the packets, and can no longer process valid traffic.

IP unknown protocol attack

The attacker sends the target packets with protocol numbers greater than 137 for IPv4 and 139 for IPv6. An unknown protocol might be malicious.

Land attack

The attacker sends the target spoofed SYN packets that contain the target’s IP address as both the destination and the source IP address. The target uses up its resources as it repeatedly replies to itself. In another variation of the land attack, the SYN packets also contain the same source and destination ports.

SYN fragment attack

The attacker sends the target SYN packet fragments. The target caches SYN fragments, waiting for the remaining fragments to arrive so it can reassemble them and complete the connection. A flood of SYN fragments eventually fills the host’s memory buffer, preventing valid traffic connections.

TCP FIN No ACK attack

The attacker sends the target TCP packets that have the FIN bit set but have the ACK bit unset. This can allow the attacker to identify the operating system of the target or to identify open ports on the target.

TCP no flag attack

The attacker sends the target TCP packets containing no flags. This can cause unpredictable behavior on the target, depending on its TCP stack implementation.

TCP SYN FIN attack

The attacker sends the target TCP packets that have both the SYN and the FIN bits set. This can cause unpredictable behavior on the target, depending on its TCP stack implementation.

TCP WinNuke attack

The attacker sends a TCP segment with the urgent (URG) flag set and destined for port 139 of a target running Windows. This might cause the target machine to crash.

Header Anomaly Attacks

To protect against header anomaly attacks, a header integrity check is automatically performed if you configure an IDS rule, a stateful firewall rule, or a NAT rule and apply it to the service set. You can also explicitly configure a header integrity check for the service set if you do not assign the service set an IDS rule, stateful firewall rule, or a NAT rule.

The header integrity check provides protection against the following header anomaly attacks:

ICMP Ping of death attack

The attacker sends the target ICMP ping packets whose IP datagram length (ip_len) exceeds the maximum legal length (65,535 bytes) for IP packets, and the packet is fragmented. When the target attempts to reassemble the IP packets, a buffer overflow might occur, resulting in a system crashing, freezing, and restarting.

IP unknown protocol attack

The attacker sends the target packets with protocol numbers greater than 137 for IPv4 and 139 for IPv6. An unknown protocol might be malicious.

TCP no flag attack

The attacker sends the target TCP packets containing no flags. This can cause unpredictable behavior on the target, depending on its TCP stack implementation.

TCP SYN FIN attack

The attacker sends the target TCP packets that have both the SYN and the FIN bits set. This can cause unpredictable behavior on the target, depending on its TCP stack implementation.

TCP FIN No ACK attack

The attacker sends the target TCP packets that have the FIN bit set but have the ACK bit unset. This can allow the attacker to identify the operating system of the target or to identify open ports on the target.

Configuring Protection Against Network Attacks on an MS-MPC

This topic includes the following tasks, which describe how to protect against network attacks when using an MS-MPC:

Configuring Protection Against Network Probing, Network Flooding, and Suspicious Pattern Attacks

You configure protection against network probing attacks, network flooding attacks, and suspicious pattern attacks by configuring an intrusion detection service (IDS) rule, and then applying that rule to a service set that is on an MS-MPC. Only the first term of an IDS rule is used, and only the first IDS input rule and the first IDS output rule for a service set are used.

Configuring protection against network probing, network flooding, and suspicious pattern attacks includes:

Configuring IDS Rule Name and Direction

For each IDS rule, you must configure a name and the direction of traffic to which it is applied.

To configure the IDS rule name and direction:

  1. Specify a name for the IDS rule.
  2. Specify whether the IDS rule is applied to input traffic, output traffic, or both.

Configuring Session Limits for Subnets

If you want to apply session limits to an aggregation of all attacks to or from individual destination or source subnets rather than for individual addresses, configure aggregation.

To configure subnet aggregation:

  • If you want to apply session limits to an aggregation of all attacks from within an individual IPv4 subnet, specify the subnet prefix length. The range is from 1 through 32.

    For example, the following statement configures an IPv4 prefix length of 24, and attacks from 10.1.1.2 and 10.1.1.3 are counted as attacks from the 10.1.1/24 subnet.

    However, if a single host on a subnet generates a large number of network probing or flooding attacks, the flows for the entire subnet might be stopped.

  • If you want to apply session limits to an aggregation of all attacks from within an individual IPv6 subnet, specify the subnet prefix length. The range is from 1 through 128.

    For example, the following statement configures an IPv6 prefix length of 64, and attacks from 2001:db8:1234:72a2::2 and 2001:db8:1234:72a2::3 are counted as attacks from the 2001:db8:1234:72a2::/64 subnet.

    However, if a single host on a subnet generates a large number of network probing or flooding attacks, the flows for the entire subnet might be stopped.

  • If you want to apply session limits to an aggregation of all attacks to an individual IPv4 subnet, specify the subnet prefix length. The range is from 1 through 32.

    For example, the following statement configures an IPv4 prefix length of 24, and attacks to 10.1.1.2 and 10.1.1.3 are counted as attacks to the 10.1.1/24 subnet.

  • If you want to apply session limits to an aggregation of all attacks to an individual IPv6 subnet, specify the subnet prefix length. The range is from 1 through 128.

    For example, the following statement configures an IPv6 prefix length of 64, and attacks to 2001:db8:1234:72a2::2 and 2001:db8:1234:72a2::3 are counted as attacks to the 2001:db8:1234:72a2::/64 subnet.

Configuring Session Limits Independent of the Protocol

If you want to configure session limits for traffic to an individual destination or from an individual source independent of the protocol, then perform one or more of the following tasks:

  • To configure session limits for source IP addresses or subnets independent of a protocol:
    • Configure the maximum number of concurrent sessions allowed from an individual source IP address or subnet.

    • Configure the maximum number of packets per second allowed from an individual source IP address or subnet.

    • Configure the maximum number of connections per second allowed from an individual source IP address or subnet.

  • To configure session limits for destination IP addresses or subnets independent of a protocol:
    • Configure the maximum number of concurrent sessions allowed for an individual destination IP address or subnet.

    • Configure the maximum number of packets per second allowed for an individual destination IP address or subnet.

    • Configure the maximum number of connections per second allowed for an individual destination IP address or subnet.

Configuring ICMP Address Sweep Protection

To configure protection against ICMP address sweeps, configure any combination of the maximum allowed ICMP concurrent sessions, packets per second, and connections per second for a source:

  • Configure the maximum number of concurrent ICMP sessions allowed from an individual source IP address or subnet.
  • Configure the maximum number of ICMP packets per second allowed from an individual source IP address or subnet.
  • Configure the maximum number of ICMP connections per second allowed from an individual source IP address or subnet.

Configuring TCP Port Scanner Protection

To configure protection against TCP port scanner attacks, configure any combination of the maximum allowed TCP concurrent sessions and connections per second for a source or destination:

  • Configure the maximum number of concurrent TCP sessions allowed from an individual source IP address or subnet.
  • Configure the maximum number of TCP connections per second allowed for an individual source IP address or subnet.
  • Configure the maximum number of TCP sessions allowed for an individual destination IP address or subnet.
  • Configure the maximum number of TCP connections per second allowed for an individual destination IP address or subnet.

Configuring ICMP Flooding Protection

To configure protection against ICMP flooding attacks, configure any combination of the maximum allowed ICMP concurrent sessions, packets per second, and number of connections per second for a destination:

  • Configure the maximum number of concurrent ICMP sessions allowed for an individual destination IP address or subnet.
  • Configure the maximum number of ICMP packets per second allowed for an individual destination IP address or subnet.
  • Configure the maximum number of ICMP connections per second allowed for an individual destination IP address or subnet for ICMP.

Configuring UDP Flooding Protection

To configure protection against UDP flooding attacks, configure any combination of the maximum allowed UDP concurrent sessions, packets per second, and connections per second for a destination:

  • Configure the maximum number of concurrent UDP sessions allowed for an individual destination IP address or subnet.
  • Configure the maximum number of UDP packets per second allowed for an individual destination IPaddress or subnet.
  • Configure the maximum number of UDP connections per second allowed for an individual destination IP address or subnet.

Configuring TCP SYN Flooding Protection

To configure protection against TCP SYN flooding attacks, configure any combination of the maximum allowed TCP concurrent sessions, packets per second, and connections per second for a source or destination. You can also configure the closing of unestablished TCP connections after a timeout:

  • Configure the maximum number of concurrent TCP sessions allowed from an individual source IP address or subnet.
  • Configure the maximum number of TCP packets per second allowed from an individual source IP address or subnet.
  • Configure the maximum number of TCP connections per second allowed from an individual source IP address or subnet.
  • Configure the maximum number of concurrent TCP sessions allowed for an individual destination IP address or subnet.
  • Configure the maximum number of TCP connections per second allowed for an individual destination IP address or subnet.
  • Configure the maximum number of TCP packets per second allowed for an individual destination IP address or subnet.
  • Configure the closing of unestablished TCP connections and the delivery of a TCP RST to the end host to clear the TCP states on it when the open-timeout value at the [edit interfaces interface-name service-options] hierarchy level expires.

Configuring ICMP Fragmentation Protection

To protect against ICMP fragmentation attacks:

  • Configure the identification and dropping of ICMP packets that are IP fragments.

Configuring ICMP Large Packet Protection

To protect against ICMP large packet attacks:

  • Configure the identification and dropping of ICMP packets that are larger than 1024 bytes.

Configuring IP Bad Options Protection

To protect against bad IPv4 options or IPv6 extension header attacks:

  1. Configure the type of IPv4 options that the packet can include. If the packet includes an option that is not configured, then the packet is blocked. If the packet includes a configured option whose length is an illegal value, then the packet is dropped. Specifying any allows all options.

    The IPv4 options supported are any, loose-source-route, route-record, security, stream-id, strict-source-route, and timestamp.

    If you do not include the allow-ip-options statement in the IDS rule, packets with any type of IPv4 option are blocked.

  2. Configure the type of IPv6 extension headers that the packet can include. If the packet includes an extension header that is not configured, then the packet is blocked. If the packet includes configured extension headers that are incorrect, then the packet is dropped. Specifying any allows all extension headers.

    The IPv6 extension headers supported are any, ah, dstopts, esp, fragment, hop-by-hop, mobility, and routing.

    If you do not include the allow-ipv6-extension-header statement in the IDS rule, packets with any type of extension header are dropped.

Configuring Land Attack Protection

To protect against land attacks:

  • Configure the identification and dropping of SYN packets that have the same source and destination IP address or the same source and destination IP address and port.

    To specify that the packets have the same source and destination IP address, use the ip-only option; to specify that the packets have the same source and destination IP address and port, use the ip-port option.

Configuring TCP SYN Fragment Protection

To protect against TCP SYN fragment attacks:

  • Configure the identification and dropping of TCP SYN packets that are IP fragments:

Configuring WinNuke Protection

To protect against WinNuke attacks:

  • Configure the identification and dropping of TCP segments that are destined for port 139 and have the urgent (URG) flag set.

Configuring the Service Set

To apply the IDS rule actions to a service set:

  1. Assign the IDS rule to a service set that is on an MS-MPC.

    If the service set is associated with an AMS interface, then the session limits you configure are applicable to each member interface.

  2. Limit the packets that the IDS rule processes by configuring a stateful firewall rule (see Configuring Stateful Firewall Rules). The stateful firewall rule can identify either the traffic that should undergo IDS processing or the traffic that should skip IDS processing:
    • To allow IDS processing on the traffic that matches the stateful firewall rule, include accept at the [edit services stateful-firewall rule rule-name term term-name then] hierarchy level.

    • To skip IDS processing on the traffic that matches the stateful firewall rule, include accept skip-ids at the [edit services stateful-firewall rule rule-name term term-name then] hierarchy level.

  3. Assign the stateful firewall rule to the service set.

Configuring Protection Against Header Anomaly Attacks

Protect against header anomaly attacks by using either of the following methods to enable a header integrity check, which drops any packets with header anomalies:

  • Configure a stateful firewall rule, a NAT rule, or an IDS rule and apply it to the service set that is on an MS-MPC. A header integrity check is automatically enabled.
  • Configure a header integrity check for the service set that is on an MS-MPC.

Configuring Logging of Network Attack Protection Packet Drops on an MS-MPC

To configure the logging of packet drops resulting from header integrity, suspicious packet pattern, and session limit checks performed by an MS-MPC:

  1. Configure the logging of packet drops resulting from header integrity failures and suspicious packet patterns.
  2. Configure the logging of packet drops resulting from session limit violations.