一个实时展示来自一个或多个MISP实例的ZMQ源数据和统计信息的仪表板。 该仪表板可作为实时态势感知工具,用于收集威胁情报信息。 misp-dashboard 包含一个游戏化工具,用于展示每个组织的贡献以及它们随时间的排名变化。 该仪表板可用于安全运营中心(SOC)、安全团队或在网络演习期间,跟踪您各个MISP实例上正在处理的内容。


显示:
包含:



安装前请注意,仅支持开源类Unix操作系统(如Linux等)。
./install_dependencies.sh(幂等性)config.cfg 以匹配您的系统
./install_dependencies.sh 以获取新的依赖项config.cfg.default 中的变化,重新更新您的配置文件 config.cfg⚠️ 确保没有正在运行的 zmq python3 脚本。它们会阻止更新。
+ virtualenv -p python3 DASHENV
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/steve/code/misp-dashboard/DASHENV/bin/python3
Traceback (most recent call last):
File "/usr/bin/virtualenv", line 9, in <module>
load_entry_point('virtualenv==15.0.1', 'console_scripts', 'virtualenv')()
File "/usr/lib/python3/dist-packages/virtualenv.py", line 719, in main
symlink=options.symlink)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 942, in create_environment
site_packages=site_packages, clear=clear, symlink=symlink))
File "/usr/lib/python3/dist-packages/virtualenv.py", line 1261, in install_python
shutil.copyfile(executable, py_executable)
File "/usr/lib/python3.5/shutil.py", line 115, in copyfile
with open(dst, 'wb') as fdst:
OSError: [Errno 26] Text file busy: '/home/steve/code/misp-dashboard/DASHENV/bin/python3'
./start_all.sh 或者 ./start_zmq.sh 和 ./server.py &⚠️ 不应以 root 身份运行。普通权限即可。
redis-server --port 6250. ./DASHENV/bin/activate./zmq_subscriber.py &./zmq_dispatcher.py &./server.py &http://localhost:8001/ 访问界面或者,您可以运行 start_all.sh 脚本来执行上述命令。
可以在 config/config.cfg 中通过设置 auth_enabled = True 启用认证。
用户将被要求登录 MISP,如果 MISP 用户账户的 User Setting 中 dashboard_access 设置为 1,则允许其访问。
调试很有趣,并且可以在出现问题时提供更多细节。 请记住,在生产环境中以调试模式运行 Flask 是不合适的,因为启用后它会将您带入 Python shell 以便进一步排查。
在运行 ./server.py 之前执行:
export FLASK_DEBUG=1
export FLASK_APP=server.py
flask run --host=0.0.0.0 --port=8001 # <- 这里请小心,这会将服务暴露在所有IP地址上。理想情况下,如果本地运行,使用 --host=127.0.0.1
或者,只需在 start_all.sh 或 config.cfg 中切换调试标志。
祝您使用愉快 ;)
要从零开始重启并清空仪表板中的所有数据,您可以使用专门的清理脚本 clean.py
清除配置文件中指定的 Redis 服务器中存储的数据
optional arguments:
-h, --help 显示此帮助信息并退出
-b, --brutal 对 Redis 数据库执行 FLUSHALL 操作。如果未设置,将使用
软删除方法,仅删除 MISP-Dashboard 使用的键。
misp-dashboard 相对于 MISP 是无状态的,它只能处理接收到的数据。这意味着如果您的 MISP 没有将所有通知发布到其 ZMQ,misp-dashboard 将无法获取这些数据。
最相关的例子可能是用户登录频率图。如果您的 MISP 没有将 Plugin.ZeroMQ_audit_notifications_enable 选项设置为 true,该频率图将为空。
当 misp-dashboard 不显示结果时,首先检查 MISP 中的 zmq 模块是否正确安装。
在 管理、插件设置、ZeroMQ 中,检查 Plugin.ZeroMQ_enable 是否设置为 True。
通过 事件操作、将事件发布到 ZMQ 从 MISP 发布一个测试事件到 ZMQ。
检查日志文件
${PATH_TO_MISP}/app/tmp/log/mispzmq.error.log
${PATH_TO_MISP}/app/tmp/log/mispzmq.log
如果出现错误 ModuleNotFoundError: No module named 'zmq',则安装 pyzmq。
$SUDO_WWW ${PATH_TO_MISP}/venv/bin/pip install pyzmq
一个 ZMQ 订阅者。它订阅一个 ZMQ,然后将其重新分发到 MISP-dashboard
optional arguments:
-h, --help 显示此帮助信息并退出
-n ZMQNAME, --name ZMQNAME
ZMQ 源名称
-u ZMQURL, --url ZMQURL
连接到的 URL
安装适用于 Python3 的 Apache mod-wsgi
sudo apt-get install libapache2-mod-wsgi-py3
注意:如果您已经安装了适用于 Python2 的 mod-wsgi,它将被替换!
将会移除以下软件包:
libapache2-mod-wsgi
将会安装以下新软件包:
libapache2-mod-wsgi-py3
配置文件 /etc/apache2/sites-available/misp-dashboard.conf 假设 misp-dashboard 已克隆到 /var/www/misp-dashboard。在此示例中,它以用户 misp 身份运行。请根据您的自定义文件夹和文件更改权限。
<VirtualHost *:8001>
ServerAdmin [email protected]
ServerName misp.local
DocumentRoot /var/www/misp-dashboard
WSGIDaemonProcess misp-dashboard \
user=misp group=misp \
python-home=/var/www/misp-dashboard/DASHENV \
processes=1 \
threads=15 \
maximum-requests=5000 \
listen-backlog=100 \
queue-timeout=45 \
socket-timeout=60 \
connect-timeout=15 \
request-timeout=60 \
inactivity-timeout=0 \
deadlock-timeout=60 \
graceful-timeout=15 \
eviction-timeout=0 \
shutdown-timeout=5 \
send-buffer-size=0 \
receive-buffer-size=0 \
header-buffer-size=0 \
response-buffer-size=0 \
server-metrics=Off
WSGIScriptAlias / /var/www/misp-dashboard/misp-dashboard.wsgi
<Directory /var/www/misp-dashboard>
WSGIProcessGroup misp-dashboard
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
LogLevel info
ErrorLog /var/log/apache2/misp-dashboard.local_error.log
CustomLog /var/log/apache2/misp-dashboard.local_access.log combined
ServerSignature Off
</VirtualHost>
版权所有 (C) 2017-2021 CIRCL - 计算机事件响应中心卢森堡(c/o smile, security made in Lëtzebuerg, Groupement d'Intérêt Economique)
版权所有 (c) 2017-2020 Sami Mokaddem
本程序是自由软件:您可以重新分发和/或修改
它,前提是遵守由自由软件基金会发布的 GNU Affero 通用公共许可证,
无论是许可证的第 3 版,还是(按您的选择)任何更高版本。
本程序的分发是希望它有用,
但没有任何担保;甚至没有适销性或特定用途的隐含担保。
详情请参阅 GNU Affero 通用公共许可证。
您应该已经收到了 GNU Affero 通用公共许可证的副本
随本程序一起。如果没有,请访问 <http://www.gnu.org/licenses/>。
图像和标志均为手动制作,用于:
请注意:
MISPHonorableIcons/1.svg 来源于 octicons.github.com(CC0 - 无保留权利)MISPHonorableIcons/2.svg 来源于 Zeptozephyr(CC0 - 无保留权利)MISPHonorableIcons/3.svg 来源于 octicons.github.com(CC0 - 无保留权利)MISPHonorableIcons/4.svg 来源于 Zeptozephyr 和 octicons.github.com(CC0 - 无保留权利)MISPHonorableIcons/5.svg 来源于 Zeptozephyr 和 octicons.github.com(CC0 - 无保留权利)