mirror of https://github.com/MISP/misp-dashboard
Merge remote-tracking branch 'origin/master' into HEAD
commit
ca75838896
|
@ -135,6 +135,10 @@ optional arguments:
|
||||||
a soft method to delete only keys used by MISP-Dashboard.
|
a soft method to delete only keys used by MISP-Dashboard.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Notes about ZMQ
|
||||||
|
The misp-dashboard being stateless in regards to MISP, it can only process data that it received. Meaning that if your MISP is not publishing all notifications to its ZMQ, the misp-dashboard will not have them.
|
||||||
|
|
||||||
|
The most revelant example could be the user login punchcard. If your MISP doesn't have the option ``Plugin.ZeroMQ_audit_notifications_enable`` set to ``true``, the punchcard will be empty.
|
||||||
|
|
||||||
# zmq_subscriber options
|
# zmq_subscriber options
|
||||||
```usage: zmq_subscriber.py [-h] [-n ZMQNAME] [-u ZMQURL]
|
```usage: zmq_subscriber.py [-h] [-n ZMQNAME] [-u ZMQURL]
|
||||||
|
|
|
@ -62,6 +62,7 @@ tcp-backlog 511
|
||||||
#
|
#
|
||||||
# bind 192.168.1.100 10.0.0.1
|
# bind 192.168.1.100 10.0.0.1
|
||||||
# bind 127.0.0.1
|
# bind 127.0.0.1
|
||||||
|
bind 127.0.0.1 ::1
|
||||||
|
|
||||||
# Specify the path for the Unix socket that will be used to listen for
|
# Specify the path for the Unix socket that will be used to listen for
|
||||||
# incoming connections. There is no default, so Redis will not listen
|
# incoming connections. There is no default, so Redis will not listen
|
||||||
|
|
|
@ -79,6 +79,11 @@ function updateDatePunch(ignore1, igonre2, org) { //date picker sets ( String da
|
||||||
punchcardWidget.refresh();
|
punchcardWidget.refresh();
|
||||||
highlight_punchDay();
|
highlight_punchDay();
|
||||||
} else {
|
} else {
|
||||||
|
var data_max = Math.max.apply(Math, data.flat());
|
||||||
|
if (data_max === 0) { // no data, MISP's audit notification could be disabled
|
||||||
|
$('#punchcard').text('No login or MISP\'s audit notification is disabled.');
|
||||||
|
} else {
|
||||||
|
$('#punchcard').empty();
|
||||||
punchcardWidget = $('#punchcard').punchcard({
|
punchcardWidget = $('#punchcard').punchcard({
|
||||||
data: data,
|
data: data,
|
||||||
singular: 'login',
|
singular: 'login',
|
||||||
|
@ -89,6 +94,7 @@ function updateDatePunch(ignore1, igonre2, org) { //date picker sets ( String da
|
||||||
punchcardWidget = punchcardWidget.data("plugin_" + "punchcard");
|
punchcardWidget = punchcardWidget.data("plugin_" + "punchcard");
|
||||||
highlight_punchDay();
|
highlight_punchDay();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function updateDatePieOrg() {
|
function updateDatePieOrg() {
|
||||||
|
|
|
@ -159,11 +159,8 @@ def handler_event(zmq_name, jsonobj):
|
||||||
timestamp = jsonevent['timestamp']
|
timestamp = jsonevent['timestamp']
|
||||||
trendings_helper.addTrendingEvent(eventName, timestamp)
|
trendings_helper.addTrendingEvent(eventName, timestamp)
|
||||||
tags = []
|
tags = []
|
||||||
for tag in jsonobj.get('EventTag', []):
|
for tag in jsonevent.get('Tag', []):
|
||||||
try:
|
tags.append(tag)
|
||||||
tags.append(tag['Tag'])
|
|
||||||
except KeyError:
|
|
||||||
pass
|
|
||||||
trendings_helper.addTrendingTags(tags, timestamp)
|
trendings_helper.addTrendingTags(tags, timestamp)
|
||||||
|
|
||||||
#redirect to handler_attribute
|
#redirect to handler_attribute
|
||||||
|
@ -214,10 +211,7 @@ def handler_attribute(zmq_name, jsonobj, hasAlreadyBeenContributed=False, parent
|
||||||
trendings_helper.addTrendingCateg(categName, timestamp)
|
trendings_helper.addTrendingCateg(categName, timestamp)
|
||||||
tags = []
|
tags = []
|
||||||
for tag in jsonattr.get('Tag', []):
|
for tag in jsonattr.get('Tag', []):
|
||||||
try:
|
|
||||||
tags.append(tag)
|
tags.append(tag)
|
||||||
except KeyError:
|
|
||||||
pass
|
|
||||||
trendings_helper.addTrendingTags(tags, timestamp)
|
trendings_helper.addTrendingTags(tags, timestamp)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue