Commit Graph

997 Commits (51f7b5924dea15d7ac16652553c5a4aeffdde8dd)

Author SHA1 Message Date
Alice Akaki b1c2643c87 detect: add vlan.id keyword
vlan.id matches on Virtual Local Area Network IDs
It is an unsigned 16-bit integer
Valid range = [0-4095]
Supports prefiltering

Ticket: #1065
2 years ago
Shivani Bhardwaj ad7ff1c91b flow/pkts: allow matching on either direction
For flow.bytes and flow.pkts keywords, allow matching in either
direction.

Feature 5646
2 years ago
Shivani Bhardwaj 52fd695e5a doc: update syntax for flow.pkts & flow.bytes 2 years ago
Philippe Antoine a499529477 doc: improve documentation about guess-applayer-tx
Ticket: 7199
2 years ago
Shivani Bhardwaj 6f937c7545 doc: add guide for ticket title
Explain with examples what a good ticket title looks like and
why is it important to have ticket titles convey the correct issues.
2 years ago
Jeff Lucovsky 91d5b77316 doc/commit
Describe how to use the git commit template. The template helps ensure
that the information needed for evaluation and context is included in
the commit message.

Ticket: <Redmine ticket number>
2 years ago
Victor Julien d11e8a8ee7 doc/userguide: document TCP urgent policy 2 years ago
Philippe Antoine f426ee3ee2 detect: rename stream_log variables
to better reflect their true meaning
2 years ago
Philippe Antoine f2c3776314 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.
2 years ago
Juliana Fajardini 6e4a501e7c 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
2 years ago
Jason Ish 289ff25f5b requires: support requires check for keyword
For example:

    requires: keyword foo;

Will require that Suricata supports the "foo" keyword.

Ticket: #7403
2 years ago
Jason Ish 820a3e51b7 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
2 years ago
Philippe Antoine 4ec90bd227 detect: absent keyword to test absence of sticky buffer
Ticket: 2224

It takes an argument to match only if the buffer is absent,
or it can still match if the buffer is present, but we test
the absence of some content.

For multi buffers, absent matches if there are 0 buffers.

For file keywords, absent matches if there is no file.
2 years ago
Victor Julien 278dc24cd0 doc/userguide: document smb cache size limit options
Ticket: #5672.
2 years ago
Sascha Steinbiss 285cc29ec0 redis: add automatic trimming support for streams 2 years ago
Sascha Steinbiss d3d9f1c395 redis: implement XADD stream support
Ticket: #7082
2 years ago
Juliana Fajardini 1860aa81e6 userguide: fix integer keyword matches list format
List wasn't being properly rendered.
2 years ago
Jason Ish cc519beb91 suricata.yaml: add missing custom tls fields
Also update the suricata.yaml in the userguide.
2 years ago
Juliana Fajardini 55b922ceed tls/conf: clarify usage of custom vs extended logs
Since enabling custom logging will replace the extended logging, thus
possibly leading to certain fields disappearing from the logs, mention
this aspect.

Related to
Bug #7333
2 years ago
Jeff Lucovsky 1e0d3435db doc: add napatech plugin upgrade notes
Issue: 7165
2 years ago
Jason Ish 6ae5ae701b doc/userguide: generate eve documentation
Add EVE documentation for QUIC and Pgsql to their respective sections of
the userguide.

Also add a complete EVE reference as an appendix.

Other protocols can be done, but its a manual process to document in the
schema, then add the glue to pull them into the documentation.

The documentation is generated during "make dist", or if it doesn't
exist, "conf.py" will attempt to generate the eve documentation for
building on Readthedocs.
2 years ago
Philippe Antoine bb714c9178 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.
2 years ago
Philippe Antoine e47598110a detect/datasets: implement unset command
Ticket: 7195

Otherwise, Suricata aborted on such a rule
2 years ago
Juliana Fajardini 18e0d23ed3 docs: remove mentions to Suricata-6
Task #7262
2 years ago
Juliana Fajardini d1d1c8cdac doc/conf/yaml: replace underscore with dashes
Use sed + regex to replace all occurrences of suricata.yaml terms that
used underscore for their up-to-date dash version.

