Commit Graph

790 Commits (suricata-7.0.8)

Author SHA1 Message Date
Victor Julien 55b4c1e6fd stream: mark urgent experimental; set safe defaults
Uncomment in default config. This will make the policy "inline",
which is the same behavior as prior to the urgent policy support.

Add line to docs that this is an experimental feature.
8 months ago
Victor Julien faf2613281 doc/userguide: document TCP urgent policy
(cherry picked from commit d11e8a8ee7)
8 months ago
Philippe Antoine a578b0919f doc: improve documentation about guess-applayer-tx
Ticket: 7199
8 months ago
Philippe Antoine 19a638611b detect: log app-layer metadata in alert with single tx
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 f2c3776314)
8 months ago
Juliana Fajardini cbc0aa57b1 flowint: add isnotset support
Similar keywords use `isnotset`, while `flowint` only accepted `notset`
Opted to change the code, not only the regex, to keep the underlying
code also following the same patterns.

Task #7426

(cherry picked from commit 6e4a501e7c)
8 months ago
Jason Ish ccc61f6294 requires: add option to ignore unknown requirements
The new behavior in 8, and backported is to treat unknown requirements
as unsatisfied requirements.

For 7.0.8, add a configuration option, "ignore-unknown-requirements"
to completely ignore unknown requirements, effectively treating them
as available.

Ticket: #7434
8 months ago
Jason Ish eac4854636 requires: treat unknown requires keywords as unmet requirements
For example, "requires: foo bar" is an unknown requirement, however
its not tracked, nor an error as it follows the syntax. Instead,
record these unknown keywords, and fail the requirements check if any
are present.

A future version of Suricata may have new requires keywords, for
example a check for keywords.

Ticket: #7418
(cherry picked from commit 820a3e51b7)
8 months ago
Philippe Antoine ca8bf6e64c http: have a headers limit
Ticket: 7191

So as to avoid quadratic complexity in libhtp.
Make the limit configurable from suricata.yaml,
and have an event when network traffic goes over the limit.

(cherry picked from commit bb714c9178)
10 months ago
Philippe Antoine 72456d359b detect/datasets: implement unset command
Ticket: 7195

Otherwise, Suricata aborted on such a rule

(cherry picked from commit e47598110a)
10 months ago
Sascha Steinbiss dc8cda6887 userguide: fix spelling of `security_result` EVE field
This ensures that the correct spelling of the `security_result` EVE
field for RFB (as opposed to `security-result`) is also reflected in the
documentation.

Ticket: #7210
(cherry picked from commit cb14e44780)
11 months ago
Victor Julien 32c8a7614d doc/userguide: update guidance on 5 to 6 upgrading
TCP memory use can be higher than expected in certain configs.

Ticket: #6552.
(cherry picked from commit 3456dea276)
11 months ago
Victor Julien 6824a4bc5f doc/userguide: document iprep isset/isnotset
(cherry picked from commit 8b42182fee)
1 year ago
Victor Julien b014b1e8e6 doc/userguide: add more operators to iprep
(cherry picked from commit 2f74d435d3)
1 year ago
Victor Julien e04d8f3045 doc/userguide: add noalert/alert keyword docs
(cherry picked from commit 50ef646d45)
1 year ago
Victor Julien 8fdbb0b17d doc/userguide: give pcre1 to pcre2 proper heading
(cherry picked from commit c83e3285ae)
1 year ago
Lukas Sismis 7cc86938fc doc: port user install and build instruction from master-6.0.x
Ticket: #6685
(cherry picked from commit bd9608771e)
1 year ago
Lukas Sismis 77997941ae doc: update eBPF compilation instructions
Ticket: #6599
(cherry picked from commit 521d1cb8e7)
1 year ago
Jeff Lucovsky ffca7658a2 output/ja4: Log ja4 hashes iff configured
This commit allows ja4 hashes to be logged iff enabled in the tls/quic
section of the outputs.

