Network Engine
Network Engine
The Agent/Appliance's network engine can operate Inline or in Tap Mode. When operating Inline, the live packet stream passes through the network engine. Stateful tables are maintained, Firewall Rules are applied and traffic normalization is carried out so that Intrusion Prevention Rules can be applied to payload content. When operating in Tap Mode, the live packet stream is cloned and diverted from the main stream. In Tap Mode, the live packet stream is not
modified; all operations are carried out on the cloned stream.
Events
You can set the maximum size of each individual log file and how many of the most recent files are kept. Event log files will be written to until they reach the maximum allowed size, at which point a new file will be created and written to until it reaches the maximum size and so on. Once the maximum number of files is reached, the oldest will be deleted before a new file is created. Event log entries usually average around 200 bytes in size and so a 4MB log file will hold about 20,000
log entries. How quickly your log files fill up depends on the number of rules in place.
- Maximum size of the event log files (on Agent/Appliance):
Adjust these settings if you begin to see "Insufficient Disk Space" Alerts for one or more computers.
- Number of event log files to retain (on Agent/Appliance):
Adjust these settings if you begin to see "Insufficient Disk Space" Alerts for one or more computers.
Events are records of individual events. Counters are a record of the number of times individual events have occurred. Events are used to populate the Events pages. Counters are used to populate the Dashboard Widgets (number of Firewall Events over the last 7 days, etc.) and the Reports. You might want to collect only counters if, for example, you are using syslog for event collection; events can potentially take up a lot of disk space and
you may not want to store the data twice.
- Do Not Record Events with Source IP of: This option is useful if you want Vulnerability ProtectionDeep Security to not make record Events for traffic from certain trusted computers.
The following three settings let you fine tune Event aggregation. To save disk space, Vulnerability ProtectionDeep Security Agents/Appliances will take multiple occurrences of identical events and aggregate them into a single entry and append a "repeat count", a "first occurrence" timestamp, and a "last occurrence" timestamp. To aggregate event entries, Vulnerability ProtectionDeep Security Agents/Appliances need to cache the entries in memory while they are being
aggregated before writing them to disk.
- Cache Size: Determines how many types of events to track at any given time. Setting a value of 10 means that 10 types of events will be tracked (with a repeat count, first occurrence timestamp, and last occurrence timestamp). When a new type of event occurs, the oldest of the 10 aggregated events will be flushed from the cache and written to disk.
- Cache Lifetime: Determines how long to keep a record in the cache before flushing it to disk. If this value is 10 minutes and nothing else causes the record to be flushed, any record that reaches an age of 10 minutes gets flushed to disk.
- Cache Stale time: Determines how long to keep a record whose repeat count has not been recently incremented. If Cache Lifetime is 10 minutes and Cache Staletime is two minutes, an event record which has gone two minutes without being incremented will be flushed and written to disk.
Regardless of the above settings, the cache is flushed whenever Events are sent to the Vulnerability ProtectionDeep Security Manager.
Anti-Evasion Settings
Anti-Evasion settings control the network engine handling of abnormal packets that may be attempting to evade analysis.
Posture: There are three options for the Posture setting. This setting can be inherited from the parent policy:
- Normal: This is the default setting. It is tuned to prevent the evasion of IPS rules, without false positives.
- Strict: Strict mode performs more stringent checking than Normal mode but it could result in some false-positive results. Strict mode is useful for Penetration Testing but should not be enabled under normal circumstances.
- Custom: If you select Custom, additional settings are available that enable you to specify how Deep Security will handle issues with packets. For these settings (with the exception of TCP Timestamp PAWS Window), the options are Ignore (Deep Security sends the packet through to the system), Ignore & Log (same behavior as Ignore, but an event is logged), Deny (Deep Security drops the packet and logs an event.), or Deny Silent (same behavior as Deny, but no event is logged):
- Invalid TCP Timestamps: Action to take when a TCP timestamp is too old.
- TCP Timestamp PAWS Window: Packets can have timestamps. When a timestamp has an earlier timestamp than the one that came before it, it can be suspicious. The tolerance for the difference in timestamps depends on the operating system. For Windows systems, select 0 (the system will only accept packets with a timestamp that is equal to or newer than the previous packet). For Linux systems, select 1 (the system will accept packets with a timestamp that is a maximum of one second earlier than the previous packet).
- Timestamp PAWS Zero Allowed: Action to take when a TCP timestamp is zero.
- Fragmented Packets: Action to take when a packet is fragmented.
- TCP Zero Flags: Action to take when a packet has zero flags set.
- TCP Congestion Flags: Action to take when a packet has congestion flags set.
- TCP Urgent Flags: Action to take when a packet has urgent flags set.
- TCP Syn Fin Flags: Action to take when a packet has both SYN and FIN flags set.
- TCP Syn Rst Flags: Action to take when a packet has both SYN and RST flags set.
- TCP Rst Fin Flags: Action to take when a packet has both RST and FIN flags set.
- TCP Syn with Data: Action to take when a packet has a SYN flag set and also contains data.
- TCP Split Handshake: Action to take when a SYN is received instead of SYNACK, as a reply to a SYN.
- RST Packet Out of Connection: Action to take for a RST packet without a known connection.
- FIN Packet Out of Connection: Action to take for a FIN packet without a known connection.
- OUT Packet Out of Connection: Action to take for an outgoing packet without a known connection.
- Evasive Retransmit: Action to take for a packet with duplicated or overlapping data.
- TCP Checksum: Action to take for a packet with an invalid checksum.
Advanced Network Engine Settings
Generate an Alert when Agent configuration package exceeds maximum size: Yes or No. The default is Yes.
If you deselect the Default checkbox, you can customize these settings:
- CLOSED timeout: For gateway use. When a gateway passes on a "hard close" (RST), the side of the gateway that received the RST will keep the connection alive for this amount of time before closing it.
- SYN_SENT Timeout: How long to stay in the SYN-SENT state before closing the connection.
- SYN_RCVD Timeout: How long to stay in the SYN_RCVD state before closing the connection.
- FIN_WAIT1 Timeout: How long to stay in the FIN-WAIT1 state before closing the connection.
- ESTABLISHED Timeout: How long to stay in the ESTABLISHED state before closing the connection.
- ERROR Timeout: How long to maintain a connection in an Error state. (For UDP connections, the error can be caused by any of a variety of UDP problems. For TCP connections, the errors are probably due to packets being dropped by the firewall.)
- DISCONNECT Timeout: How long to maintain idle connections before disconnecting.
- CLOSE_WAIT Timeout: How long to stay in the CLOSE-WAIT state before closing the connection.
- CLOSING Timeout: How long to stay in the CLOSING state before closing the connection.
- LAST_ACK Timeout: How long to stay in the LAST-ACK state before closing the connection.
- ACK Storm timeout: The maximum period of time between retransmitted ACKs within an ACK Storm. In other words, if ACKs are being retransmitted at a lower frequency then this timeout, they will NOT be considered part of an ACK Storm.
- Boot Start Timeout: For gateway use. When a gateway is booted, there may already exist established connections passing through the gateway. This timeout defines the amount of time to allow non-SYN packets that could be part of a connection that was established before the gateway was booted to close.
- Cold Start Timeout: Amount of time to allow non-SYN packets that could belong to a connection that was established before the stateful mechanism was started.
- UDP Timeout: Maximum duration of a UDP connection.
- ICMP Timeout: Maximum duration of an ICMP connection.
- Allow Null IP: Allow or block packets with no source and/or destination IP address.
- Block IPv6 on Agents and Appliances versions 8 and earlier: Block or Allow IPv6 packets on older version 8.0 Agents and Appliances.
Deep Security Agents and Appliances versions 8.0 and older are unable to apply Firewall or DPI Rules to IPv6 network traffic and so the default setting for these older versions is to block IPv6 traffic.
- Block IPv6 on Agents and Appliances versions 9 and later: Block or Allow IPv6 packets on Agents and Appliances that are version 9 or later.
- Connection Cleanup Timeout: Time between cleanup of closed connections (see next).
- Maximum Connections per Cleanup: Maximum number of closed connections to cleanup per periodic connection cleanup (see previous).
- Block Same Src-Dest IP Address: Block or allow packets with same source and destination IP address. (Doesn't apply to loopback interface.)
- Maximum TCP Connections: Maximum simultaneous TCP Connections.
- Maximum UDP Connections: Maximum simultaneous UDP Connections.
- Maximum ICMP Connections: Maximum simultaneous ICMP Connections.
- Maximum Events per Second: Maximum number of events that can be written per second.
- TCP MSS Limit: The MSS is the Maximum Segment Size (or largest amount of data) that can be sent in a TCP packet without being fragmented. This is usually established when two computers establish communication. However, in some occasions, the traffic goes through a router or switch that has a smaller MSS. In this case the MSS can change. This causes retransmission of the packets and the Agent/Appliance logs them as "Dropped
Retransmit". In cases where there are large numbers of Dropped Retransmit event entries, you may wish to lower this limit and see if the volume is reduced.
- Number of Event Nodes: The maximum amount of kernel memory the driver will use to store log/event information for folding at any one time.
Event folding occurs when many Events of the same type occur in succession. In such cases, the Agent/Appliance will "fold" all the events into one.
- Ignore Status Code: This option lets you ignore certain types of Events. If, for example, you are getting a lot of "Invalid Flags" you can simply ignore all instances of that Event.
- Ignore Status Code: Same as above.
- Ignore Status Code: Same as above.
- Advanced Logging Policy:
- Bypass: No filtering of Events. Overrides the "Ignore Status Code" settings (above) and other advanced settings, but does not override logging settings defined in the Vulnerability ProtectionDeep Security Manager. For example, if Firewall Stateful Configuration logging options set from a Firewall Stateful Configuration Properties window in the Vulnerability ProtectionDeep Security Manager will not be affected.
- Default: Will switch to "Tap Mode" (below) if the engine is in Tap Mode, and will switch to "Normal" (above) if the engine is in Inline Mode. Normal: All Events are logged except dropped retransmits.
- Backwards Compatibility Mode: For support use only.
- Verbose Mode: Same as "Normal" but including dropped retransmits.
- Stateful and Normalization Suppression: Ignores dropped retransmit, out of connection, invalid flags, invalid sequence, invalid ack, unsolicited udp, unsolicited ICMP, out of allowed policy.
- Stateful, Normalization, and Frag Suppression: Ignores everything that "Stateful and Normalization Suppression" ignores as well as events related to fragmentation.
- Stateful, Frag, and Verifier Suppression: Ignores everything "Stateful, Normalization, and Frag Suppression" ignores as well as verifier-related events.
- Tap Mode: Ignores dropped retransmit, out of connection, invalid flags, invalid sequence, invalid ack, max ack retransmit, packet on closed connection.
For a more comprehensive list of which Events are ignored in
Stateful and Normalization Suppression; Stateful, Normalization, and Frag Suppression; Stateful, Frag, and Verifier Suppression; and Tap modes, see
Advanced Logging Policy Modes in the
Reference section.
- Silent TCP Connection Drop: When Silent TCP Connection Drop is on, a RST packet is only sent to the local stack. No RST packet is sent on the wire. This reduces the amount of information sent back to a potential attacker.
If you enable the Silent TCP Connection Drop you must also adjust the DISCONNECT Timeout. Possible values for DISCONNECT Timeout range from 0 seconds to 10 minutes. This must be set high enough that the connection is closed by the application before it is closed by the Vulnerability ProtectionDeep Security Agent/Appliance. Factors that will affect the DISCONNECT Timeout value include the operating system, the applications that are creating the connections, and network topology.
- Enable Debug Mode: When in debug mode, the Agent/Appliance captures a certain number of packets (specified by the setting below: Number of Packets to retain in Debug Mode). When a rule is triggered and debug mode is on, the Agent/Appliance will keep a record of the last X packets that passed before the rule was triggered. It will return those packets to the Manager as Debug Events.
Debug mode can very easily cause excessive log generation and should only be used under Client Services supervision.
- Number of Packets to retain in Debug Mode: The number of packets to retain and log when debug mode is on.
- Log All Packet Data: Record the packet data for Events that are not associated with specific Firewall or Intrusion Prevention Rules. That is, log packet data for Events such as "Dropped Retransmit" or "Invalid ACK".
Events that have been aggregated because of Event folding cannot have their packet data saved.
- Log only one packet within period: If this option is enabled and Log All Packet Data is not, most logs will contain only the header data. A full packet will be attached periodically, as specified by the Period for Log only one packet within period setting.
- Period for Log only one packet within period: When Log only one packet within period is enabled, this setting specifies how often the log will contain full packet data.
- Maximum data size to store when packet data is captured: The maximum size of header or packet data to be attached to a log.
- Generate Connection Events for TCP: Generates a Firewall Event every time a TCP connection is established.
- Generate Connection Events for ICMP: Generates a Firewall Event every time an ICMP connection is established.
- Generate Connection Events for UDP: Generates a Firewall Event every time a UDP connection is established.
- Bypass CISCO WAAS Connections: This mode bypasses stateful analysis of TCP sequence numbers for connections initiated with the proprietary CISCO WAAS TCP option selected. This protocol carries extra information in invalid TCP Sequence and ACK numbers that interfere with stateful firewall checks. Only enable this option if you are using CISCO WAAS and you are seeing connections with Invalid SEQ or Invalid ACK in the firewall logs. When this option is selected, TCP
stateful sequence number checks are still performed for non WAAS enabled connections.
- Drop Evasive Retransmit: Incoming packets containing data that has already been processed will be dropped to avoid possible evasive retransmit attack techniques.
- Verify TCP Checksum: The segment's checksum field data will be used to assess the integrity of the segment.
- Minimum Fragment Offset: Defines the minimum acceptable IP fragment offset. Packets with offsets less than this will be dropped with reason "IP fragment offset too small". If set to 0 no limit is enforced. (default 60)
- Minimum Fragment Size: Defines the minimum acceptable IP fragment size. Fragmented packets that are smaller than this will be dropped with reason "First fragment too small" as potentially malicious. (default 120)
- SSL Session Size: Sets the maximum number of SSL session entries maintained for SSL session keys.
- SSL Session Time: Sets how long SSL session renewal keys are valid before they expire.
- Filter IPv4 Tunnels: Not used by this version of Deep Security.
- Filter IPv6 Tunnels: Not used by this version of Deep Security.
- Strict Teredo Port Check: Not used by this version of Deep Security.
- Drop Teredo Anomalies: Not used by this version of Deep Security.
- Maximum Tunnel Depth: Not used by this version of Deep Security.
- Action if Maximum Tunnel Depth Exceeded: Not used by this version of Deep Security.
- Drop IPv6 Extension Type 0: Not used by this version of Deep Security.
- Drop IPv6 Fragments Lower Than minimum MTU: Drop IPv6 fragments that do not meet the minimum MTU size specified by IETF RFC 2460.
- Drop IPv6 Reserved Addresses: Drop these reserved addresses:
- IETF reserved 0000::/8
- IETF reserved 0100::/8
- IETF reserved 0200::/7
- IETF reserved 0400::/6
- IETF reserved 0800::/5
- IETF reserved 1000::/4
- IETF reserved 4000::/2
- IETF reserved 8000::/2
- IETF reserved C000::/3
- IETF reserved E000::/4
- IETF reserved F000::/5
- IETF reserved F800::/6
- Drop IPv6 Site Local Addresses: Drop site local addresses FEC0::/10.
- Drop IPv6 Bogon Addresses: Drop these addresses:
- "loopback ::1
- "IPv4 compatible address", ::/96
- "IPv4 mapped address" ::FFFF:0.0.0.0/96
- "IPv4 mapped address", ::/8
- "OSI NSAP prefix (deprecated by RFC4048)" 0200::/7
- "6bone (deprecated)", 3ffe::/16
- "Documentation prefix", 2001:db8::/32
- Drop 6to4 Bogon Addresses: Drop these addresses:
- "6to4 IPv4 multicast", 2002:e000:: /20
- "6to4 IPv4 loopback", 2002:7f00:: /24
- "6to4 IPv4 default", 2002:0000:: /24
- "6to4 IPv4 invalid", 2002:ff00:: /24
- "6to4 IPv4 10.0.0.0/8", 2002:0a00:: /24
- "6to4 IPv4 172.16.0.0/12", 2002:ac10:: /28
- "6to4 IPv4 192.168.0.0/16", 2002:c0a8:: /32
- Drop IP Packet with Zero Payload: Drop IP packets that have a zero-length payload.
- Drop Unknown SSL Protocol: Drop connection if a client attempts to connect to the Vulnerability ProtectionDeep Security Manager with the wrong protocol.
- Fragment Timeout: If configured to do so, the Intrusion Prevention Rules will inspect the content of a packet (or packet fragment) if that content is considered suspicious. This setting determines how long after inspecting to wait for the remaining packet fragments before discarding the packet.
- Maximum number of fragmented IP packets to keep: Specifies the maximum number of fragmented packets that Vulnerability ProtectionDeep Security will keep.
- Send ICMP to indicate fragmented packet timeout exceeded: When this setting is enabled and the fragment timeout is exceeded, an ICMP packet is sent to the remote computer.