Also search for such terms in the eve-log.yaml partials file, as that
is referenced in the configuration section.

commands used:

sed -i 's/\(^ *[a-z]*\)_\([a-z]*:\)/\1-\2/g'
sed -i 's/\(^ *[a-z]*\)_\([a-z]*\)_\([a-z]*:\)/\1-\2-\3/g'

Some other instances were found manually.

Task #7260
2 years ago
Philippe Antoine 7ab833471e doc/rfb: mention accidental fix for security_result log
Ticket: 7198
2 years ago
Giuseppe Longo 036b68b0a9 doc: add new sip keywords 2 years ago
Juliana Fajardini ef63aa50e2 doc/configuration: improve emergency-recovery docs
When removing mentions to `prune-flows` a few inconsistencies for how
we write and refer to `emergency-recovery` were left behind, still.
2 years ago
Philippe Antoine de9413c654 detect: safety for app-layer logging of stream-only rules
If a stream-only rule matches, and we find a tx where we
want to log the app-layer data, store into the tx data that
we already logged, so that we do not log again the app-layer metadata

Ticket: 7085
2 years ago
jason taylor f46a8776ec doc: add note about big endian for icmp_seq match 2 years ago
Juliana Fajardini 1420c83a87 doc/configuration: remove mention to prune-flows
Although the `prune-flows` option was removed with a5587fec2e,
when documentation for the suricata.yaml config file was added with
b252b0d, this option was also included - as has remained until now.
2 years ago
Jeff Lucovsky 8064847fc6 doc: Document reference config setting
Issue: 4974
2 years ago
Philippe Antoine 0ebb84538e http2: add frames support
Ticket: 5743

Why ? To add detection capabilities
2 years ago
Jason Ish 685baa9680 output-filedata: rename and document registration function
Prefix registration function and pointer function type with SC, as
well as document.

Ticket: #7227
2 years ago
Jason Ish b51eeb3ab5 output-file: rename and document registration function
Rename OutputRegisterFileLogger to SCOutputRegisterFileLogger, add
function documentation and include in userguide.

Ticket: #7227
2 years ago
Jason Ish 14b648f286 output-streaming: rename and document registration
Prefix the registration function and types with "SC", and add function
documentation.

Ticket: #7227
2 years ago
Jason Ish 1ebf33b3c9 output-tx: rename and document transaction logger registration
Rename OutputRegisterTxLogger to SCOutputRegisterTxLogger to make it
part of the public API as well as document.

Ticket: #7227
2 years ago
Jason Ish bb128e3959 devguide: more on low level logging
Use the extending/output section to introduce the low level logging
API.

Ticket: #7227
2 years ago
Juliana Fajardini f3e1095244 userguide: update Security Onion docs reference
They have updated their docs domain, leading to the link we had
returning a 404.

Also checked the other links. Although some seem to only contain old
traffic, they all still work.
2 years ago
Sascha Steinbiss cb14e44780 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
2 years ago
Shivani Bhardwaj 1345c6d1cb doc/file-extraction: fix highlight syntax 2 years ago
Juliana Fajardini 682b199ea0 userguide: expand documentation for rule profiling
The page about performance and rule profiling showed the table generated
by rules profiling but didn't inform how to achieve nor find it.

Task #4359
2 years ago
Jason Ish 15fe844ae7 syslog: deprecate
The standalone syslog output is now deprecated for Suricata 8. Display
a warning on use and add notes to the userguide.

Ticket: #6544
2 years ago
Jason Ish 5853fb922d tls-log: deprecate
tls-log is now deprecated and will be removed in Suricata 9.0. Display
a deprecation notice on use, and add notes to the user guide.

Ticket: #6542
2 years ago
Jason Ish ab26323a96 http-log: deprecate
http-log is now deprecated and will be removed in Suricata
9.0. Display a deprecation notice on use, and add notes to the
userguide.

Issue: #6543
2 years ago
Victor Julien 688bd538cf pcap: implement pcap-file-buffer-size option
Allows easy specification of buffer size on the commandline.

