From b252b0d84c95d884bdcba27a794f31f8085e65ad Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Mon, 4 Jan 2016 11:10:12 -0600 Subject: [PATCH] doc: add configuration --- .../configuration/global-thresholds.rst | 119 + doc/sphinx/configuration/index.rst | 11 + doc/sphinx/configuration/log-rotation.rst | 31 + doc/sphinx/configuration/lua-output.rst | 656 ++++++ doc/sphinx/configuration/multi-tenant.rst | 167 ++ .../configuration/snort-to-suricata.rst | 276 +++ doc/sphinx/configuration/suricata-yaml.rst | 1992 +++++++++++++++++ .../suricata-yaml/IDS_chunk_size.png | Bin 0 -> 23331 bytes .../Inline_reassembly_unackd_data.png | Bin 0 -> 21776 bytes .../configuration/suricata-yaml/MPM2.png | Bin 0 -> 8647 bytes .../configuration/suricata-yaml/NFQ.png | Bin 0 -> 34533 bytes .../configuration/suricata-yaml/NFQ1.png | Bin 0 -> 19438 bytes .../configuration/suricata-yaml/NFQ2.png | Bin 0 -> 20707 bytes .../suricata-yaml/Normal_ids_ack_d.png | Bin 0 -> 23053 bytes .../configuration/suricata-yaml/Tuple1.png | Bin 0 -> 11151 bytes .../suricata-yaml/balancing_workload.png | Bin 0 -> 29055 bytes .../configuration/suricata-yaml/flow.png | Bin 0 -> 15914 bytes .../suricata-yaml/grouping_tree.png | Bin 0 -> 26129 bytes .../suricata-yaml/grouping_tree_detail.png | Bin 0 -> 62604 bytes .../suricata-yaml/inline_mode.png | Bin 0 -> 15054 bytes .../suricata-yaml/ipfw_reinjection.png | Bin 0 -> 27813 bytes .../suricata-yaml/normal_ids.png | Bin 0 -> 8447 bytes .../configuration/suricata-yaml/overlap.png | Bin 0 -> 27430 bytes .../suricata-yaml/reassembly1.png | Bin 0 -> 23072 bytes .../configuration/suricata-yaml/threading.png | Bin 0 -> 17401 bytes doc/sphinx/index.rst | 1 + 26 files changed, 3253 insertions(+) create mode 100644 doc/sphinx/configuration/global-thresholds.rst create mode 100644 doc/sphinx/configuration/index.rst create mode 100644 doc/sphinx/configuration/log-rotation.rst create mode 100644 doc/sphinx/configuration/lua-output.rst create mode 100644 doc/sphinx/configuration/multi-tenant.rst create mode 100644 doc/sphinx/configuration/snort-to-suricata.rst create mode 100644 doc/sphinx/configuration/suricata-yaml.rst create mode 100644 doc/sphinx/configuration/suricata-yaml/IDS_chunk_size.png create mode 100644 doc/sphinx/configuration/suricata-yaml/Inline_reassembly_unackd_data.png create mode 100644 doc/sphinx/configuration/suricata-yaml/MPM2.png create mode 100644 doc/sphinx/configuration/suricata-yaml/NFQ.png create mode 100644 doc/sphinx/configuration/suricata-yaml/NFQ1.png create mode 100644 doc/sphinx/configuration/suricata-yaml/NFQ2.png create mode 100644 doc/sphinx/configuration/suricata-yaml/Normal_ids_ack_d.png create mode 100644 doc/sphinx/configuration/suricata-yaml/Tuple1.png create mode 100644 doc/sphinx/configuration/suricata-yaml/balancing_workload.png create mode 100644 doc/sphinx/configuration/suricata-yaml/flow.png create mode 100644 doc/sphinx/configuration/suricata-yaml/grouping_tree.png create mode 100644 doc/sphinx/configuration/suricata-yaml/grouping_tree_detail.png create mode 100644 doc/sphinx/configuration/suricata-yaml/inline_mode.png create mode 100644 doc/sphinx/configuration/suricata-yaml/ipfw_reinjection.png create mode 100644 doc/sphinx/configuration/suricata-yaml/normal_ids.png create mode 100644 doc/sphinx/configuration/suricata-yaml/overlap.png create mode 100644 doc/sphinx/configuration/suricata-yaml/reassembly1.png create mode 100644 doc/sphinx/configuration/suricata-yaml/threading.png diff --git a/doc/sphinx/configuration/global-thresholds.rst b/doc/sphinx/configuration/global-thresholds.rst new file mode 100644 index 0000000000..183e2c4cdd --- /dev/null +++ b/doc/sphinx/configuration/global-thresholds.rst @@ -0,0 +1,119 @@ +Global-Thresholds +================= + +Thresholds can be configured in the rules themselves, see +:doc:`../rules/thresholding`. They are often set by rule writers based on +their intel for creating a rule combined with a judgement on how often +a rule will alert. + +Next to these settings, thresholding can be configured on the sensor +using the threshold.config. + +threshold/event_filter +~~~~~~~~~~~~~~~~~~~~~~ + +Syntax: + +:: + + threshold gen_id , sig_id , type , track , count , seconds + +rate_filter +~~~~~~~~~~~ + +TODO + +suppress +~~~~~~~~ + +Suppressions can be used to suppress alerts for a rule or a +host/network. Actions performed when a rule matches, such as setting a +flowbit, are still performed. + +Syntax: + +:: + + suppress gen_id , sig_id + suppress gen_id , sig_id , track , ip + +Example: + +:: + + suppress gen_id 1, sig_id 2002087, track by_src, ip 209.132.180.67 + +This will make sure the signature 2002087 will never match for src +host 209.132.180.67. + +.. _global-thresholds-vs-rule-thresholds: + +Global thresholds vs rule thresholds +------------------------------------ + +**Note: this section applies to 1.4+ In 1.3 and before mixing rule and +global thresholds is not supported.** + +When a rule has a threshold/detection_filter set a rule can still be +affected by the global threshold file. + +The rule below will only fire if 10 or more emails are being +delivered/sent from a host within 60 seconds. + +:: + + alert tcp any any -> any 25 (msg:"ET POLICY Inbound Frequent Emails - Possible Spambot Inbound"; \ + flow:established; content:"mail from|3a|"; nocase; \ + threshold: type threshold, track by_src, count 10, seconds 60; \ + reference:url,doc.emergingthreats.net/2002087; classtype:misc-activity; sid:2002087; rev:10;) + +Next, we'll see how global settings affect this rule. + +Suppress +~~~~~~~~ + +Suppressions can be combined with rules with +thresholds/detection_filters with no exceptions. + +:: + + suppress gen_id 1, sig_id 2002087, track by_src, ip 209.132.180.67 + suppress gen_id 0, sig_id 0, track by_src, ip 209.132.180.67 + suppress gen_id 1, sig_id 0, track by_src, ip 209.132.180.67 + +Each of the rules above will make sure 2002087 doesn't alert when the +source of the emails is 209.132.180.67. It **will** alert for all other +hosts. + +:: + + suppress gen_id 1, sig_id 2002087 + +This suppression will simply convert the rule to "noalert", meaning it +will never alert in any case. If the rule sets a flowbit, that will +still happen. + +Threshold/event_filter +~~~~~~~~~~~~~~~~~~~~~~ + +When applied to a specific signature, thresholds and event_filters +(threshold from now on) will override the signature setting. This can +be useful for when the default in a signature doesn't suit your +evironment. + +:: + + threshold gen_id 1, sig_id 2002087, type both, track by_src, count 3, seconds 5 + threshold gen_id 1, sig_id 2002087, type threshold, track by_src, count 10, seconds 60 + threshold gen_id 1, sig_id 2002087, type limit, track by_src, count 1, seconds 15 + +Each of these will replace the threshold setting for 2002087 by the +new threshold setting. + +**Note:** overriding all gids or sids (by using gen_id 0 or sig_id 0) +is not supported. Bug #425. + +Rate_filter +~~~~~~~~~~~ + +TODO diff --git a/doc/sphinx/configuration/index.rst b/doc/sphinx/configuration/index.rst new file mode 100644 index 0000000000..d620646ffa --- /dev/null +++ b/doc/sphinx/configuration/index.rst @@ -0,0 +1,11 @@ +Configuration +============= + +.. toctree:: + + suricata-yaml + global-thresholds + snort-to-suricata + log-rotation + lua-output + multi-tenant diff --git a/doc/sphinx/configuration/log-rotation.rst b/doc/sphinx/configuration/log-rotation.rst new file mode 100644 index 0000000000..63ee24e5b3 --- /dev/null +++ b/doc/sphinx/configuration/log-rotation.rst @@ -0,0 +1,31 @@ +Log Rotation +============ + +Starting with Suricata version 2.0.2 (#1200), log rotation is made a +lot easier. A HUP signal sent to Suricata will force it to reopen the +logfiles. + +Example logrotate file: + +:: + + /var/log/suricata/*.log /var/log/suricata/*.json + { + rotate 3 + missingok + nocompress + create + sharedscripts + postrotate + /bin/kill -HUP $(cat /var/run/suricata.pid) + endscript + } + +newsyslog based log rotation (e.g. on OpenBSD) /etc/newsyslog.conf: + +:: + + /var/log/suricata/eve.json root:wheel 640 1 * 24 B /var/run/suricata.pid SIGHUP + +The above rotates every 24h; the 'B' prevents a rotation logmessage in +eve.json. Fieldseperator is a TAB. diff --git a/doc/sphinx/configuration/lua-output.rst b/doc/sphinx/configuration/lua-output.rst new file mode 100644 index 0000000000..5c0f554c7b --- /dev/null +++ b/doc/sphinx/configuration/lua-output.rst @@ -0,0 +1,656 @@ +Lua Output +========== + +Note: this page new Lua scripting available for outputs. It will be +available in 2.1. + +Script structure +---------------- + +A script defines 4 functions: init, setup, log, deinit + +* init -- registers where the script hooks into the output engine +* setup -- does per output thread setup +* log -- logging function +* deinit -- clean up function + +Example: + +:: + + function init (args) + local needs = {} + needs["protocol"] = "http" + return needs + end + + function setup (args) + filename = SCLogPath() .. "/" .. name + file = assert(io.open(filename, "a")) + SCLogInfo("HTTP Log Filename " .. filename) + http = 0 + end + + function log(args) + http_uri = HttpGetRequestUriRaw() + if http_uri == nil then + http_uri = "" + end + http_uri = string.gsub(http_uri, "%c", ".") + + http_host = HttpGetRequestHost() + if http_host == nil then + http_host = "" + end + http_host = string.gsub(http_host, "%c", ".") + + http_ua = HttpGetRequestHeader("User-Agent") + if http_ua == nil then + http_ua = "" + end + http_ua = string.gsub(http_ua, "%g", ".") + + ts = SCPacketTimeString() + ipver, srcip, dstip, proto, sp, dp = SCFlowTuple() + + file:write (ts .. " " .. http_host .. " [**] " .. http_uri .. " [**] " .. + http_ua .. " [**] " .. srcip .. ":" .. sp .. " -> " .. + dstip .. ":" .. dp .. "\n") + file:flush() + + http = http + 1 + end + + function deinit (args) + SCLogInfo ("HTTP transactions logged: " .. http); + file:close(file) + end + +YAML +---- + +To enable the lua output, add the 'lua' output and add one or more +scripts like so: + +:: + + outputs: + - lua: + enabled: yes + scripts-dir: /etc/suricata/lua-output/ + scripts: + - tcp-data.lua + - flow.lua + +The scripts-dir option is optional. It makes Suricata load the scripts +from this directory. Otherwise scripts will be loaded from the current +workdir. + +packet +------ + +Initialize with: + +:: + + function init (args) + local needs = {} + needs["type"] = "packet" + return needs + end + +SCPacketTimeString +~~~~~~~~~~~~~~~~~~ + +Add SCPacketTimeString to get the packets time string in the format: +11/24/2009-18:57:25.179869 + +:: + + function log(args) + ts = SCPacketTimeString() + +SCPacketTuple +~~~~~~~~~~~~~ + +:: + + ipver, srcip, dstip, proto, sp, dp = SCPacketTuple() + +SCPacketPayload +~~~~~~~~~~~~~~~ + +:: + + p = SCPacketPayload() + +flow +---- + +:: + + function init (args) + local needs = {} + needs["type"] = "flow" + return needs + end + +SCFlowTimeString +~~~~~~~~~~~~~~~~ + +:: + + startts = SCFlowTimeString() + +SCFlowTuple +~~~~~~~~~~~ + +:: + + ipver, srcip, dstip, proto, sp, dp = SCFlowTuple() + +SCFlowAppLayerProto +~~~~~~~~~~~~~~~~~~~ + +Get alproto as string from the flow. If alproto is not (yet) known, it +returns "unknown". + +Example: + +:: + + function log(args) + alproto = SCFlowAppLayerProto() + if alproto ~= nil then + print (alproto) + end + end + +SCFlowStats +~~~~~~~~~~~ + +Gets the packet and byte counts per flow. + +:: + + tscnt, tsbytes, tccnt, tcbytes = SCFlowStats() + +http +---- + +Init with: + +:: + + function init (args) + local needs = {} + needs["protocol"] = "http" + return needs + end + +HttpGetRequestBody and HttpGetResponseBody. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Make normalized body data available to the script through +HttpGetRequestBody and HttpGetResponseBody. + +There no guarantees that all of the body will be availble. + +Example: + +:: + + function log(args) + a, o, e = HttpGetResponseBody(); + --print("offset " .. o .. " end " .. e) + for n, v in ipairs(a) do + print(v) + end + end + +HttpGetRequestHost +~~~~~~~~~~~~~~~~~~ + +Get the host from libhtp's tx->request_hostname, which can either be +the host portion of the url or the host portion of the Host header. + +Example: + +:: + + http_host = HttpGetRequestHost() + if http_host == nil then + http_host = "" + end + +HttpGetRequestHeader +~~~~~~~~~~~~~~~~~~~~ + +:: + + http_ua = HttpGetRequestHeader("User-Agent") + if http_ua == nil then + http_ua = "" + end + +HttpGetResponseHeader +~~~~~~~~~~~~~~~~~~~~~ + +:: + + server = HttpGetResponseHeader("Server"); + print ("Server: " .. server); + +HttpGetRequestLine +~~~~~~~~~~~~~~~~~~ + +:: + + rl = HttpGetRequestLine(); + print ("Request Line: " .. rl); + +HttpGetResponseLine +~~~~~~~~~~~~~~~~~~~ + +:: + + rsl = HttpGetResponseLine(); + print ("Response Line: " .. rsl); + +HttpGetRawRequestHeaders +~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + rh = HttpGetRawRequestHeaders(); + print ("Raw Request Headers: " .. rh); + +HttpGetRawResponseHeaders +~~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + rh = HttpGetRawResponseHeaders(); + print ("Raw Response Headers: " .. rh); + +HttpGetRequestUriRaw +~~~~~~~~~~~~~~~~~~~~ + +:: + + http_uri = HttpGetRequestUriRaw() + if http_uri == nil then + http_uri = "" + end + +HttpGetRequestUriNormalized +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + http_uri = HttpGetRequestUriNormalized() + if http_uri == nil then + http_uri = "" + end + +HttpGetRequestHeaders +~~~~~~~~~~~~~~~~~~~~~ + +:: + + a = HttpGetRequestHeaders(); + for n, v in pairs(a) do + print(n,v) + end + +HttpGetResponseHeaders +~~~~~~~~~~~~~~~~~~~~~~ + +:: + + a = HttpGetResponseHeaders(); + for n, v in pairs(a) do + print(n,v) + end + +DNS +--- + +DnsGetQueries +~~~~~~~~~~~~~ + +:: + + dns_query = DnsGetQueries(); + if dns_query ~= nil then + for n, t in pairs(dns_query) do + rrname = t["rrname"] + rrtype = t["type"] + + print ("QUERY: " .. ts .. " " .. rrname .. " [**] " .. rrtype .. " [**] " .. + "TODO" .. " [**] " .. srcip .. ":" .. sp .. " -> " .. + dstip .. ":" .. dp) + end + end + +returns a table of tables + +DnsGetAnswers +~~~~~~~~~~~~~ + +:: + + dns_answers = DnsGetAnswers(); + if dns_answers ~= nil then + for n, t in pairs(dns_answers) do + rrname = t["rrname"] + rrtype = t["type"] + ttl = t["ttl"] + + print ("ANSWER: " .. ts .. " " .. rrname .. " [**] " .. rrtype .. " [**] " .. + ttl .. " [**] " .. srcip .. ":" .. sp .. " -> " .. + dstip .. ":" .. dp) + end + end + +returns a table of tables + +DnsGetAuthorities +~~~~~~~~~~~~~~~~~ + +:: + + dns_auth = DnsGetAuthorities(); + if dns_auth ~= nil then + for n, t in pairs(dns_auth) do + rrname = t["rrname"] + rrtype = t["type"] + ttl = t["ttl"] + + print ("AUTHORITY: " .. ts .. " " .. rrname .. " [**] " .. rrtype .. " [**] " .. + ttl .. " [**] " .. srcip .. ":" .. sp .. " -> " .. + dstip .. ":" .. dp) + end + end + +returns a table of tables + +DnsGetRcode +~~~~~~~~~~~ + +:: + + rcode = DnsGetRcode(); + if rcode == nil then + return 0 + end + print (rcode) + +returns a lua string with the error message, or nil + +DnsGetRecursionDesired +~~~~~~~~~~~~~~~~~~~~~~ + +:: + + if DnsGetRecursionDesired() == true then + print ("RECURSION DESIRED") + end + +returns a bool + +TLS +--- + +Initialize with: + +:: + + function init (args) + local needs = {} + needs["protocol"] = "tls" + return needs + end + +TlsGetCertInfo +~~~~~~~~~~~~~~ + +Make certificate information available to the script through TlsGetCertInfo. + +Example: + +:: + + function log (args) + version, subject, issuer, fingerprint = TlsGetCertInfo() + if version == nil then + return 0 + end + end + + +SSH +--- + +Initialize with: + +:: + + + function init (args) + local needs = {} + needs["protocol"] = "ssh" + return needs + end + +SshGetServerProtoVersion +~~~~~~~~~~~~~~~~~~~~~~~~ + +Get SSH protocol version used by the server through SshGetServerProtoVersion. + +Example: + +:: + + function log (args) + version = SshGetServerProtoVersion() + if version == nil then + return 0 + end + end + +SshGetServerSoftwareVersion +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Get SSH software used by the server through SshGetServerSoftwareVersion. + +Example: + +:: + + + function log (args) + software = SshGetServerSoftwareVersion() + if software == nil then + return 0 + end + end + +SshGetClientProtoVersion +~~~~~~~~~~~~~~~~~~~~~~~~ + +Get SSH protocol version used by the client through SshGetClientProtoVersion. + +Example: + +:: + + function log (args) + version = SshGetClientProtoVersion() + if version == nil then + return 0 + end + end + +SshGetClientSoftwareVersion +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Get SSH software used by the client through SshGetClientSoftwareVersion. + +Example: + +:: + + function log (args) + software = SshGetClientSoftwareVersion() + if software == nil then + return 0 + end + end + +Files +----- + +To use the file logging API, the script's init() function needs to look like: + +:: + + function init (args) + local needs = {} + needs['type'] = 'file' + return needs + end + +SCFileInfo +~~~~~~~~~~ + +:: + + + fileid, txid, name, size, magic, md5 = SCFileInfo() + +returns fileid (number), txid (number), name (string), size (number), +magic (string), md5 in hex (string) + +SCFileState +~~~~~~~~~~~ + +:: + + state, stored = SCFileState() + +returns state (string), stored (bool) + +Alerts +------ + +Alerts are a subset of the 'packet' logger: + +:: + + function init (args) + local needs = {} + needs["type"] = "packet" + needs["filter"] = "alerts" + return needs + end + +SCRuleIds +~~~~~~~~~ + +:: + + sid, rev, gid = SCRuleIds() + +SCRuleMsg +~~~~~~~~~ + +:: + + msg = SCRuleMsg() + +SCRuleClass +~~~~~~~~~~~ + +:: + + + class, prio = SCRuleClass() + +Streaming Data +-------------- + +Streaming data can currently log out reassembled TCP data and +normalized HTTP data. The script will be invoked for each consecutive +data chunk. + +In case of TCP reassembled data, all possible overlaps are removed +according to the host OS settings. + +:: + + function init (args) + local needs = {} + needs["type"] = "streaming" + needs["filter"] = "tcp" + return needs + end + +In case of HTTP body data, the bodies are unzipped and dechunked if applicable. + +:: + + function init (args) + local needs = {} + needs["type"] = "streaming" + needs["protocol"] = "http" + return needs + end + +SCStreamingBuffer +~~~~~~~~~~~~~~~~~ + +:: + + function log(args) + data = SCStreamingBuffer() + hex_dump(data) + end + +Misc +---- + +SCThreadInfo +~~~~~~~~~~~~ + +:: + + tid, tname, tgroup = SCThreadInfo() + +It gives: tid (integer), tname (string), tgroup (string) + +SCLogError, SCLogWarning, SCLogNotice, SCLogInfo, SCLogDebug +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Print a message. It will go into the outputs defined in the +yaml. Whether it will be printed depends on the log level. + +Example: + +:: + + SCLogError("some error message") + +SCLogPath +~~~~~~~~~ + +Expose the log path. + +:: + + + name = "fast_lua.log" + function setup (args) + filename = SCLogPath() .. "/" .. name + file = assert(io.open(filename, "a")) + end diff --git a/doc/sphinx/configuration/multi-tenant.rst b/doc/sphinx/configuration/multi-tenant.rst new file mode 100644 index 0000000000..f7142313ac --- /dev/null +++ b/doc/sphinx/configuration/multi-tenant.rst @@ -0,0 +1,167 @@ +Multi Tenancy +============= + +**Work In Progress** + +This is part of Suricata 3.0RC1. + +Introduction +------------ + +Multi tenancy support allows for different rule sets with different +rule vars. + +YAML +---- + +In the main ("master") YAML, the suricata.yaml, a new section called +"multi-detect" should be added. + +Settings: + +* enabled: yes/no -> is multi-tenancy support enable +* default: yes/no -> is the normal detect config a default 'fall back' tenant? +* selector: direct (for unix socket pcap processing, see below) or vlan +* loaders: number of 'loader' threads, for parallel tenant loading at startup +* tenants: list of tenants + + * id: tenant id + * yaml: separate yaml file with the tenant specific settings + +* mappings: + + * vlan id + * tenant id: tenant to associate with the vlan id + +:: + + multi-detect: + enabled: yes + #selector: direct # direct or vlan + selector: vlan + loaders: 3 + + tenants: + - id: 1 + yaml: tenant-1.yaml + - id: 2 + yaml: tenant-2.yaml + - id: 3 + yaml: tenant-3.yaml + + mappings: + - vlan-id: 1000 + tenant-id: 1 + - vlan-id: 2000 + tenant-id: 2 + - vlan-id: 1112 + tenant-id: 3 + +The tenant-1.yaml, tenant-2.yaml, tenant-3.yaml each contain a partial +configuration: + +:: + + # Set the default rule path here to search for the files. + # if not set, it will look at the current working dir + default-rule-path: /etc/suricata/rules + rule-files: + - rules1 + + # You can specify a threshold config file by setting "threshold-file" + # to the path of the threshold config file: + # threshold-file: /etc/suricata/threshold.config + + classification-file: /etc/suricata/classification.config + reference-config-file: /etc/suricata/reference.config + + # Holds variables that would be used by the engine. + vars: + + # Holds the address group vars that would be passed in a Signature. + # These would be retrieved during the Signature address parsing stage. + address-groups: + + HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]" + + EXTERNAL_NET: "!$HOME_NET" + + ... + + port-groups: + + HTTP_PORTS: "80" + + SHELLCODE_PORTS: "!80" + + ... + +Unix Socket +----------- + +Registration +~~~~~~~~~~~~ + +register-tenant + +Examples: + +:: + + register-tenant 1 tenant-1.yaml + register-tenant 2 tenant-2.yaml + register-tenant 3 tenant-3.yaml + register-tenant 5 tenant-5.yaml + register-tenant 7 tenant-7.yaml + +unregister-tenant + +:: + + unregister-tenant 2 + unregister-tenant 1 + +Unix socket runmode (pcap processing) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The Unix Socket "pcap-file" command can be used to select the tenant +to inspect the pcap against: + +:: + + pcap-file traffic1.pcap /logs1/ 1 + pcap-file traffic2.pcap /logs2/ 2 + pcap-file traffic3.pcap /logs3/ 3 + pcap-file traffic4.pcap /logs5/ 5 + pcap-file traffic5.pcap /logs7/ 7 + +This runs the traffic1.pcap against tenant 1 and it logs into /logs1/, +traffic2.pcap against tenant 2 and logs to /logs2/ and so on. + +Live traffic mode +~~~~~~~~~~~~~~~~~ + +For live traffic currently only a vlan based multi-tenancy is supported. + +The master yaml needs to have the selector set to "vlan". + +Registration +~~~~~~~~~~~~ + +Tenants can be mapped to vlan id's. + +register-tenant-handler vlan + +:: + + register-tenant-handler 1 vlan 1000 + +unregister-tenant-handler vlan + +:: + + unregister-tenant-handler 4 vlan 1111 + unregister-tenant-handler 1 vlan 1000 + +The registration of tenant and tenant handlers can be done on a +running engine. diff --git a/doc/sphinx/configuration/snort-to-suricata.rst b/doc/sphinx/configuration/snort-to-suricata.rst new file mode 100644 index 0000000000..ec9ec0f0db --- /dev/null +++ b/doc/sphinx/configuration/snort-to-suricata.rst @@ -0,0 +1,276 @@ +Snort.conf to Suricata.yaml +=========================== + +This guide is meant for those who are familiar with Snort and the +snort.conf configuration format. This guide will provide a 1:1 mapping +between Snort and Suricata configuration wherever possible. + +Variables +--------- + +snort.conf + +:: + + ipvar HOME_NET any + ipvar EXTERNAL_NET any + ... + + portvar HTTP_PORTS [80,81,311,591,593,901,1220,1414,1741,1830,2301,2381,2809,3128,3702,4343,4848,5250,7001,7145,7510,7777,7779,8000,8008,8014,8028,8080,8088,8090,8118,8123,8180,8181,8243,8280,8800,8888,8899,9000,9080,9090,9091,9443,9999,11371,55555] + portvar SHELLCODE_PORTS !80 + ... + +suricata.yaml + +:: + + + vars: + address-groups: + + HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]" + EXTERNAL_NET: "!$HOME_NET" + + port-groups: + HTTP_PORTS: "80" + SHELLCODE_PORTS: "!80" + +Note that Suricata can automatically detect HTTP traffic regardless of +the port it uses. So the HTTP_PORTS variable is not nearly as +important as it is with Snort, **if** you use a Suricata enabled +ruleset. + +Decoder alerts +-------------- + +snort.conf + +:: + + # Stop generic decode events: + config disable_decode_alerts + + # Stop Alerts on experimental TCP options + config disable_tcpopt_experimental_alerts + + # Stop Alerts on obsolete TCP options + config disable_tcpopt_obsolete_alerts + + # Stop Alerts on T/TCP alerts + config disable_tcpopt_ttcp_alerts + + # Stop Alerts on all other TCPOption type events: + config disable_tcpopt_alerts + + # Stop Alerts on invalid ip options + config disable_ipopt_alerts + +suricata.yaml + +Suricata has no specific decoder options. All decoder related alerts +are controlled by rules. See #Rules below. + +Checksum handling +----------------- + +snort.conf + +:: + + config checksum_mode: all + +suricata.yaml + +Suricata's checksum handling works _on-demand_. The stream engine +checks TCP and IP checksum by default: + +:: + + stream: + checksum-validation: yes # reject wrong csums + +Alerting on bad checksums can be done with normal rules. See #Rules, +decoder-events.rules specifically. + +Various configs +--------------- + +Active response +~~~~~~~~~~~~~~~ + +snort.conf + +:: + + # Configure active response for non inline operation. For more information, see REAMDE.active + # config response: eth0 attempts 2 + +suricata.yaml + +Active responses are handled automatically w/o config if rules with +the "reject" action are used. + +Dropping privileges +~~~~~~~~~~~~~~~~~~~ + +snort.conf + +:: + + + # Configure specific UID and GID to run snort as after dropping privs. For more information see snort -h command line options + # + # config set_gid: + # config set_uid: + +Suricata + +To set the user and group use the --user and --group + commandline options. + +Snaplen +~~~~~~~ + +snort.conf + +:: + + # Configure default snaplen. Snort defaults to MTU of in use interface. For more information see README + # + # config snaplen: + # + +Suricata always works at full snap length to provide full traffic visibility. + +Bpf +~~~ + +snort.conf + +:: + + # Configure default bpf_file to use for filtering what traffic reaches snort. For more information see snort -h command line options (-F) + # + # config bpf_file: + # + +suricata.yaml + +BPF filters can be set per packet acquisition method, with the "bpf-filter: " yaml option and in a file using the -F command line option. + +For example: + +:: + + pcap: + - interface: eth0 + #buffer-size: 16777216 + #bpf-filter: "tcp and port 25" + #checksum-checks: auto + #threads: 16 + #promisc: no + #snaplen: 1518 + +Log directory +------------- + +snort.conf + +:: + + # Configure default log directory for snort to log to. For more information see snort -h command line options (-l) + # + # config logdir: + +suricata.yaml + +:: + + default-log-dir: /var/log/suricata/ + +This value is overridden by the -l commandline option. + +Packet acquisition +------------------ + +snort.conf + +:: + + # Configure DAQ related options for inline operation. For more information, see README.daq + # + # config daq: + # config daq_dir: + # config daq_mode: + # config daq_var: + # + # ::= pcap | afpacket | dump | nfq | ipq | ipfw + # ::= read-file | passive | inline + # ::= arbitrary = ::= path as to where to look for DAQ module so's + +suricata.yaml + +Suricata has all packet acquisition support built-in. It's +configuration format is very verbose. + +:: + + pcap: + - interface: eth0 + #buffer-size: 16777216 + #bpf-filter: "tcp and port 25" + #checksum-checks: auto + #threads: 16 + #promisc: no + #snaplen: 1518 + pfring: + afpacket: + nfq: + ipfw: + +Passive vs inline vs reading files is determined by how Suricata is +invoked on the command line. + +Rules +----- + +snort.conf: + +In snort.conf a RULE_PATH variable is set, as well as variables for +shared object (SO) rules and preprocessor rules. + +:: + + var RULE_PATH ../rules + var SO_RULE_PATH ../so_rules + var PREPROC_RULE_PATH ../preproc_rules + + include $RULE_PATH/local.rules + include $RULE_PATH/emerging-activex.rules + ... + +suricata.yaml: + +In the suricata.yaml the default rule path is set followed by a list +of rule files. Suricata does not have a concept of shared object rules +or preprocessor rules. Instead of preprocessor rules, Suricata has +several rule files for events set by the decoders, stream engine, http +parser etc. + +:: + + default-rule-path: /etc/suricata/rules + rule-files: + - local.rules + - emerging-activex.rules + +The equivalent of preprocessor rules are loaded like normal rule files: + +:: + + rule-files: + - decoder-events.rules + - stream-events.rules + - http-events.rules + - smtp-events.rules diff --git a/doc/sphinx/configuration/suricata-yaml.rst b/doc/sphinx/configuration/suricata-yaml.rst new file mode 100644 index 0000000000..8f78cff227 --- /dev/null +++ b/doc/sphinx/configuration/suricata-yaml.rst @@ -0,0 +1,1992 @@ +Suricata.yaml +============= + +Suricata uses the Yaml format for configuration. The Suricata.yaml +file included in the source code, is the example configuration of +Suricata. This document will explain each option. + +At the top of the YAML-file you will find % YAML 1.1. Suricata reads +the file and identifies the file as YAML. + +Max-pending-packets +------------------- + +With the max-pending-packets setting you can set the number of packets +you allow Suricata to process simultaneously. This can range from one +packet to tens of thousands/hundreds of thousands of packets. It is a +trade of higher performance and the use of more memory (RAM), or lower +performance and less use of memory. A high number of packets being +processed results in a higher performance and the use of more +memory. A low number of packets, results in lower performance and less +use of memory. Choosing a low number of packets being processed while +having many CPU's/CPU cores, can result in not making use of the whole +computer-capacity. (For instance: using one core while having three +waiting for processing packets.) + +:: + + max-pending-packets: 1024 + +Runmodes +-------- + +By default the runmode option is disabled With the runmodes setting +you can set the runmode you would like to use. For all runmodes +available, enter **--list-runmodes** in your command line. For more +information, see :doc:`../performance/runmodes`. + +:: + + runmode: autofp + +Default-packet-size +------------------- + +For the max-pending-packets option, Suricata has to keep packets in +memory. With the default-packet-size option, you can set the size of +the packets on your network. It is possible that bigger packets have +to be processed sometimes. The engine can still process these bigger +packets, but processing it will lower the performance. + +:: + + default-packet-size: 1514 + +User and group +-------------- + +It is possible to set the user and group to run Suricata as: + +:: + + run-as: + user: suri + group: suri + + +Action-order +------------ + +All signatures have different properties. One of those is the Action +property. This one determines what will happen when a signature +matches. There are four types of Action. A summary of what will +happen when a signature matches and contains one of those Actions: + +1) Pass + +If a signature matches and contains pass, Suricata stops scanning the +packet and skips to the end of all rules (only for the current +packet). + +2) Drop + +This only concerns the IPS/inline mode. If the program finds a +signature that matches, containing drop, it stops immediately. The +packet will not be sent any further. Drawback: The receiver does not +receive a message of what is going on, resulting in a time-out +(certainly with TCP). Suricata generates an alert for this packet. + +3) Reject + +This is an active rejection of the packet. Both receiver and sender +receive a reject packet. There are two types of reject packets that +will be automatically selected. If the offending packet concerns TCP, +it will be a Reset-packet. For all other protocols it will be an +ICMP-error packet. Suricata also generates an alert. When in +Inline/IPS mode, the offending packet will also be dropped like with +the 'drop' action. + +4) Alert + +If a signature matches and contains alert, the packet will be treated +like any other non-threatening packet, except for this one an alert +will be generated by Suricata. Only the system administrator can +notice this alert. + +Inline/IPS can block network traffic in two ways. One way is by drop +and the other by reject. + +Rules will be loaded in the order of which they appear in files. But +they will be processed in a different order. Signatures have different +priorities. The most important signatures will be scanned first. There +is a possibility to change the order of priority. The default order +is: pass, drop, reject, alert. + +:: + + action-order: + - pass + - drop + - reject + - alert + +This means a pass rule is considered before a drop rule, a drop rule +before a reject rule and so on. + +Splitting configuration in multiple files +----------------------------------------- + +Some users might have a need or a wish to split their suricata.yaml +file in to seperate files, this is available vis the 'include' and +'!include' keyword. The first example is of taking the contents of the +outputs section and storing them in outputs.yaml + +:: + + # outputs.yaml + - fast + enabled: yes + filename: fast.log + append: yes + + - unified2-alert: + enabled: yes + + ... + +:: + + # suricata.yaml + ... + + outputs: !include outputs.yaml + + ... + +The second scenario is where multiple sections are migrated to a +different YAML file. + +:: + + # host_1.yaml + + max-pending-packets: 2048 + + outputs: + - fast + enabled: yes + filename: fast.log + append: yes + + - unified2-alert: + enabled: yes + +:: + + # suricata.yaml + + include: host_1.yaml + + ... + +If the same section, say outputs is later redefined after the include +statement it will overwrite the included file. Therefor any include +statement at the end of the document will overwrite the already +configured sections. + +Event output +------------ + +Default logging directory +~~~~~~~~~~~~~~~~~~~~~~~~~ + +In the /var/log/suricata directory, all of Suricata's output (alerts +and events) will be stored. + +:: + + default-log-dir: /var/log/suricata + +This directory can be overridden by entering the -l command line +parameter or by changing the directory directly in Yaml. To change it +with the -l command line parameter, enter the following: + +:: + + suricata -c suricata.yaml -i eth0 -l /var/log/suricata-logs/ + +Outputs +~~~~~~~ + +There are several types of output. The general structure is: + +:: + + outputs: + -fast: + enabled: yes + filename: fast.log + append: yes/no + +Enabling all of the logs, will result in a much lower performance and +the use of more disc space, so enable only the outputs you need. + +Line based alerts log (fast.log) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This log contains alerts consisting of a single line. Example of the +appearance of a single fast.log-file line: + +:: + + 10/05/10-10:08:59.667372  [**] [1:2009187:4] ET WEB_CLIENT ACTIVEX iDefense + COMRaider ActiveX Control Arbitrary File Deletion [**] [Classification: Web + Application Attack] [Priority: 3] {TCP} xx.xx.232.144:80 -> 192.168.1.4:56068 + +:: + + -fast: #The log-name. + enabled:yes #This log is enabled. Set to 'no' to disable. + filename: fast.log #The name of the file in the default logging directory. + append: yes/no #If this option is set to yes, the last filled fast.log-file will not be + #overwritten while restarting Suricata. + +Eve (Extensible Event Format) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This is an JSON output for alerts and events. It allows for easy +integration with tools like logstash. + +:: + + # Extensible Event Format (nicknamed EVE) event log in JSON format + - eve-log: + enabled: yes + type: file #file|syslog|unix_dgram|unix_stream + filename: eve.json + # the following are valid when type: syslog above + #identity: "suricata" + #facility: local5 + #level: Info ## possible levels: Emergency, Alert, Critical, + ## Error, Warning, Notice, Info, Debug + types: + - alert + - http: + extended: yes # enable this for extended logging information + - dns + - tls: + extended: yes # enable this for extended logging information + - files: + force-magic: no # force logging magic on all logged files + force-md5: no # force logging of md5 checksums + #- drop + - ssh + +For more advanced configuration options, see [[**FIXME** EveJSONOutput]]. + +The format is documented in [[**FIXME **EveJSONFormat]] + +Log output for use with Barnyard (unified.log) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This log only supports IPv4. Its information will be stored in the +default logging directory. This log is designed to be stored in a +binary format on the hard disc, where it will be further processed by +Barnyard. Barnyard can store the output in a database, so Suricata can +work on other important tasks. Barnyard can add the files in the +Mysql-database, send them to Sguil or several other output options. + +There is a size-limit to the log-file: If Suricata generates an alert, +it stores this alert in a unified-file. Suricata keeps continuing +doing that, until the file has reached its limit. Which in the default +case is at 32 MB. At that point Suricata generates a new file and the +process starts all over again. Barnyard keeps on processing these +files. To prevent Suricata from filling up the hard disc, a size limit +is enforced. When the limit is reached, the file will 'role-over', +creating a new file. Barnyard removes old files. To every file, +Suricata adds a time stamp, so it is easy to see which one came first +and which one is the latter. + +:: + + -Unified-log: #The log-name. + enabled: no #This log is not enabled. Set 'yes' to enable. + filename: unified.log #The name of the file in the default logging directory. + limit: 32 #The file size limit in megabytes. + +This output option has been removed in Suricata 1.1rc1 (see ticket +#353). + +Alert output for use with Barnyard (unified.alert) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This log only supports IPv4. Its information will be stored in the +default logging directory. For further information read the above +information about ( 2) unified.log) + +:: + + -Unified-alert: #The log-name. + enabled: no #This log is not enabled. Set 'yes' to enable. + filename: unified.alert #The name of the file in the default logging directory. + limit: 32 #The file size limit in megabytes. + +This output option has been removed in Suricata 1.1rc1 (see ticket #353). + +Alert output for use with Barnyard2 (unified2.alert) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This log also supports IPv6 in addition to IPv4. It's information will +be stored in the default logging directory. For further information +read the above information about 2. unified.log. + +:: + + - unified2-alert: #The log-name. + enabled: yes #This log is enabled. Set 'no' to disable. + filename: unified2.alert #The name of the file in the default logging directory. + limit: 32 #The file size limit in megabytes. + +This alert output needs Barnyard2. + +A line based log of HTTP requests (http.log) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This log keeps track of all HTTP-traffic events. It contains the HTTP +request, hostname, URI and the User-Agent. This information will be +stored in the http.log (default name, in the suricata log +directory). This logging can also be performed through the use of the +[[**FIXME** EveJSONFormat|Eve-log capability]]. + +Example of a HTTP-log line with non-extended logging: + +:: + + 07/01/2014-04:20:14.338309 vg.no [**] / [**] Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) + AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36 [**] + 192.168.1.6:64685 -> 195.88.54.16:80 + +Example of a HTTP-log line with extended logging: + +:: + + 07/01/2014-04:21:06.994705 vg.no [**] / [**] Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) + AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36 [**] [**] + GET [**] HTTP/1.1 [**] 301 => http://www.vg.no/ [**] 239 bytes [**] 192.168.1.6:64726 -> 195.88.54.16:80 + +:: + + - http-log: #The log-name. + enabled: yes #This log is enabled. Set 'no' to disable. + filename: http.log #The name of the file in the default logging directory. + append: yes/no #If this option is set to yes, the last filled http.log-file will not be + # overwritten while restarting Suricata. + extended: yes # If set to yes more information is written about the event. + +A line based log of DNS queries and replies (dns.log) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This log keeps track of all DNS events (queries and replies). It +contains the type of DNS activity that has been performed, the +requested / replied domain name and relevant data suck as client, +server, ttl, resource record data. This logging can also be performed +through the use of the [[EveJSONFormat|Eve-log capability]] which +offers easier parsing. + +Example of the apperance of a DNS log of a query with a preceding reply: + +:: + + 07/01/2014-04:07:08.768100 [**] Query TX 14bf [**] zeustracker.abuse.ch [**] A [**] 192.168.1.6:37681 -> 192.168.1.1:53 + 07/01/2014-04:07:08.768100 [**] Response TX 14bf [**] zeustracker.abuse.ch [**] A [**] TTL 60 [**] 205.188.95.206 [**] 192.168.1.1:53 -> 192.168.1.6:37681 + +Non-existant domains and other DNS errors are recorded by the text +representation of the rcode field in the reply (see RFC1035 and +RFC2136 for a list). In the example below a non-existent domain is +resolved and the NXDOMAIN error logged: + +:: + + 02/25/2015-22:58:40.499385 [**] Query TX a3ce [**] nosuchdomainwfqwdqwdqw.com [**] A [**] 192.168.40.10:48361 -> 192.168.40.2:53 + 02/25/2015-22:58:40.499385 [**] Response TX a3ce [**] NXDOMAIN [**] 192.168.40.2:53 -> 192.168.40.10:48361 + 02/25/2015-22:58:40.499385 [**] Response TX a3ce [**] NXDOMAIN [**] 192.168.40.2:53 -> 192.168.40.10:48361 + +Configuration options: + +:: + + - dns-log: # The log-name + enabled: yes # If this log is enabled. Set 'no' to disable + filename: dns.log # Name of this file this log is written to in the default logging directory + append: yes # If this option is set to yes, the (if any exists) dns.log file wil not be overwritten while restarting Suricata. + filetype: regular / unix_stream / unix_dgram + +Packet log (pcap-log) +~~~~~~~~~~~~~~~~~~~~~ + +With the pcap-log option you can save all packets, that are registered +by Suricata, in a log file named _log.pcap_. This way, you can take a +look at all packets whenever you want. In the normal mode a pcap file +is created in the default-log-dir. It can also be created elsewhere if +a absolute path is set in the yaml-file. + +The file that is saved in example the default -log-dir +/var/log/suricata, can be be opened with every program which supports +the pcap file format. This can be Wireshark, TCPdump, Suricata, Snort +and many others. + +The pcap-log option can be enabled and disabled. + +There is a size limit for the pcap-log file that can be set. The +default limit is 32 MB. If the log-file reaches this limit, the file +will be rotated and a new one will be created. The pcap-log option +has an extra functionality for "Sguil":http://sguil.sourceforge.net/ +that can be enabled in the 'mode' option. In the sguil mode the +"sguil_base_dir" indicates the base directory. In this base dir the +pcaps are created in a Sguil-specific directory structure that is +based on the day: + +:: + + $sguil_base_dir/YYYY-MM-DD/$filename. + +If you would like to use Suricata with Sguil, do not forget to enable +(and if necessary modify) the base dir in the suricata.yaml file. +Remember that in the 'normal' mode, the file will be saved in +default-log-dir or in the absolute path (if set). + +By default all packets are logged except: + +- TCP streams beyond stream.reassembly.depth +- encrypted streams after the key exchange + +:: + + - pcap-log: + enabled: yes + filename: log.pcap + + # Limit in MB. + limit: 32 + + mode: sguil # "normal" (default) or sguil. + sguil_base_dir: /nsm_data/ + +Verbose Alerts Log (alert-debug.log) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This is a log type that gives supplementary information about an +alert. It is particularly convenient for people who investigate false +positives and who write signatures. However, it lowers the performance +because of the amount of information it has to store. + +:: + + - alert-debug: #The log-name. + enabled: no #This log is not enabled. Set 'yes' to enable. + filename: alert-debug.log #The name of the file in the default logging directory. + append: yes/no #If this option is set to yes, the last filled fast.log-file will not be + # overwritten while restarting Suricata. + +Alert output to prelude (alert-prelude) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To be able to use this type, you have to connect with the prelude +manager first. + +Prelude alerts contain a lot of information and fields, including the +IPfields in of the packet which triggered the alert. This information +can be divided in three parts: + +- The alert description (sensor name, date, ID (sid) of the rule, + etc). This is always included +- The packets headers (almost all IP fields, TCP UDP etc. if relevant) +- A binary form of the entire packet. + +Since the last two parts can be very big (especially since they are +stored in the Prelude SQL database), they are optional and controlled +by the two options 'log_packet_header' and 'log_packet_content'. The +default setting is to log the headers, but not the content. + +The profile name is the name of the Prelude profile used to connect to +the prelude manager. This profile must be registered using an external +command (prelude-admin), and must match the uid/gid of the user that +will run Suricata. The complete procedure is detailed in the `Prelude +Handbook +`_. + +:: + + - alert-prelude: #The log-name. + enabled: no #This log is not enabled. Set 'yes' to enable. + profile: suricata #The profile-name used to connect to the prelude manager. + log_packet_content: no #The log_packet_content is disabled by default. + log_packet_header: yes #The log _packet_header is enabled by default. + +Stats +~~~~~ + +In stats you can set the options for stats.log. When enabling +stats.log you can set the amount of time in seconds after which you +want the output-data to be written to the log file. + +:: + + - stats: + enabled: yes #By default, the stats-option is enabled + filename: stats.log #The log-name. Combined with the default logging directory + #(default-log-dir) it will result in /var/log/suricata/stats.log. + #This directory can be overruled with a absolute path. (A + #directory starting with / ). + interval: 8 #The default amount of time after which the file will be + #refreshed. + append: yes/no #If this option is set to yes, the last filled fast.log-file will not be + #overwritten while restarting Suricata. + +Syslog +~~~~~~ + +With this option it is possible to send all alert and event output to syslog. + +:: + + - syslog: #This is a output-module to direct log-output to several directions. + enabled: no #The use of this output-module is not enabled. + facility: local5 #In this option you can set a syslog facility. + level: Info #In this option you can set the level of output. The possible levels are: + #Emergency, Alert, Critical, Error, Warning, Notice, Info and Debug. + +Drop.log, a line based information for dropped packets +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If Suricata works in IPS mode, it can drop packets based on +rules. Packets that are being dropped are saved in the drop.log file, +a Netfilter log format. + +:: + + - drop: + enabled: yes #The option is enabled. + filename: drop.log #The log-name of the file for dropped packets. + append: yes #If this option is set to yes, the last filled drop.log-file will not be + #overwritten while restarting Suricata. If set to 'no' the last filled drop.log file will be overwritten. + +Detection engine +---------------- + +Inspection configuration +~~~~~~~~~~~~~~~~~~~~~~~~ + +The detection-engine builds internal groups of signatures. Suricata +loads signatures, with which the network traffic will be compared. The +fact is, that many rules certainly will not be necessary. (For +instance: if there appears a packet with the UDP-protocol, all +signatures for the TCP-protocol won't be needed.) For that reason, +all signatures will be divided in groups. However, a distribution +containing many groups will make use of a lot of memory. Not every +type of signature gets its own group. There is a possibility that +different signatures with several properties in common, will be placed +together in a group. The quantity of groups will determine the +balance between memory and performance. A small amount of groups will +lower the performance yet uses little memory. The opposite counts for +a higher amount of groups. The engine allows you to manage the balance +between memory and performance. To manage this, (by determining the +amount of groups) there are several general options:high for good +performance and more use of memory, low for low performance and little +use of memory. The option medium is the balance between performance +and memory usage. This is the default setting.The option custom is for +advanced users. This option has eight values which can be managed by +the user. + +:: + + detect-engine: + -profile: medium #The balance between performance and memory usage. This is the default setting. + - custom-values: + toclient_src_groups: 2 + toclient_dst_groups: 2 + toclient_sp_groups: 2 + toclient_dp_groups: 3 + toserver_src_groups: 2 + toserver_dst_groups: 4 + toserver_sp_groups: 2 + toserver_dp_groups: 25 + - sgh-mpm-context: auto + - inspection-recursion-limit: 3000 + + +At all of these options, you can add (or change) a value. Most +signatures have the adjustment to focus on one direction, meaning +focusing exclusively on the server, or exclusively on the client. + +If you take a look at example 4, _the Detection-engine grouping tree_, +you see it has many branches. At the end of each branch, there is +actually a 'sig group head'. Within that sig group head there is a +container which contains a list with signatures that are significant +for that specific group/that specific end of the branch. Also within +the sig group head the settings for Multi-Pattern-Matcher (MPM) can be +found: the MPM-context. + +As will be described again at the part 'Pattern matching settings', +there are several MPM-algorithms of which can be chosen from. Because +every sig group head has its own MPM-context, some algorithms use a +lot of memory. For that reason there is the option sgh-mpm-context to +set whether the groups share one MPM-context, or to set that every +group has its own MPM-context. + +For setting the option sgh-mpm-context, you can choose from auto, full +or single. The default setting is 'auto', meaning Suricata selects +full or single based on the algorithm you use. 'Full' means that every +group has its own MPM-context, and 'single' that all groups share one +MPM-context. The two algorithms ac and ac-gfbs are new in 1.03. These +algorithms use a single MPM-context if the Sgh-MPM-context setting is +'auto'. The rest of the algorithms use full in that case. + +The inspection-recursion-limit option has to mitigate that possible +bugs in Suricata cause big problems. Often Suricata has to deal with +complicated issues. It could end up in an 'endless loop' due to a bug, +meaning it will repeat its actions over and over again. With the +option inspection-recursion-limit you can limit this action. + +*Example 4 Detection-engine grouping tree* + +.. image:: suricata-yaml/grouping_tree.png + +:: + + src Stands for source IP-address. + dst Stands for destination IP-address. + sp Stands for source port. + dp Stands for destination port. + +*Example 5 Detail grouping tree* + +.. image:: suricata-yaml/grouping_tree_detail.png + +CUDA (Compute United Device Architecture) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Suricata utilizes CUDA for offloading CPU intensive tasks to the +(NVIDIA) GPU (graphics processing unit). Suricata supports an +experimental multi-pattern-matcher using CUDA. Only if you have +compiled Suricata with CUDA (by entering --enable-cuda in the +configure stage) you can make use of these features. There are +several options for CUDA. The option 'packet_buffer_limit' designates +how many packets will be send to the GPU at the same time. Suricata +sends packets in 'batches', meaning it sends multiple packets at +once. As soon as Suricata has collected the amount of packets set in +the 'packet_buffer_limit' option, it sends them to the GPU. The +default amount of packets is 2400. + +The option 'packet_size_limit' makes sure that packets with payloads +bigger than a certain amount of bytes will not be send to the +GPU. Other packets will be send to the GPU. The default setting is +1500 bytes. + +The option 'packet_buffers' designates the amount of buffers that will +be filled with packets and will be processed. Buffers contain the +batches of packets. During the time these filled buffers are being +processed, new buffers will be filled. + +The option 'batching_timeout' can have all values higher than 0. If a +buffers is not fully filled after a period of time (set in this option +'batching_timeout'), the buffer will be send to the GPU anyway. + +The option 'page_locked' designates whether the page locked memory +will or will not be used. The advantage of page locked memory is that +it can not be swapped out to disk. You would not want your computer to +use your hard disk for Suricata, because it lowers the performance a +lot. In this option you can set whether you still want this for CUDA +or not. + +The option 'device_id' is an option within CUDA to determine which GPU +should be turned to account.(If there is only one GPU present at your +computer, there is no benefit making use of the 'device-id' option.) +To detect the id of your GPU's, enter the following in your command +line: + +:: + + suricata --list-cuda-cards + +With the option 'cuda_streams' you can determine how many cuda-streams +should be used for asynchronous processing. All values > 0 are +valid. For this option you need a device with Compute Capability > 1.0 +and page_locked enabled to have any effect. + +:: + + cuda: + -mpm: + packet_buffer_limit: 2400 + packet_size_limit: 1500 + packet_buffers: 10 + batching_timeout: 1 + page_locked: enabled + device_id: 0 + cuda_streams: 2 + +Pattern matcher settings +~~~~~~~~~~~~~~~~~~~~~~~~ + +The multi-pattern-matcher (MPM) is a part of the detection engine +within Suricata that searches for multiple patterns at +once. Generally, signatures have one ore more patterns. Of each +signature, one pattern is used by the multi-pattern-matcher. That way +Suricata can exclude many signatures from being examined, because a +signature can only match when all its patterns match. + +These are the proceedings: + +1)A packet comes in. + +2)The packed will be analysed by the Multi-pattern-matcher in search + of patterns that match. + +3)All patterns that match, will be further processed by Suricata (signatures). + +*Example 8 Multi-pattern-matcher* + +.. image:: suricata-yaml/MPM2.png + +Suricata offers various implementations of different +multi-pattern-matcher algorithm's. These can be found below. + +To set the multi-pattern-matcher algorithm: + +:: + + mpm-algo: b2gc + +After 'mpm-algo', you can enter one of the following algorithms: b2g, +b2gc, b2gm, b3g, wumanber, ac and ac-gfbs (These last two are new in +1.0.3). For more information about these last two, please read again +the the end of the part 'Detection engine'. These algorithms have no +options, so the fact that below there is no option being mentioned is +no omission. + +Subsequently, you can set the options for the mpm-algorithm's. + +The hash_size option determines the size of the hash-table that is +internal used by the pattern matcher. A low hash-size (small table) +causes lower memory usage, but decreases the performance. The opposite +counts for a high hash-size: higher memory usage, but (generally) +higher performance. The memory settings for hash size of the +algorithms can vary from lowest (2048) - low (4096) - medium (8192) - +high (16384) - higher (32768) – max (65536). (Higher is 'highest' in +YAML 1.0 -1.0.2) + +The bf_size option determines the size of the bloom filter, that is +used with the final step of the pattern matcher, namely the validation +of the pattern. For this option the same counts as for the hash-size +option: setting it to low will cause lower memory usage, but lowers +the performance. The opposite counts for a high setting of the +bf_size: higher memory usage, but (generally) higher performance. The +bloom-filter sizes can vary from low (512) - medium (1024) - high +(2048). + +:: + + pattern-matcher: + - b2gc: + search_algo: B2gSearchBNDMq + hash_size: low #Determines the size of the hash-table. + bf_size: medium #Determines the size of the bloom- filter. + - b3g: + search_algo: B3gSearchBNDMq + hash_size: low #See hash-size -b2gc. + bf_size: medium #See bf-size -b2gc. + - wumanber: + hash_size: low #See hash-size -b2gc. + bf_size: medium #See bf-size -b2gc. + +Threading +--------- + +Suricata is multi-threaded. Suricata uses multiple CPU' s/CPU cores so +it can process a lot of network packets simultaneously. (In a +single-core engine, the packets will be processed one at a time.) + +There are four thread-modules: Packet acquisition, decode and stream +application layer, detection, and outputs. + +# The packet acquisition module reads packets from the network. + +# The decode module decodes the packets and the stream application +layer performs its job here. The stream application layer has three +tasks: + +:: + + First: it performs stream-tracking, meaning it is making sure all steps will be taken to make a correct network-connection. + Second: TCP-network traffic comes in as packets. The Stream-Assembly engine reconstructs the original stream. + Finally: the application layer will be inspected. HTTP and DCERPC will be analyzed. + +# The detection threads will compare signatures. There can be several detection threads so they can operate simultaneously. + +# In Outputs all alerts and events will be processed. + +*Example 6 Threading* + +.. image:: suricata-yaml/threading.png + +:: + + Packet acquisition: Reads packets from the network + Decode: Decodes packets. + Stream app. Layer: Performs stream-tracking and reassembly. + Detect: Compares signatures. + Outputs: Processes all events and alerts. + +Most computers have multiple CPU's/ CPU cores. By default the +operating system determines which core works on which thread. When a +core is already occupied, another one will be designated to work on +the thread. So, which core works on which thread, can differ from time +to time. + +There is an option within threading: + +:: + + set-cpu-affinity: no + +With this option you can cause Suricata setting fixed cores for every +thread. In that case 1, 2 and 4 are at core 0 (zero). Each core has +its own detect thread. The detect thread running on core 0 has a lower +priority than the other threads running on core 0. If these other +cores are to occupied, the detect thread on core 0 has not much +packets to process. De detect threads running on other cores will +process more packets. This is only the case after setting the option +at 'yes'. + +*Example 7 Balancing workload* + +.. image:: suricata-yaml/balancing_workload.png + +You can set the detect-thread-ratio: + +:: + + detect-thread-ratio: 1.5 + +The detect thread-ratio will determine the amount of detect +threads. By default it will be 1.5 x the amount of CPU's/CPU cores +present at your computer. This will result in having more detection +threads then CPU's/ CPU cores. Meaning you are oversubscribing the +amount of cores. This may be convenient at times when there have to be +waited for a detection thread. The remaining detection thread can +become active. + + +In the option 'cpu affinity' you can set which CPU's/cores work on +which thread. In this option there are several sets of threads. The +management-, receive-, decode-, stream-, detect-, verdict-, reject- +and outputs-set. These are fixed names and can not be changed. For +each set there are several options: cpu, mode, and prio. In the +option 'cpu' you can set the numbers of the CPU's/cores which will run +the threads from that set. You can set this option to 'all', use a +range (0-3) or a comma separated list (0,1). The option 'mode' can be +set to 'balanced' or 'exclusive'. When set to 'balanced', the +individual threads can be processed by all cores set in the option +'cpu'. If the option 'mode' is set to 'exclusive', there will be fixed +cores for each thread. As mentioned before, threads can have +different priority's. In the option 'prio' you can set a priority for +each thread. This priority can be low, medium, high or you can set the +priority to 'default'. If you do not set a priority for a CPU, than +the settings in 'default' will count. By default Suricata creates one +'detect' thread per available CPU/CPU core. + +:: + + cpu-affinity: + - management-cpu-set: + cpu: [ 0 ] # include only these cpus in affinity settings + - receive-cpu-set: + cpu: [ 0 ] # include only these cpus in affinity settings + - decode-cpu-set: + cpu: [ 0, 1 ] + mode: "balanced" + - stream-cpu-set: + cpu: [ "0-1" ] + - detect-cpu-set: + cpu: [ "all" ] + mode: "exclusive" # run detect threads in these cpus + # Use explicitely 3 threads and don't compute number by using + # detect-thread-ratio variable: + # threads: 3 + prio: + low: [ 0 ] + medium: [ "1-2" ] + high: [ 3 ] + default: "medium" + - verdict-cpu-set: + cpu: [ 0 ] + prio: + default: "high" + - reject-cpu-set: + cpu: [ 0 ] + prio: + default: "low" + - output-cpu-set: + cpu: [ "all" ] + prio: + default: "medium" + +IP Defrag +--------- + +Occasionally network packets appear fragmented. On some networks it +occurs more often than on others. Fragmented packets exist of many +parts. Before Suricata is able to inspect these kind of packets +accurately, the packets have to be reconstructed. This will be done by +a component of Suricata; the defragment-engine. After a fragmented +packet is reconstructed by the defragment-engine, the engine sends on +the reassembled packet to rest of Suricata. + +There are three options within defrag: max-frags, prealloc and +timeout. At the moment Suricata receives a fragment of a packet, it +keeps in memory that other fragments of that packet will appear soon +to complete the packet. However, there is a possibility that one of +the fragments does not appear. To prevent Suricata for keeping waiting +for that packet (thereby using memory) there is a timespan after which +Suricata discards the fragments. This occurs by default after 60 +seconds. + +:: + + defrag: + max-frags: 65535 + prealloc: yes + timeout: 60 + +Flow and Stream handling +------------------------ + +Flow Settings +~~~~~~~~~~~~~ + +Within Suricata, Flows are very important. They play a big part in the +way Suricata organizes data internally. A flow is a bit similar to a +connection, except a flow is more general.All packets having the same +Tuple (protocol, source IP, destination IP, source-port, +destination-port), belong to the same flow. Packets belonging to a +flow are connected to it internally. + +*Example 9 Flow* + +.. image:: suricata-yaml/flow.png + +*Example 10 Tuple* + +.. image:: suricata-yaml/Tuple1.png + +Keeping track of all these flows, uses memory. The more flows, the +more memory it will cost. + +To keep control over memory usage, there are several options: + +The option memcap for setting the maximum amount of bytes the +flow-engine will use, hash-size for setting the size of the hash-table +and prealloc for the following: + + For packets not yet belonging to a flow, Suricata creates a + new flow. This is a relative expensive action. The risk coming + with it, is that attackers /hackers can a attack the engine + system at this part. When they make sure a computer gets a lot + of packets with different tuples, the engine has to make a lot + of new flows. This way, an attacker could flood the system. To + mitigate the engine from being overloaded, this option + instructs Suricata to keep a number of flows ready in + memory. This way Suricata is less vulnerable to these kind of + attacks. + +The flow-engine has a management thread that operates independent from +the packet processing. This thread is called the flow-manager. This +thread ensures that wherever possible and within the memcap. there +will be 10000 flows prepared. + +:: + + flow: + memcap: 33554432 #The maximum amount of bytes the flow-engine will make use of. + hash_size: 65536 #Flows will be organized in a hash-table. With this option you can set the + #size of the hash-table. + Prealloc: 10000 #The amount of flows Suricata has to keep ready in memory. + +At the point the memcap will still be reached, despite prealloc, the +flow-engine goes into the emergency-mode. In this mode, the engine +will make use of shorter time-outs. It lets flows expire in a more +aggressive manner so there will be more space for new Flows. + +There are two options: emergency_recovery and prune_flows. The +emergency recovery is set on 30. This is the percentage of prealloc'd +flows after which the flow-engine will be back to normal (when 30 +percent of the 10000 flows is completed). + + If during the emergency-mode, the aggressive time-outs do not + have the desired result, this option is the final resort. It + ends some flows even if they have not reached their time-outs + yet. The prune-flows option shows how many flows there will be + terminated at each time a new flow is set up. + +:: + + emergency_recovery: 30 #Percentage of 1000 prealloc'd flows. + prune_flows: 5 #Amount of flows being terminated during the emergency mode. + +Flow Time-Outs +~~~~~~~~~~~~~~ + +The amount of time Suricata keeps a flow in memory is determined by +the Flow time-out. + +There are different states in which a flow can be. Suricata +distinguishes three flow-states for TCP and two for UDP. For TCP, +these are: New, Established and Closed,for UDP only new and +established. For each of these states Suricata can employ different +timeouts. + +The state new in a TCP-flow, means the period during the three way +handshake. The state established is the state when the three way +handshake is completed. The state closed in the TCP-flow: there a +several ways to end a flow. This is by means of Reset or the Four-way +FIN handshake. + +New in a UDP-flow: the state in which packets are send from only one +direction. + +Established in a UDP-flow: packets are send from both directions. + +In the example configuration the are settings for each protocol. TCP, +UDP, ICMP and default (all other protocols). + +:: + + flow-timeouts: + + default: + new: 30 #Time-out in seconds after the last activity in this flow in a New state. + established: 300 #Time-out in seconds after the last activity in this flow in a Established + #state. + emergency_new: 10 #Time-out in seconds after the last activity in this flow in a New state + #during the emergency mode. + emergency_established: 100 #Time-out in seconds after the last activity in this flow in a Established + #state in the emergency mode. + tcp: + new: 60 + established: 3600 + closed: 120 + emergency_new: 10 + emergency_established: 300 + emergency_closed: 20 + udp: + new: 30 + established: 300 + emergency_new: 10 + emergency_established: 100 + icmp: + new: 30 + established: 300 + emergency_new: 10 + emergency_established: 100 + +Stream-engine +~~~~~~~~~~~~~ + +The Stream-engine keeps track of the TCP-connections. The engine +exists of two parts: The stream tracking- and the reassembly-engine. + +The stream-tracking engine monitors the state of a connection. The +reassembly-engine reconstructs the flow as it used to be, so it will +be recognised by Suricata. + +The stream-engine has two memcaps that can be set. One for the +stream-tracking-engine and one for the reassembly-engine. + +The stream-tracking-engine keeps information of the flow in +memory. Information about the state, TCP-sequence-numbers and the TCP +window. For keeping this information, it can make use of the capacity +the memcap allows. + +TCP packets have a so-called checksum. This is an internal code which +makes it possible to see if a packet has arrived in a good state. The +stream-engine will not process packets with a wrong checksum. This +option can be set off by entering 'no' instead of 'yes'. + +:: + + stream: + memcap: 33554432 #Amount of flow-information (in bytes) to keep in memory. + checksum_validation: yes #Validate packet checksum, reject packets with invalid checksums. + +The option 'max_sessions' is the limit for concurrent sessions. It +prevents Suricata from using all memory for sessions. + +To mitigate Suricata from being overloaded by fast session creation, +the option prealloc_sessions instructs Suricata to keep a number of +sessions ready in memory. + +A TCP-session starts with the three-way-handshake. After that, data +can be send en received. A session can last a long time. It can happen +that Suricata will be running after a few sessions have already been +started. This way, Suricata misses the original setup of those +sessions. This setup always includes a lot of information. If you want +Suricata to check the stream from that time on, you can do so by +setting the option 'midstream' to 'true'. The default setting is +'false'. Normally Suricata is able to see all packets of a +connection. Some networks make it more complicated though. Some of the +network-traffic follows a different route than the other part, in +other words: the traffic goes asynchronous. To make sure Suricata will +check the one part it does see, instead of getting confused, the +option 'async-oneside' is brought to life. By default the option is +set to 'false'. + +Suricata inspects content in the normal/IDS mode in chunks. In the +inline/IPS mode it does that on the sliding window way (see example +..) In the case Suricata is set in inline mode, it has to inspect +packets immediately before sending it to the receiver. This way +Suricata is able to drop a packet directly if needed.(see example …) +It is important for Suricata to note which operating system it is +dealing with, because operating systems differ in the way they process +anomalies in streams. See :ref:`host-os-policy`. + +:: + + max_sessions: 262144 # 256k concurrent sessions + prealloc_sessions: 32768 # 32k sessions prealloc'd + midstream: false # do not allow midstream session pickups + async_oneside: false # do not enable async stream handling + inline: no # stream inline mode + +**Example 11 Normal/IDS mode** + +Suricata inspects traffic in chunks. + +.. image:: suricata-yaml/normal_ids.png + +**Example 12 Inline/IPS Sliding Window** + +Suricata inspects traffic in a sliding window manner. + +.. image:: suricata-yaml/inline_mode.png + +**Example 13 Normal/IDS (reasembly on ACK'D data)** + +.. image:: suricata-yaml/Normal_ids_ack_d.png + +**Example 14 Inline/IPS (reassembly on UNACK'D data)** + +.. image:: suricata-yaml/Inline_reassembly_unackd_data.png + +The reassembly-engine has to keep packets in memory to be able to make +a reassembled stream. It can make use of the amount of bytes set +below. Reassembling a stream is an expensive operation. In the option +depth you can set the depth (in a stream) of the reassembling. By +default this is 1MB. + +:: + + reassembly: + memcap: 67108864 #Amount of packets (in bytes) to keep in memory. + depth: 1048576 #The depth of the reassembling. + toserver_chunk_size: 2560 # inspect raw stream in chunks of at least this size + toclient_chunk_size: 2560 # inspect raw stream in chunks of at least + +*Example 15 Stream reassembly* + +.. image:: suricata-yaml/reassembly1.png + +.. image:: suricata-yaml/IDS_chunk_size.png + +Application Layer Parsers +------------------------- + +Asn1_max_frames (new in 1.0.3 and 1.1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Asn1 (`Abstract Syntax One +`_) is a +standard notation to structure and describe data. + +Within Asn1_max_frames there are several frames. To protect itself, +Suricata will inspect a maximum of 256. You can set this amount +differently if wanted. + +Application layer protocols such as X.400 electronic mail, X.500 and +LDAP directory services, H.323 (VoIP), BACnet and SNMP, use ASN.1 to +describe the protocol data units (PDUs) they exchange. It is also +extensively used in the Access and Non-Access Strata of UMTS. + +Limit for the maximum number of asn1 frames to decode (default 256): + +:: + + asn1_max_frames: 256 + +Configure HTTP (libhtp) +~~~~~~~~~~~~~~~~~~~~~~~ + +The library Libhtp is being used by Suricata to parse HTTP-sessions. + +While processing HTTP-traffic, Suricata has to deal with different +kind of servers which each process anomalies in HTTP-traffic +differently. The most common web-server is Apache. This is a open +source web -server program. + +Beside Apache, IIS (Internet Information Services/Server)a web-server +program of Microsoft is also well-known. + +Like with host-os-policy, it is important for Suricata to which +IP-address/network-address is used by which server. In Libhtp this +assigning of web-servers to IP-and network addresses is called +personality. + +Currently Available Personalities: + +* Minimal +* Generic +* IDS (default) +* IIS_4_0 +* IIS_5_0 +* IIS_5_1 +* IIS_6_0 +* IIS_7_0 +* IIS_7_5 +* Apache +* Apache_2_2 + +You can assign names to each block of settings. Which in this case +is -apache and -iis7. Under these names you can set IP-addresses, +network-addresses the personality and the request-body-limit. + +The version-specific personalities know exactly how web servers +behave, and emulate that. The IDS personality (will be GENERIC in the +future) would try to implement a best-effort approach that would work +reasonably well in the cases where you do not know the specifics. + +The default configuration also applies to every IP-address for which +no specific setting is available. + +HTTP request body's are often big, so they take a lot of time to +process which has a significant impact on the performance. With the +option 'request-body-limit' you can set the limit (in bytes) of the +client-body that will be inspected. Setting it to 0 will inspect all +of the body. + +HTTP response body's are often big, so they take a lot of time to +process which has a significant impact on the performance. With the +option 'response-body-limit' you can set the limit (in bytes) of the +server-body that will be inspected. Setting it to 0 will inspect all +of the body. + +:: + + libhtp: + + default-config: + personality: IDS + request-body-limit: 3072 + response-body-limit: 3072 + + server-config: + - apache: + address: [192.168.1.0/24, 127.0.0.0/8, "::1"] + personality: Apache_2_2 + request-body-limit: 0 + response-body-limit: 0 + + - iis7: + address: + - 192.168.0.0/24 + - 192.168.10.0/24 + personality: IIS_7_0 + request-body-limit: 4096 + response-body-limit: 8192 + +As of 1.4, Suricata makes available the whole set of libhtp +customisations for its users. + +You can now use these parameters in the conf to customise suricata's +use of libhtp. + +:: + + # Configures whether backslash characters are treated as path segment + # separators. They are not on Unix systems, but are on Windows systems. + # If this setting is enabled, a path such as "/one\two/three" will be + # converted to "/one/two/three". Accepted values - yes, no. + #path-backslash-separators: yes + + # Configures whether consecutive path segment separators will be + # compressed. When enabled, a path such as "/one//two" will be normalized + # to "/one/two". The backslash_separators and decode_separators + # parameters are used before compression takes place. For example, if + # backslash_separators and decode_separators are both enabled, the path + # "/one\\/two\/%5cthree/%2f//four" will be converted to + # "/one/two/three/four". Accepted values - yes, no. + #path-compress-separators: yes + + # This parameter is used to predict how a server will react when control + # characters are present in a request path, but does not affect path + # normalization. Accepted values - none or status_400 */ + #path-control-char-handling: none + + # Controls the UTF-8 treatment of request paths. One option is to only + # validate path as UTF-8. In this case, the UTF-8 flags will be raised + # as appropriate, and the path will remain in UTF-8 (if it was UTF-8 in + # the first place). The other option is to convert a UTF-8 path into a + # single byte stream using best-fit mapping. Accepted values - yes, no. + #path-convert-utf8: yes + + # Configures whether encoded path segment separators will be decoded. + # Apache does not do this, but IIS does. If enabled, a path such as + # "/one%2ftwo" will be normalized to "/one/two". If the + # backslash_separators option is also enabled, encoded backslash + # characters will be converted too (and subseqently normalized to + # forward slashes). Accepted values - yes, no. + #path-decode-separators: yes + + # Configures whether %u-encoded sequences in path will be decoded. Such + # sequences will be treated as invalid URL encoding if decoding is not + # desireable. Accepted values - yes, no. + #path-decode-u-encoding: yes + + # Configures how server reacts to invalid encoding in path. Accepted + # values - preserve_percent, remove_percent, decode_invalid, status_400 + #path-invalid-encoding-handling: preserve_percent + + # Configures how server reacts to invalid UTF-8 characters in path. + # This setting will not affect path normalization; it only controls what + # response status we expect for a request that contains invalid UTF-8 + # characters. Accepted values - none, status_400. + #path-invalid-utf8-handling: none + + # Configures how server reacts to encoded NUL bytes. Some servers will + # terminate path at NUL, while some will respond with 400 or 404. When + # the termination option is not used, the NUL byte will remain in the + # path. Accepted values - none, terminate, status_400, status_404. + # path-nul-encoded-handling: none + + # Configures how server reacts to raw NUL bytes. Some servers will + # terminate path at NUL, while some will respond with 400 or 404. When + # the termination option is not used, the NUL byte will remain in the + # path. Accepted values - none, terminate, status_400, status_404. + path-nul-raw-handling: none + + # Sets the replacement characater that will be used to in the lossy + # best-fit mapping from Unicode characters into single-byte streams. + # The question mark is the default replacement character. + #set-path-replacement-char: ? + + # Controls what the library does when it encounters an Unicode character + # where only a single-byte would do (e.g., the %u-encoded characters). + # Conversion always takes place; this parameter is used to correctly + # predict the status code used in response. In the future there will + # probably be an option to convert such characters to UCS-2 or UTF-8. + # Accepted values - bestfit, status_400 and status_404. + #set-path-unicode-mapping: bestfit + +Engine output +------------- + +Logging configuration +~~~~~~~~~~~~~~~~~~~~~ + +The logging subsystem can display all output except alerts and +events. It gives information at runtime about what the engine is +doing. This information can be displayed during the engine startup, at +runtime and while shutting the engine down. For informational +messages, errors, debugging, etc. + +The log-subsystem has several log levels: + +Error, warning, informational and debug. Note that debug level logging +will only be emitted if Suricata was compiled with the --enable-debug +configure option. + +The first option within the logging configuration is the +default-log-level. This option determines the severity/importance +level of information that will be displayed. Messages of lower levels +than the one set here, will not be shown. The default setting is +Info. This means that error, warning and info will be shown and the +other levels won't be. + +There are more levels: emergency, alert, critical and notice, but +those are not used by Suricata yet. This option can be changed in the +configuration, but can also be overridden in the command line by the +environment variable: SC_LOG_LEVEL . + +:: + + logging: + default-log-level: info + +Default log format +~~~~~~~~~~~~~~~~~~ + +A logging line exists of two parts. First it displays meta information +(thread id, date etc.), and finally the actual log message. Example: + +:: + + [27708] 15/10/2010 -- 11:40:07 - (suricata.c:425) (main) – This is Suricata version 1.0.2 + +(Here the part until the – is the meta info, “This is Suricata 1.0.2” +is the actual message.) + +It is possible to determine which information will be displayed in +this line and (the manner how it will be displayed) in which format it +will be displayed. This option is the so called format string:: + + default-log-format: "[%i] %t - (%f:%l) <%d> (%n) -- " + +The % followed by a character, has a special meaning. There are eight +specified signs: + +:: + + t: Time, timestamp, time and date + example: 15/10/2010 - -11:40:07 + p: Process ID. Suricata's whole processing consists of multiple threads. + i: Thread ID. ID of individual threads. + m: Thread module name. (Outputs, Detect etc.) + d: Log-level of specific log-event. (Error, info, debug etc.) + f: Filename. Name of C-file (source code) where log-event is generated. + l: Line-number within the filename, where the log-event is generated in the source-code. + n: Function-name in the C-code (source code). + +The last three, f, l and n are mainly convenient for developers. + +The log-format can be overridden in the command line by the +environment variable: SC_LOG_FORMAT + +Output-filter +~~~~~~~~~~~~~ + +Within logging you can set an output-filter. With this output-filter +you can set which part of the event-logs should be displayed. You can +supply a regular expression (Regex). A line will be shown if the regex +matches. + +:: + + default-output-filter: #In this option the regular expression can be entered. + +This value is overridden by the environment var: SC_LOG_OP_FILTER + +Outputs +~~~~~~~ + +There are different ways of displaying output. The output can appear +directly on your screen, it can be placed in a file or via syslog. The +last mentioned is an advanced tool for log-management. The tool can be +used to direct log-output to different locations (files, other +computers etc.) + +:: + + outputs: + - console: #Output on your screen. + enabled: yes #This option is enabled. + - file: #Output stored in a file. + enabled: no #This option is not enabled. + filename: /var/log/suricata.log #Filename and location on disc. + - syslog: #This is a program to direct log-output to several directions. + enabled: no #The use of this program is not enabled. + facility: local5 #In this option you can set a syslog facility. + format: "[%i] <%d> -- " #The option to set your own format. + +Packet Acquisition +------------------ + +Pf-ring +~~~~~~~ + +The Pf_ring is a library that aims to improve packet capture +performance over libcap. It performs packet acquisition. There are +three options within Pf_ring: interface, cluster-id and cluster-type. + +:: + + pfring: + interface: eth0 # In this option you can set the network-interface + # on which you want the packets of the network to be read. + +Pf_ring will load balance packets based on flow. All packet +acquisition threads that will participate in the load balancing need +to have the same cluster-id. It is important to make sure this ID is +unique for this cluster of threads, so that no other engine / program +is making use of clusters with the same id. + +:: + + cluster-id: 99 + +Pf_ring can load balance traffic using pf_ring-clusters. All traffic +for pf_ring can be load balanced in one of two ways, in a round robin +manner or a per flow manner that are part of the same cluster. All +traffic for pf_ring will be load balanced across acquisition threads +of the same cluster id. + +The cluster_round_robin manner is a way of distributing packets one at +a time to each thread (like distributing playing cards to fellow +players). The cluster_flow manner is a way of distributing all packets +of the same flow to the same thread. The flows itself will be +distributed to the threads in a round-robin manner. + +:: + + cluster-type: cluster_round_robin + +.. _suricata-yaml-nfq: + +NFQ +~~~ + +Using NFQUEUE in iptables rules, will send packets to Suricata. If the +mode is set to 'accept', the packet that has been send to Suricata by +a rule using NFQ, will by default not be inspected by the rest of the +iptables rules after being processed by Suricata. There are a few more +options to NFQ to change this if desired. + +If the mode is set to 'repeat', the packets will be marked by Suricata +and be re-injected at the first rule of iptables. To mitigate the +packet from being going round in circles, the rule using NFQ will be +skipped because of the mark. + +If the mode is set to 'route', you can make sure the packet will be +send to another tool after being processed by Suricata. It is possible +to assign this tool at the mandatory option 'route_queue'. Every +engine/tool is linked to a queue-number. This number you can add to +the NFQ rule and to the route_queue option. + +Add the numbers of the options repeat_mark and route_queue to the NFQ-rule:: + + iptables -I FORWARD -m mark ! --mark $MARK/$MASK -j NFQUEUE + +:: + + nfq: + mode: accept #By default the packet will be accepted or dropped by Suricata + repeat_mark: 1 #If the mode is set to 'repeat', the packets will be marked after being + #processed by Suricata. + repeat_mask: 1 + route_queue: 2 #Here you can assign the queue-number of the tool that Suricata has to + #send the packets to after processing them. + +*Example 1 NFQ * + +mode: accept + +.. image:: suricata-yaml/NFQ.png + +*Example 2 NFQ* + +mode: repeat + +.. image:: suricata-yaml/NFQ1.png + +*Example 3 NFQ* + +mode: route + +.. image:: suricata-yaml/NFQ2.png + +Ipfw +~~~~ + +Suricata does not only support Linux, it supports the FreeBSD +operating system (this is an open source Unix operating system) and +Mac OS X as well. The in-line mode on FreeBSD uses ipfw (IP-firewall). + +Certain rules in ipfw send network-traffic to Suricata. Rules have +numbers. In this option you can set the rule to which the +network-traffic will be placed back. Make sure this rule comes after +the one that sends the traffic to Suricata, otherwise it will go +around in circles. + +The following tells the engine to re-inject packets back into the ipfw +firewall at rule number 5500: + +:: + + ipfw: + ipfw-reinjection-rule-number: 5500 + +*Example 16 Ipfw-reinjection.* + +.. image:: suricata-yaml/ipfw_reinjection.png + +Rules +----- + +Rule-files +~~~~~~~~~~ + +For different categories of risk there are different rule-files +available containing one or more rules. There is a possibility to +instruct Suricata where to find these rules and which rules you want +to be load for use. You can set the directory where the files can be +found. + +:: + + default-rule-path: /etc/suricata/rules/ + rule-files: + - backdoor.rules + - bad-traffic.rules + - chat.rules + - ddos.rules + - .... + +The above mentioned is an example of rule-files of which can be chosen +from. There are much more rule-files available. + +If wanted, you can set a full path for a specific rule or +rule-file. In that case, the above directory (/etc/suricata/rules/) +will be ignored for that specific file. This is convenient in case you +write your own rules and want to store them separate from other rules +like that of VRT, ET or ET pro. + +If you set a file-name that appears to be not existing, Suricata will +ignore that entry and display a error-message during the engine +startup. It will continue with the startup as usual. + +Threshold-file +~~~~~~~~~~~~~~ + +Within this option, you can state the directory in which the +threshold-file will be stored. The default directory is: +/etc/suricata/threshold.config + +Classifications +~~~~~~~~~~~~~~~ + +The Classification-file is a file which makes the purpose of rules +clear. + +Some rules are just for providing information. Some of them are to +warn you for serious risks like when you are being hacked etc. + +In this classification-file, there is a part submitted to the rule to +make it possible for the system-administrator to distinguish events. + +A rule in this file exists of three parts: the short name, a +description and the priority of the rule (in which 1 has the highest +priority and 4 the lowest). + +You can notice these descriptions returning in the rule and events / alerts. + +:: + + Example: + + configuration classification: misc-activity,Misc activity,3 + + Rule: + + alert tcp $HOME_NET 21 -> $EXTERNAL_NET any (msg:"ET POLICY FTP Login Successful (non-anonymous)"; + flow:from_server,established;flowbits:isset,ET.ftp.user.login; flowbits:isnotset,ftp.user.logged_in; + flowbits:set,ftp.user.logged_in; content:"230 ";pcre:!"/^230(\s+USER)?\s+(anonymous|ftp)/smi"; + classtype:misc-activity; reference:urldoc.emergingthreats.net/2003410,; + reference:url,www.emergingthreats.net/cgi-bin/cvsweb.cgi/sigs/POLICY/POLICY_FTP_Login; sid:2003410; rev:7;) + + Event/Alert: + + 10/26/10-10:13:42.904785 [**] [1:2003410:7] ET POLICY FTP Login Successful (non-anonymous) [**] + [Classification: Misc activity[Priority: 3] {TCP} 192.168.0.109:21 -> x.x.x.x:34117 + +You can set the direction of the classification configuration. + +:: + + classification-file: /etc/suricata/classification.config + +Rule-vars +~~~~~~~~~ + +There are variables which can be used in rules. + +Within rules, there is a possibility to set for which IP-address the +rule should be checked and for which IP-address it should not. + +This way, only relevant rules will be used. To prevent you from having +to set this rule by rule, there is an option in which you can set the +relevant IP-address for several rules. This option contains the +address group vars that will be passed in a rule. So, after HOME_NET +you can enter your home IP-address. + +:: + + vars: + address-groups: + HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]" #By using [], it is possible to set + #complicated variables. + EXTERNAL_NET: any + HTTP_SERVERS: "$HOME_NET" #The $-sign tells that what follows is + #a variable. + SMTP_SERVERS: "$HOME_NET" + SQL_SERVERS: "$HOME_NET" + DNS_SERVERS: "$HOME_NET" + TELNET_SERVERS: "$HOME_NET" + AIM_SERVERS: any + +It is a convention to use upper-case characters. + +There are two kinds of variables: Address groups and Port-groups. They +both have the same function: change the rule so it will be relevant to +your needs. + +In a rule there is a part assigned to the address and one to the +port. Both have their variable. + +All options have to be set. If it is not necessary to set a specific +address, you should enter 'any'. + +:: + + port-groups: + HTTP_PORTS: "80" + SHELLCODE_PORTS: "!80" + ORACLE_PORTS: 1521 + SSH_PORTS: 22 + +.. _host-os-policy: + +Host-os-policy +~~~~~~~~~~~~~~ + +Operating systems differ in the way they process fragmented packets +and streams. Suricata performs differently with anomalies for +different operating systems. It is important to set of which operating +system your IP-address makes use of, so Suricata knows how to process +fragmented packets and streams. For example in stream-reassembly there +can be packets with overlapping payloads. + +*Example 17 Overlapping payloads* + +.. image:: suricata-yaml/overlap.png + +In the configuration-file, the operating-systems are listed. You can +add your IP-address behind the name of the operating system you make +use of. + +:: + + host-os-policy: + windows: [0.0.0.0/0] + bsd: [] + bsd_right: [] + old_linux: [] + linux: [10.0.0.0/8, 192.168.1.100, "8762:2352:6241:7245:E000:0000:0000:0000"] + old_solaris: [] + solaris: ["::1"] + hpux10: [] + hpux11: [] + irix: [] + macos: [] + vista: [] + windows2k3: [] + +Engine analysis and profiling +----------------------------- + +Suricata offers several ways of analyzing performance of rules and the +engine itself. + +Engine-analysis +~~~~~~~~~~~~~~~ + +The option engine-analysis provides information for signature writers +about how Suricata organises signatures internally. + +Like mentioned before, signatures have zero or more patterns on which +they can match. Only one of these patterns will be used by the multi +pattern matcher (MPM). Suricata determines which patterns will be used +unless the fast-pattern rule option is used. + +The option engine-analysis creates a new log file in the default log +dir. In this file all information about signatures and patterns can be +found so signature writers are able to see which pattern is used and +change it if desired. + +To create this log file, you have to run Suricata with +./src/suricata -c suricata.yaml --engine-analysis. + +:: + + engine-analysis: + rules-fast-pattern: yes + +Example: + +:: + + [10703] 26/11/2010 -- 11:41:15 - (detect.c:560) (SigLoadSignatures) + -- Engine-Analyis for fast_pattern printed to file - /var/log/suricata/rules_fast_pattern.txt + + == Sid: 1292 == + Fast pattern matcher: content + Fast pattern set: no + Fast pattern only set: no + Fast pattern chop set: no + Content negated: no + Original content: Volume Serial Number + Final content: Volume Serial Number + + --- + + alert tcp any any -> any any (content:"abc"; content:"defghi"; sid:1;) + + == Sid: 1 == + Fast pattern matcher: content + Fast pattern set: no + Fast pattern only set: no + Fast pattern chop set: no + Content negated: no + Original content: defghi + Final content: defghi + + --- + + alert tcp any any -> any any (content:"abc"; fast_pattern:only; content:"defghi"; sid:1;) + + == Sid: 1 == + Fast pattern matcher: content + Fast pattern set: yes + Fast pattern only set: yes + Fast pattern chop set: no + Content negated: no + Original content: abc + Final content: abc + + --- + + alert tcp any any -> any any (content:"abc"; fast_pattern; content:"defghi"; sid:1;) + + == Sid: 1 == + Fast pattern matcher: content + Fast pattern set: yes + Fast pattern only set: no + Fast pattern chop set: no + Content negated: no + Original content: abc + Final content: abc + + --- + + alert tcp any any -> any any (content:"abc"; fast_pattern:1,2; content:"defghi"; sid:1;) + + == Sid: 1 == + Fast pattern matcher: content + Fast pattern set: yes + Fast pattern only set: no + Fast pattern chop set: yes + Fast pattern offset, length: 1, 2 + Content negated: no + Original content: abc + Final content: bc + +Rule and Packet Profiling settings +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Rule profiling is a part of Suricata to determine how expensive rules +are. Some rules are very expensive while inspecting traffic. Rule +profiling is convenient for people trying to track performance +problems and resolving them. Also for people writing signatures. + +Compiling Suricata with rule-profiling will have an impact on +performance, even if the option is disabled in the configuration file. + +To observe the rule-performance, there are several options. + +:: + + profiling: + rules: + enabled: yes + +This engine is not used by default. It can only be used if Suricata is +compiled with: + +:: + + -- enable-profiling + +At the end of each session, Suricata will display the profiling +statistics. The list will be displayed sorted. + +This order can be changed as pleased. The choice is between ticks, +avgticks, checks, maxticks and matches. The setting of your choice +will be displayed from high to low. + +The amount of time it takes to check the signatures, will be +administrated by Suricata. This will be counted in ticks. One tick is +one CPU computation. 3 GHz will be 3 billion ticks. + +Beside the amount of checks, ticks and matches it will also display +the average and the maximum of a rule per session at the end of the +line. + +The option Limit determines the amount of signatures of which the +statistics will be shown, based on the sorting. + +:: + + sort: avgticks + limit: 100 + +Example of how the rule statistics can look like; + +:: + + Rule Ticks % Checks Matches Max Tick Avg + Ticks + + 7560 107766621 0.02 138 37 105155334 780917.54 + 11963 1605394413 0.29 2623 1 144418923 612045.14 + 7040 1431034011 0.26 2500 0 106018209 572413.60 + 5726 1437574662 0.26 2623 1 115632900 548065.06 + 7037 1355312799 0.24 2562 0 116048286 529005.78 + 11964 1276449255 0.23 2623 1 96412347 486637.15 + 7042 1272562974 0.23 2623 1 96405993 485155.54 + 5719 1233969192 0.22 2562 0 106439661 481642.93 + 5720 1204053246 0.21 2562 0 125155431 469966.14 + +Packet Profiling +~~~~~~~~~~~~~~~~ + +:: + + packets: + + # Profiling can be disabled here, but it will still have a + # performance impact if compiled in. + + + enabled: yes #this option is enabled by default + filename: packet_stats.log #name of the file in which packet profiling information will be + #stored. + append: yes #If set to yes, new packet profiling information will be added to the + #information that was saved last in the file. + + # per packet csv output + csv: + + # Output can be disabled here, but it will still have a + # performance impact if compiled in. + + enabled: no #the sending of packet output to a csv-file is by default disabled. + filename: packet_stats.csv #name of the file in which csv packet profiling information will be + #stored + +Packet profiling is enabled by default in suricata.yaml but it will +only do its job if you compiled Suricata with --enable profiling. + +The filename in which packet profiling information will be stored, is +packet-stats.log. Information in this file can be added to the last +information that was saved there, or if the append option is set to +no, the existing file will be overwritten. + +Per packet, you can send the output to a csv-file. This file contains +one line for each packet with all profiling information of that +packet. This option can be used only if Suricata is build +with --enable-profiling and if the packet profiling option is enabled +in yaml. + +It is best to use runmode 'single' if you would like to profile the +speed of the code. When using a single thread, there is no situation +in which two threads have to wait for each other . When using two +threads, the time threads might have to wait for each other will be +taken in account when/during profiling packets. For more information +see :doc:`../performance/packet-profiling`. diff --git a/doc/sphinx/configuration/suricata-yaml/IDS_chunk_size.png b/doc/sphinx/configuration/suricata-yaml/IDS_chunk_size.png new file mode 100644 index 0000000000000000000000000000000000000000..61dcb207d64268ced4d703ec1a9e30f6bf653031 GIT binary patch literal 23331 zc-pkPWmH^Ew=PNy0wfUJAvEs69YSavn&1w>T^lDr5`w#11269G?hcJN4#C}N8t0Jj zyXV}q_uXggaemy@qerivt7g@#XU$br&#bwEzk;ORqYt`R4^#S?UW?8I*MI`46&@oD>l0>F?*C*8JFK395s%78nT$qv!AUMLZJ* z$+Hl}Sw=wuW$`sG1}6INmjkFsNFR}8fMTld3x~^Y&bVqM$fpSC$Z?*y#m{l;g3Np+ zY|oPyIkG5XZ}!kae$h*OegkA+l<|>ez{U z#HYc4Q9({bBLcci)W=Wv+-xfKKd+IHe#AXn|5^405|Z-YjxoGJLXu{9KFPsF`nM?R zxu5?M{j1Q&T%>=C{tLZ-iT<-5VEum8#%B$4?P>Nv|7z^~={kGGX5zYi;gL4954T13^UPhm7 zeyI@jaT(LF*_<0e(Ui)0B~U7Melr73$Qa1!G(=sE+*fa|LqLYl!q`)n4Z|vD3@}Q! zj>tazIXR*Dy4sv)z8v5uIa=j#bsLUsEbr@XviGB0zuH39X)_76Jth5)9TSu7aC&5{ z+>okVpjPmT;zD|ms1(^aFOr12;7Et<_3qfc1>^w{QJA;;qg}MUpNgnA~+{$$N0T zK8@~{ihw-c-8Ql5JaHRe?%yTDr})N72>ODhqiVFnqcSN{&fpL*G9F~p5lmd@euNQ-Nx|>5d3wf4z-IHrdc3qP)BKCjcx<*`yH36- zBg-T|R$qzh0AEsevUJM)WRJsHFI&-t?8+;4@IaAV*!k){It8`g%h%;s&{oife)bFx zq43k`8kJN8DZk6wLfwfcsR7qkVyY7@xBP<_Ew@RGdOn`PMhBJA<=71;?{TltQ#RjD zSeWR$W0mO{C0vO`TY8iHj7ZXFqXwe0`^)wCmy1-prVS|yA?8k?b9rQK2oAeg{uCN> zcLQUrcmx<^ve2^qn_1{W7@|3602Wz|t~lJy^+o}eJ=DxR+8(GGg&{G(X$NV=7aVn~ z)=sz8HvLlBaHzPq*4(l^Z>HhrS4F(*i`>B+R8XP~v3~V8JjEK#Wp0s*+rYd6A_4E_ z?f2)l6QV04M7$KbBCVF*6emq0528Ak0|P|H8hI|H)qCqRdQ%TNulG$8$~vR_pB{G- zUoF11g6<|17Two$vK(?(7H+huzCDFs6>ZE|juRl(@%n;-XnsQ|ZuHUF z$^{f&NkM#~Aek1CpeM~{D?e{aG%7TK$~v#%0Db+H(iIX98lhzNtLsbc3=Ev)tqP5B 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 IsXIph2RUC|-v9sr literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/Inline_reassembly_unackd_data.png b/doc/sphinx/configuration/suricata-yaml/Inline_reassembly_unackd_data.png new file mode 100644 index 0000000000000000000000000000000000000000..f27d972989ca7c7057dc10f5fed1653254b15646 GIT binary patch literal 21776 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 P>Tek68tYVOJ$?Hhp(EDx literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/MPM2.png b/doc/sphinx/configuration/suricata-yaml/MPM2.png new file mode 100644 index 0000000000000000000000000000000000000000..27cd87caa66c59ef5157464fc9cb069af5fc402c GIT binary patch literal 8647 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 hNv3R=WRgh$@PBWi(+EANSTh zz4gp)KeIKvGc`RuGu!)DPDTvz3+@*H01zd_g%tn*;`2Xn!a@FHLiZRL{+%Ek6vPC9 z$_f1Ae+rC&l$bE^@!yf%Q55%&`D`n$?f?Kt{r>?Xfd&ch9|`LyAuR&C3WaU$_g*or`{dOh=?d52udI!A$t-3 z@9|&ahs=LPpCudGf-8&D`g7TGR{0!cf%`YZEAj2_>o8DXg%%Y zs*I(!f$0aG97sFNje??UUD@*wQ?o>59d zNpA%7HEC)lt@HtcN4K?E6qap@(;$<*W-u|*Jg_yq55~Pn{@hm0 zZpnp&Gu5UYgB&9DvD!T}G$f~REA!e3D^>sH)h>7EVf&%$;*CAA{YT7v)R^;M6~dF> zd7W)`^DU}J{+?~$vAT+a1L6$Ar110A*88rUqWwm~PbSj!IxCj&^{#e}&-Qe)A z&3A^`k?sz>k!94&`*ZrF6xAT-2xhE^hB^!)i|~mT8(rcNoSB&Q!*(MRa4Q&uAB_bg z6U-HFPRaQIa({Y9i{VWSGQW$DQ9pfxX<3~Yd0MA}5kA!6b$eXni`t*JOk+hXF{Gtm zUNk@mQ5n#R;&j`_C9nJP1<}D;$v>D;Fl3%5Ru`1X<9RULRxauEEj93yN|~t^ZVQ7T z<+jLKpo2*ks31*k@e2Y{ZIvd5AwS$9Ik#H|d38<6+ulKo5Jet#pQN;AeRY{t1fwY6 zBR7&JHW)?VnNjJ0Y))`s_0Y3opan~-RMe=!WBmJu2DUVGgU`90P}5{GUb3u0_Z=SO za~nk(zz|e|$DW07!eXz>d2*h%!*y#0P9~F^J&eEGNLm~PPim`Ol)u)k<3kk>rVa~RQ@I|=ES1f-jXL!s zmaDUw%rpM)TV`0et z7AwtfIZnH-*eHUBs)&Rg??HhH4JkQC2mA1+AITr57x3p6@L|+@*u+2Y+#e)fbW%0d z(nk76Ru}Ir)s-v8{W1(afvx3(={}jEm!E`>qAcujXp}H?wUR-{PJkq;6YTtFucgo=KTB|gUvQjCmC&dY;j=W z#tsRDAhX6kI=!)N4g7 zn#w)wj}^(T)m`OmYr<(|{YWy(=fnp$L&gkVd(Mu9fcjMZM|uh(U<|mO!B79Ic9v> z+VtYWPEUxe%Kji|>)@R3K=#Qn{oyq>uWU7XKWg)V!+_o8`ug*qz|WmPXSM!VT&i{2 zTzFeF%hIzHDZ$4)DIyF212FU*aZTy>iN3Y`QF`|m*lu9Fazdvlnor%ofvE{)2Gu&< zxL@bbr5wSEJPWPA3CV+fW8!$qf4;SP-Na;A_Nz`1Kmu~q@!VwW73E!RJAY3X?<-R@ zBrl0rQg2U}I2>B{@i4Z>%k;-+W2A<|gKn<{IY zSe~ghp|6A>A~L{;2tpE_D%=&0C4KJ3QX;~ge;7pM7sU)TRt9eNf#_7Bq-Nyx6&}y- zb|H_yV`IW}%+W!QYJ@xw?LJ%zv${O;yLB zVwPP9hAV`y%2}}6Yc1Y)L88XXY4*qdR75m7N4OVLfBdlWGUe=K7i46JX3Uy4lo#X% z2VFmYjd{QN)5|El5SdPhsiv(ustYI|X>vO-o+5I@>y1)FwEm0N>A<*#PKx8BB?LRP z89N3-GRd225h3}3K(umTuUWEEMR)OySE@H}uZmJC#=sFJ=zIHSWZ@eC#8-KT9@V(s zW*^AI?un#QNj5jWHoYP9xKC;_vV^>W=PNIYtSOS_<$5+^U6@a6f*>IXp#*&xv)SEn zEpP3db-L8O(_81vU+L@mj0m4FP~d2gk=Qd_-cMLRxnkSRYQfDpxYviNId^lOo_vbP zPdx>Q;P*EBo<+fb-R@=&Qw7l?4ULI?8s|g3Uz&m+X2PxS<}T7jAfhpov>y#6e;ySJzeryS_S1#xe?a%W;5J+h{w6cS&g@T6mYc zZ>wS|4lH@UJsdpE#GD_ddsw3KZnU+Ayd9+&ME=!~2)tNGqws zNxX4CVNE5~D>rOusitk#c>jXe&^lY*>cRZ1;1bC=avE60oNEA!0&fVs7K)gAV7 z6gu3=2t(zBv7_~`>BCVYn(Bo&-ou}l^r30kxB!oUO+zXy%~&D0QdYd>jbZGm!O8_< zXbuw$~IGJ^ZGj0_xzxQ6&MgX|5JEpEG8UY<$roNZZcP8k%jk_Er?1wR)klqmTDz^;|p z1i~r0o#$lik+#|o%*iz;rtQm3R#wT?V{#j80$h!8EroD8LvP*u^bSN#c4Kb_hBCE| zKi`;#VQ;Cc9nU%vZ=D>K{!o1-)akfq$;%OwgQEEi^lx&yQwXha z_lK$G7C)0o&K`pge>i#T%qO{`f_#eS@Z#vy#>0xQBWeYj!SZ@@gnKYO>^TSkNzmhi znGMQoR$J@q2kPtQc|`A~i1F`!>=5ycuP7OzK0ZfE(9i*R(9qDjK6rt5HLx5i2?{LkB^RzkFi#eFmxq>fE2Gxg3Qd!&OEwZ*(_@@xH~wP%j)N^&)}jH zyOOt0J>Hr{f+6%U+glZW7Uc;;9*#S*GvNm`LY z)zPF5UsT<276-33c}oMHr+y^@^^E-?aJ|$`;foDfbSkCE8Va_Il}VzTn+z&B zKyK9E=EQCvCY(oi`x9BgL7zkiy^`ecuOzsHYx;;Eejk|ZfMMH)qB2K{s&e+G zXqc&$B*GQ!#D&_~#!VUM@#*=0%ailBuFT%&`v69uoM3f&aPdDG<+-&^M8dE#q7ies zy}$cUz_;q2_htgj%7f6&uF$t16~7naqb8TQKCR_Wr^ZyY^Rz#Fx6{p93d|ZwxSUA77^fJf{{Zw$4tuJ=qul%M^m+ zzTsDH!PZXYBY^c@@swWvE;dby`A z{l#Z0Q&-4a+oflu2O4(5% zP*V_wEK@(O9oz{jZY)>a=C0s~%^dm0&_}xZ{An{fUenAO-c58AyP`2IEs@6LgxYyt z|5y*!udJ@Fdfyts7?yYLp6;$&4`;lZFi%R~-(N4iQ+_l2HSpv1`WD}%nn-Z)iKBz3 zy`Agb>9gUh>AESq>Y)F_%uRuJ#Oe0Vo+mpNGqz#S^sysnC|ycNyI2wadixtG%)v+O z+iPxJ+FK3Z#O# z$E@gUzh4~{f7MJ{w_o!cu9UZAsCT~4dy8{*yRlbw80OK!K|?}x-PY=fo}w`l>(c*0 z@6aKtN&Sek@=|DMe^J0)&zVGVOV7@MILq8tsSE+n}XYwBjfK%=fWO zUgrtzR~~>*3-CIAKiPtddVMIZQ!Yru|LwH{+k>@gLCI=iSvftH;&!}b<5hxn02kml zq3qg?zIJtM%ne!+?w$>f5C!x|P`~rEiV0oyu~bBw>HYZhrlSBYSK)_h@XfML0VAmN zsCsLwSF!(V2_-2hYPJFn6zRCq{2&P0r&)9I6GD}hxb3zIP2yEaz>5z)1ixBOooz9? zJcc&{UY>5TkajdC6raAL_*J4{iDJm0chSr|E9&(pzejhIMXPo9{R`%A(iRPz5X(;d z%@9C$(!`lL@AZ-vaLG|;b7g_JkC8EhN(As@ho0qtuzd!_0E2!ZHSO{^T1&yJ(iTy+ zhN3WRj9=QTl7vP|;4sJ4p>CF17uZtMV*8R5-fNCL+J1gLC=239D!r|#(zY-+#`}2& zbjWOi3L%|>eejsMh~vfSCRw)3NNRW1$9LLrTPPq~eljJsODt1j^f4F{DPz813BhW2 zs`Y5X-$kP^F}~<9m`<^P)n=y`%5+7|erG(a|5s__=d7^hoL2NK|D`(WG1_0~I1Acs z7}u!=b5tc?NN2xfoeV3ESNO82OczK!^lGS@o2SYd!>GXmC$~3%5WI0K!MOk+;8XxC z0YqYp)nZYCs0EH3B`N02DRM3jpi!lPW~X3Hwmp)qBc{iEw-`5S>m3z?h2mTlt~y1N z9PyMFIkiYZH6WbhxvjpQ!I_iLLD`}(jn?zr9@R*4C$p}<6z>zpu1Sm1mp-Bg zDH=sM2-q2nP1&L;Ao*ic)@cwn66i{q$+8?+`fT+Xo)VJoi@98Hf}*QC5Up_Ay{;*R zVrcH33nY|D!y*1^8#@)Vn?G#$Z0*7r^@T)^iS#LZaoQsTn|h4l z&Jy2Pz*eq%MdChugM~m{%{n$6*EHY1n6I3TP3z3rZM3CgdF- z9!~*35PwFdZn&V*AXs&OZ13=vW>MHh6M}yUTwFPgAy?yP(=O2z{7wt&gXX|)tYpL*Xh|7kld6N;8 ziX}w)g7ji#F??ngn>Cig^H`YIxdAiIwG(F9jtvo5jzBzSvSznt`XW_bO z#qk$8$nlGlqoet8lM^YwKd`1#D<1s4pSviiMCUigb&nZ#9#<*}k0d3%6L~897fKq?bty4FyJABXI^lk!O$`lVFp+lQO4bIDtK0SA51nwVoJY+wRy>8@>&~?9L8ui&+2P%{> ze7KOINPc>DvL%ZiMv(BQNoxEF(c=wImMExy7a}1k-fv)d8Y-I41P8|s2NxnE!q49< z@PCK@pBt{oeZcPCo>__xC0*WI5FIYJ!4vPasbeo+`>t}D_-mTb-BgcL-aneH(7eHf zpT?lOo`V(m$Ag+hUp1U{3=gZmRFXpqM?Exh#7-1n=jj?AwO=0pa92Y&Z==#lDl!6m z=ot~s*PRB=VzBkprIH%x(a$b_c)Yh)*SKLcj_ahZc|GP()ZJ^D%TNB8tJoMtfB|rD z@yZ-9(ES@)Y@hdUo?)Y?yPPw#UQ;NMp~Z|v}8Nn9*u&XUZS&&L>v;&0eS^7iGVb?5+K zN4W|7YP6ktrP2G*XV*jKv5pM+$6U^z&l+8e@YRq%ZsCmqgne2Fy(HbGJwhs_*@DDT zU_f7wL%-tY9>JM8rq^EUubXA4K5$`t8+_o1aD%f<+;4Kb-8+M%6G32vwHAg`-d=0F z3@*Ypaj`9RQKtW6x2qSDcRrD3hP|6KsPgAFCE+7{XP*266q!aajlHY63Tl09;Pk%4 z0AX9yMO9`PpJKksMc{;E*d_7wt?u(VS+7&lZ>sR!FS9^z0-Oy@x};_^weBj`m0pjq zk`=Ufs2Y7dBrFvi6)oU~3X>Ln@eg<3FFiq3lbo1ILs<>K;havI=KLILs1U>p=Jq$? z;TEjg(2i7-Jel}vQt2v;BTegest}*2BS&O6i-T;`Fy?QT(1+aEOr3AjwPDkiRA2!V zY}Qk*y9YK<7s5Ll#{515OjjkEqoWLN4Lck!Le3ojCfoMy<|z&P^|)#-w1Pa9q<2i$ zbb@OCTVz}ebfzO#i6&$wgnGP9PriLtV2pqv-YU@rKk8k56k9=< z+46mfma8pLT{kjE073?<S%2^x;6TxnRWLr0N7aGzW^qYvadwxLc{!*CZj|6Mw&Yy@=$RDZXb z1tGHd<3#LS9o(@(g3zo{Jf@iDO582~u=S=`jGua2%{n~ZcYU0F0g?+ft=!oLa^mfv zm=UCB0X>abi^CKQCqxd<0ppDbC+Uc=hgpfX8T7F@=9kTD#!7=<=j!qKk=0+5LJY(8 zURK}*c1ff-u;HL6ndV_I5Fq9N$W>?h1qWEZ{0%OYHFu@S#KC-~8?C!C10l?U=__Fp z9KfPwmPMKw8@iU4nZ5qA^Lsy32ps!JPDhRcBsKuRc&R02a(Q*ZOeNH@D`^1o)1BB* zFj8ICZ<@&%j5I&F$dJ36lY45MMlfqUrKkv@fGUk>w?K+R0t#oRYPyuTI5VfV+O@@(9tl!ug<@a80SLY^j0z);VLg5>F&k3`Hko(c|_qlT58sNYdKf(W7II0 zn{;b@1HwMs+q@82<3w_qsNC2{^TdBS4_7l)qX%%%F_5j+e3h7m2+ zKq)-$YwHN-3g&t}Pa$oS-qFC&CJB&rLikTSm|bf$u8D_?cg`kFL?O9@efz^`5=XtB z#%lf58|2w}124iPPEHu0yS7p2W7FB$o^237C>U2X`_iGJGAig`f0ILprg8VWdwDzU zzmB`y=Gv-wOmDa|UG0X~I(G;KFgRu^JZU@f|31GQWMB&=?7w-3a@%+j|J)P2skHa) zlZ3Ah>P(alIa(h;sT-Zu)$0v#8I_N=V%_}G`)#IJh3n$|x9C5w(#aKl_y7Ir(C-rK zxArS+--nU>*+{}D+?(Edad0qfHBEQ`-hKdvot<6e#Dq4dlSZTEa+BMo4+I~Nr2gK4 z3ZI-d_*1XNIce+$d9+<#yRG4MzC@dhHeu8LMwvfz=dwFuK8!S{h)RjY1JrziIHYXu zJxWHY76Mihz1RzMko2aP!>_hwuE z+S*!32$JIfDD7gu#GVnDt9NR*A2MIdwbH#8VZ=h-c%oRDnTefyDzb+n?Z?+{D3#xf zP9;&W*)(lls<-RwmXAx!kj-{f%NSHoy#&U@)R0iv+?~v$Y2IfxpR>sl6)V??jvh#N5fH0~2=D(9jkVnk#^LWb z0AKlbP&5_K{mdrC>G{kK_k}2K*b$xeIf?P|D_X?Kro1S<9$C3yTUvyVmb5x_&d-l)&XAf~ zS&BW2>pX8PRpM(`N5`!WYOqyU9ONu0+M=P^`qWMSy`X3X#}gQXGDiISuVfT#Y&BQ5 z<1%V{;iBiCxZr^A-|e@%iWwc?;U$eG$cY&0tE(B%?KhX|1x2J10?@#SKYsj(AlKU1 zE5!Ig+py-z{Wq|nKNC;>?%tYiR@a@bK_di-y^un3&WxDZFl^|MV1}(L6U1_=dUkRdrB8 zp!?Wddv1ZCcTb##ng+I1GdFIUN_D*wIHvOlX5x3I;i5)W-T!3M?dG6l{^XVL{Os&{ zv85Bex36#XruEC;^?Rt@r<=on9a0ZFXmD3LllzIL!)PxARg{2lgW%4NSQ!TSm8#2) z8G+e!iioC6_DYc0ebh^Du2S3mdT-d+*f^hhh#NzIih5xxM`-&6j!4SV&hIjb;(u>t z{tx&_*st8_;o#o$9w|Q%0qFYclczcf>YOxhTMR>9i?^5)Qp&|OemEJr6CQ^T2kZ7^ zJ}HeF@bO!jcr&V>eTAaFPdF^a_p?7|tgfDpO8?}xWZgTTV(paa34x>)L%{6-2GZ5T zqKjY0#w+R1nR*~hg4WB%hw-wn^GMeAITk$Lva;Cy3k=a@fP=;Fb zboJD2r7cgDC?9Tq&TjVgSHkYHX?eV2v%2-7GP!I~T$TG@61n*Fo4QzGi zCkpsnUj#gVLeQ;F!^qHKXQ`G5Ytw)R#BVsq*s~vs$;&D4haR`KjO8W&kx9#Idr&-UMEB)3<(sW;9gW5xHtYexLFFw; zy`iEH=8OGJifn1yb5QyM0$o{N-JxED>+_pMRwOhdo!Bd6dOL*2GN0#u6@tiV~e zboK*$o+=w>S2sRKB79}gMi{}qE80=8&}!a}qdBrjx2_eUo6F4*son;)3CWxebR}0+ zAmw<#llRW(xTJ(iGKY6h)Y@FqJTub4ZsM1$ltj$Q8&*O|NeKro8xkZX)2u=qt5!IQ zXhv#muADst;x#%B6_pt}R-;f-Y^*_no)DQ2Cp|Mcd4d$=YzYsm1zYG7x7tiukF^ErQG( zr9iry!C~Xe`e1~w|*T0swj87o%>q>)C(0u`J#Pmhg8R6S!&@Gv>CI;3Fup;Ap%E~bH-+ew$NYm zAQ?xn(-a~6&Axn4*CVXXYe_0FUE(E|aRT+e!=3ZIWm|=>ubsBgcka>th)}(apB&(i zx3KYUw&17%`}1yXWk3v;PV3Rs;S}%TXoTSH+%wH2-SVlhx3xQ4GQ|apVA-x>zQ4Ns&eJi0w?_xkFQZa-(AJ zC=X|Wdj?|>ei?53*b){Pi{1gLY3z7icBUZ`zVWD=4)1-zAeTV6**bx5g$6U+5|J2p=JQIbRVA~{XavL0J8<}4>0kaM z3l$pD*m{;E`{42Pva&d)BhdpYv3hJZ<$ucZuo=4F9Zes-R%T|p_f|Qw=)aFMStqlJauQbuq z&|Ze-1K7=n@k#{7K5ZgGYpiyImkt|_aSB)Zog7lhwe&Ms7*eu8AAll)9#K`DaVTzc z@cfFf(v)7^cH;-n%gQ=XpFHRd%`5-HO4w94+wRcA*86e8jRDc~Vr*OC;TM1C<&K+0 zfdZ);@)*h`Yg3@H!U+{sBo#LM*_R?HX`1U(?@SsFri!EOl+L=d3?;z3N081%txEPQ zbaDR6=XhM4FHfzSHjm&&x*!p{4C zJ}9%q*LPD|PJ+xhQm&Om?0%vK_E}u3JlUc37aWLI<*DytJEbPlt8d|at0&7FEue&9 zo-*zBWsmD+TW{<=x&1PJuo&(0G?nG@>&o*t-J-d4hrflE*2ak4G%-BQc%TF=Hw6J0 zht+!a*X1I{_&mp}PhrDkxlJ0|gYc(e)xSQHJGfsx-nlWFHqmEsjgUaxF=NTWOFH;B zuGtggqJk-EKcJxzB2bZu0T`$)LGORwO1{p3iYBx8)P8|mr~asTvngiMgm+_!&f@59XID5a>= z^XqVR)m>EV=>xmll(!m?@r~V zng?&mN3Flh#o$Jl%gsZNSJDGLcOL)mGa|~vHJ{`gO~g{xqg|aqSf7}oCZ~MSJWem( zjBs4&eXSzM4=;-|_b`F3NrAMu{@u^#_+t|5sPQh=*eb=Aa6q;;lgA@k#J$8>Um;ZC zL#a$@WcJ#r(o;~dNP~Ie0cZsOe73CUrgO!B459}agcu%}Ar_Uz^b$p*`cSypiNaw_ zNV4!#;OQX9d2pwtO@@zJ&re`{qQQ~FCT|#@PJrVu=xBW)W7YY5C)tP5=h+xi_D9KW zi4Ao<$0wnjeW7qLGWj$0aa_=&(23GG?0vYmt=+}MC;*7pd2SqWEoJxR$7Hqsj6_Lg zIXm=)DztmwxkN%BV7clJvz&vr9vm0Md>I7Qufr7E@cnZR(NaL%t$(lYcr#u8@ zd%dX=bd851RirJ@+Y57_(pUarqO9F~9WPR!Zh*RZe!#mI4h8_TO~lAEcB5@1mD|^u zSO_Su&WeAom2#lElkbhm?h}nN*#qwemk;5SfceU&o;0r%tY*u;)> zCW9lNtiq$ETC#7r+@@QdML6ZA(|hu7B;Mmj%;|1kQ$AU2+U~=lY_zzWO_N7TD)H_X za$WDENSj0gnw_%o-~5XNmO{*A6~9m5S9`McV#DVbk{*_yXgoML^S(Pg+56Rg9i-YX z8=aoM^O~tub@^!dbCVG7aH%pVCMKe6+1KL2*ZDA6K!a;d+C@iBO)a^#;M?)%=5e7Q zY`DcTR7qv7fKr5xuN5v9w}eeyFW1-i;%)fFlSS3tuL06-ld?Ip1XVe}o7T$`=jf^p)mQ8yHX_g={7nl=w31 z{ogM%Tq1YMlLb_J;##Km%paEq%%y~`oxkbA$kZ4DH5e{cY@tBS;W%XJmz!FaGHtdn zTTrZbJtb3a8_264avvU$gK;9!~JE`;8ERfcM&hwy1}?|9fW zHEd-I``BiP)lL-sg=UlCW#sqh?PV z>YuhM#j<5Pb{lO}V2@Y*c-D+n`Z!disi^+WFzc0;ALV5K8uaIOx2p|3CA)*Y!S3)p zO?L37a*W^wj>$s|CqZG@_na}d7JRHXU-6ykMe7NkH~xeN@)!IHT!25%FC@nyZi71p zcO>fD3Ly%%xD4*I%UU-!alMm47W@a9vZ9v}k1QE0Q!Jkv->c-Ql#VjOwYyG@k}(-t zop%@+45YgMfOk0Nv11^!dPfa9gD701%mw%*MvSdV!*%8`|`rs@-pPp zs{5l71V1n|G$gJ*R zb;%$c74i!C>??<SSUEww8@dZLGJ-l!Z6Ru z_UH92@iaTeyK$*sKYLfA92kvbHzhd60NuMi{$&(JO;t(h>A%c(9h!X^MSq(7e$a{R zD7b($$;vq?=RpD_@bbk>43r z%$n45w0u@dT=0mkkYO{4( zNeX^J?nlJK(^vWuW#Ps)*H3-q$Nykt>~B526hysZjG$58!8m!7_d*E1wf5R|5&>zh z6mIUWlk(*cEw4s?woKksV>GVUSnoPcs>dCFMZ07Gar6GUo*dX05`y{QR=Su{D4P8% zocoQ-d1-mM!Dcg4ZYQtBcPcHc%s6vo#ldc{=~9saRF)KJI^*`-4uu-G!b105c~;p= zldUtS1q#R-?CX}hlz%go40g>jU?$!u-o(+9s`7=Qya6mpIEHEXgv_&CN}t;(qgp8v#UbSV?_)BJ8|4Yb0efVUy|qU;5@oeq1j};-gy}y-reTydXxC=rE7U<+UuISP4e-u zX0&E2@0Q35QJ0X}!+G)x{~xYTIZJh1AAd&;6)r2iLQb0>V7j|^!x)U?QwDlp4#=qi z&oeIwMxr69U=pNC@sxCb2>4H%iSr|`!p!$gs>n7I_+9N@Mxw?# zE@1i%Y~U|-eFb8$b=9vT|M44%A}QP^HeZ`e0rDdFc#cq66CWe4}$eHOL)&u-Kghowe=dqK~Mx9T0?1h9YdJT35y0G zYzFX-k`@_?+xpecj3@gG0TKG3%GlDaXSv4u z@|>E6K&-Sgx`WmlO{ykZMo$xgpI$f^m>Fxc>X%rUjNjEdCe%VS=vF!@xXWdW72}*e zxveZpW_2&s+F1X_%52n1P0TiVWZK@WO^X?kX!XO$Kcv)ynksuJ8ZN!_6sHjsTNg@Y z(+iI|olb5~=F5`B%Vs;9y`^Jf6s}9?bJ@Hjh8c6jb7#%EYCGi1$qd}|vc093O*+dZ z)YJ+W;!k4{PlMU5G&bWk5APA+YRrFpC0UqhfQMs=z7DGo8{&}qI!G(dUeWh1*O8-$ zGH}?HG`&F3O0QPEb03&Dts(lI-D1P0_X-Ko-Q{Ba2h;i7vpzsnIrZpz8@SJ0 zwAqR0^bsm*N%U~aV*A?f%jB6f%wB$Rco{62)^32D*}Y_Y^OuGz=~tWW^f12weeQA{PCAvZnelFfd>L3R5R|^}yt-lqE=#yX<|6T5Pab z{Bw7bfKQi5ughq5g5ae=T~vGhv{4BB+_;Y8y-s;J7@peSiDZP*N z)K5h8FCz&;dX{@5YO&0#)J(cr;A)um2MfzBjn%pc93#RFD>`?EjER-in^_96CjDnP z-q{UTWH-1xxcA-1V!Pd|xyVz)FIuvU{(mYq78gS22n5`k2Aov$G7rR0l}m^Q@Yxws zHb{upy1Rd`OAJ)bCQVvt#^BEj^PfdP7Qmwqe->XGsz6~3d6M}rtcYXSOq?vKYi)6E za$sY6zv!=&;*DcJCIwOB&-U<*Ikz+2paW%6&ia_&JgW|mT0xT4FTKYn9`?B3|1B;= zXLcQeZGJyoPA7Jtn#Fo}XlgD!EH^n5mGJu6k4MD*Waz({bYY#m+>|Me%I03hQ%m?a zI{erfB4PVV+E3vmCO6UIdmo8tvvFgRNC5zj2P=vk7-a$8K^!vj=pyoJU6O+G=y`+< zrlB(!sK=(Bk7}ufj;(?u8FZT+aa1I|@iJo5Pb95!e&rztM-x-%B8-6|bMC_E%0#`6 z+XzWN;NLDs1h4$pxc(3#`N)|XOQUGA6kkCYjUaHG&om-zt`lBDQ41D8nR`Yh?G&d zI6K36fEp{?(+DEz-b}2FLL(-QBFb`Ve!zLB6eNkvLjb>Qr6d->NyM zt$MLjlFSWsy0OtnE}!oo@ZP8)(4=w{H`IBGL#Az?)e%fo=Dl-@Xly_Htu>??I)%+z zwOPq~S=#uvsuzGTzJ~NoTmN3&+Mv+b7`No}1NLV3*xDLDVX>&Sfw_)A?_bxi%nlAI z$)jmGYjbN_ed~j0DJf}q5+Y{_zBy}a={s{=WGw9LNuxib%xiqt*4Dz|FMS`44-USA z(zDw5EiH|$zt41yjjd^!8}w_#MU0J&-#+md9vpoAo8E>p^iM5#zB>9|Xxt)*=82CA z#mvkMMVusNh^FY^pr2Elj1$@tj*Xj^oF>)G620`V{2_i}jcsJhFf6C!{@)jgKDPco zK1=__0RNx6=l_FE9`+@-jmH;xF6RsP#8Q}@4gonNx%+1r7`d*t`TTPRU%(I{WRSTG z)7JInmx2rQzQJx zfBB$c7chig%8#7Pts$L@28xmXb@A&_MChxt3kdan+z7YqO;PeIo6XOi6I5u>(0mB& z01?FUTr$CKJU!JAD-|dqiQMyTd_Z?RhN_9*bT_i>Ksm z7Y$zQQido_8G1hhPcTKCrn2UxDhAS5juM>>;i*MaWdDtad058D?|K69RCGbXp+(&L zkp-9p4GWejN4JtvUal2iF6f{>+#}+RqZk6?zO!ba8QIKy>iTHEoFV!Jvk(e&__%g)O!(EVprRE#xE!4djex-00tQIn*4VSIa2t=H zu&!@%5A`cw?)z$kr8Rq8Z^NBtYl35<{n1VQJFM_D;iM zfdt}R*xMzhLIT~@rc>_v{Gl}0XGsA5RCeh%e-dx?kx+vu88}2MoC0CMr+6$8g7}-e zjK0Y5;$Z;0mDdk62*AMcn_!=2J?=>8TvQU9#e$Y6XKJTQ_761?CWN}qQz0sSq8H)GES3lMWqQ2Nyz^CbpT1I zr>$U+OO!DS9-?5;zhYU$8UbJ1HY8{Yz=4JY1fF{JZf%sW{CmFPM?H zW=%3kBSlRAHxcueXX2zQaghUp&$Xf+^VM!hr{weRqep=j0e=27#Q*o-dHp_+M>g`j zjKNzSQDK8UCc?(vv?)UW25v0}p_GioWVJ_2T4Z#~|4M&)k_wZF@xKZ7mM zTEM@Oo)vZ;#pJvOBS`wYu~B}U5)vc77Dz!s{by_1Mbz0af|u6i>+yP+4JF^~{yCU6 zN^BOC1YXynnJcP6@&KHFW*pd1wnPd)LyJ3UDgPILO_;w~erTpUCC-Gf>9PwEAQeP} z?2UL8*j>-4s}f20z@AD*z=ht2CTyegGFq(-Wj&dDbm!SPCWOOKHJ$HbEH?LlaO-Iy?=9wX3Uca36mNh zGZK*$G1q$KLOfh6lKRI;jv9-swBJ5HLSwXL{yla9+g-*kE5`Y%n1BW;D9xvw$#drjKr$s|8V;Zwo4Hi6~v$m^Lu>rtm-!M?{So5h7I0O zlrbFJ^7h5dypTb%YOuteOlofZN#Bvy8~TU+rp^LAQQ9z^(W_}-U|Jva7q;BgXs*BLRG)q&P-Y(!dx9WJG)(dA;;c+oD zT`b(hS8+7CL=h8y@)cXc)q8A;}- ztgOV-DOnm_;3bH3u3-J=is)RNoHaa{V=(S4=KCA>KE;Z9xUFQ`D9?-Iv&kX#@aqOYMfpq+kbD8fG9GSJ_nW(s(gD69O6dTv0Z61$Hh| zAO8vjz!*2+wXU$2oAg8Rdz6hRd%kg>&Xqy}9)HamIAtOcPg39jKwYJD@AOi+O2-M{ zCvn@?xR;5*P5$c&=;<4s?_X+n3D6QiqF}2pRy&xj73cb*0Mu$~EibO@)Ra=B?68^^ zE$G1B0j3Or4jbZW$d{2FxdK1NaCBKi~no)_wVu=Cj2Y zR{Nl+AC8(Ud$wYG3=+Z+w@mMFcQzv?Bi8!-eoAR^j%>((@;9Sz5_Hq6SFWTs{ zONq=cd%tTd8vx{^R2BK;l9@B1Jk`w}n})1y*WT6<&>W5yZ(*$mNK5_-i>52|$_Rci zGYPG|uh8xI0G;l`(*Mx_a$p7A2-x*bZL^#{J0Ct&c4Gq!f@4cWO)rJMgAecjt8FWf zhC*%QQwk|5%4E$>mXV#YOpQHc8P{&?nyz&$S;mkpA&NnSVURt^pc$?$CfkrKQ4AqV zk+EeTzUkik&v(A>Ip;m+d6(xrf4$H9`@QG){0kYkNAy{YlD_~RUgGIXx&Fhea+rjn zKXgk|U)71$iBah0XRyGvMOe<|` z%7gO`8zg0|aXlW}*cq01=*!vEXJh37SCe=LGkIYw@j|8pVV*0BVJy0-$IP~1df*=c zW&Oi;9)g!K#b)1@*}Oa?GNHI3WX(5K>)+aBwO{F0Qdd}HcIA8e%_XiJ)ZOHchvIO3 zpk%w8Dzk4_K*<(PoH5jk9)u(X8_cFaSAVZ~?ba~{IG8^%UKZb6W^EQE=BY&q{;MK4 z*>T<~JZgh<_u@{}^z0D{6&I#b2_)|)i+ew)Z^(b3k#&{!MVN4#Z|2OP(@{BEIM>DN z?wcYHH+z-prG1<3gJh?-uV>1;zp+*?4;4_nxtko9jz|S+pL|B^K1f>yp>}WC+mFM- zqmbhVDYVWgPu+9C_h403s>#9;iRS&&ajMDxcy8Ad3N+Ct})nI_+3*eEW#7$I$*(T$IX$p!U(2nF|j^SK-vx`-S~5U8G5 z9woXdh#SweM5@J~2Xjv{h7a;tK zpO<^MCuyswF?eevd%0vaz6UI#SZ{7(v{TubZ=G%D(&ee+%*oDaMJZ*Js;imj4R!LVc=DCaT_pB8l=T8R$Fi zT)g?Dt+afzIPzmp#m}oTx7ou%f_{?& zG<^l)TrbK_`~rM9I)r8`0dDmTqzojGwKN43yW*sua%A|Sg#YXZ_3Oc1rfRNx&kldS zEcJ=3#`yRe|CxmsJgWMMXEh83bMu@!E^W>YV$A8_GmwE8Hz}e)#B}+Cv*yMi-I>OA4wq1tUXouA>JN*maD;mfcE6DK%ZIoJpB-* zzeG?@?D3RA##!*gjWe$8@KU}hcvc{iiX^yK_!@2`xo(q7zOxI7Iq3j7K3*tZk})yQ zfX5|2&Sn>C@dJYdix76NwTG|hey0)Ta$Q==5sx5M(&WQ_=z1}dA=b?~#Ldw);S)q$ z($ci(ZNe_rex%ih(7QyoXz-a^nf;XJDhsb!-`I5E!VJQH`SH!o4GAUqC>pB&MWHO^ zg>@yBZu@=r2EOP@k~a-&BBWA6u~%tIFEM!SA%)+ntnHwn?|-YZT8my+{Z?fao*ppr zWBRSi3iO_VyrWR4ygb6ued{4X=lu@POWjGrt}ZN~ZpO+qgUFPT4{dBx7Le?vpFdj` zQs_XIc{?N|W#|ntyyeSef8b{y(8V8xJ2=qJ0N&QTk6$+AZBF+Zz9=WwUVSn_q?T(? zYw7zcIDFv7FiV?h2A33fZS~IQc^+^*&s0Nj;F+%@=*{%Y1CS3gpL%RSz<_B=`}1r4 z3+$&tJP_W}Drx>ejW=%`Kvx5>pBW$N1#rmeyJF2i&v_oJ-Sd7kYT#QmyQY1b=-`WJ z-w!`8`Y3?I4ZX4VK7g3^WJ_%+**$>hP#%>tr2~?a{|Y+8NS}5kK1*`|J-ZeFjHqw` z0k_n0(xz+%73ThomQDMe_qo2dup7}Zl3R#4r6W1FDUr$5yKs82pZDB?*jW$3y^U2? z-^M#_Xci1c<)5yDmjBaDu+A5t4Z;0t#lP>30Nz$xVAPW+!^bY^dUQaU04v?Hg{1I=P)fsJWpT=YJ(xEv$k2}!KM3lR*=S``ewV+JQg%ca{})-^WPl_TsX z@s9L|7zdEFx(Q|TVZm8bh7qwr|i@@1^- zH@89-wwqw?o|tp=l47G=Zg77rKGK=LOhBt353X;vMl}Ci{8CI@Mb|F_@JbCcsNzq( zMUQp}WMHrvXB%JeNICe)y`ot&KF$yAP=#*t`dVM-M>|MT7O+Vo}2S-6K zp9OZk(%<&VE|r4HhYF$5ulM%mv+!8BzyAiLpgUh9RW1^_7y>kc1K&wg8lVejR$vCsy1 z?>!M+9HiAa&q~3kWIujMpJ>rw)n^2L8q*OvjUcY***S#oNW-MZrFhcc$JT~uQT`;_ z3X8%%td!zOdT5x12Kf9TGFZ(({w>yTm{?2={G_7&3v#^$Df7xngW&|l1MmUVpL(ba_yRyM6te!WL*E@@y!Fqqf1Q)+ Y>qh9bM)3qd1b}Xax_5PIpw2P>0iHM{ZvX%Q literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/NFQ2.png b/doc/sphinx/configuration/suricata-yaml/NFQ2.png new file mode 100644 index 0000000000000000000000000000000000000000..de0b25d383937ca6ac30a706fe0f08ca44073d92 GIT binary patch literal 20707 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%0D8}chF+L%%4<{bGd8cjoGZQu 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 Wbsvx)!mxFKyQQVBt5&6A7x8~-aGOy8 literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/Tuple1.png b/doc/sphinx/configuration/suricata-yaml/Tuple1.png new file mode 100644 index 0000000000000000000000000000000000000000..4bcddb81e6a032500e45d2c760824f561abe7ee6 GIT binary patch literal 11151 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 literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/balancing_workload.png b/doc/sphinx/configuration/suricata-yaml/balancing_workload.png new file mode 100644 index 0000000000000000000000000000000000000000..37dce79bec5aadc6fbd0db371941e018577e99b8 GIT binary patch literal 29055 zc-p+Xbx<9_*DX3gAV>)A!448!gS)%C2X_eW79hC069{_H;CgVE;O_43c9ZYD@71mQ z>i5@s_jc9P%&gkoyK7HP_wLoJ!xZHukP-0_0RTXjk`z@20B8;XfQp8P{)=pz*Dd_L zK{+W)2m=*kpAP=MAbgY5asq&lJ^wDKB-)Pzf5G?8QgUMN7m?6Wn308`-md}x2_PjZ zr0TwSykhE&DM0|7o1ZecrReH1;<%BLHhO&v**rZ}q++xSu2-Z|{3RHXB>YoxnHtmW zb0^y=4$qR$DoTnj!=f_uuj>cDb(~vQb8~aEyR@{G7SmApAXH(=H1b>!$=?U1a8zOV zpHyP-q(OO@r2h?wQ49Y^AY3`*m2GCz(28`lRBrLbqYv~{iwBa3W?DiW+I+(9??2*-YD5<1)ea?io z^Zr@Xk75J!0fubJ*>a|lE31%FEmPt?T#Ug(S6s&fQ#cZ6WA9tO_eiWFo0Q26f##JW zeX-SN&2v}8Rk6%wk}m_fhi3HH+w>2>9JyehW=rYrm0twSO&bftSWKFM^qxQm)C-sl zCOLqq!pF7odrgyl;6`M1s`1sQ-aI>jOj9>?rX{%EFOols9qLW`iOqiB&5V<7Lof<( zhdn*M)b>&xnW@yci}G6vi(H`*TCI&5eGs%U+n9BO-A$hY`li8`B!s{_?7~82!}g$& z^3*h`F{xodeO3Ls#G0_lUcdZR#!6u^GBg!`q2o}?z564AtluRf{ja>D^vs?dVm)W0 znaH?)bX@8wBV$sYmr1MV-y8%+p|@?I4J*-E@`VvqC&N_j>$!BQPR?T z?Rl08mzURJO+5H53ExE;Th_h7gBhTCCt=o^3$x8fQqS4G+GQnjlLNh6@69Py7@BS< zCrw|l)KXaKFvnF3O4S(O8R>QNK7G6;6!6#jkXqwmrs&x)KE6}-bCmts?!C9${1n$! z-%2V(Ufm4~|L%8Skdn{tt(KduS%Wq_uv>A(p1n`Q$6sEod4Y-E(6%<6bquGU9hn9sn&&aR)+$jwU6z|PLV zuT;lKuO8YtQGbc3|~Ad9~u!A6)|V!k)OYwG>E{=%zP16@?5lfCJtnAv-1CS z#m+#lVob##pMXV-LqI@~^K%yv%*aj-HVP9=h)>k+(xjD1Lnpw%$VnZ70=~K`mnnCf z(FX_nMlG-2{d>6xYS zQNyBU$%IMC1!lY9KU`=4ph!AgW@`WU)RvL)=4L`|G4We9{tbb427($j!Y+D7Ev_kc zNOg6!6=CIClzbK*K@Je=;80z%u;@+C#6!)^zrr+}icgSLI?Lf=DxW`tk58YHj!BGx zkq|r8x9=%Av_Cz-v#vzwwWNOfKqr%7Urn@`Z79e4NH?e#8j5FlI-4;rM%p*S&Xz@N z*&0{T@SdRQvslh?x7baCZlshzo#y_cYF3SHdk&f)R&8HJSuqnuF#o&lKrRCwiaWD&ubb~rnys5j^>+@25@zEjLwBI~5meHN~ zX-?ha$m$BjOpMsveD3V@7wKk4VK}qFNL77JCFefo<#KMRue@VZN>S1BM8%cH9x57h zK|CZv_w;b@iz6g`jC8Z~6`63`QGuAaX?YNG zB>quAk2j|DC@ISZ(~hX!&e2?Be92N9%4`w~gqwhi!4g%fj5@*=JYR8V9Qt`|aK@ z6(KQ8WdhkpcP=Jc8HjQaQF)B*BNnTe0ae%Pm#Z%5uW>NDZcS}X!J?K)wDf_K&0U^j=}FwR2P-3RMU zt`4TH6y_oyF6*$lZdp2J>5I_$#mY$}HhnFw*%G0(P1o`mo zFD1k{`(69jnNFP0(DX*`S@yMMrFN~k?w$rW77(bAU*L$!%_lLhZ>h$_%u{dwWspXKll++>8rI;y`?YuX}NE_ zXd%|7Jb8=RO6PM%^VRkHIJBnmu0_W0{lE0eNxp{rGO!+wM_tA)hCc7g|BSY6pI~gQ zIg{}+uLK`_GLnV0zJgH-4IMH!$FdVDIaJ`1KOtOVvAI`%S_qpltaw?ufExlRWhXMMer4#JP2>@+ZR+7?0w8O^>3{=BJwx4bgjD~|oB7#5mJ zRK2!5bQFI`pN9!@Ei>af4aswG1@E>sGqkzp*!5yana`STF^inxbps?oK`-8Cm}6b z@f-3oc7zam|Mkr%X2>>n81ce+*@a9SGSK4@*1Q_ox(DBnN2e78XhNQ2Aq@r0$jp!2_)PkO}${C5M&i{3ly)qeK9S<3tX z(UXS()vSC>Uh)vz7%h}53eCcZvmR_8 zw21sEYGM;po>Chb!@nd@%I9#qTC~Bz7@d9i!=cp-BhFv`qzs>2e`;07Al^@47sAw+ z$4F!YrRnKlyNTV(N0%P@;wa{NbpiT_U^lSB@ zPt$17IsraGXpc)9S0-#sfD;b}0M}tEc4hGyEkYC&CrR%7u|&W}*v|wM+|}FLE4E>w zQY9FNBlEY_r>r|k7JDl@m;s=%pBlO;Sd$7fOcVr6`6A)4*Gfckt^SVB&`~VcTC>|U zA^HSOQh24^Bn#JpYfKWyb@`Z~*p**2UVCTk^q$?2l6^&-aq{B+U^Pv6?PrEU8E%fZ zp%a@%wYBD!?cF4lvGUC9teLP+Qm8DSnGe^D^gRxOr4bpIj-P|w$&%OoLIfT#0P_ji zc4By(=2S}g6?;h9*TnejGOXhE)`bW8;bDJ;=GO12%H$T>XR}x1lgPVWv|UrDC#(CYUhC<_jEHC+Z@$@>;pojj^65(!SR zvpZ$Q5GW51tqai%5Jz`(%j3T=k#aDQ7$0k^7B0_l8}KieYEr!1hr{?mvGg%8;JGv( z9y_w{h7d`>Fo~KJb774>wha3ZH<6I|hZPXRn2rl|pU9!&MtHd&ItN9D>HYXXtbci5 zl^RT0xBOu3dlGVYD|I(X2y7!9;V zg-S$V6axXk4S4E~rGNCzZu9w!O0uRb=zH*Yj)1>(3^>KIZ-2v-5id1L!D zj*oJN_LP-RUShP=S&juCS$(}k;3}Sx@hm2+9CJun4Q4?tgTgb0jDNyiGfjdK>^alO zRUiSe6!QBruoXjiL=U|9{o&I}N}vr90uE_9e8<9&+zBo+BV%|{7BI16xSxLL8RQF@|9o;CNzYn^fe;Jk- zZ8C1V+2g06wB@!C9~arO%JMqrC1oaMKinA^Z|1!^VyB37NOQ>O4g6&C_s8qB-T7hJ z(l=w^ux%!*E37+`VG4tPDpzuQGqR|;*&{PN7)b6%N7%Y4>TIJc>^(Bt9RcBaurO+v zeQ3@xlj{PTjHgz!sg*?fIG@(QLV_RCVse%q7Qcsio%K^ES*Ex$xP$6X)@^O)LrJA= zX_9M3iJILNq_sV*j@yKybTU;vu=WE$K+M7d&CD8=;Kuw6+3TmpV`ouW&*sbfyQ#j) z`xzyF;Sx=ffmw^Xw4op@nO#ZP*5p9bd>V!W=KITtpxWABH&+sAhh9+eiAsb7_MA^F zawU<`GQ+~(V!ekn(phQuTyYzym?_xk*`$)v><%${0`xNKJ8Q&c0`#Q&LbV43Y#P}&@Ax7_Vr3hTl??;nbqxE z=UULPN%Y49KO5i7_@u0)=3Vfh83o^Kj4a83q{57asuId8u4{Bj(m{d4A6+Z_eNH55>WW8qJyk4A${HUONG^FoIhtBfZsQko`E@ z-@i0E(>pWTU89`gMa^~B-E=%~xmw|d-ULce@N+I}u54+^07rl`8XC@SdBTEcH4SUCqpYb7aKe2sg#vE9%gJt+wFgB+4Dr(3lDh(vBIijl;u5 zhsWD4F9jdx<=)Yig(fA+&5qfCVU*telzzhf!G} zs{&`V2><-%bca{}%KnBRP}+MHdZA}^-`vtnrK<}gj89?VvF*`wtVG|ntf!}|yCS?e z@<(9k%B26x=iofY1m@nt!d6wj`6;oV-&|aB>aWm1kd|_pqtW*nKRo_6vCJ#Xv8HlF zTdZ?(S;2s4-sHWzOSbb2HpR*5%#ZM-)z!_)$`Y|cac?h535nRc&A15JL$={@U;}}y z%x6F9I#VN}U0jUcVzrPNEpKFJpE&9$bxBFAnQ@C|&&_?BM$CiGtKT zDSM+LKP79(GAy&us<&hOZk1kF{<+QrdbpW6wCRMjUTH_rC*StUW6UY0g|hCOo0|$1 zrd>t5(;XkI7dcpPot~Wf8v>D>^buuULiDjt#cBk{d1o^ zbd!&FKph*4|IHwvY+dbU>1*Z6~c-u)r==L4~SPheh22 z=r!I@JRh%ls0KBgN@u6HsqtX3F0)L8?8;l-(?u*m&c) zf^HtO{;F36i$^hrD`QKr`nWiA6v22r5psi$Z@ckBLNbl#D6ZW>o_`0yR=+?Q=ORFm zJSi13R8I-#BcD^b#@xy#<7bp<8a1>cWDMzo%{$kU{vIAb-B6<_e2&Dhs-Dk%F8wIP z%y(tltOExaukz6UH-YGV?Mwatfq?uE!2iUb{!f61fv9~Q`}h@y{p$3Av+6f{STqq4 z5mOdCELhT@R;(YPetsv{*Voa6Jg#S}FXi>1N&`rJRaGjd1L(gj`l~Sk)e2pY4u7b> zl_@}=&4D;F)sI1_m-YMY{|o1ugN}yP`QATtaBz^(p#6(}o+4F`5i{1ue;shM)>d3$pqWGbmzdf-n(FH2;5PavyaNUsm0IuD!i#R@s;x z87ILdD|%?^x?sPuxp||&Y6-7~FX?P#;>d#=M^e1s`PKDL3e2Oc^ci6YJwF8-Yhp!6 zFEoy<8b`gFX0@A=;!=d3>Hj(_kw?OLHmJ|f(-8E@!b!n@Jwdwmqn9RyX6mc8F1opL z(BN$Hbjhlc9o57OL-@cZpm20r`mJKZK{=CO=glzE)a~wz#sIvj2JWTf zyvENQ$j_OXPRdR<@VJocyUZg(z!)!Uc?9XW`ZD*SEKwWPxY-uz$NNSeTHTc;l&qrZ z%Sh&(2|Voj%V!?7c^&R!jo*yIkt|zuD8-ALe_k;A09@l^kKzcCfbvEAm}zsY085P1 zB_6INjyD8Ha8gN*m(Bt$X8G?pAv-!_y8O0;w&hM%`B7=GIP+6-jBs{__1=)&)3Wr2 zo-Gly`p6y)Hb}Zm0-$hn4{w@$>8)tC9nWGH*G`+u1Y%GFs&NdB z4r1(6l@^NAxsj6fH~fh93#bMbAmUzq=TCk7O(!a(8jW>C?UFE$+m8vGMH8Ym(zvca*X-c4gI@_N~GmWJGRYJgmTcd=UM$eeNRnY)Dt zW}x-TMLfChi_u`oJYG~LfJ?#zH|Qcv%ZCcFWwvwT&yArlhR;=m?o`9pZ$D5vL zb24=t_1D~GyK|&I?{`u`1s>n?)TQ6?c%POo%Z9>#Om-)7+2I#xtqb`C;GXxZN1kX` zZZ;3#=n?uuoiE_YD74wEXU^H9>MZUgqIXPP(e}s=8{|B)OY z{z~cooEz=W3>S9OZRP8+E=13PAzD@SegOK9rK^Gax@lZWdk=S!viJ|LlPHI!suR`X zEW4+<{L;r}d)}*JHO+>86m3LY5nI_48e|RP7Mxvj;de+O%KTv5j#r1e_jb)I*0+5T z0<$un-yEIaepo}w9PS>enRDAakYFA9tY-*QbnTugpgT$~M)~(1*L0>t$~V#!%M_-5 z&Ry0ROi%4Ag1xz#T^jw?lLkUpl%WLUN=jzhH1usNg#ccbvQF6usfOgbDGQGP$xDP0 z=r-5_WiHd9#OLA0v-D;!7oG7v`a%3-vhpXjcc4q&9DBWN2~qwx^!7i91%VQ>jYg(B zP7>vBG4E}|eX$kvS-_D%0!o~Z( z=*U#}KRAo3##}Ynw9^-ULniA>bV@GgCN$M7j(F;xS-iALghQ*e%P>13ycM;qmAkFk zMNDA7Vjy!gn7aelo}1_sO!sMgb9{Z?rhOUX;Y5_knr%&ycE89f&`O$1b^E2~lL>d+ zY<b|PD;DX%h);G0?sq6Yfp>>v|01j`XX+w_e7R&QbFDRLQX(o z?~Jj1NUP9u*YxC3Oy_KDi5PFTrKvo{{N6n{-@L5!TE4R^BfEaLA^uAK_-P4laoC#N z8jZOij6TDu?w+!zAC_xSo==4U+hVe!nQNX`ntoGMfUhV+tYEe8rnOlGHf3!1ib45s zj$d9~Bk#-EL92B1^6t8c-=mhee)qOA9Gup>yR}g=5I+ir497M&|G04Md#^bw@|(bP zWxUK8a^Kv{S$CU=IT43y6ZdI&P1l2OJmQ5z)%-;b5?Jr5QoEi9(8Cj1bSc z3aNX49A?g=$tm)3dp+ZD1~iLaqu<+h=?5sy%>uh98c9)Es_K(3Mhq-JLXTIyrB)oC zc59769yG>~F@gh2T2tA5J?iHa+OPulkRcN8&4Bq{(l12@pi)IL^37$0W~?+0(!ljY zqkNS@Gw5$a#cGVOG9hZ86#2h)CkH;V)ehn47?_^uvkmnqHibrGHM`t?$*Fx9@*+sw zCAZeM^ajUnuepjQR_QN~cjriZ-d0vJEeE4h;fN__00Y5DWB? zG-R8qx16>{_O6}8J{~=CRb(|iwJE4t*TCX>ow224yw~;Fysm}gw`V(6HOq7I-!hQz zv(Cv`NiDwjwF#bBEv$j?TV11B*SPNv4jP#5$*x$lOM?k~K!K}HvCQNtp8edKl_)&?=lm*>YwYOxg0O|ITc4D^ewt!5t!Skn>{@o8D> zICSr}lf#`#Cf;t=gGl1jcc!zs9r}Ju>8t4s0{Ux@VPVHs+|s5~%^xn)U6~w|XuSr) zAwXt9O4OH1eq0#;iL90H4Ot0$19{&EX!2vZd7aBy!Soz zI;Vu{Qpi7}pkRciW>27i^@C~xn;v_%2@9SnLel@%0(=i5efMKpO6r-fsTdA>xt{WA z!vZd{4)`j(G0Y0Fi$TNRtyunkG{bPFjVQ6h(`27tUd~r;)o?c3CURw!1Xf2xtesdh zq`eizAYYq@__VMAOnqzjJ||b=2D*nf;I*Kz9`n01$?Cxt{8@{M&ME0G+)SQ!y;BTK z(Dx2|uaOG=Bl*7EODNc%CH8Mt1LuDrWtM)YtKY*2#4;DHO@ zNb11$Mi}8z&i3fXM>R{`g@#{$hTnCGv^4Of?T(_cKbIvWNO>Md^e|wFTrvoK5WSSn zTJ)|;pfMfBs~9D=)zrs9!u>9~DoQ@lCO@W}`Z9%%A%)Dr67$SSSch&eLoHU)P&j4A z1P48Uq!c=U3j^1&*8HjD@nrd{=vSkLQHbmZn@f+`sz5U!&AT@X+&2$2d>hax$IkpM z>GQw>3%!U^!oJggGj5ovao~L5%$?SZ$=m35be?-pXJ(~0;xTM)c7>iHOq`x7B~+w_J=19_jIia*6@v>eIv#Dm z;yw7Mtj?v`Gf_HGILP$>=k5G{%k!)?YzCx*&2TiydaSD0pee_De9l;&j(Qj$Ux#1rjtOsK+0 zNf`uk+El<^Nmu=MPa6B6KNrMb;Ter0r(!sRDDP10<>Pi%SZs}n9#fR8&TdDQfBqzw z`@ZPv$Red-nbxCfqU+v73K{q_E+OEPIfw)(ZXA%YqP0Jbu71$BFsGr))cH!M_cUI~ z#VnH^wrhb4^HtbO1M(B1>+qECHg+WJ7c<=gN;fKaRyw& z6ht8+vs^zC*<)3a0d}*ajt{^|n+*V{`n6+=y;eFkk~C0oarPA?E$VqVr6p;nn5AM% zY82=U)4gsfh5yYqxPLuW@UymC7a%)c#%w0!WfILlta84x$Qfe@3<`n_a21 z6y~`85#V&an#YK6%#vI6v)jtgJF$Ad?{vW7I{fqW68fa_caF*FLqC9wtU)0Gj1@xzbb2nD@z)a9qXfB*Q7#&r zMWB!uy4kBN9mfSs8juky7F_f$C*pdu%`?aR_6tPN-jg&fT91EeIC!4%rQ$0m*_wa078#JWj#a?M))HEH~e^wxNw1fx1Wi!HwWM z-bnL-5@i=|Mp``J{ID!q=Hpn|CH7~Y%BixKo7fz+PSS?*I;KYt&^vSeB@eSnbcx#|(M@d5L7S?VdK>c96 zx0WrF>Q3$}uDA6u+5z!C#{>0v1;h%&8eD1a`ZyvGA1QOZ*^tjpEN$qTt$gaz%3k!P zZU~2WG2+TaS9ZBP_o@&H#c8G8$683Ugm33~bGKYpz0^rw%N-r-U_<4`$6IZ4EeNV; zY)k+JhGXnFiL0e8G%PCOU-4@9b6gH4d!P8#Ohbwiv%DQ0mP^5&w&)HYHkZha-}W+< z`|K|K2mBCBKVvDrYngIa=k&{(#l?eG!<7Gyx8)Bg6Gr`(^esGpwf^>`abH$6Tvl(7 zP^eGKj|CytFwEz$ZvEyc2G6w%I4i+tO>nm;r5Zl7`b^7Us3}5PYw)T5z+(#*Jjn&M zeH;d8_f)JD)mn8w=tVuU@vg327k}nxb;vm-XpG^O-{RXFv{x1vFct zHmQhnG}#ua22azlb#B*90Usx3pK&)@@8voP%1C}th_eTgk&zMeTdiAa;Wu;^kQL4O zaaJm@zwe``-z*}vDn7Afgo_>ONuU1k)#FK8K_j4~*MQe2gxe*6O9c)fVZ*Ra)aomt zW}P8P3Zs_B;=rw0Yq0*)4#no%1fFJ;Y^|?;`#4i;`v&8{_vRnTro(W=)8y3RXE@^% zAl6P8UNll%-y|XM@_^^$S>W@vvCrM{ZiT_wOsEduOgvg3{^JLdt$|fC-8tVR;BCtw zou;duLPoE2JU%^CuE(f)zNhT)yn?|2yh~(m1a``JEIU*8+Bx6=K6Lz+4<@hdxRlzp z{V{jN@WR+bDm~)#>g{yWpgjZk5T!jK6jvi^VWs5mv&)qi3@MWXcMftHqz4c`&iN*6 zFXjCvAo-Bl3_3Yxyn*w}dHTe(#N5_DZ%}Lfkzw{u?E^|m%{9)Jwnkf=-J6fs+p_P6 za8pXLk=eE@|Gcdc{%YDEwoL^i2V}rCzF+(1z^lE})%QJjJ>BMwVR;Mn=}(=Vd@V;D zc*rE^5xqv$VJ^eLb)WKGZJKOr!>c^%5EHngXx7Ruo?5!_b{QGYo=Y8v?H4P!C{lJ! zbU?;p*YeVI{7%E5@arYw!ggI&m;E6DCo7e^s+TU-w!)Zt8Wzpp@vl!YrI^B=ultFv z5apJ)14o_3s8N-4#!yWUS1=w7;E^yZM9`1Ip*znWbLi1qrWV7rAz-CY;X?3Gp3ONJ zyNCkQvdVHc&o6mC=-RP%A?5s{()xMU*Nzn111=~C&LbnVyvUBT+|QTgVT^&8pk|$h zZTM+mrw*=QA2qJO#i^rEW(+2|)oRzAbd~|C&RU(hA+hphORR)HDw;YD!V_-dg3qp; z8Vp1Sp!EaA}?Md0Q=;mj+h=x1I zqoY>N$JR$`J1N#m1z8REG=(HXd>67OK7|$Y3B3mdsh**q$YJ|9DH*6A*?&dj&;8Dn zG$TM)@02h!-X-+ikgMMaSdUD>X;F7$u5qFz#@^i^ae}w-d=}yb#SDy=?0*HJZ?Dob z+s?Xqn*83#Kp!&O{i>XcWR9k=HKQSQX8R&C7$eUZjC zFlI^uDjk!B@_!?g6YDv?XEmc#pD1`Be`Mof4I{O_ZJ&Xx`B2~G#pw=z5QUYVuLn=` zF^?H>-uCQET~9}-n@xUaE;xjHx!~hzq5dPjzkW)r&Ofh9Zo^?{OPO-Vha>+oDgOb- z08;dM!b5ahg*e)h5LEvSo|<^~$jaOdr}<|5^JCzS$M$44iuET8qk~WCKfhN-M7ani zIE|}BL5459J`-z&sP!r2F_xGe@gFFn@odG(cq~J*W9Anr%7kHwgX?UY)Kd%y{8)q5 zCY0?Ke1<2-$SORrf}#qt1Kq+pdF%_;W95*vm|I@;evw)-f`7X}-1X^I zefxOh#Fi~TV_)#bvmw@VCF=667jd_1*^9UUGa!H&*ogw85JJ8s;OH%zI^cHRS1eI3Kv^Oi|v>I6nx_vkqZ`j8c2UmOv| zdHdW~6W^BwZfuWf#j?}xoz<3qjb%~Kj0c(s`1#LBcB;*bX4p!Pg73TLiLuV1Q zZz-B8QW#HVhIu;@SblUx$H2(p^~h5PN6B1{W^gz*Wg>>4URoldpxDn>Z3wJBpX6a0 zm-)UtUhR(NJNnV0p`j_{@UvxKOvMz?s1^$bi@^V^RxJ^u2G%{YrJsp0(_h(hFVJbE zga`b3T9!%k8%WTF;i+3*36y9a=DUnzihm=J2IZ;Z8KoNP@HuzA4!kS15$4}M(CE^7 zIA{Z>C?-CB#x>SZ|5&|9yuh7p2 zMW)1djQnxj5guB+!syP=Eb`#Z-pb4jg#OpCZ@yJRHp6vL+svvp*dKwLP~#BdQy>$g z#atJ&JSj?r`Jih1uoPSrSzRWxwpU2W!p4fRQ&_*vrT39aIth2~D%&Gsy8%zk{^Bj4ONk z7UxGa^LrSkxB}TnW!qY)%a(La5Xjh)&?<4sS;qM^DSV3sa&pR2Vf%2iXFOsRIU+~D zIy1TLsw{7X(Plv>rc_!c%axlJ2reorYAf;ArXVF2bEVujzqh)}^zd0rHF)BPRN0BF zuU&v0m&so{92fn%kd_XeV{VGgZ1H63-e67CT}k*lF{cerV##5+k}i+MpHs6?g;+T# z{8cM$vFnKxvw;6J5vEQ|c&M)l-XDJUXLmvT2#-=pLE4v&ah%FXqIs0a)tRNumTnY3 zB5|K7g}~5of7DAM5Ee^ZNs{C>h#o_bGB%Ycb>SsogJVo-&gM_+tK4_#LzRdgjQ6gr z7?>$5VUf-*6jg>10{;2qYhI&?1 z^$3n?vT`Bdmi(Y_7FHGvm-GQ$@9%bJjusx?0q7mW(|WokSqfp6<9>Fz)R;ti+4Z$^e*a_Yz~pl6_B9LZP%7X<|flAvy9 z=|5IdC_m9wq)l9<<%r8U%1#&NeFjLzhef(jR=ib5wZcOqNk9M1!6&?;CKfGcPwEtA z3F>ExXC5k$L%B_&x?3ZY&owQ@HZQVCDtu2miKC9bT;02*D|Xacsht({@4A)SJhO;J ziOW?IJT|zxtlrXxP8G^!@cVcMlsj|lA!uZx`#!e>A>TmAUP-4$Mn>rB->0N$Z4==c z<45(~_bS1fn3w>9s;blVwoA`1FHuhDn3&s#+Sf;RH~S`IJBu#3?naZ4kf3R7Ku1G!c)UIc$D+kg{_|9@8iLMEMR8631z*k~AYiKz zeNweVwKw=SernpPuGdBA)qy`DK0bVjiJQB*F{W1A)`5^;blT#}TQ2X7z=w-^%R?UT zUP6-bD+*OngonR%-pU-`w9+ZIYql@xNaaNTAtX86Srv^#rjc5jnwSj|NJtTz`1P7} z$k3uVRnR`a(;?r~QpwP^0Fu zv#P^HL>?yTwn#qe4FVH0GxceH{9bZIhKAqV>fYzIav7OOxlu*txSl~R1~hm@f;OYWsI6~_aF{YJlRBrqsfwT@fSqeSSlbhoyR@!F2b(pOP_hN0Ll-JM*1I8#(#vL%EV%WM(ru(6Akg@2>L8N&-Pg#hg)g)ta|?q~`YkJeiUw)=G;iyWgH>wk zYM)*yf{XnU6x`{0nQo2l_xw&Hy%(pYpn(?xugJ6(`>m0B)uSM967HJ{TE<~5vTvo` z0R0BKKG?L=i#B#8@1Z1b26W$t6DR&N?IAoS4f*NcQVn+4Kj zJB~i;du(RiP5F`3e|ZnUF_i`McZ!}xLG-BXE0^jm+(&^sWItXzm7jY@<|nX`KiQi- zHCKq`#nfXnNWPDx)BMO&T|j*~59pixU6LRwaBr_yH?~|f2Sp`~cG+q6<0<+fwSJKDgzs^8Uhqi;x3 z@aO%<6-z7xealP55JMK%UWA(a@NP4Es~YRbwk%A*T@D-2)?8X#Ojpc$KJp%d#BS>r zDH!!&4P*uJyB_G~T2rZUkrMkFiM;K8e5*$?>B70oo0MU-^xp}2{lsckHnKlT2$O8D z&DU5MjhNl1Y|00XBsU@}2INM!zd(NSxr)Q;rZ0r~eh!O`!7Pal`^U!h4<6j`{$t}_ zH%2o~3HbM5tZU1N)>V}ep*PN!IJl&dJ0<7KBoxdsOh^8)al?3!CXs#Bc3V~&$8hDh z?}KnAAKsQ(YIdsB4CS79qcyE)a~YjbFPTM>LYaxsfYd+RgK2zTBgjSIiX`J1NTl*- zl;b!=WF=|cCK(0ugb#JmQolf+PVdD^{0w4^B2RL(-Fhl&^BK{tc;NS+egt`sV4&k3 z{#N;aXbabf+Y#>!4!3je(eQEzj;B*d*Q_|^3mud<;nnJLoQvD#wyg*b<7J$3=i8A_ z^Ibu#sTk2|6W7UOeoGzUyVxfm5l_^t*cjGGXhr^ep#m0U2kI5`W6j=N$0d{#_754T z3mG|k^eYd40)#Q63Wn~v9L{dJSOb2m)zLJ?g`rrmZ|=bc7SAF)d^Kru^2G7g`r|cu z8GXb!?DYM8_$cDXU$0hOFs9gIkrT;fIlCJx_POTkKOB&u{4I%{HLuNc@RsOGuBoMy z99G#{Y?e%(F+wahw&m312SU0Ez_n25ePn=tzQO2&z$c>RAr-%FP8C>Ikpu`Cvq9m*jodWkyXhvApB)|UkpaC(E)=6QKaP162DcfZ`{G950K zWvbna5^Bp&FW)G|N`CjP@|DH$s4flGh{$i;u^m3E!7}*%l;0JHqy{r?eI-+PPV3zd2Q%N zi!eRq<`0UAG#HwTCkZ^Px@V`EYxSn!Gy#K(e4fVF#`tUzitWHmzYjH)Jld(%y7fec ztm?<3K9zRTdPrtnmluTX@heMK_myc)O(b_`O);tLC%?;s>E5u*wyM9pWcbzO+eM#F zOluF}8jl6A?b$bV;0`x8PF59;EH9tmZSFbacp4(x>maX1-Hbr%b0~`!^1R zD^g8Q22R#GF;#2;fGLz_bm!iU za$rKn83G*Yq3o}OvTgc>5qGs?F%L#frzOjd_wQ_mC ziVt{nVj6!q@^u2;5Pz1SlJ+T90Tl%x_A6U8Ksg%yF_Ecgr{H^ zo&aCd0cnCXOUn&i_CIJ*ty;$CFU9tTD9A~e;+%^KC`~++>|cV1XG{<-nA5U_Dm?6k zzGSXr=KWn?oTz-)dvzHqz3R+pKZ5DNg||)yUoK@x`tSamzskn)@s;Sl0v*<>a+H-P zI2NH?tqCb>1~z3=V_LU?;E_LQrclZQ4-Wi92lSzs1+P9f<(MHccI&y7sQyryEv}s{ zOE}Zt5FR9J2qNbS%@1n>T-5>Xb*??f88Bp22Nmt%G6{_1iIkU+wS4{XvWL2#afjX0 z!&ld(QQqR2mzj$AYH)_(iv)UPJ6Y3UISf?Aslw_mtzw07AkBb z;2tOK^Yz;(XQ%x6&sSx*797V#Y)i{lsz-(|S1CU9zq%TqLLOh7ZC7`(giC>NWmA56 zW*{~Nyi%asP7xG~;s_URlZAODegg$;dlaqz;K;wdm%es79nn5@G&5Xd6$jJOXF!^( zIPd(RtqF86eqJ2V{dW15&Yl-D0Uy;L`*7##Ec)U8YNDk+_NPBN>q5w*9MYwstR#lm}cr1gHYvA_ov$vm!sK<@%r|p)YR1C z;$rK$3cM6@0GE+8C{{r^iAHU8hhEJ7#g|$`V~*S9P%+VyRw0|0%W*q2BqYQTq2IyK z(6FJx4pgnKb4g-OLLCo|ISmn zv5>v;wHdFiz9?h@cHC8}m{6;_X4xK{0RO#*-&#Wx6BCilR<=Q?m%jOlO-&EKO@}$7 zS?QEYR5RFZCl8!e6Dhz-`EXd!q(QA~RK2)JA3w6|$ET$o93Pj>SXq|+9kzc>Px$;V z{`o2L+!TbtGsz1fM?-YkdnJG1Nw*o9yIFVMK7a}f3MTR~-g1}e=;>jh@rTic2c9DT z)f#vb@$vXSCFc8oosRws41@#&t@25Usfh(5z#o%>&y?hrXw!Iu)M?ywcC>Py!qSvU zM1P$Re8wmEgG$EF0(UN_Gk$64QV-dMa*hJuYm_hCMt}S`TDo8*B^MfvO+4_K^k*`sg`t^|PeM#~LTxg8HcWPr^KUqRc>AmR{-hY6ce#VoDy&XU zDx|b5Lsm7Dsw0bC*PRpgi}D`#+q0gfO2QU&VneU+2vGMg*1NZd3r+()9v7d0ymkYZ zucNK{ZJtp%Z7c);&`!Mic~!eLSE7;(!Mj?@QlIhBTQi0q#&6z@5CBxkT974&!VQ>w zCC^?1{n~H~44h8qD z`%O0DX~`SH_hQol`fnHr?sdR9x}j`HG@ab(6! zm*3=S@#4*)bk3Rct>ry0LHhN9efB8ZkpOv5CKjFo?psy3^|{VPX%PO6+PkFf9Ja`)Hg{6jLBzW{Bl&h`OfK=#B zBA|?`hXETakBg;sH=f8PmiCJfd!C=+F8J&tBG4BxudVk?gaAV(4^OdO-7sCTTD~KJ zL@nW?7q7AZ;9ZQqH{BK3_!dX-zqJ6fO;V|0X*zGDS@d9M_usag!6v{v{++?Zl@#s} zt&7F7pdgb9L2;JsO#XY3h;hmgHmf81o5B(|K^yFGO<7vMN_v!_o1;1J8nDue+S9{;x9tVX4m%)DQbd5t(O=Cg5H-wBaGRo;V?(7N7EX0_` z7K5bq4V`PhBED6vYGrGBGj*qi^v7ZP7w(CWK2EOLaZwwUL9-Ru0$;`Z8PBqQexv^Y{mW2~yB$j()}L+bN0B4QfL`M#a8B`|q+J z8gu!)dArwCHH%JY7oBnT&$J(B{T3Sn&Zgz&P%kDXv`$I+I9KoeBY9J4lic-3#IyI5 zGEPr7y?NwaPKFs~Z$6WN#>tFax!gk9?l6k^;{3?adM%ZIXf+(^o0_>4g^;!Huhq@m zKgg67d^Z>u*EV0ZS;*sx0XjDIP14&!q0bpDW#OuBYP4SXm4j7HB{*FHa&&l*6rKdj#z6aUJa!U#ik*> z6SEHl-i{ROR?kA(k5wM#(jtyVd~IuuI_17pj9N)T`9ocTfId-(f!9j4sT=V11JF}` zGKwPFSC3p@L@D;_LM0u?!u#hvZqwst?nB%#w$Dud%4OoanUXzb{4AQ>u?~@={yhVZ z>g`|C14yvKFE@l}T+tX|0P4H%nS(qp65g*|%=-N)m{0nr4k$$Hlet$xLjR*ww+@P{ zi?+l&$`?pNfZzcVG`PD(8c72UG_D=owQ)^I(BLi&1P>lu8>evyu8l)ujW;eszW3_) zn^$jYrfTN=x$3NY_r7)ZIcwdsQ%NxmF4NQNdxI4f&1n{9Uv7*TQ^NM_MeENKhP)QM zOdotv(j{X{e7zFchr+x6MYT0QLGeYhf1M1(vaPiBv7HQEEkfl@+E z6&kc^^lfpUejj<%o;;-8V1}NVuF~nZDR+u^^rdaaeYM zsIX8l+o1xf54+@%+V;JQA-J$Wr54uAD^*}E^=n$%>)Q`)(-mea%#r0!-cM!9nW>Fo z#62TAzM?~ko4?~|(}6@!wgaEw`=H$4kxdUFWp!ns7d(=Tkli>=*iG^f|zUMiEyiOgWT&=fM2I^!n`Dc8ViM|pZ_X5yC zJ%5vtagXpZkLc;oMI~t6*f^^2!}$wV6#{@Po1ULv@1t5BE)|@GmdF=0OjbAvXWeqm z>A@BYO-(Oa-tQX^HtiV6UE(I)JdTO`0nG`?_?nAE$(0qC`pTZaBLx5$_m2;sJY!~x z6LQ*{7T`XdD|z7S!M}UmH}R;Nc5ES=b`>g+_hDg+!9+yq4UehVXeTZQ@FDWBRDFkw z!Hy2_I4SPct0vDxwaJO!te?+gJ^<9)P(Sa#QER4XQsL^Jr63^F5&1PwU@?@%8rWnt z{Ko(7p`DbXVq`fgtk>1XM2gM0->v7Gp%`ZuMEJ6nmQK=jHVUaf@rV#oSRN)~A#6d$ zR04fbVt;28^{`}9SWx8k%v0h(FioEoF<@d>}L5n>N)LS1_MC|{YhLh@fo&fiF(gF(ukH{ zFy^29t0(6h8=ssY6K_gc#b$cI-c;v2h!2`vuX&u8;~L7=3Ijm*Dtl`KhqCxzX-+kq z)rsE!B62>QC9mNcQ)@QdLue)Sy9Tyg7+6YJ(Qp0oo<8{L;&icFRz zr>*Q;sHh$)hh+Ns8FB`(zefI=veIvmjxi_n++m2<%q)}1DoZinL7d{Ugy04t3~~}! zMfU=~ttc7MzxjD~CE?JAnn&&INbpv8R+t&4Bq$B;&YD)#V=@YeM`+Sv2iIeF=LkdI zSyv5Z*wp3r7m9vpg3qi`<+FGLUfARM;W-l#lsR$CTgZJh6Fzu<7~A=PVozW3 zf#r)VvxcD#vBrYvKhbZ}6~f(axEP~l;nTl&?9A+{PFrA_?+}BQiijPy$1r}ZaHZzPY9yo{0m}r z)Y|c##W9I#LTJjI#`so9(#F%G*3>P7{mMiwC;!ng;j~0IIA-ea@t~K?>ihtask|TUt9To_P?5v z_SM!k4Use%IR3D;xnSa!j+OY;`C9~5nznF@j^$q9XW1+8tzo_QD2d+k^3gIJ26npM z_12%$Tbw>nABtJltc(1^n30j8@ZkYnM0%BamJQCArkC#oxcLnh()6^A*6k6nr22ad zRp}EuydFc>(!}hdc20Zz7U+vT%4uym>iMRq=n|0oE0o>t<2sdn(Y4gEtNmpTnPlse z@)7opOAEt+rSz$h@|}OSE6y&5n+#a*pYWeliB_4mjbVout!F)gHtnZH#6&M8In}rAFwt$TY1B{ z`Xh|BO;?V%hNp3?wZG5=J|cW9F13?ENkEp!DZ5^6y59d?F74FUdz@e{wN%iw}mjc%;+e`Ag-Pdu~rwgVaPR>@VJfWh{ z1OL*&_i5YVDzb0C`1v0}l)lgC+SO-3^gpg)XN_0uS65lgFQsBp4L`!e=kNTi z;DXn;OaR~vUnL~Sm?x>OP8gR%QOOVhxP3Y(_y0wLoo{1cy2HM_lu`l+p(ji9W}AJR z9fIG6s1>M|RaHqX{S60KGG}>t84MRP(9Im(+`(X??t-%mB#`{ito{x7zi0I?^xw1k z7y6gic*@)d5Ar`JTJp7sDZYTWWT3|CBhc2~z;oGHm{*1L> zg)EilrSABZdwo@{?DiCo z+~^;cv)LKsC>^}G`1{V5DF#wK6vPnF+dkFznliZUOcF_El+%>hm8ninqn$sFED(7U zU_mq_q*iCu-n3qPOK|PNguGDO|kbXCFHL#Pc zP(suC(V=qc&_hN;LRiwOa*4*ijUBhfbk78nm4)C5JZ#|bz%E^lLu1scq5j}?)n=~w*Hv zm@J^aG;X)oeWJa*16fmuOiZUOH4sifX9z#i7o|C+rOnK{WQw&AFRjhPQ}CmRD1CJ!cudlM{#QIH_g{>UIug=<&mJ8iOp7iR?{wb zkSQne5D)5#gH<2vqy`D0L(9H*JPlT*ePJRNESwuh^UPrc8Fv7!WL~+Pz?CNFESWRB za+?h4sLQbG4+;`~c3MM@SOlKt*eHcY27Y_QR414CL744uNlwtN^#xa{nw*E{b|4~O z53#+RlQud*f&V`Az>>&?v9WJ!k#0jyd8E&ir>;Yq<%JnCS3#ZgM@RLwS*WHr4-f6~ zA$BT#+p55I&fHuy2d;?`!MNvouiGGUne9J0s)BZ!@_Ze^-AV6A8NBM_NI~#qJ^n`@LvJk^{(IptUEs?LNS*daHVwMeyC;9Os?m+-KUjs687VL- z+~!^s8GBO_E7#ksymw|JH@P`mF-e!cw;~fkDEui$M6qX7vLw1x(Px}pS~uO>o^kM* zLUBZcTBcHojRgW|RLce$ww!8&b~(|4s0CM*s?PCWhRTwV&9u1h*~vBIZqUiD0_!JJ zo@Rnq{a#5Le)0VS0-@*RS>Dic^A=y1cXRfkuM|ztSAv`qCM8p_5fqOZj;lIFc~Gzj z!a|bOQz*d5elJUr8O+i^m_$C~Nl^w@?WTBPxHG>*P#lO%otsmoo6_bs1j1zvcRQx! zie-U7Q*{U}Eh?2h12Ujpr579U(V%#NvbJ_rr?Xs5G}l6(jQ7}mi^=MOCF>}X@d(oC?QKG3Y z_#wE5E|rV&V~n{L{A)X7Kng;sIM^pw*Z2f}dksNXS1jufDvU1sGRMMCN0SPCD!915 zPR7I>|D>XNWY(hORW-JGr>*Z5LUfwJiM+ALUOEH@?nrnFJ?^h4&el}()KWc$ePjw4 z$*i$5@c|`mZVynnnHy<#E=EQ!E-pqcg7QvNtJTpevw<;In>@@B`eHqnkl`v;QaKHq z{o#oENd1_o20?kI6E>H(`dFzCj(-OT)P{<4x^4-T%l^%w(goTP@qwuWP3C@Wtv7E@ z&DU`&=A9M=)1@Q1`4<(SWS;}8@$_oCl|c_ry#$=R)kt~EF_3x+>uPg{>m=Kvn*jaRfprodP(g_ zmowp5hsRJGbCJ^MI&rAFm&R*<^XB|*ydug;+Rv&u%IDL-9{~14Oem;=S(W;9Wuz$hnOb z(f4-GYCS>mpea>r?JmrbRNq7_?ysqS>!m5%a2AWXqydD6wERNjOFAD}=8q)y`9@hO z8a3amsU{q-FWGynbwPFwZUfL(;kpUmKS#~*-)5Jb|vRTQl&^PY#+^Aa0mte!XXe9KL zoM!@m0&ST@e>FIbkw6v(D34?)$t(7MFs9K&!(pO8@#o4uwudl6u zS3kghe5HGpu6y%iW2!Gb(!_jk#6(0ygoURo>9ex3sHmuvg#b#G{1zkh^z_+ZE+C<0 zk&%&~Vi+^#j_4T~*ZVk|i*#yA9D?;r?WW63{Beb<9soAv)}SEr=cR8C8b>UvGT$bX zq=NHCEvw#=1J1~m#C`3PVZdt*kGLb(vUn34t9E85g%8H7*zbH{{km%yomMdO z5}a(MW+=TeCU>a*v3w-S5t~MDCu2kO25khD!eZUYbARuHEs3-#FyK*9civ00&`sI^ zwOLX^?n;U3Q%^Pv*@pE~Dnzj{5SU!qQJbd?p@4!zr$Eq_+ zC*B?$OQM7L5XMw)=%Q{q6B>JoPt7UjQla3k(@x(WLF;q+WXA+r{#`r&Pc{>(E>6hy za{B8t5aEI3W9Q4wj5ev_MR+a8(J%tXpdz9lqx%(R$Y$i#WlCDyr_Jif5)J#dJDZ2? za=HHwv}Pw0Qk!^UG3(rWFWtbX8GTI7EUunLvz*}k>3{}0j#n~^>BKmb+}YhaWl>k> zZvLSZ1CejiUt6oGNZ?6h6TkOw(#0QajTMp8=;^kOl-jVU-4@PUl?+<$TAuA;P%3?b zrTMk{`#&H+;2_E@opPe(k1wdMp;Ue#Qr$U=GWItut#S;3$m!V7dmd}jFKucaOh&VF zsP>*#1~I8`QBC+V6Z_UF={4iywuu$!HJ!A)W*!OJ8PkKa>R9h|$I0JyYP~wrC=W2O zS)P1((*94;dWn`R`^p^R;16;8m6`92dkK~cDO|%gZ13eh;eDlSedi)nTP<$ncD{8T zj237vMMvPX<&)8sv#3<9hE*^SX_C|4PKF1()_!MQ6^yV^hY&Jc)S z!&Wc>?T^>4T4K1ts*;uHb{q{J*rXSdEb5QtyHwJKi5!zsT?1xMgw=C^Y`)jE2P8?C zBf;=u7e6Kr5*L5y7bN>)uu_AEh`I_%cpz6()yY!ZG=krk>FXw_u(sE!e;!rWJN!O9 z{$xYJJFmu2h2MleaQG^j*Xq| z4QK%=HITO8eh%_Q--MYX^n#zrXZG>o&}*JA7uNi2qk`d5yeI5 z7Vn$YE$YVI!GCTpSI^K~2Teg_yvGql))Q zsUqlDhAYDzPv<0ql~0W0;N10Y9tj8)?v%M2swFs4FsoUrz3s4s=#wPIwQ-utH<@>y zZQr3U{GM{D&J6!C+&Q6iOAB$)47YwWyZ*zw7!1C_@b!ssN-+znOUM!EsIkid)A6Y( zn;bfZ&60N(dbqu>hHtUgRX2;o(|L)SCk5v#tdvYL6>D^slzS=I0O;gW$IEwL+k?UHOH3-k9QJK$cd|Wg_aO8?&*jLeNvd3iuvtmgHR2+e@0Q!mXf|V>@z(FM1v`Ph zh}21A*WE|?Z9U^^%qH-lDC@Hl7&N5rz8`P?BLV`!Qa&z$63h+zHhyZeg-SlADc`^Z z_3D}A*Jb$RwZ}MCpyt%>`WiUKe!5utobxHxrHc2ermI(+o!`(!QbB22L|Bux0-dHb zDDf(45EjN4gZ`0h>U?^Wy#L?sWLD&#b%5I9ELXf;3XW zEUB)_c@xOqC!z}*bUK&^;j!X%btRo2x0@i{Jb>Jkago>gV;u7+oB_eB@UXH3taY|& zv@T7lHPlX_ZnU0F*0+w%11#PMXgSnBy3|+7Oxy-JQ^W#Ro61(zH zL?OxKM8${BVzop$z)^dJE0jz>G*8 zkt#BwbndpL2h4HlZ{i4G_Mq&mtxjhuoj`0#t*s_3FWrozP1jnfmdx|mqM?)pn^-yw z6Gwac?$#|g{6sheZ<$uqzTZ;AlPg>;!f6bv(l1fsJL6~eyw_ajecbbCB>>*dx6|f0 zLJeNc4R>O-+rZ(yc3t7N5epw8?+oM9wDCcdClCy zAgZ(>@H6ASrrtze$lT#d*t7PJzCwd!bcQ_dB{^6oyTbMUq+h!9`o!+${z>zQ$9|3# zBp~X~X=~RlU8MY`28YFaWY~U&nGEQkjtHTz7C9HFQ%BveCJK8gt}D_L7tN7b<$cGZ z5xRQ)o7)q~{oAJ%&p*8q`<}&+bGCHs_R-6`Pcl?0FgO`h1&T@Kqpw zwyFg6)3@AODx$v&hzJN)fV<$%m6&wHn2&E7!~_|0X1XP?!f0TlZq_bza{re1@aw^? z#V2N9Y;3_$elM^-lzxRs*YadzBhJHC(fXuW%W`B}t2+pm$wZeYRh?KfIM8N!a6o26 zq(Fanbc^G#*MIi<7PQdS;QEUB96!93c{;rqIKF-v(H{n%zOW5>^Ippo*Vm?$KUap( zjE&*bQEv?h?A0!qI=;=Su=1p^>r_=PC@8^h%2{owB}uYGP(o&m9%k6{X=ZXEkQ-@J zaMNTs6%aK*?MPCybtJhbR02Pc9NaXqUKO{>bN7A_46|JkTs#sm3ontnmIAGzTS8RU z)-Qdb@%*(#i00!Vs`va73{KM-_H_@1K#B@l?u`8G--zf41FS`xxcbqU=2)|SV~v5@ z>f2m*`xJPvT;je5mT7RRg7=b6H79SZCXK`paeQf_ZG=HL_D{m}2dR#Md~j=b5sQ;7 z@{iXyvo3T@Npg7p(NYp#NkloN-aE}&Jt^Uu4V+RZ)|2r;6+3hJJhq-~We$5njYC0~ zUWZcL0Kf~(-(CO#O7W=`t+>YvlQh+?OY`j1j)P=canD19>J{69iMTT z&A)o3nNgG;JzNz=Ck|2tKS>s=P+TiYeyXIoqs>k;X>d?8(C3!GvZTB<%iI^^4BxP+ zDKRA6>>O6ptq^V)$J6)la`P`bk|)fm*HP0@p)`VWNr!Hz!1;>VoO<3_eT>10KE>4hwn+EA$_bm#F;F-W`{> zAVJO9-S5|%+}Jk04a8;gxZ;yQ4a{~LPnzc9e0A+*CVYJB{=wBdsdBjOxledUuuwv> zmb-f`Irx_9tgL-1Zt^mmGQ`xjm9@8Gz!5Be%2Np$SgCO;3{O2TioR?p(dyA z+cI*-ITAw%mEO5ETHd&)FBx&}(;j?}|Hti`958jLX4YqWQ6AXgoRW7!$#2lHaWeaC zbYW{WCU38ST$K&IVS)L{xC}hNGflPneff|e${BA6B9L-Ib)9V{zLMeIo5%2YPv|rW z+TDs^_3{g_=)5m{VDOojDgs<{TcM8ZJOcwQL)y=E@xJn@0JxSLwh8%(bYk#_8SDJm@1~04E39S zNjmZF@NID|+FLJ2tApDc z6ntml9B^YxCeptn!LWqkVnAzyz}4`21^%MKnPuJZ19Oc1VA`&hgT7_Oj!G3M2a>Ov zU~4hSF=t&rk-UOL%BLiOE7#E#54y%KOG|y$;G6ux7TRGEh?)H|c8r2#RpHEs13|0T zyBpSr_en|pTY_F;^w^hajTAhD;o{nBD&rb4~5kz&{VN#}+2V3?sm{C}xjT=$H;Wna8b`(U++$rJ!hh z_8n12y%XgGB4sSdMMT-{w3V3_&y!cd>rf{hY2KMzY(nYe85Nlr`*$4kSVpfdm-@~L zxJR3;STYQj=$(v8bSWn5+)l1gbdX_E=9u3TYL+DO_)gB(skaQld?$!_b=zb*1QawK zyUJW1oj3S1c@Ebopm9^p9*TZynspf4U56W3(UH*|bdGOf5)_0_+^i=RV?U@bt(+x1{7V{WI*y-%?yZOXIjm||sy9a)ww+_;i7LJ)dfo=>)h2s< z%Ux4QWfZ;=3J0bQTkb&l(2SNqA_fgwHK;f-=;zh-LC@sq%Bxdn21=dn`Be?GRekv9 z-LBJ`=})iLuxn(e-|jMZ&}v!xl|?0jf3}djndAYP7OAsFE19c*}y=pRk^*??S8oy@T}#RbwuY!#lXRo zCUf0y^ia+O>~@$&pefWlbz`#UbE#La9T%K*8;-xbhRf2$&mRrH#_^4h|@oRXX;>P zs;tI-9YjFW&<(FIE-qYl=g67kn1+Xk^Ayuhj*fUSa(B`;nd2VdZ8RGj+s#1Vk(WLw zUv*hx!yUUb&0D8yYhhvW@6FZD4jc|w5&{6ulOQy)8m0TKLsS4<+tblb&ctT*6mf>{ zy>(70E(&ZFF72UJuyu*0+=TCuRZzt3d5`avO@!E~m!IyCl?$b&+PV2n<^r}3$DvXC z*hU*-AcQ{P+1<(YHjCz;Yx-_?N%D*VUKzo8UAZ19cKYZ|Cb($!D5ZDn>bd}aS6JsI zVWNgKjgi_@lh19ppd%ue_xm~+R7lh@f@9FQQF%R4&t$WdB@%)o{0@Z3TA(iGP-=2w z$%^EaXTiYD#s`N5?P3bGbvSSQZ}Z+|5$JR5fW@(;`VC*!hpwgN{JJjNZKzgC62dbb zJP-xhV?Q~(m=CA&*lj*+K^C6OEvQ!&>)-Es{^fqAH=ofVee;EaDi3Xm?+e6!p-%%2v>-%cctM%wjM4);TNm-9D=6w2S2~^k8dHfM4 z{NcmLIw?=;?+Vr3rzU{h)5}LM$3rib<#F7p)1a)I&`pZ|GwC9I-prgO0R~uC=yg4; zBvxC(S#@RW<9%BhX`u0o;g}y?v_0ZNEebE|>OMXukUZKB)nYcGjIAOS4xWj1Ckj-s zy4>z@$Iu^p4JJBl-6rM6y7Y`G>uuq)QkjTZ(P7L%5Z*e$JOrref#H1PQezW zb2jXpO^fg!v}pK|JG;2r+GEo@TA!lzbS-Qd+AP!rkLhepNkTqK?ts}o7vO$kH#H31 zy`AqbAN$HAj3+w5hO+OcK?Yv*d+LL?D)9MkhXn`RT&8E{>u!@bb`(3XibI}4q9;>s zDX_tFcHg?`5zpLGS$qygdC7Q7uf__iFIEXTjEaATtTwa^jwRCc+pPa-g7T`DhF<%)PF$uD@n3W`^~E9l=D( zjvta|w89=dez!zV%#`oW&0DwA8&f3e+TDNXfqrg#63`RJS5ty2QDb^*MlFd{!v@gI z@~JDoOQ6l`*Sq;WKSltF`7|XQrMGsEN9ziKCcpKm{lN`#cMIa)&5ZT_&Y$--Jt4Y# zz-DbdlVd661`0(usZ&?4rp&C@e!2hicYq)nQBh)K(KtaAFh5yaO{8~feDUJuD7=4H z=hVi=vaY-mQqUJp9hE{QD_dfRrDs;CbotFUU2)`r4)-Oe%Xb|$!GMyRN7{+9N#tLo zW#1lAqx#s1lA-YSyLDLk3ucD!EalAq03seJd#r^OdA5_yseyqyZy7|0biPml_)RpmYZ`XuA}EWFVw+#Xn4$ZP*TQMANWzTm=`fB z{Wr;)`&BvP>Wf&adM6XTdP`B&WML!sRB}CsTEN@ydeKogYn%N}2q-sYrZH` z7&ns{Sr6@SMHD=!7@Q@XE~FZ*$`{fEyrkE1fzo0>Sx5XNQGaIUrfo)*%1}NzBzLV4 z@s80KAr4Y$Hm~;C*?(|4Qhs{fFY(P)ZR0Z4?4C10{`|&5PE9-*<-_e+AQJC!Dz6md z{&lo^rYE?&xIW$SG}8w8)W^|jVmf=onU&>6`L-*|Q1}SdcS=_R`TuFwh8su<$KXbyKG zTr{uCPi-3@c5n%#x^!zSoHFL2fVZXb~~=$wrZm3Bn*Y$aFASGsA{y z()pfVvRa+1?e;t?CrF$5_&_lc^=4Ppd_ z_K3UjR>J?34h5HtZnm|xaWRR!G=RgnH3YcczaZn?N!Bg(6&FYZ(vm@oNTuGt2qm&; zuCCs320dJc6PPfHUwIE)G(2ep$<8XW5R;PehBHyzf9VkiG=JOfZNDMO>%Qgwv0_l)*U|?pmcGWA1S>U z7}0pX=I_wreuQ?%5MB5E2s?7M*{c(aIQx`C)Bidn11U=kild#3_RCXxOHUYVG0cs8 ziTmg|JK(&kp}G8sbmAU*ARS$$*l~mLTtm;`inZPL#V*75rYo2j7#>{$|6ZY7-D#NM z;NV;a_v;Jiehz$ql)kySxvZ@0J!}q{Q5dCQ8kfQSUU9|c<>d?PwnmNZASVgd!+U$8 z*xSqNPOvDg66-=kf-1GyL1LvmJUqu92ygX>#WMsNAK_Nw|>K+OxVC)oSnH1 zx-X%NUk7EL`NTUqI+hm~vs+RET6|L=pd81^61`kGpfX&-yI#FeO1UW&ocHk!0B}{q zjIBRDb}Cjc9JeGldaD2cbVF-B?*C5#z6IT2+?j)cnUMVXg%>_h&a2UFtYsAi79X&P znYy$m5C#BRQbZ}=-v58>Li#^_g#SgG*8k7@zi99B`h0_Lp3&a%#KI!_4g!3V0s~7v HeD?bv4hSd@ literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/flow.png b/doc/sphinx/configuration/suricata-yaml/flow.png new file mode 100644 index 0000000000000000000000000000000000000000..9e05e921ecb0b984c09a1f62f56723eba790f305 GIT binary patch literal 15914 zc-qaoWl)?^6DB$YcMl#&2p-&Bg1ZLy;4-*dAVGqK;2zv{a3{D8?hNkkHpouC{j*#5 z`*CY)Z`D0DQ`7HTXU^Nx)u;P;&U8npD$8J^k)iJ!wRDo{=|!Nm92RH=Ep+g~mZQRv4Wi27Wtc+Dr-oo7A|N6Vc!?WHN@*f=YpZIC zi4{<5#W7Ch|G;ASg(G{0nr@$Y^~^qGsUe0!h3b7e!gLA-zqJIf?D3Ch{N>xDLJ9VI zl-PsP z-}L-{udo`%p23ry_j#4SE58cm^YZIWwvwjcS2vU_f~cDO{QTZtNmf=?Iy$;~J%{Ef z67xB1#$f)}>jPI>77M%*3AFafQACh-`*|7*PpGf18hfM5RkW>dk)F6XmTjsDha{va zF5Yu|6t4d`Q#j-Zfw4>N`s8t?PJ!1<$ufTbEtYOibqjCaR`BP;GD1ywTmpzDqM5mQ zI+qRJ+qZAuy<4rfo3|KAiXg4MAH)+Ba>03@f`@-fOG}&0e?BrYJ#X!*ezw}4Zob~+ zTkeoPmtC=#>2x=z%^6yMEW${m&9-M1>s_#gZN>3B9`9_mMW6w=JYUGdtDDMlatwaw zA7;>*`8(x5<5x;KefYtw=Q>0&r>%J4(vJCcD=ExvDnbT5r;I$9$_X4TomawP%9Fme zxjFo9L%{ve@8w|+dV3NX6*W3C0(yFpdA!qG#ql@$oEaxdAUxfDynzuS7diC zqpy7BTXGU?@I~^iGKAXBmd85FtojiPGW*BJbaF^q9EXp0HM*71 zm6K(ymw#`lF&7;JcC!|LYxC3+CD??Epm(K>$>}Bh6)U$zgN95)I?s9Hk2pI!JD%Lm zPcTAG#y%Az;~~Uz4UsB-h>LXW>EVh_G3C5?jH|3_-Au8&+dX2k)5tkug|pTg9qI(> zzyS4+Mw_e$6UVaA$zbw2$4{cjMv7{DP#YeBvWN@%-v=3wLw>`hr76AKpX^ak-re~7 zs>HH2>h>UK;2ly5w+UQ58XK;45`fG}yWphVc`k(Z94if58_Wk{N^jEr{r$tRC}0-T z#Ky+1aZtYyirGi3K91s&%51p>@WI3LHM(ClB1Scr;FWyhW_gql&oY_v=LB{DAq}Ue zjCQ;$3Ne(Ez@QB0{;|p&|IP=XDK@{eQNNf#XrTzJ>vk?>KZ1_MewWD( zS%e~?dS^#b?S8XJYjuq!mu#=`VE0Fkc&dfg+4G^bcE6&)b`gj#Y31>9qmOGjl-^St z+*PWi&&a^Qz{I4$l035GQleR^UZTmEs7M<>vcr*DKI4shhWaZqn+XD7BgRNPp_?sM zqvqsv?fXfnl+J^Rf>NE(NoRyW60$YontzOp3k*Q7+h8E&aX_jB2r}vS3We1=lS~?8m6v}DQ(>y zl3Q@M=G!|sKvq@&;hyg`)Yau7Z*}Tz2?3Op*$f(m-+%m=E!X8_V^eKQ6u(e*W+?mF zE?Z^L42yHS+uH=VxEp(W+TH;RovQf=AUWWsZ9&_Fbrid!yo%h=?4biirlBEu!FtAL zV^u1x#X*|8XPnIL;x8qUfuD#j-F*_}X-qLJKf9=_f1|p(zEqE-?2cY~1B%w`>vBg# z#7m40&LQP4091S_o3$OY1QnCPr1>Kd2t@tigU9iL^Wh8wXwlxEVR3mG3Wbhm3HuKI zdjG22O$E^ugb1N`e`6mpE|tpGo&BAfN`i|En_trIduP-cAPjSqmDBzGCa;Ul)pp<3 zrlyIK_YfROL__lj{Zb3>yHm*E;NZ?kGH|&;X$6mf!0mcpjg_^^){$IJi@$XayZDwi z%bD3B5&P{KyiVug$qA%Hqo_i^F>P%3ov;sm;&4g|F%Wq6{rh)YBR8g2NBIXSzh7~2 z;_%54^7>}XBxVtkwN~RP?Xcylv% z(z9CA{MNm^;k4Tj$zvIH6`5p!rgrs`) zm3P2Uh5sM`Mkyt!fgl(zctzX%N}gme10@N zH{k+e1qKR8+M~@>$r^MEZ;t%+II8S=Q=2xQi}~XOOvv{ z{{t5RhhE%f^Pd$kJ{Zgw_zn!7u+34Q6#oDbicG@^(u@8>l_99TFj%EWz#^iZfXpmd z80GqBTS9eC+@K^7c#zEZbJq^>qe&1|f)_eI(fcYzWTmpcU+-mQ>1)*Tx?9iwPUFkd z9G@Hn(?Nu$?X+^lw)(Zs?$%m@_XXKp`FwNL%!`A11XZb!&40<6a(#34LJYQv`wa)u z+2iy=&J}0N$2hp)^Q5qJbyl6oXBOfHn9OX<$k9V4$^$ma8pqddv3%MzpH3L&olbdL zJi_WYDB|0M=m`K+@!ccn-@c`AqeEIIrHs6bS3L_$t;quBF}O~m43Kx z)O)7=30(hB>PGsmMJ^Iy!7b|mXPj$WdY@Y{3;pgHduegFU2xwI^d={`z?TR|2tAX` zB<2O*w)vr+qT#o1kgjj80~=EWjnfl#!T{@!)vkT$NJX51nCyS{1b0rn zCsrpRC!fqE(WF_{h}w8^j9U55MD29(c4-cQ_@f63XaL(d2ZF(dw8c(dnSd;vC$6r3 zA^P1hK*Q~`&|C5#3@nUJptw8>F@V+JnJhs04q|*l#gh+MA6?tm0}V>5C#3WE2f`KB zN!?}Xw6vZ((84Kbo89RV!vT!T#m-f&XA&E~*`JVdU>$@O?-L?AAu5xLgV|>;Lp?D^ zpGhAu)JcXNxaenfILHG6&aXnkkOa}sJ;HLMMrrQvyXT2I0?yI?CJLHhT&z)dBfmHj zv!Owg-tv!NSTNObZ%T7C!HH7*z3gKnV{(U2{q#AygwA*|*`Tn2v|Mkbn>fMUi2=*g z3^x#6@XMdMH_bh&Tm$K8bQUnm z6z*!Lch@9MM3EsS``cImM7`^ikTKkI)Sx=VC0Wye7uOGUC>#fcno9jmCc~qn9O&dh zl8mk{F2Cio*8X;rxZq8c5MgD883Uf)Ot#?vK6V!F@PjzPfwNFhne7eQc!;&9(A}xE z^Nb*yw*-3=78~OzGmbIg(?JO0U@ssX*dG;O39on813k-IR&@&`L2M~y!Rty$`~3|H zmK{m3)sJq+?CKsaM}GPENxG%Phg%qVzMvP=uOQH;qYF-u=ygoL@xG-vYmY0ZAI_#G z<&h-73mbqFR)LsuXh!&wVDHym>TJr9^T)a$7Ca?SL)lk4BJ{a&+l!nOddIEVDN2mr zdi0>8eKQma9sS#%$Ck#Z9h;8E)r6r2A@iJV zxMz8OF9S3niyE=R&dI4!G+k2aJZ|{~m1xbrSb_?d52PZIsZl@kagkAKsom3J*qt;r>$BYWH!IBYmD=62+e`_#1( zaB`z>dw-^W*!hf!F53OST`2>ue*!1l+VI=G^p?@MlsTh5?OsA8@U%UaovuiPs<8bORl;Oq+qTJZgr z<{>%}i;&m(AL%@}Y8b%#_3Ia{Qrc)5_tEvi^k!|%?1r^MsVxay7&|l%ev-wuPy?!b z4Ebsu3l_*UDx4x0JP%P*OjUn%&&{QY`UbD;AUH>az_NeS^5h#k?MC1*RbxJIe0(ey zPx}Cca`v+rH2njdyJP8`{n9by-un|dkwmQh0|P|`1v@)CB+>oIbyDJsW42=T^c?C!_klBFBtJ6*GyS6ke69ScRe-CLjtoDVa>4gw^1zxk!v}rU{SJYcF`u9^x8=xCT*I zA1U(ci!)67Ukvf6+J6?(y#JfO1DqcxowzgTi08RlB|}eck>(|5ES%aj8rRVMq63O2zP(uQRDJo{FJ;0m+k@r0ph|;gvkF39Uf%y4 zfD}1GTDa{OCf3&0z+mvukX(r-jDG+&jUy{$c?m@^lPZ(qX_W+Awo!sG$#@bxbcgqb98jOhrF|0&^HSE6YkrlCP;L*u2 zS_|?SoyOAfPrn*pR(h0931(ievzau>qvD*xIS4$iT;t>kut-~LK~AX{Eu$H}qviO1 zOO(&g12{k#BZEb)@35VsoGFkg8u%_KB;<3RbTmw_Wf*#Q(bpe$n7SZwQ)imaJAmy> z!&Z-a)--vK+v7!n%*qwvJ_k9q0b5^zR{mC%HRrtJJrx_9tWf? zbfJ>4&$Via<{dUepVDG>xo}y6!YD1Z#?lhwNCK6AB~_z223dps>)9X6S)VRZwHg9= zeEk#aN%MrW0XxT{qf5@sbK=ZK7$N|`2+{TNV!SI$oNTF8i62r6Dh5V5EPhB!hfZ3L z4iDFU7Xo%ZH+(6h;B)%Z$G1ZOPjzz)E<;6h@hvcxO{U3KNklK`AuCh}bY1DqH}D^= zN(YmOq9$wXhI)P75F35uZ+Tp{GvmBo$qy6?WCzS;4qCtY8HgGf_!>{A@|J*rIJ!S7 zD#~>ad;(+MFc*u6h@h5Pa6uQpwGg+~gB;HPoa;4^ z3sDQ-+(N##5Gt>9&h~!2V<^U`slujAG*6QFaA7w=T2LhK_t&HK6;z~ums~tU`NFJK zz^)}PoK()X*9PN)Ha0e}U<)1{{b#$q>_DTL{LOWfD2gZdNL`a(j8G3d#DwHEh82@5 z=~zqrxu@uiV?*2;r4S*?+pOT5YqccaiJwyAK=<@?f7hK-tj@1f*|y+K`0fz?AL}Bez!KQ15)@PD#m(+|I+XXP&B$H`L45yCpHK zH7u+#IXS++b*HpSEPsf0t&G;;-YaY03H&oVK&Y}`C^%KPqtm|gv;67V z@r8ZWW}!Oge#V+>c;_;g2VY^4Z?BfIYh-SH-bGPq0IKZqQChyk{Vyp3RJ!nBr^GHW zN>88^3mWDWTJsl&mYYz!%4`Vlcn!P#T|@){yin|*0b~V(1$@Uuh?lCkvoCyn(@2MP zVrwHIbYb!t<9Lhu*1nB`!1DABZz$vWf@dvuNYMK1pl>tbF)-yp$-)nS5}F6wR3; zMaIz}u**@sS)$+<5z+6WYjYA}r^8l6USpR2d~4e=jVJ5b@%`an7Q-~D zcgtIg{-;@qB3ZJw+Bq5?h^?E)4Dkw3WxmbzPck9~lU4%3P@ zk#`Vt{h!*)dWZ1H<17&GY7M2G1h~v`S&5#E+F0Z1v*o7ar$tbWT&V(Ynzv-ter-7{ zP;t(;@ou+9KGKR;E(eO<^c9LCh5D{7+`Y8ED!2g&PA#Hdp6f2wjRpP5zt7H7Xurs0 zkhOm3kJC!!=uOevDwZC)(6}3ViGVKKWgNfO{7D((^Tf*b3pNg94um1=Kblio2HZ`a z*hR|Xw<-l`>|(b1UZ4YUxyd5o0J)6!=PNtq)oRK(twb*U@3D(@@w>FEUe|t}%nQzX zgn0Y({NYJ9_U%)k9T9wh-q(F+GZBN7pT)|!lkK{m-LFoTFeuRw&xk>H;s%r3<2w}` zaT|efL1exnq`ZMU=x4kShO2x1yQzSr4sH`;w7}k9UN2ClSWwoN_ZYd$DMi@jH~HBoB>w`b^sTPF+{CBu1RR1*9gSvO)zta3dfB`_{=cqCDc7dtqkyFz~=QJ2zXUv*(2NFyw=RLqg( z9XUvIxVpV(Fy`tm+ppc#dPCY@F*^Vr%Sia+9@00Wn9AWvRF{(Pu5790^uc>S)H>>% z(D{(}f_0amS0`&x)*m|9St%!dS38P0Bhm&HBE~gmO=ynnQVnQ`T@{1K0WN4w>WpwY zHTL{rniV3Awi>gao|m1(fDNvghVlt?j_s7X$?>%o!2Vg0p&d0g4^Jq4}g#X{pQDw z2Zuhro3)A9hn zxi&HsdhN2E&;M9v)-z-qh7Z{iZrAx73tl$(3tKdq7kuph=n=l=)N{2*+7Qbbl2G14 zq%=~ZUZPs|HaM8gk(|Z2KaG0=bqj@+WI>l|7O8XPCC&Bzej|G+=y;NUe zEh!Et`#$eMc=)l8-&}Er_#6uCj3R#V38^P-)-A)>ciP`~Asi^Cff^l5742w)Q{_k~ zfeXgVQfXOL=XV}&y5N3Pq(|oIeb7R<=Oc1(cJ@?X_TjnT2zduD5%SzdaRZLN4VW;> zvowzJ0BY_bQbteKKkNr6!GnOS{2-61jNqr#6QK~ui78nv@Fp-6V}IYIYFHidY>_<- z&ej(@ITv-qQ20sRk-SQ9TZ#MUu5;x=YRTU+Ymt+mlVATPG8G$=H8dnvrl67Ig-(az z#G^E(?XRGbH~HWYslNxQhiFD;QPkKGQ4yZNRS8(H5x)sD={oau9=F}jsX!8LCA#H| zZ4JV|Af6(N3Sr-tF@3hdIK+(hkBi07X?|-6?Osc5u^0UshlPzT>U(RSil;3!FK_8X zn#^dJK`uGY30O%hp?@5rVtjQNXc{uy~0S0aGyT8OhoTpPA)D*=)qa*^4J%M&?LAQ2;XtoEkP zm8@Na!Yfko0_4-3;;k;{jU~)xGcY$-<+?VLfiKJ2^Byrti{O7 zmE=q100Kaas%H+~tD6$Q^7Dl!tJ2mr>XTe{T)huN7o*P*{@hCUF$xp2>5ms`$t#H3ZQ9pM`+d{4-w zL3<++Bp5!7Y%Z%JnNOh6()DSgq!^)_Wgrg&MCgBZ2hZE zNg0NJoUba0G(W$=a%}P5(z8|m7MUD)0$@ejznrR)S>-_cP1=3aPOfDl+vY7SLZh*> z{-x81xmj|t&f8U=AAl12bTnVNw~qjP{R3dNaysc#sOfOL<=w(3^r(D)6P)nd%HuAC zR6~o?lXIP-F8W&@5ozfA3G~jv8av&K9ZKx|NJk)9RJaOLKvgvBRGu>n+6qPp35DUt z5wfW0{X2m?+dyr|Bk1^Jexj|NIg#G9o+PK37X7zrYX-WDu#7`8Xa(-0z$A{TYM(EqQwEZlT z@Wj?mF7xkP%Qg$c>%Um~>*Zg6e3`MRUpb8|7+_CWarCB&BfzvU;cB++139ge+i%tu zw1;8qeJw+^pS&vq4)kX06eua3F4xoWCChf(&k9s|X!y?Uuh!+1h0T*u`Yn%AykC2r z=TtWe1wKuOCbE5uaM*WMQxkCWY=>jLn$J_&;qDkGeyxUzmqfKUt(W0Ais=Rd+GdI!xz>4(K&F#MNxC6z}2@S zeeu3;n|fr)7onla$27V4VcD6%=o4uCIC~(#jPGXen{$tmER@zvv+3+$IRaIU=T;<(yI5;ST3Dg6ih zSCB7{e(jE=NxL+K9`DTB$Q9PnW{&W~>|DH$;c984(Xrq&)Yn-io!6V4Lw~hgtBmxW z2U3XXML3vRWO~JKbODLJkYtKGds8^55}3_h;M8 zicMmQ3lYwT6M4(a4|jcokEIYqGWq)*b%(2vPrm`WClW$io;5yda5Zuk2Db>N?z}sA zee}FiJa>fdb?_^9J-zR2TPom=mp#0G+zinsL&@ZII~1s0eDvl>oIYLS5w}9Yz|fR~ z3p+Ot>pbH1SvLq-tY16|+q(%p(5vVIG&d>!9u}S%e;}bGk|)IP-KwJcfD(M8hmy={ ze7f9N6{)a+GlwnuRJ~$Bh_+@ov$wtdwi4mPsU^qu_Aa3aFM7sRu&=lG(wj2j(Pn;r zpLmnRJ66BGeAdCSX}uHO&7AY&S}4K4|J|vHM$9its8AUGGhoYSaaw^h1wDKHpPrs* zRkDN}mg-z&hzSZO^IedU5m`xNFaheRA?&3P~BlU5PD4V!X>W3~CQ9Ik)Pmf1cc5~%JqoazlvV$WdoWy7Y z14|1F_R9?wx*$tsWn~&4>}2`3dA(xx{lih?()=AJI~}2$Q21k#)*o)4abmH|k7Gq& z`26mj0s=aWs^$;enwy&=A|fUyCsR{X3p~D*&E6c&9?g_!yuLgyHv(gSb86Nc`V&=g z97-#$M@9=X9!Xl548%~3B(rv|l^Gcsaof#dU}K*_S{pk%15Hf+SVYtnwYgv%?AFvY zHWE?h=jVI*`cCsxXYs##_YRYkOO>9$%;x&?(sr@d!pqAmPdeJbzyNLD=ea0}sGHFW z;eA#<@2Z#i&T!&3X|BA94VPL(JLT_TZ*bBl-8bv4XC2U;WaCc~t@YP&B5Ie9s?R;d_DaBe!ChQi>^<-)?kzY{aQfTt$u zyi_6Y%LshB-@kvC>+2I7;2=oxs{9eA5z%S&I2ldl)KFLNWv;BO?C9tKgTXM}*8-pw zG$o2S2nU6m{WZ$X{HBGA)1%p&tu#@Wj6{}mIo1)0Hyxj8j8HEbcr zm8KfAJ~UolUV$I~DiJQ@u!gsv7)%xaQ1e6=sw5dK;S%h%}q6WKZa1V}-5@7YXCKs^Km1Sjx7G#Tt?cmDZ9 zm8uwuR;4%2Z*>fwT`K~HuU&8GT(nE{M+Z=^KHK)NxE@zJ0|RY;4Z}I^sX-yBpe63o zA^yvFV03`LpL9nYyvfwA|7r?*Kz01@5Y8a<#}&{1m}WP+yg_cCGbHo*&a(y6m6yy; zKZha&k}$8$!K{(cQEKCH6}V_=*Mq5oMUYkJ>kCv|TpYFu---BnMZRTbyhMj#+zu+H zLuIs2=x@`}91UV;(oKiul+h?IkG8QMXt!4)ysmcUs5?8^+S9`pi(B2Ecc&Hf z{VCS^h9Z~rNct1Brly93gk=0&fS#TnhY}?ihw$IHxtTX+N*w-oWUQ3Vb9#Cj+p)>U zbTb|ouEPHj%aQvi)CH{jJaI-Ojh%jT`06h35xy%0IM(&ZLmpL;zSO*%8?PrkPp@OT z|5u46fLlVMT!g*jd>@ted2H~ggddTVC|1DTHVx0Qmw=B8<&vFX+o*$J`HvJejT2P* zyKA(nFBwg9XmLjioCzDTgoMPkkG}=f)Tce*dVkWTd1Z34#<0~x^!Ykoy~OWBOubjb z;t1<%dOI`cR+b<@jD>Y{lDsv}%8D*gp15(L-@d_>wMvoxe1y(C+0gCL>saAxEq#4H z;P21(2bs{U=;&2aUq9z*maEQ~J^ZIA^Ao4nnOpVGU-BLT>#t(D zHIV35dLERJTia$#=J%j|#$@KH5$i%*_y*SXF z@^BzqiHcox8>=?itj1jnZ1ph}_Zsiu`Rx*bB(A9eku6X!(R@_wShDAVhb2N-(_aL63cl#G(k0TCyI$*O+D5Gc?qh9#KkvSrt2t-}(cu0o#8ioIaoXHFaAM!Y9B#uG{4JAVCNZobrM^?q3W!jo-vsPLk7R^N$ zf|l>+QGiqBdxLKQONw4+J8zYa>FeIVyP5K0X?-}j@kx|NT+bG;4RE{47kqKT z3eClyA>8InRcAPOujZp!7MO7SQ{V`#A4;yCB=1h4o~w(Cn?Po_$>8|7Ha$VE^+!BXA92NpaX9V?Bhc!@FeD!$~XCj4~#M2(6P>~)*$v}5m?Fx)`<@ndgq z?`Wpr-Tq{r1;xkYkv=eYK`^N}PAv$;jP>DPw!Ji@MhTYu5D^}p!fxLGaJ9$D!BKuk zBH*^Kz}mjOxw*N${ngHnDS3njFM@9Mj^?d*+q&ro>`}wikZ1WA(;i1)bS#ETLu<2_E#lvB)KCU zKjEdq09+VlfKIIjlQ<3mL?bGT6(>#GtJ~(py0ZX0t$RojAMjFsZV>YEzsu zW}RUS?=UwF23v_u{?9m0mme*`2_8U(se>6&>e7pFr+yPVbWkc1m53;=UCB@msPlnWCtPl7)W?`TY7KD@%{t z)zX}!OyPI`eyNcaD;Q;JtdqhE{(heBkvgl=v7G26O_{(>v-u?P@3{!_dt`?0UGChc1) zmLiRSlp9L;UPZLx&-V}^3a{qzgH`woNd*#jtd9@?d6a980v)JyGi2hv*&&j=00r)x3)J`aaCa`Wpgu1?t1UEl%m7E{{0G!s zFG~t;Q#21W+4lggo}LHaG=V@MVCAdVYv4eC9d^Oa*NCuz{-MRyu^uB9_H;$doNIv* zyol@J2ng`q+7Tf^ht(Y|r3`nGE?Q}UBQgA@84E;t`VC$@)!^6538-f^FffFukKDf9Nr_6}%|a;adpc`1qRx zqNVJ1DcIrgM9>cm?rU z(&4hB&%}O|nQ1Oc`NFY_gHE8_zvL5HUS6S2!5w0(iDlzY^$K=)#s%f?F6jGlzt{F* ztb@7J%QM(H1lQ=bOH`hk*DzEat9=ea;Y=pZvg`Skso8hu4la_+oyHkVE#Z?_BVwA; z6BG`}HsuI7!Teid72=sE^@s)^hExdA_^bv2t_>PLA5C;PQY{Ao@Eckzw(2QXNhc5jWPjioKr?9xqTh#UT$*v2cAt6)~^6S>QnWSSQ})PC{NUbdl=X z%d-VxJ)^nB=h4?YNDj1#O&-G?r1lu zuXPDdNJ->xcae^fdq3+Hb)<@(!HHCyVFWyGJhKg^zD%xKTRV8pG7JCgj(dSq8D}Wa zVU>wPqjN*Xv%P0<53Lf7%?7s>F|+Z%Ttk5sD>lEpZ>FM~p@s`Da z?#B6#WFkeU`%BN=9XD_2tGd;#Tm0njj@}+aRJ4a~W~P8O6Bb+uTZCfHF9qGCAuFgc za?7kczKn95Q>lWvJb8=D`O(cHsbKf7wbCmbtvEY?*sQl%AZt7c|4;4chU&~ zZW?~rprQHCi#boND90rw^$(iIr-q)n)j0y0DU2?yz95#Fx#E&$Zk z+qB?Cmvz>kz~`whZuV4SccD(JWq15C4PxijzXO{E%V9@o{{1nQ-cXq_7vkJ+V?uEe zD}}C@o~~8svt?4Qe3i`mI(Jfbu|a9C5-nVFRfIlm3{;PI2_FCKcC`-oLY~3?*4snL zk9IGE409>}d+#>h$AUtueWf??vQbvNRV|2YE|_W?htcdc$bw&=3;nlBxrPc_&a|_O z9?OPhcr%ifkCNhdb}%qTh#bx2Q%C1+(z%TvT9%S|iZwm#mPc_%K9EB`ih}RI&g|;q z4IksiZjiJ8s;O~rs0WRVP1)vE0pJgsH02=SNi|KL}H3JcW@=xPPrlIXO9V4os78!@e+szYAa6bet3lGNA)C6Q!q{ zrqQ`a-;9H0Bb!~5VR-{h>qp;-Z-4EF#v-c&#Q2HxoiFs{vY$15AUb5d_B=&JMKaRT zEQT!!>^wG8`7j2)ytJg8#%1$(eL$10o#BdQewfRweLV9?cpjFkP5|IjPQ#0ZNmf)^ z&Pz}yzZ+uIWJYYSXxO8R)IqiM6B99~`Q6>Ih_NdDD9@^f;4IP}*Y6w-p2Fd=!TiF) zcYIDJkQR5C7c~Ocz@wux2X32XA;{P-+wm$e46cA09P(|$akOtgirjHG=kuEN&)ga3 z#ffCl5`}d0vi&H#d|)QjreBb?Rdc_HsL-#N%*MS5k6>8oHQm`P&wnvZE;$>Y%%5|- zhvIRi;q%KhRadjMh&>}=q9SipjYg3&<~t!iQBmWn`MsT;#OdovYuHnl>+N`bZ|y}z zMKAo4lL+{_Se`nV*Lu72^NbGA5=0~N_{zaK(vb5sBdFt7>xG(e9$G(vg}q4vcq(o} zEAVQsus>s{dH}HB= zhPCslHa%Ux84jz7U(|T~V-$OddV$F+PC<~f(VuBJj93H)uJrSJ$M`;fB*hi zXvX*PzsMRIIzRsttX`0tC=)I;{KX!7K@0G4J9W4`-9@Dc1_p0+3)`MQ`C*jQrsR9KC1_nTIa4B?-d}c5*CS0fiyKH>PyGZ@7)uMdDeCnW1X?Tzb_N+&SaU9 zLH_aM`o5ZCdg#-Wi-&$SASQ0*E~ zQ_wTuXJt)(m=qRee;PNRE7Ig7TPhl_<=3voR5ba-oEd%^Szhd4G56Ya<1Ow-q1co! z7`B7@jn&T7Z&~}>ePtEDCle781bg{0PKGJtn#U-j1T zj8FzXId>-ininLxruOxx$?*gCM@p>IsA~gD7cgK#Atz+1Xl?^Va$K z`DC7quaA$&diy_J88D*ycH@(F8jSZ;8H2yk&}7N`$>bL)=$htPcJJg%jbK0+~$3io0o?u-n7=bABBf-up5CW2>5r7da_iXl9KX2 z%YZriF_1n>OG}%XeW)+`*KG6Ez*RK;Kb@imEOhfYu&=Gz1;#o5$25}lq5X=u|FuUK m3-13{J;DF?o0x@^UMO)YdCsmAmR$g_At$9QSt(%>{67Gq<@vn; literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/grouping_tree.png b/doc/sphinx/configuration/suricata-yaml/grouping_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..a88d9a207db7f7a0f3380945d8f9961bbc1988b5 GIT binary patch literal 26129 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 UdY7xMQGEbeNhNUEJ0t)90FnVUS^xk5 literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/grouping_tree_detail.png b/doc/sphinx/configuration/suricata-yaml/grouping_tree_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..472e13a6d62212bd8164c40caf63f08416390563 GIT binary patch literal 62604 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

