requires:
+ min-version: 7
features:
- DEBUG
files:
requires:
+ min-version: 7
features:
- DEBUG
files:
requires:
+ min-version: 7
features:
- DEBUG
files:
--- /dev/null
+# Description
+
+Test exception policy logic for stream reassembly.
+
+DEBUG is required to enable the "eps" logic.
--- /dev/null
+%YAML 1.1
+---
+
+stats:
+ enabled: yes
+
+outputs:
+ - eve-log:
+ enabled: yes
+ types:
+ - alert:
+ tagged-packets: yes
+ - anomaly:
+ enabled: yes
+ types:
+ decode: no
+ stream: yes
+ applayer: yes
+ - tls:
+ extended: yes # enable this for extended logging information
+ - drop:
+ alerts: yes # log alerts that caused drops
+ flows: all # start or all: 'start' logs only a single drop
+ # per flow direction. All logs each dropped pkt.
+ - flow
+ - stats:
+ totals: yes # stats for all threads merged together
+ threads: no # per thread stats
+ deltas: no # include delta values
+action-order:
+ - pass
+ - drop
+ - reject
+ - alert
--- /dev/null
+pass tls any any -> any any (tls.sni; content:"example.com"; startswith; nocase; endswith; msg:"matching TLS allowlisted"; flow:to_server,established; sid:1;)
+drop tls any any -> any any (msg:"not matching any TLS allowlisted Domain"; flow:to_server,established; sid:2; rev:1;)
+
+# matches packet 4, but should not alert due to memcap drop
+alert tcp any any -> any any (seq:3964863680; ack:2403674603; dsize:214; sid:3;)
--- /dev/null
+requires:
+ lt-version: 7
+ features:
+ - DEBUG
+ files:
+ - src/util-exception-policy.c
+pcap: ../tls/tls-ja3s/input.pcap
+args:
+- --simulate-ips
+- -k none
+# pretend tcp memcap was hit in packet 4, the client hello containing the sni
+- --simulate-packet-tcp-reassembly-memcap=4
+- --set stream.reassembly.memcap-policy=drop-flow
+checks:
+ - filter:
+ count: 0
+ match:
+ event_type: alert
+ - filter:
+ count: 29
+ match:
+ event_type: drop
+ - filter:
+ count: 1
+ match:
+ event_type: drop
+ drop.reason: "stream reassembly"
+ - filter:
+ count: 28
+ match:
+ event_type: drop
+ drop.reason: "flow drop"
+ - filter:
+ count: 0
+ match:
+ event_type: tls
+ tls.sni: example.com
+ - filter:
+ count: 0
+ match:
+ event_type: tls
+ - filter:
+ count: 0
+ match:
+ event_type: flow
+ app_proto: tls
+ - filter:
+ count: 1
+ match:
+ event_type: flow
+ flow.action: drop
--- /dev/null
+# Description
+
+Test exception policy logic for stream reassembly.
+
+DEBUG is required to enable the "eps" logic.
--- /dev/null
+%YAML 1.1
+---
+
+outputs:
+ - eve-log:
+ enabled: yes
+ types:
+ - alert:
+ tagged-packets: yes
+ - tls:
+ extended: yes # enable this for extended logging information
+ - drop:
+ alerts: yes # log alerts that caused drops
+ flows: all # start or all: 'start' logs only a single drop
+ # per flow direction. All logs each dropped pkt.
+ - flow
+ - stats:
+ totals: yes # stats for all threads merged together
+ threads: no # per thread stats
+ deltas: no # include delta values
--- /dev/null
+pass tls any any -> any any (tls.sni; content:"example.com"; startswith; nocase; endswith; msg:"matching TLS allowlisted"; flow:to_server,established; priority:2; sid:1;)
+# matches packet 4, but no match due to memcap drop
+alert tcp any any -> any any (seq:3964863680; ack:2403674603; dsize:214; priority:1; sid:3;)
--- /dev/null
+requires:
+ lt-version: 7
+ features:
+ - DEBUG
+ files:
+ - src/util-exception-policy.c
+pcap: ../tls/tls-ja3s/input.pcap
+args:
+- --simulate-ips
+- -k none
+# pretend tcp memcap was hit in packet 4, the client hello containing the sni
+- --simulate-packet-tcp-reassembly-memcap=4
+- --set stream.reassembly.memcap-policy=drop-flow
+checks:
+ - filter:
+ count: 0
+ match:
+ event_type: alert
+ - filter:
+ count: 29
+ match:
+ event_type: drop
+ - filter:
+ count: 1
+ match:
+ event_type: drop
+ drop.reason: "stream reassembly"
+ - filter:
+ count: 28
+ match:
+ event_type: drop
+ drop.reason: "flow drop"
+ - filter:
+ count: 0
+ match:
+ event_type: tls
+ tls.sni: example.com
+ - filter:
+ count: 0
+ match:
+ event_type: tls
+ - filter:
+ count: 0
+ match:
+ event_type: flow
+ app_proto: tls
+ - filter:
+ count: 1
+ match:
+ event_type: flow
+ flow.action: drop
--- /dev/null
+# Description
+
+Test exception policy logic for stream reassembly.
+
+DEBUG is required to enable the "eps" logic.
--- /dev/null
+%YAML 1.1
+---
+
+outputs:
+ - eve-log:
+ enabled: yes
+ types:
+ - alert:
+ tagged-packets: yes
+ - tls:
+ extended: yes # enable this for extended logging information
+ - drop:
+ alerts: yes # log alerts that caused drops
+ flows: all # start or all: 'start' logs only a single drop
+ # per flow direction. All logs each dropped pkt.
+ - flow
+ - stats:
+ totals: yes # stats for all threads merged together
+ threads: no # per thread stats
+ deltas: no # include delta values
--- /dev/null
+pass tls any any -> any any (tls.sni; content:"example.com"; startswith; nocase; endswith; msg:"matching TLS allowlisted"; flow:to_server,established; priority:2; sid:1;)
+# matches packet 4, but no match due to memcap drop
+alert tcp any any -> any any (seq:3964863680; ack:2403674603; dsize:214; priority:1; sid:3;)
--- /dev/null
+requires:
+ lt-version: 7
+ features:
+ - DEBUG
+ files:
+ - src/util-exception-policy.c
+pcap: ../tls/tls-ja3s/input.pcap
+args:
+- --simulate-ips
+- -k none
+# pretend tcp memcap was hit in packet 4, the client hello containing the sni
+- --simulate-packet-tcp-reassembly-memcap=4
+- --set stream.reassembly.memcap-policy=drop-packet
+- --set app-layer.error-policy=ignore
+checks:
+ - filter:
+ count: 0
+ match:
+ event_type: alert
+ - filter:
+ count: 1
+ match:
+ event_type: drop
+ - filter:
+ count: 1
+ match:
+ event_type: drop
+ drop.reason: "stream reassembly"
+ - filter:
+ count: 0
+ match:
+ event_type: drop
+ drop.reason: "flow drop"
+ - filter:
+ count: 0
+ match:
+ event_type: tls
+ tls.sni: example.com
+ - filter:
+ count: 1
+ match:
+ event_type: tls
+ - filter:
+ count: 1
+ match:
+ event_type: flow
+ app_proto: tls
+ - filter:
+ count: 0
+ match:
+ event_type: flow
+ flow.action: drop