Ticket: #7155.
2 years ago
Juliana Fajardini 246acc7140 userguide: clarify flow:stateless explanation
While not incorrect, the previous wording made the sentence almost
paradoxical. While at it, also highlight a side effect that might not be
so clear to users.

Related to
Bug #6976
2 years ago
Philippe Antoine 62a186ceef detect/rfb: move keywords to rust
Ticket: 7178

On the way, convert rfb.secresult to a generic integer with enumeration
cf ticket 6723
2 years ago
Victor Julien fa9cae3899 doc/userguide: document logging changes from 6 to 7
Minor other logging related improvements like clarifying language and
improving formatting for pdf output.
2 years ago
Philippe Antoine 0b2ed97f36 ssh: frames support
Ticket: 5734

Adds frames for SSH records, that come after banner, and before
the data is encrypted.
These records may contain cipher lists for instance.
2 years ago
Giuseppe Longo 70ed9f91d8 doc: add ldap protocol 2 years ago
Philippe Antoine bce8f4b853 detect/ssh: remove deprecated keywords
Ticket: 2377
2 years ago
Philippe Antoine 0a1062fad2 detect/mqtt: move keywords to rust
Ticket: 4863

On the way, convert some keywords to use the first-class integer
support.
And helpers for pure rust the support for multi-buffer.

Move the C unit tests about keyword mqtt.protocol_version
to unit tests for generic integer parsing, and test version 5
instead of testing twice version 3.

Also iterate all tx's messages for reason code as is done for other
keywords.

And allow detection on empty topics.
2 years ago
Jason Ish 5f516c5896 doc: add pf-ring plugin upgrade notes
Ticket: #7162
2 years ago
Philippe Antoine e0fd59a20d doc: state that payload-length includes the gaps 2 years ago
Jason Ish 4d3d57249a doc: update dns section of the eve format documentation 2 years ago
Jason Ish d3c08b9643 doc: upgrade guide for dns logging changes
Bug: #6281
2 years ago
Sascha Steinbiss 53c62432c6 doc: update MQTT configuration 2 years ago
Shivani Bhardwaj c66f1f4488 doc: add note about datasets string memcaps
Bug 3910
2 years ago
Victor Julien afc318737a doc/userguide: document threshold backoff type 2 years ago
Victor Julien e362a01f8d doc/userguide: document new threshold config options 2 years ago
Victor Julien 405491c3fc detect/detection_filter: add support for track by_flow 2 years ago
Victor Julien 3f04af7c7f doc: add thresholding by_flow 2 years ago
Jeff Lucovsky 01e20c91fb doc/transform: Correct typo 2 years ago
Jeff Lucovsky d205ff82d0 doc/transform: Describe the from_base64 transform
Issue: 6487

Document the new transform and indicate that it's the preferred way to
perform base64 decoding (preferred over base64_decode)
2 years ago
Philippe Antoine c9ce43b31e output: configurable payload_length field for alerts
Ticket: 7098
2 years ago
Victor Julien 3d059611c3 detect: add tls.alpn keyword
Ticket: #7108.
2 years ago
Victor Julien c79a382e42 eve/tls: log ALPN for client and server
Part of the extended logging.

Logs `client_alpns` and `server_alpns` arrays in the tls object.

Ticket: #7055.
2 years ago
Philippe Antoine ae72376ebe detect/snmp: move keywords to rust
Ticket: 4863

On the way, convert unit test DetectSNMPCommunityTest to a SV test.

And also, make snmp.pdu_type use a generic uint32 for detection,
allowing operators, instead of just equality.
2 years ago
Lukas Sismis bd9608771e doc: port user install and build instruction from master-6.0.x
Ticket: #6686
2 years ago
Lukas Sismis 521d1cb8e7 doc: update eBPF compilation instructions
Ticket: #6599
2 years ago
Victor Julien 8b42182fee doc/userguide: document iprep isset/isnotset 2 years ago
Victor Julien 2f74d435d3 doc/userguide: add more operators to iprep 2 years ago
Victor Julien 50ef646d45 doc/userguide: add noalert/alert keyword docs 2 years ago
Victor Julien c83e3285ae doc/userguide: give pcre1 to pcre2 proper heading 2 years ago
Juliana Fajardini 43b998aa73 userguide/upgrade: add note about alerts' increase
With triggering stream reassembly early, since for certain types of
rules there may be more alerts triggered - even in IPS mode, make this
clear in the upgrading section.

