You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
suricata/doc/userguide/rules
Yash Datre 43bc2db41e detect: extend app-layer-protocol to accept a pipe-separated value list
Extend the app-layer-protocol keyword to accept a pipe-separated list of
protocol values, so a single rule can match any of several protocols:

    app-layer-protocol:[!]<proto1>|<proto2>[|...][,<qualifier>]...;

A non-negated list matches when the flow's protocol equals any listed value
(OR); a negated list matches when it equals none of them (NOR). The
single-value form and the trailing mode qualifier are unchanged.

Matching keeps the historical AppProtoEquals() equivalences by default
(dns/doh2, http/http1/http2, dcerpc/smb, ...). An `exact` qualifier selects
strict identity matching with no equivalences and no http umbrella; it
combines with a direction mode in any order. Because a flow is never the
generic ALPROTO_HTTP, `http,exact` is rejected at load.

Values are expanded once at rule load into an effective match-set bitmask, so
the per-packet match is a single bitmask test. Single-value rules remain
prefilterable; multi-value rules are excluded from prefiltering and an
explicit prefilter on them is rejected. Conflicting keyword combinations
(duplicate or overlapping negations, mixed positive/negated) are rejected at
load. Engine-analysis reports the effective match set.

Ticket: 7705
1 month ago
..
dataset-examples doc: add dataset examples 3 years ago
dns-keywords doc: rename from "sphinx" to "userguide" 10 years ago
fast-pattern doc: rename from "sphinx" to "userguide" 10 years ago
flow-keywords doc: fix spelling in flowbits image 6 years ago
header-keywords doc: Replace images of tables and rules with text in rules docs 9 years ago
http-keywords doc/userguide: update http keywords 6 years ago
intro doc: Replace images of tables and rules with text in rules docs 9 years ago
normalized-buffers doc: rename from "sphinx" to "userguide" 10 years ago
payload-keywords doc/userguide: fix within-distance pointer graphics in payload-keywords doc 6 months ago
pcre doc: Move pcre entirely to Payload Keywords section 9 years ago
rule-types userguide: explain rule types and categorization 2 years ago
app-layer.rst detect: extend app-layer-protocol to accept a pipe-separated value list 1 month ago
base64-keywords.rst detect: limit base64_decode `bytes` to 64KiB 1 year ago
bypass-keyword.rst detect/bypass: ban bypass keyword for firewall mode 2 months ago
config.rst doc: move more rules to dedicated css container 3 months ago
datasets.rst doc/userguide: add dataset match subdomain documentation 2 months ago
dcerpc-keywords.rst detect/dcerpc: support generic integer for opnum keyword 4 months ago
decode-layer.rst decode/etag: ETag 802.1BR decoder 11 months ago
dhcp-keywords.rst doc: move more examples to container:: example-rule 4 months ago
differences-from-snort.rst doc: move more rules to dedicated css container 3 months ago
dnp3-keywords.rst detect: dnp3.func is now a generic integer 9 months ago
dns-keywords.rst doc: move more rules to dedicated css container 3 months ago
email-keywords.rst detect: add email.body_md5 keyword 11 months ago
enip-keyword.rst detect/enip: cip_class and cip_instance are now a multi-integer 1 month ago
fast-pattern-explained.rst doc: remove references to prehistoric versions 3 years ago
file-keywords.rst doc: move more rules to dedicated css container 3 months ago
flow-keywords.rst flowbits: deprecate toggle command 2 months ago
ftp-keywords.rst ftp: support STOU data transfers 1 month ago
header-keywords.rst detect: add ether.hdr keyword 4 months ago
http-keywords.rst doc: fix eol content in http rules 4 months ago
http2-keywords.rst detect: http2.errorcode is now a generic integer 10 months ago
ike-keywords.rst detect/ike: move ike.ike.chosen_sa_attribute keyword to rust 6 months ago
index.rst doc/sctp: add sctp keywords 2 months ago
integer-keywords.rst detect/integers: rename index all1 to all 9 months ago
intro.rst doc: do not highlight bad transactional rule 4 months ago
ip-reputation-rules.rst doc: move more rules to dedicated css container 3 months ago
ipaddr.rst doc: add reference to ipaddr in IP matching 4 years ago
ja-keywords.rst doc: move more rules to dedicated css container 3 months ago
kerberos-keywords.rst detect/krb5: fix doc about cname and sname keywords 1 month ago
ldap-keywords.rst doc: multi-integers section for rules 11 months ago
llmnr-keywords.rst doc: add llmnr 2 months ago
lua-detection.rst doc/lua-detection: fix example script; remove most buffers 1 year ago
mdns-keywords.rst doc: move more rules to dedicated css container 3 months ago
meta.rst doc: fix rules 4 months ago
modbus-keyword.rst doc: spelling mistakes in various sections of the user guide 8 years ago
mqtt-keywords.rst detect/mqtt: reason_code keyword is now a multi-integer 3 months ago
multi-buffer-matching.rst doc: fix rules 4 months ago
nfs-keywords.rst detect/nfs: move nfs_procedure to rust 11 months ago
noalert.rst doc: fix rules 4 months ago
ntp-keywords.rst ntp: convert reference_id to buffer and add keyword 4 months ago
payload-keywords.rst doc: add missing "value" to entropy examples 1 month ago
pgsql-keywords.rst doc: fix rules 4 months ago
prefilter-keywords.rst doc: move more rules to dedicated css container 3 months ago
quic-keywords.rst doc: add multi buffer support note to keyword docs 3 years ago
rfb-keywords.rst detect/rfb: move keywords to rust 2 years ago
rule-types.rst doc: adjust for master to main rename 11 months ago
rules-internals.rst doc/rules/internals: minor fixes 11 months ago
sctp-keywords.rst decode/sctp: chunk_cnt can be a u16 2 months ago
sdp-keywords.rst doc/sdp: fix doc to match real keywords names 1 year ago
sip-keywords.rst doc: add new sip keywords 2 years ago
smb-keywords.rst doc: fix rules 4 months ago
smtp-keywords.rst doc: move more examples to container:: example-rule 4 months ago
snmp-keywords.rst detect/snmp: add snmp.trap_type keyword 4 months ago
ssh-keywords.rst doc: move more examples to container:: example-rule 4 months ago
tag.rst doc/userguide: add tag keyword page 3 years ago
thresholding.rst detect/detection_filter: add unique_on option 6 months ago
tls-keywords.rst doc: move more examples to container:: example-rule 4 months ago
transforms.rst doc/fixup: Fixup usages of container-example 2 months ago
vlan-keywords.rst detect: add vlan.layers keyword 2 years ago
websocket-keywords.rst detect/integers: generalize support for bitflags modifier 10 months ago
xbits.rst doc: move more rules to dedicated css container 3 months ago