With the default setting ("off"), ja4 hashes will only be logged in
alerts when the signatures uses the ja4.hash keyword.

When enabled, ja4 hashes will be inclued in quic and tls logs.

- tls:
     ja4: on
- quic:
     ja4: on

Issue: 7010
1 year ago
Sascha Steinbiss 93fd349b3f ja4: implement for TLS and QUIC
Ticket: OISF#6379
(cherry picked from commit 120313f4da)
1 year ago
jason taylor 00c7473a00 doc: add source verification docs
Ticket: #6908

Signed-off-by: jason taylor <jtfas90@gmail.com>
(cherry picked from commit 47d6c3a3ab)
1 year ago
Victor Julien 84fc3bed2c detect/iprep: update doc about 0 value
A value of 0 was already allowed by the rule parser, but didn't
actually work.

Bug: #6834.
(cherry picked from commit fcca5c7514)
1 year ago
Shivani Bhardwaj f0b856214c doc: add note about fast_pattern w base64_data
Bug 6859
1 year ago
Jason Ish 363ca13a9c docs/userguide: use a consistent date for reproducible builds
By default, when Sphinx generates the man pages, the current date will
be embedded in them. This can be set to a specific date with the
"today" variable. Typically the date embedded in manpages in the
release date.

To achieve this, attempt to use the environment variable, RELEASE_DATE
to set the "today" variable, reverting back to the empty string if not
set. It is up to our build system to properly set this date.

Ticket: #6911
(cherry picked from commit 51bf1c3510)
1 year ago
Jason Ish 3b8ddf395a docs/conf.py: fix python escape warning
/home/jason/oisf/dev/suricata/master/doc/userguide/conf.py:74: SyntaxWarning: invalid escape sequence '\('
  "AC_INIT\(\[suricata\],\s*\[(.*)?\]\)",

(cherry picked from commit 4c16032f63)
1 year ago
Lukas Sismis ac67861fcf dpdk: add interrupt (power-saving) mode
When the packet load is low, Suricata can run in interrupt
mode. This more resembles the classic approach of processing
packets - CPU cores run low and only fetch packets
on interrupt.

Ticket: #6696
(cherry picked from commit 2a2898053c)
1 year ago
Juliana Fajardini 2efde5b87f userguide: fix explanation about bsize ranges
Our code handles Uint ranges as exclusive, but for bsize, our
documentation stated that they're inclusive.

Cf. from uint.rs:

    DetectUintMode::DetectUintModeRange => {
        if val > x.arg1 && val < x.arg2 {
            return true;
        }
    }

Task #6708

(cherry picked from commit 244a35d539)
1 year ago
Lukas Sismis 1814e81036 doc: mention the limited number of RX/TX descriptors on Intel NICs
Ticket: 6748
(cherry picked from commit 356f9ffa13)
1 year ago
Philippe Antoine f9de1cca61 smtp: config limit maximum number of live transactions
Ticket: #6477
(cherry picked from commit 8f73a0ac55)
1 year ago
Philippe Antoine e7e28822f4 http1: configurable max number of live tx per flow
Ticket: #5921

Co-authored-by: Jason Ish <jason.ish@oisf.net>
(cherry picked from commit 4175680a8a)
1 year ago
Jason Ish cc6319b37c doc: note what version "requires" was added in
(cherry picked from commit 8bf8131c31)
2 years ago
Lukas Sismis 203f80bf97 doc: remove references to prehistoric versions
Remove references that are mentioning Suricata 3 or less
As a note - only one Suricata 4 reference found:
(suricata-yaml.rst:"In 4.1.x")
Fast pattern selection criteria can be internally found by inspecting
SupportFastPatternForSigMatchList and SigTableSetup functions.

Ticket: #6699
(cherry picked from commit 6e4cc79b39)
2 years ago
Lukas Sismis aeb5564e89 dpdk: rework hugepage hints to use per-numa information
Previous integration of hugepage analysis only fetched data
from /proc/meminfo. However this proved to be often
deceiving mainly for providing only global information and
not taking into account different hugepage sizes (e.g. 1GB
hugepages) and different NUMA nodes.

