]>
git.ipfire.org Git - thirdparty/suricata.git/log
Alexander Gozman [Mon, 26 Mar 2018 14:14:48 +0000 (14:14 +0000)]
Bug #2466: map SC_LOG_CONFIG level to syslogs LOG_DEBUG
Jason Ish [Mon, 26 Mar 2018 13:55:10 +0000 (07:55 -0600)]
suricatasc: move lib to suricata.sc
Pull the sc python package under the suricata top level
package. A suricatasc package still exists for compatibility
that pulls in suricata.sc.
Jason Ish [Mon, 26 Mar 2018 13:49:17 +0000 (07:49 -0600)]
suricatasc: allow to run from non-standard python locations
When we install to a non-standard prefix, the Python modules
are not in the standard location requiring the PYTHONPATH
to be fixed up.
This wa a pre-existing issue with suricatasc, and not due to
the move into the python directory.
Jason Ish [Mon, 26 Mar 2018 13:38:54 +0000 (07:38 -0600)]
suricatasc: move into python/
Will be built and installed as part of the Python code used
for suricatactl, which is intended to be the generic place
for all Python utility code that gets installed with Suricata.
No change to suricatasc code.
Mats Klepsland [Thu, 22 Mar 2018 12:27:00 +0000 (13:27 +0100)]
app-layer-ssl: use BIT_U32 for flags
Mats Klepsland [Thu, 22 Mar 2018 11:56:22 +0000 (12:56 +0100)]
app-layer-tls-handshake: remove since it is no longer needed
Remove this file and all its content, since the functionality
was reimplemented in app-layer-ssl.
Mats Klepsland [Wed, 21 Mar 2018 22:29:01 +0000 (23:29 +0100)]
app-layer-ssl: reimplement function for decoding certificates
Do a complete rewrite of the function for decoding the SSL/TLS
certificate from the handshake.
Mats Klepsland [Thu, 22 Mar 2018 12:17:17 +0000 (13:17 +0100)]
tls: replace variable in header file with TAILQ_EMPTY()
Use TAILQ_EMPTY to check if a certificate exists instead of
setting two variables in the app-layer-ssl header file for
that purpose only.
Victor Julien [Tue, 27 Mar 2018 08:31:28 +0000 (10:31 +0200)]
smb: minor optimizations
Victor Julien [Mon, 26 Mar 2018 09:50:58 +0000 (11:50 +0200)]
rust: remove multi level 'experimental'
Don't treat 'external' parsers as more experimental. All parsers
depend on crates to some extend, and all have C glue code. So the
distinction doesn't really make sense.
Pierre Chifflier [Thu, 15 Mar 2018 13:06:08 +0000 (14:06 +0100)]
IKEv2: Use JSON arrays instead of comma-separated values
Pierre Chifflier [Thu, 15 Mar 2018 07:27:17 +0000 (08:27 +0100)]
IKEv2: suppress some debug output
Pierre Chifflier [Tue, 13 Mar 2018 12:24:38 +0000 (13:24 +0100)]
IKEv2: remove events counter
Pierre Chifflier [Tue, 6 Mar 2018 07:03:11 +0000 (08:03 +0100)]
Add ikev2 to userguide
Pierre Chifflier [Fri, 2 Mar 2018 18:35:49 +0000 (19:35 +0100)]
Remove the 'experimental' mark for IKEv2
Pierre Chifflier [Fri, 2 Mar 2018 16:44:06 +0000 (17:44 +0100)]
IKEv2 logger: use Debug trait for IkePayloadType
Pierre Chifflier [Fri, 2 Mar 2018 08:20:33 +0000 (09:20 +0100)]
Add logger for IKEv2
Pierre Chifflier [Fri, 2 Mar 2018 21:16:48 +0000 (22:16 +0100)]
Add rules for IKEv2 events
Pierre Chifflier [Wed, 31 Jan 2018 07:13:41 +0000 (08:13 +0100)]
Add new parser: IKEv2
Add a new parser for Internet Key Exchange version (IKEv2), defined in
RFC 7296.
The IKEv2 parser itself is external. The embedded code includes the
parser state and associated variables, the state machine, and the
detection code.
The parser looks the first two messages of a connection, and analyzes
the client and server proposals to check the cryptographic parameters.
Pierre Chifflier [Mon, 15 Jan 2018 21:52:39 +0000 (22:52 +0100)]
Rust: fix prototype of parsing function (make pstate mutable)
Pierre Chifflier [Mon, 15 Jan 2018 21:51:39 +0000 (22:51 +0100)]
Rust: expose function AppLayerParserStateSetFlag
Renato Botelho [Thu, 22 Mar 2018 14:02:42 +0000 (11:02 -0300)]
configure: allow to disable libnss and libnspr
Let user chose to disable libnss and libnspr support even if these
libraries are installed in the system. Default remains to enable when
libraries are found and disable parameter were not used
Victor Julien [Wed, 21 Mar 2018 14:50:11 +0000 (15:50 +0100)]
nfs/rpc: fix reponse parsing
Victor Julien [Tue, 20 Mar 2018 08:29:41 +0000 (09:29 +0100)]
auth/krb5: move kerberos5 wrapper to rust root
Make it available outside of just the SMB parser.
Victor Julien [Sat, 24 Mar 2018 15:17:20 +0000 (16:17 +0100)]
smb: clean up partial read/write record handling
Victor Julien [Sat, 24 Mar 2018 09:30:26 +0000 (10:30 +0100)]
smb: improve skip handling
When skipping records the skip tracker could underflow if the record
parsing had more data than expected.
Enforce the calculation by moving it into a method and make the actual
fields private.
Victor Julien [Sat, 24 Mar 2018 09:15:52 +0000 (10:15 +0100)]
smb2: improve read/write record parsing
parse_smb2_response_read()/parse_smb2_response_write() can be called on
incomplete data, so they didn't use the read/write length field to grab
the data field. Instead it just used rest(). However in some cases
SMB2 records have trailing data, which would be included in the
READ/WRITE data.
This patch addresses this by using the length field if enough data is
available.
Victor Julien [Thu, 22 Mar 2018 10:23:34 +0000 (11:23 +0100)]
changelog: update for 4.1.0-beta1
Victor Julien [Tue, 13 Feb 2018 10:41:33 +0000 (11:41 +0100)]
doc: fix http_header_names example
Victor Julien [Wed, 21 Mar 2018 18:29:30 +0000 (19:29 +0100)]
threshold: don't touch globals after init
Don't free/reinit pcre globals per tenant. Others may be using them
at the same time, or try to free/reinit them at the same time.
Mats Klepsland [Fri, 16 Mar 2018 21:39:17 +0000 (22:39 +0100)]
detect-tls-sni: use *_Register2 API functions
Use *_Register2 API functions when registering 'tls_sni' detection
keyword.
Mats Klepsland [Fri, 16 Mar 2018 21:17:34 +0000 (22:17 +0100)]
detect-tls-cert-serial: use *_Register2 API functions
Use *_Register2 API functions when registering 'tls_cert_serial'
detection keyword.
Mats Klepsland [Fri, 16 Mar 2018 21:08:03 +0000 (22:08 +0100)]
detect-tls-cert-subject: use *_Register2 API functions
Use *_Register2 API functions when registering 'tls_cert_subject'
detection keyword.
Mats Klepsland [Fri, 16 Mar 2018 21:00:19 +0000 (22:00 +0100)]
detect-tls-cert-issuer: use *_Register2 API functions
Use *_Register2 API functions when registering 'tls_cert_issuer'
detection keyword.
Mats Klepsland [Fri, 16 Mar 2018 20:48:25 +0000 (21:48 +0100)]
detect-tls-cert-fingerprint: use *_Register2 API functions
Use *_Register2 API functions when registering 'tls_cert_fingerprint'
detection keyword.
Victor Julien [Tue, 20 Mar 2018 07:27:24 +0000 (08:27 +0100)]
nfs/rpc: improve RPCv2 parser, add GssApi
Improve RPCv2 credentials parsing. Add GssApi and turn creds into
an enum.
Minor cleanups and optimizations.
Victor Julien [Sat, 17 Mar 2018 21:17:41 +0000 (22:17 +0100)]
nfs: minor cleanup
Antoine LUONG [Wed, 21 Feb 2018 17:48:26 +0000 (18:48 +0100)]
prelude: swap msg and class_msg in Prelude alert
Antoine LUONG [Tue, 20 Feb 2018 15:36:13 +0000 (16:36 +0100)]
prelude: fix duplicated analyzer in Prelude alert
Danny Browning [Tue, 27 Feb 2018 15:46:24 +0000 (08:46 -0700)]
pcap/file: fix missing files stopping engine #2451
https://redmine.openinfosecfoundation.org/issues/2451
When a missing (or empty named) file is passed to source-pcap-file while
using unix socket, the pcap processing thread will incorrectly be stopped,
and no longer available for subsequent files.
Alexander Gozman [Sun, 21 Jan 2018 11:21:40 +0000 (11:21 +0000)]
rules: optimize bidir rules with same src/dst
As an optimization, reset bidirectional flag for rules with same src and dst.
If one created bidirectional rule like 'alert tcp any any <> any any ...',
the rule was checked twice (for each packet in every direction). This is
suboptimal and may give duplicated alerts. To avoid this, bidirectional
rules are now checked for the same src and dst (addresses and ports) and
if it's the case, the rule is treated as unidirectional and a corresponding
message is logged.
Eric Leblond [Tue, 20 Mar 2018 21:15:27 +0000 (22:15 +0100)]
doc: fix typo in unix socket doc
Also fixes a dead link to code.
Eric Leblond [Tue, 20 Mar 2018 21:06:19 +0000 (22:06 +0100)]
doc: more info on unix socket rule reload
Eric Leblond [Tue, 20 Mar 2018 20:55:59 +0000 (21:55 +0100)]
doc: fix typo in ebpf xdp doc
Eric Leblond [Tue, 20 Mar 2018 20:04:20 +0000 (21:04 +0100)]
suricata.yaml: fix some spelling mistakes
Victor Julien [Tue, 20 Mar 2018 14:49:00 +0000 (15:49 +0100)]
der: don't overwrite errcode
If the code has already been set it is more detailed than the more
generic 'invalid object'.
Jason Ish [Wed, 31 Jan 2018 21:42:42 +0000 (15:42 -0600)]
suricata-update: bundle suricata update
Add autoconf/automake support for installing suricata-update
if found in the top level suricata-update.
Mats Klepsland [Tue, 21 Feb 2017 11:06:17 +0000 (12:06 +0100)]
conf: user-configurable umask setting
Make umask user-configurable by setting 'umask' in suricata.yaml.
Pierre Chifflier [Thu, 1 Mar 2018 17:58:41 +0000 (18:58 +0100)]
DER parser: ensure errcode is set for every return path
Pierre Chifflier [Thu, 15 Feb 2018 14:00:35 +0000 (15:00 +0100)]
DER parser: fix undefined behaviors and add missing length tests
Fix several undefined behaviors, caused by possible use or read of
uninitialized memory.
Antti Tönkyrä [Mon, 19 Mar 2018 10:18:56 +0000 (12:18 +0200)]
stream-tcp: add counters for midstream pickups
If midstream pickups are enabled this will help in discovering how
many midstream pickups are being done by Suricata.
Mats Klepsland [Thu, 28 Dec 2017 21:45:50 +0000 (22:45 +0100)]
doc: add JA3 fields to the TLS logger documentation
Mats Klepsland [Thu, 28 Dec 2017 21:40:27 +0000 (22:40 +0100)]
eve: add JA3 fields to TLS JSON logger
Add JA3 object to TLS JSON logger (extended log).
Mats Klepsland [Thu, 28 Dec 2017 20:51:44 +0000 (21:51 +0100)]
doc: add documentation for Ja3GetString Lua function
Mats Klepsland [Thu, 28 Dec 2017 20:45:08 +0000 (21:45 +0100)]
lua: add Ja3GetString function
Add Ja3GetString() to return the content of the JA3 string buffer from the
TLS session.
Example:
function init (args)
local needs = {}
needs["protocol"] = "tls"
return needs
end
function setup (args)
filename = SCLogPath() .. "/ja3_string.log"
file = assert(io.open(filename, "a"))
end
function log (args)
ja3_string = Ja3GetString()
if ja3_string == nil then
return
end
file:write(ja3_string .. "\n")
file:flush()
end
function deinit (args)
file:close()
end
Mats Klepsland [Thu, 28 Dec 2017 20:21:16 +0000 (21:21 +0100)]
doc: add documentation for Ja3GetHash Lua function
Mats Klepsland [Thu, 28 Dec 2017 20:06:28 +0000 (21:06 +0100)]
lua: add Ja3GetHash function
Add Ja3GetHash() to return the content of the JA3 hash buffer from the
TLS session.
Example:
function init (args)
local needs = {}
needs["protocol"] = "tls"
return needs
end
function setup (args)
filename = SCLogPath() .. "/ja3_hash.log"
file = assert(io.open(filename, "a"))
end
function log (args)
ja3_hash = Ja3GetHash()
if ja3_hash == nil then
return
end
file:write(ja3_hash .. "\n")
file:flush()
end
function deinit (args)
file:close()
end
In the (useless) example above, each JA3 hash is logged to a log file.
Mats Klepsland [Sun, 10 Dec 2017 15:47:07 +0000 (16:47 +0100)]
doc: add documentation for ja3_string keyword
Mats Klepsland [Sun, 10 Dec 2017 15:05:37 +0000 (16:05 +0100)]
detect: add (mpm) keyword ja3_string
Match on JA3 string using ja3_string keyword, e.g:
alert tls any any -> any any (msg:"JA3 string test";
ja3_string; content:"65-68-69-102"; sid:1;)
Mats Klepsland [Sun, 10 Dec 2017 15:40:58 +0000 (16:40 +0100)]
doc: add documentation for ja3_hash keyword
Mats Klepsland [Thu, 7 Dec 2017 08:30:03 +0000 (09:30 +0100)]
detect: add (mpm) keyword ja3_hash
Match on JA3 hash using ja3_hash keyword, e.g:
alert tls any any -> any any (msg:"JA3 hash test";
ja3_hash;
content:"
e7eca2baf4458d095b7f45da28c16c34 ";
sid:1;)
Mats Klepsland [Tue, 26 Dec 2017 12:33:05 +0000 (13:33 +0100)]
util-ja3: add function to check if JA3 is disabled
Mats Klepsland [Thu, 30 Nov 2017 10:04:03 +0000 (11:04 +0100)]
app-layer-ssl: generate JA3 fingerprints
Decode additional fields from the client hello packet and generate
JA3 fingerprints.
Mats Klepsland [Mon, 27 Nov 2017 11:23:57 +0000 (12:23 +0100)]
app-layer-ssl: split function into multiple smaller functions
Split 'TLSDecodeHandshakeHello' into smaller functions to make
it easier to read the code when the function grows in size.
Victor Julien [Fri, 16 Mar 2018 13:42:58 +0000 (14:42 +0100)]
smb: suppress notice messages
Pierre Chifflier [Fri, 16 Mar 2018 06:50:12 +0000 (07:50 +0100)]
SMB: simplify code
Pierre Chifflier [Thu, 15 Mar 2018 07:16:24 +0000 (08:16 +0100)]
SMB: use String::from_utf8_lossy in logging functions
Pierre Chifflier [Thu, 15 Mar 2018 07:24:10 +0000 (08:24 +0100)]
SMB: use kerberos-parser to extract Real and PrincipalName
Victor Julien [Thu, 15 Mar 2018 15:50:38 +0000 (16:50 +0100)]
smb1: extract rename info from TRANS2
Exclude TRANS2 from generic TX lookup bypass.
Victor Julien [Thu, 15 Mar 2018 13:17:19 +0000 (14:17 +0100)]
smb1: add parsing for RENAME command
Victor Julien [Thu, 15 Mar 2018 10:11:07 +0000 (11:11 +0100)]
smb2: log renames
Victor Julien [Thu, 15 Mar 2018 06:37:56 +0000 (07:37 +0100)]
smb: if filename is missing, use '<unknown>'
Victor Julien [Wed, 14 Mar 2018 15:58:45 +0000 (16:58 +0100)]
rust/dns: default to eve log version 2 for rust
Jason Ish [Fri, 2 Feb 2018 18:46:13 +0000 (12:46 -0600)]
eve/dns/v2: support eve/dns v2 in rust
Jason Ish [Fri, 2 Feb 2018 18:45:35 +0000 (12:45 -0600)]
rust/json: expose more of jansson to rust
Jason Ish [Fri, 2 Feb 2018 17:45:20 +0000 (11:45 -0600)]
eve/dns-v2: only log responses for enabled types
This changes the logic a bit for v2, checking the rrtype of the
query to see if the response should be logged.
Jason Ish [Fri, 2 Feb 2018 17:08:00 +0000 (11:08 -0600)]
eve/dns-v2: log authorities as a list
Log the authorities just like the answers, as a list under
the authorities key.
Giuseppe Longo [Wed, 20 Dec 2017 10:27:48 +0000 (11:27 +0100)]
doc: introduce dns compact logging
Giuseppe Longo [Mon, 7 Aug 2017 08:31:16 +0000 (10:31 +0200)]
output-json-alert: add dns info
This changes LogQuery and LogAnswer functions
returning a json object instead of writing it in a log file.
In this way it's possible to reuse them to add dns info
into an alert.
The following is an alert record with dns:
{
"timestamp": "2017-07-31T15:01:17.885281+0200",
"event_type": "alert",
"src_ip": "8.8.8.8",
...
"dns": {
"query": [
{
"type": "query",
"id": 25394,
"rrname": "notifications.google.com",
"rrtype": "A",
"tx_id": 0
}
],
"answer": {
"type": "answer",
"id": 25394,
"rcode": "NOERROR",
"answers": [
{
"rrname": "notifications.google.com",
"rrtype": "CNAME",
"ttl": 3599,
"rdata": "plus.l.google.com"
},
{
"rrname": "plus.l.google.com",
"rrtype": "A",
"ttl": 299,
"rdata": "216.58.205.174"
}
]
}
}
}
Giuseppe Longo [Thu, 10 Aug 2017 12:21:56 +0000 (14:21 +0200)]
output-json-dns: add json logging functions
This adds some public functions needed to add
dns information when an alert is logged.
Giuseppe Longo [Wed, 2 Aug 2017 13:55:01 +0000 (15:55 +0200)]
output-json-dns: add new output formats for v2
This adds two new output formats that permits to reduce
the number of line logged for a dns answer because
actually an event is logged for each answer.
With this patch, only an event that contains all the answers
is logged.
The formats are named 'detailed' and 'grouped'.
The first format provides a list of answers with
the following fields:
- rrname
- rrdata
- ttl
- rdata
The second format provides a list of record data grouped
by their type.
The output below is an example of the formats:
{
"timestamp": "2017-11-29T10:27:18.148282+0100",
"flow_id":
268864910185905 ,
"in_iface": "wlp2s0",
"event_type": "dns",
"src_ip": "192.168.1.254",
"src_port": 53,
"dest_ip": "192.168.1.176",
"dest_port": 52609,
"proto": "UDP",
"dns": {
"type": "answer",
"id": 3654,
"rcode": "NOERROR",
"answers": [
{
"rrname": "wordpress.org",
"rrtype": "A",
"ttl": 544,
"rdata": "66.155.40.249"
},
{
"rrname": "wordpress.org",
"rrtype": "A",
"ttl": 544,
"rdata": "66.155.40.250"
}
],
"grouped": {
"A": [
"66.155.40.249",
"66.155.40.250"
]
}
}
}
Giuseppe Longo [Tue, 28 Nov 2017 08:51:48 +0000 (09:51 +0100)]
output-json-dns: add new configuration
This patch adds a new configuration for dns,
introducing a "version" that permits to switch
between the new and old format to provide
backward compatibility.
The new configuration is made up of these new fields:
- version
- requests (query)
- response (answer)
- types (custom)
David DIALLO [Wed, 21 Feb 2018 23:29:33 +0000 (00:29 +0100)]
modbus: Support Unit Identifier
When destination IP address does not suffice to uniquely identify
the Modbus/TCP device.
Some Modbus/TCP devices act as gateways to other Modbus/TCP devices
that are behind this gateways.
Victor Julien [Wed, 14 Mar 2018 20:59:51 +0000 (21:59 +0100)]
smb: share can't be <share_root>
Victor Julien [Wed, 14 Mar 2018 12:47:07 +0000 (13:47 +0100)]
smb1: add OPEN_ANDX command name for logging
Victor Julien [Wed, 14 Mar 2018 12:16:38 +0000 (13:16 +0100)]
smb2: don't log/track each READ/WRITE/etc
Victor Julien [Wed, 14 Mar 2018 09:26:40 +0000 (10:26 +0100)]
smb: log file FID/GUID as fuid
Victor Julien [Wed, 14 Mar 2018 08:05:12 +0000 (09:05 +0100)]
smb: add smb records to fileinfo
Victor Julien [Tue, 13 Mar 2018 16:34:00 +0000 (17:34 +0100)]
smb1: improve non nt-status handling
Support SRV error, with a couple of codes.
Rename statux field to status_code.
Victor Julien [Tue, 13 Mar 2018 15:36:45 +0000 (16:36 +0100)]
smb1: ignore tree_id in session setup
Victor Julien [Tue, 13 Mar 2018 12:44:35 +0000 (13:44 +0100)]
smb: improve nbss/smb record detection
Victor Julien [Tue, 13 Mar 2018 12:36:19 +0000 (13:36 +0100)]
rust/smb: implement minimal record parsing in probing
Victor Julien [Tue, 13 Mar 2018 12:24:45 +0000 (13:24 +0100)]
rust/smb: improve protocol detection
Register both pattern based detection and probing parsers.
Victor Julien [Tue, 13 Mar 2018 12:10:42 +0000 (13:10 +0100)]
smb: add smb to default eve-log config
Victor Julien [Tue, 13 Mar 2018 07:05:03 +0000 (08:05 +0100)]
smb2: break out ioctl handling
Victor Julien [Mon, 12 Mar 2018 20:05:07 +0000 (21:05 +0100)]
smb2: parse async records
Victor Julien [Mon, 12 Mar 2018 20:04:54 +0000 (21:04 +0100)]
smb2: add ioctl transactions to log the funcs
Victor Julien [Mon, 12 Mar 2018 17:09:12 +0000 (18:09 +0100)]
smb2: map ioctl funcs to names
List is based on Wireshark's list.
Victor Julien [Mon, 12 Mar 2018 13:32:08 +0000 (14:32 +0100)]
smb: use formal MS names for disposition
Victor Julien [Mon, 12 Mar 2018 13:31:49 +0000 (14:31 +0100)]
smb: disable debug output