-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decouple stream bypass from TLS encrypted bypass v7 #12249
base: master
Are you sure you want to change the base?
Decouple stream bypass from TLS encrypted bypass v7 #12249
Conversation
Decouple app.protocols.tls.encryption-handling and stream.bypass. There's no apparent reason why encrypted TLS bypass traffic should depend on stream bypass, as these are unrelated features. Ticket: 6788
NOTE: This PR may contain new authors. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #12249 +/- ##
==========================================
+ Coverage 83.18% 83.21% +0.03%
==========================================
Files 912 912
Lines 257174 257203 +29
==========================================
+ Hits 213930 214032 +102
+ Misses 43244 43171 -73
Flags with carried forward coverage won't be shown. Click here to find out more. |
Information: ERROR: QA failed on SURI_TLPR1_alerts_cmp.
Pipeline 23726 |
Re QA results: |
This suggests a behavior change in default config, which will likely get some ppl caught off guard on upgrades. How should that be handled? |
The default behavior is not to bypass SSH after the encrypted part so that should be the same. Upgrade guide contains a mention about this behavior change and it contains info how to unify the bypass behavior if stream.bypass + tls.encrypted bypass was set. |
So previously having stream.bypass would lead to ssh encrypted traffic bypass, but after this PR the exact same config won't bypass the ssh encrypted traffic, right? So this is something that will affect anyone who upgrades with an existing yaml. This is what the Qalab result shows as well. One way to address this would be to simply default the new ssh option to bypass, I think? |
I agree that SSH should keep its default behavior of getting bypassed |
That will reproduce the behavior for people with |
So, rather, maybe we can change the default behavior of stream.bypass to true and we can also set TLS and SSH encryption handling to "bypass". I think usually people want the traffic to be bypassed, so it will behave the same. For people, who want to inspect all the traffic - they will need to reconfigure the SSH/TLS behavior to "default" or "full" together with stream.bypass setting. |
The behavior change here is also that if stream.bypass == false then TLS and SSH will stop inspecting the traffic (but keep tracking- "default") after the encrypted part. This would not happen previously because the "default" option was conditioned with stream.bypass set to true. |
Following up on #12082
Redmine ticket: https://redmine.openinfosecfoundation.org/issues/6788
Describe changes:
v7
v6
v5
v4
v3
encryption-handling
allowing to choose whether to continue inspection on SSH once it turns encryptedSV_BRANCH=OISF/suricata-verify#2171