Ticket: #6697
(cherry picked from commit ca6f7c2d00)
2 years ago
Jason Ish 09fc36713f requires: add requires keyword
Add a new rule keyword "requires" that allows a rule to require specific
Suricata versions and/or Suricata features to be enabled.

Example:

  requires: feature geoip, version >= 7.0.0, version < 8;
  requires: version >= 7.0.3 < 8
  requires: version >= 7.0.3 < 8 | >= 8.0.3

Feature: #5972

Co-authored-by: Philippe Antoine <pantoine@oisf.net>
(cherry picked from commit 5d5b0509a5)
2 years ago
Jason Ish 98e72a793e userguide: remove old css files
In our conf.py we reference some ReadTheDocs stylesheets that appear to
be old and break formatting of some items like bulletted lists.

Bug: #6589
(cherry picked from commit cc0adaaf4a)
2 years ago
Philippe Antoine 2a86df53f2 detect: strip_pseudo_headers transform
Ticket: 6546
(cherry picked from commit adf5e6da7b)
2 years ago
Philippe Antoine f2e83e420d doc: fix byte_test examples
As this keyword has 4 mandatory arguments, and some examples
had only three...

Ticket: 6629
(cherry picked from commit 4933b817aa)
2 years ago
Jeff Lucovsky 062d9ea9fd doc/transform: Document case-changing transforms.
Issue: 6439
(cherry picked from commit 9ee55d2394)
2 years ago
Juliana Fajardini e8f375325f userguide/eve: explain pgsql requests & responses
Add a more visible explanation of that requests, responses, frontend and
and backend are, in Pgsql context, to avoid having to repeat that over
different portions of the docs.

(cherry picked from commit bba3d4fc63)
2 years ago
Juliana Fajardini dda79c689c pgsql: add cancel request message
A CanceldRequest can occur after any query request, and is sent over a
new connection, leading to a new flow. It won't take any reply, but, if
processed by the backend, will lead to an ErrorResponse.

Task #6577

(cherry picked from commit 30ac77ce65)
2 years ago
Juliana Fajardini 1ae2451919 doc/eve-format: break pgsql section to char limit
(cherry picked from commit 7dcc2e7a71)
2 years ago
Philippe Antoine e974dbea0e detect: header_lowercase transform
Ticket: 6290
(cherry picked from commit 32cce122e1)
2 years ago
jason taylor aae6beaa5a doc: update file.data keyword documentation
Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
Juliana Fajardini 20f9e2434a userguide: update tls not_after/not_before mentions
Our tls fields not_after and not_before are actually logged as
`notafter` and `notbefore`, but were documented with the underscore.

Update the documentation, since updating the log format itself would be
a breaking change.

Task #5494

(cherry picked from commit a649a92afd)
2 years ago
Juliana Fajardini 16bf5ce493 userguide: document flow_id, with examples
Flow_id explanation expanded from version shared by Peter Manev.

Task #6445

(cherry picked from commit 58fb559594)
2 years ago
Victor Julien f6fb48c0ca doc/userguide: add tag keyword page
Ticket: #3015.
(cherry picked from commit 6b2c33990f)
2 years ago
Victor Julien c5be44957e doc/userguide: document host table yaml settings
(cherry picked from commit 4a02a14df1)
2 years ago
Kirjan Kohuladas c8a7204b15 doc/rule-profiling: fix suricatasc typo 2 years ago
Juliana Fajardini 54d8f45afc userguide: add proper label to RPM install section
Use a reference label that is stable, instead of one that could change
in case a new section is added above it.
2 years ago
Daniel Olatunji 0e5fdbb8fb doc: be consistent with the use of "sudo"
Issue: #5720
2 years ago
Comfort Amaechi cf8b630ed2 userguide: cover install-full and install-conf
Ticket: #6342
2 years ago