pfsense:alerts:suricata_stream_3way_handshake_synack_with_wrong_ack
Differences
This shows you the differences between two versions of the page.
pfsense:alerts:suricata_stream_3way_handshake_synack_with_wrong_ack [2020/03/01 18:05] – created peter | pfsense:alerts:suricata_stream_3way_handshake_synack_with_wrong_ack [2020/04/07 12:17] (current) – removed peter | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== PFSense - Alerts - SURICATA STREAM 3way handshake SYNACK with wrong ack ====== | ||
- | |||
- | |||
- | The best solution is to disable that rule. | ||
- | |||
- | ---- | ||
- | |||
- | When processing the TCP 3 way handshake (3whs), Suricata’s TCP stream engine will closely follow the setup of a TCP connection to make sure the rest of the session can be tracked and reassembled properly. | ||
- | |||
- | In some cases where not the initial SYN/ACK was used by the client, but instead a later one. Suricata however, had accepted the initial SYN/ | ||
- | |||
- | If people have the stream events enabled _and_ pay attention to them, a noisy session like this should certainly get their attention. | ||
- | |||
- | ---- | ||
- | |||
- | ===== Analysis ===== | ||
- | |||
- | In this case the curious thing is that the extra SYN/ACK(s) have different properties: the sequence number is different. | ||
- | |||
- | Whats happening on the wire: | ||
- | |||
- | TCP SSN 1: | ||
- | |||
- | < | ||
- | -> SYN: SEQ 10 | ||
- | <- SYN/ACK 1: ACK 11, SEQ 100 | ||
- | <- SYN/ACK 2: ACK 11, SEQ 1000 | ||
- | -> ACK: SEQ 11, ACK 101 | ||
- | </ | ||
- | |||
- | TCP SSN 2: | ||
- | |||
- | < | ||
- | -> SYN: SEQ 10 | ||
- | <- SYN/ACK 1: ACK 11, SEQ 100 | ||
- | <- SYN/ACK 2: ACK 11, SEQ 1000 | ||
- | -> ACK: SEQ 11, ACK 1001 | ||
- | </ | ||
- | |||
- | It’s clear that in SSN 1 the client ACKs the first SYN/ACK while in SSN 2 the 2nd SYN/ACK is ACK’d. | ||
pfsense/alerts/suricata_stream_3way_handshake_synack_with_wrong_ack.1583085932.txt.gz · Last modified: 2020/07/15 09:30 (external edit)