
Панель мониторинга в реальном времени для обзора данных об угрозах из экземпляров MISP
Панель управления, отображающая живые данные и статистику из ZMQ-каналов одного или нескольких экземпляров MISP.
Эта панель может использоваться как инструмент осведомленности о ситуации в реальном времени для сбора информации об угрозах.
misp-dashboard включает инструмент геймификации для отображения вклада каждой организации и их рейтинга с течением времени.
Панель может использоваться SOC (Центрами управления безопасностью), командами безопасности или во время киберучений для отслеживания того, что обрабатывается на ваших различных экземплярах MISP.


Показывает:
Включает:



Перед установкой учтите, что поддерживаются только открытые Unix-подобные операционные системы, такие как Linux и другие.
./install_dependencies.sh из директории MISP-Dashboard (идемпотентно-ish)config.cfg, чтобы он соответствовал вашей системе
./install_dependencies.sh для загрузки новых необходимых зависимостейconfig.cfg, сравнив возможные изменения в config.cfg.default⚠️ Убедитесь, что не запущены скрипты 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 и получат доступ, если в Настройках пользователя dashboard_access установлено в 1 для учетной записи пользователя MISP.
Отладка — это весело и дает больше подробностей о том, что происходит при сбоях. Имейте в виду, что запуск Flask в режиме отладки НЕ подходит для продакшена, он перебросит вас в оболочку Python, если включен, для дальнейшего изучения.
Перед запуском ./server.py выполните:
export FLASK_DEBUG=1
export FLASK_APP=server.py
flask run --host=0.0.0.0 --port=8001 # <- Be careful here, this exposes it on ALL ip addresses. Ideally if run locally --host=127.0.0.1
ИЛИ просто переключите флаг отладки в start_all.sh или config.cfg.
Счастливого хака ;)
Чтобы перезапустить с нуля и очистить все данные с панели, вы можете использовать специальный скрипт очистки clean.py
Clean data stored in the redis server specified in the configuration file
optional arguments:
-h, --help show this help message and exit
-b, --brutal Perfom a FLUSHALL on the redis database. If not set, will use
a soft method to delete only keys used by MISP-Dashboard.
misp-dashboard не имеет состояния относительно MISP, он может обрабатывать только полученные данные. Это означает, что если ваш MISP не публикует все уведомления в свой ZMQ, misp-dashboard их не получит.
Наиболее ярким примером может быть карточка входа пользователя. Если в вашем MISP не установлена опция Plugin.ZeroMQ_audit_notifications_enable в true, карточка будет пустой.
Когда misp-dashboard не показывает результаты, сначала проверьте, правильно ли установлен модуль zmq в MISP.
В Администрирование, Настройки плагинов, ZeroMQ проверьте, что Plugin.ZeroMQ_enable установлено в True.
Опубликуйте тестовое событие из MISP в ZMQ через Действия с событиями, Опубликовать событие в 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
A zmq subscriber. It subscribe to a ZMQ then redispatch it to the MISP-dashboard
optional arguments:
-h, --help show this help message and exit
-n ZMQNAME, --name ZMQNAME
The ZMQ feed name
-u ZMQURL, --url ZMQURL
The URL to connect to
Установите Apache mod-wsgi для Python3
sudo apt-get install libapache2-mod-wsgi-py3
Предостережение: Если у вас уже установлен mod-wsgi для Python2, он будет заменен!
The following packages will be REMOVED:
libapache2-mod-wsgi
The following NEW packages will be installed:
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>
Copyright (C) 2017-2021 CIRCL - Computer Incident Response Center Luxembourg (c/o smile, security made in Lëtzebuerg, Groupement d'Intérêt Economique)
Copyright (c) 2017-2020 Sami Mokaddem
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <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 - Без ограничений)