Closed
Conversation
Last packet from the TLS TCP session moves TCP state to CLOSED.
This flags the app-layer with APP_LAYER_PARSER_EOF_TS or
APP_LAYER_PARSER_EOF_TC depending on the direction of the final packet.
This flag will just have been set in a single direction.
This leads to the last packet updating the inspect id in that packets
direction.
At the end of the TLS session a pseudo packet is created, because:
- flow has ended
- inspected tx id == 0, for at least one direction
- total txs is 1
Then a packet rule matches:
```
alert tcp any any -> any 443 (flow: to_server; \
flowbits:isset,tls_error; \
sid:09901033; rev:1; \
msg:"Allow TLS error handling (outgoing packet)"; )
```
The `SIG_MASK_REQUIRE_REAL_PKT` is not preventing the match, as the
`flowbits` keyword doesn't set it.
To avoid this match. This patch skips signatures of the `SIG_TYPE_PKT`
for flow end packets.
Ticket: OISF#7318.
(cherry picked from commit 0e4faba)
Ticket: 7199 Uses a config parameter detect.guess-applayer-tx to enable this behavior (off by default) This feature is requested for use cases with signatures not using app-layer keywords but still targetting application layer transactions, such as pass/drop rule combination, or lua usage. This overrides the previous behavior of checking if the signature has a content match, by checking if there is only one live transaction, in addition to the config parameter being set. (cherry picked from commit f2c3776)
The `guess-applayer-tx` work also removed the stream match condition for adding app-layer metadata to alerts. This is a behavior change that is not desired at this point, so this commit reverts that part of the changes. We keep the exising logging of app-layer metadata if the match was in the stream.
This was referenced Dec 11, 2024
Closed
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main-7.0.x #12268 +/- ##
==============================================
- Coverage 83.19% 83.18% -0.01%
==============================================
Files 922 922
Lines 260888 260900 +12
==============================================
- Hits 217048 217033 -15
- Misses 43840 43867 +27
Flags with carried forward coverage won't be shown. Click here to find out more. |
jufajardini
approved these changes
Dec 11, 2024
Contributor
jufajardini
left a comment
There was a problem hiding this comment.
if we don't want to add anything about the stream matching rules still leading to logged metadata, looks good to me.
Comment on lines
+1680
to
+1684
| # try to tie an app-layer transaction for rules without app-layer keywords | ||
| # if there is only one live transaction for the flow | ||
| # allows to log app-layer metadata in alert | ||
| # but the transaction may not be the relevant one. | ||
| # guess-applayer-tx: no |
Contributor
There was a problem hiding this comment.
Just noticed we're going against our own guidelines of using true / false in such options. To fix later...
jasonish
approved these changes
Dec 11, 2024
Member
jasonish
left a comment
There was a problem hiding this comment.
OK, netmap CI failure it intermittent.
Member
Author
|
Merged in #12270, thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
replace #12267, add in #12264
SV_BRANCH=OISF/suricata-verify#2179