u`&@>&s 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 JC>Jvh{9owb%Q^r6 literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/ipfw_reinjection.png b/doc/sphinx/configuration/suricata-yaml/ipfw_reinjection.png new file mode 100644 index 0000000000000000000000000000000000000000..c59886707f37181fa789bf41b11d5d14904ecd7d GIT binary patch literal 27813 zc-qvuWl&u~*Cl*$f)gaTB@i^YJ6t5VySux)1b24`?(R;Ii@Uo!T-@#BnRn)!nyUBj z{FtulK6QGZy{oHtpVe!f(_wNlV#o-12mk;8`L{Sw0RVvT_^j3Nke@v(jA5Fe7YIiM zF(E+J1i|s=%@;dybw>aIrT;$_B8dhC|FaX$>9@29+zR4X)bBq$#V+Ï&prDf5 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 AsQ>@~ literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/normal_ids.png b/doc/sphinx/configuration/suricata-yaml/normal_ids.png new file mode 100644 index 0000000000000000000000000000000000000000..4f3b70bd1452cf342855c86989a4d47b0d22f6c5 GIT binary patch literal 8447 zc-oD61yEbzvVUq6XbZ(kai@eLElwa%AV`9hP+W^!afbj!14W8^C=y(X2XBkJ1lJY{ z6faQR{^|X{_vYSrXWra7bLPzM>^a{`zWwd)m+;pr@{b6q2>}4WBd7ud4glQp#@&?o zw{aYzN%gQEgO3-ht)#gfUfZ2^YhO(oRs=qhwZFi)Qf{;n5h1l@ng=rj=OICq7 z^~{fFs*{%A(qh+T$OE;`HT)LHb_?(me2)zP=y(KRv07(OQ zHUAF^;B@CN_1~g6>R(0wQvWLYm-=VX!FG0Zv)e4VRp|UX12kG}@Vu_trR~SgV&ki% zU#JLon!5gH(S|DdO&S~*^Y$ngCLjr;{VoCjp6)!_A~RGuO~85{qXtQ*mt<&hj|s0n zEt9&@-W9O*Iq2^sWx9>|_0aH(S`OG<4@X)eF+??%q7Yhx;r0YTLfXvoOH2N zk<9{S8apWrw))Rq8eGJnqUxLKpC;Y>p{_ir&8LX6`BB8bH8Dn_CYGC%%s{-AK$q9AwDkwPAbZi0j5K2Dn(p%MLOnXh`SlGFz0L~o2sHBqg!ZI zAq3BkuPxQb8>U@$JxGtYGQ)=TPO#;LV4rWieplDK{cjYcsU8cTz(jVaxTytM$FmK_ zIgUn}j}ZkKEuLOm&BC)PQOp)9^K&^GSxYe}-Q(RaOo#q`(-O$imy&{8;=Pg`F_3Qo z`NMXnTifWBHdm_|E={a~7}-h&pckdn$dYU$6r%vzCl)1}6<_eh zzUQx$znS96aiZquSG8OC9q)D{c6j@}wG-P(_C85vuOON%w+NRJ{E=rH+#kaE{i8rubtM82V;z0X2 zm7SSpwlsF)cQou(tU$L#0MYC>^N)!>+_6vNN~nNVYD0 z46xybVH)2MtWyxxYLDGjGp_v_9}(OKMpdayFAE{spwl71!tq9gk8&I>!Luy^f4BLX z4Y%jyl?0@LkYxgr0}-;y1ao@-3}hVg1|_!4DkkY&@Q@_leYNq0wmN+J2P0>l=a7i? zguOQlFkFY;=w|nm`G%OEVf*4o!E#^Oc~4a%P7G|T6;WcQcc&(`#58&P@<8p*hX=M9 zfyhD|g0@_(INjiT{LjiRO|-I-XF+4z{PmaA7uFR&Ts(Y1Tshjk-SOC=Hx)YZNIRfY zvC)?euy7gtVDdPM>!C7zSdr`AZcFtlzX7PO!8hnFIDLZU?ZpMPFe^MlbHZS@us56V zu;RvmZVZ!4+*=SjsB`VBUq%$dX?tI%kv2TkJ#B&xy!=3 z(j2IKE>hO$;r7T`a8a;r%LwiGY8mgJboo+oEAFY!rmNGn2=;5soe0q=-IKPVpOm^F zkn`Fm!%$D;1ajwDTNc=7Xto_1CR~wr*c+*?^)BS?Rb0IUk0#UQLAESS{X43~vMa^m zO)Vas^^q{QQpfBqBr&D`IJ{0mAA5k?U`zFUSa(wAE7hi26AqE(jn45w`3z zC{+kNVtc}TP5QGav?GK)4m*a2p#`4aJ@V>f{Ql zl>d@NZXg4kZdVu9j43xnkB`%q#!8Qz9g05q+5v$q8iib3xENmOOJu~@J4 z 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 HH3F!bI8qzgz3ohXQO5Tpo%-n%qIN2G%Uk={F@ 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≪rbx3 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 L)Pxj2dmZvGcGA$T literal 0 Hc-jL100001 diff --git a/doc/sphinx/configuration/suricata-yaml/threading.png b/doc/sphinx/configuration/suricata-yaml/threading.png new file mode 100644 index 0000000000000000000000000000000000000000..eea27add1e43525245518db4f336bcc8916f8070 GIT binary patch literal 17401 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 Wt

nk_HtwEf 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