Blog | G5 Cyber Security

Blocking TCP: ACK=0 vs SYN Packets

TL;DR

Both blocking inbound TCP segments with ACK=0 and SYN=1 flags are methods to prevent unwanted connections, but they target different stages of the connection process. Blocking SYN packets stops new connections from *starting*, while blocking ACK=0 packets usually deals with established connections being abused or attempting malicious activity. They aren’t interchangeable; you need both for comprehensive cyber security.

Understanding TCP Handshake & Flags

Before we dive into the blocking methods, let’s quickly recap how a TCP connection is made:

  1. SYN (Synchronize): The client sends this to initiate a connection.
  2. SYN-ACK (Synchronize-Acknowledge): The server responds with this, acknowledging the SYN and requesting its own synchronization.
  3. ACK (Acknowledgement): The client acknowledges the SYN-ACK, completing the handshake.

These flags are crucial for understanding how each blocking method works.

1. Blocking Inbound TCP Segments with SYN=1

This is a common technique to prevent unwanted connection attempts. It’s often used as part of a firewall rule or intrusion prevention system (IPS).

2. Blocking Inbound TCP Segments with ACK=0

Blocking packets with the ACK flag set to 0 is a bit more nuanced.

3. How are they the same?

4. How are they different?

  1. Connection Stage: SYN=1 blocks *new* connections; ACK=0 typically deals with existing or attempted malicious interactions.
  2. Attack Vectors: SYN flooding attacks are prevented by blocking SYN packets. Reset attacks and connection hijacking attempts are often mitigated by blocking ACK=0 packets.
  3. False Positives: Blocking only SYN can sometimes be less disruptive, as it doesn’t affect established connections. Blocking ACK=0 requires more careful configuration to avoid legitimate traffic issues.

5. Practical Considerations

Exit mobile version