Tcp intercept and limiting embryonic connections, Dead connection detection (dcd) – Cisco ASA 5505 User Manual

Page 1130

Advertising
background image

53-2

Cisco ASA 5500 Series Configuration Guide using the CLI

Chapter 53 Configuring Connection Settings

Information About Connection Settings

TCP Intercept and Limiting Embryonic Connections

Limiting the number of embryonic connections protects you from a DoS attack. The ASA uses the
per-client limits and the embryonic connection limit to trigger TCP Intercept, which protects inside
systems from a DoS attack perpetrated by flooding an interface with TCP SYN packets. An embryonic
connection is a connection request that has not finished the necessary handshake between source and
destination. TCP Intercept uses the SYN cookies algorithm to prevent TCP SYN-flooding attacks. A
SYN-flooding attack consists of a series of SYN packets usually originating from spoofed IP addresses.
The constant flood of SYN packets keeps the server SYN queue full, which prevents it from servicing
connection requests. When the embryonic connection threshold of a connection is crossed, the ASA acts
as a proxy for the server and generates a SYN-ACK response to the client SYN request. When the ASA
receives an ACK back from the client, it can then authenticate the client and allow the connection to the
server.

Note

When you use TCP SYN cookie protection to protect servers from SYN attacks, you must set the
embryonic connection limit lower than the TCP SYN backlog queue on the server that you want to
protect. Otherwise, valid clients can nolonger access the server during a SYN attack.

To view TCP Intercept statistics, including the top 10 servers under attack, see

Chapter 56, “Configuring

Threat Detection.”

Disabling TCP Intercept for Management Packets for Clientless SSL
Compatibility

By default, TCP management connections have TCP Intercept always enabled. When TCP Intercept is
enabled, it intercepts the 3-way TCP connection establishment handshake packets and thus deprives the
ASA from processing the packets for clientless SSL. Clientless SSL requires the ability to process the
3-way handshake packets to provide selective ACK and other TCP options for clientless SSL
connections. To disable TCP Intercept for management traffic, you can set the embryonic connection
limit; only after the embryonic connection limit is reached is TCP Intercept enabled.

Dead Connection Detection (DCD)

DCD detects a dead connection and allows it to expire, without expiring connections that can still handle
traffic. You configure DCD when you want idle, but valid connections to persist.

When you enable DCD, idle timeout behavior changes. With idle timeout, DCD probes are sent to each
of the two end-hosts to determine the validity of the connection. If an end-host fails to respond after
probes are sent at the configured intervals, the connection is freed, and reset values, if configured, are
sent to each of the end-hosts. If both end-hosts respond that the connection is valid, the activity timeout
is updated to the current time and the idle timeout is rescheduled accordingly.

Enabling DCD changes the behavior of idle-timeout handling in the TCP normalizer. DCD probing
resets the idle timeout on the connections seen in the show conn command. To determine when a
connection that has exceeded the configured timeout value in the timeout command but is kept alive due
to DCD probing, the show service-policy command includes counters to show the amount of activity
from DCD.

Advertising