Bug #7026
2 years ago
Philippe Antoine 82c03f72c3 enip: convert to rust
Ticket: 3958

- transactions are now bidirectional
- there is a logger
- gap support is improved with probing for resync
- frames support
- app-layer events
- enip_command keyword accepts now string enumeration as values.
- add enip.status keyword
- add keywords :
    enip.product_name, enip.protocol_version, enip.revision,
    enip.identity_status, enip.state, enip.serial, enip.product_code,
    enip.device_type, enip.vendor_id, enip.capabilities,
    enip.cip_attribute, enip.cip_class, enip.cip_instance,
    enip.cip_status, enip.cip_extendedstatus
2 years ago
Victor Julien 17b32f98d7 doc/userguide: fix rule container typo
Fixes: 8781e9352a ("doc/userguide: add documentation for SMTP frames")
2 years ago
Victor Julien 8781e9352a doc/userguide: add documentation for SMTP frames 2 years ago
Juliana Fajardini aeb200e001 devguide: highlight commit message example
Although we have the example for a commit message in our Code Submission
Process sub-chapter, seems that people still oversee it a lot. It was
suggested that we put it in a note-box, to make it more visible.
2 years ago
Jason Ish 3eb8c728fd doc: update lua sandbox docs for allowed packages/functions 2 years ago
Jason Ish bc011f2205 lua: use rust crate to vendor (bundle) lua
Remove lua-dev(el) from all CI tests.
2 years ago
Jo Johnson ba6a976e06 doc: Initial doc for lua sandbox 2 years ago
Jo Johnson 712496bb3f lua: Remove luajit support
lua 5.4 support is not available in luajit

Ticket: #4776
2 years ago
Jo Johnson 586c92d9d5 lua: require lua 5.4
github-ci: Disable lua on debian 10 as it doesn't have Lua 5.4.

Ticket: #4776
2 years ago
jason taylor 47d6c3a3ab doc: add source verification docs
Ticket: #6908

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
Shivani Bhardwaj 719fda3967 doc: add description about tls.subjectaltname
Feature 5234
2 years ago
Philippe Antoine 2c305ba37e pop3: protocol detection
Ticket: #6366
2 years ago
Philippe Antoine 7582b18a9f http: configures libhtp to allow spaces in uri
Ticket: #2881
2 years ago
Giuseppe Longo 8a171c9d74 doc: add arp changes 2 years ago
Philippe Antoine fcdd7f000a detect: add options to app-layer-protocol keyword
Ticket: 4921

app-layer-protocol keyword accept an optional mode to precise
which protocol we want to match: toclient, toserver, final,
or original
2 years ago
Philippe Antoine 715bf048ee frames: rust API makes tx_id explicit
And set it right for SIP and websocket,
so that relevant tx app-layer metadata gets logged.

Ticket: 6973
2 years ago
Shivani Bhardwaj 6d92596548 doc: add note about fast_pattern w base64_data
Bug 5220
2 years ago
jason taylor abb74245cc doc: update normalization notes
Ticket: #6781

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 5dacf4d92b doc: add http.connection ref and fix location
Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
Victor Julien fcca5c7514 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.
2 years ago
jason taylor aa919f8081 doc: update flowbits information
Ticket: #6991

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
Giuseppe Longo 4f1e71bb4e doc: add sdp update 2 years ago
Juliana Fajardini bb59124063 yaml: unify 0 stats counter config option terms
When we added feature #5976 (72146b969), we overlook that we also have
a config stats option for the human-readable stats logs to output
0 counters.
Due to not seeing this before, we now have two different setting names
for basically the same thing, but in different logs:
- zero-valued-counters for EVE
- null-values for stats.log

This ensures we use the same terminology, and change the recently added
one to `null-values`, as this one has been around for longer.

Task #6962
2 years ago
Philippe Antoine 44b6aa5e4b app-layer: websockets protocol support
Ticket: 2695
2 years ago