
Создавайте действенные данные из ваших сканирований уязвимостей

Создавайте действенные данные из ваших сканеров уязвимостей

VulnWhisperer — это инструмент управления уязвимостями и агрегатор отчетов. VulnWhisperer собирает все отчеты из различных сканеров уязвимостей, создает для каждого уникальное имя файла, а затем использует эти данные для синхронизации с Jira и передачи в Logstash. Jira выполняет полный цикл синхронизации с данными, полученными от сканеров, в то время как Logstash индексирует и помечает всю информацию внутри отчета (см. файлы logstash в /resources/elk6/pipeline/). Затем данные отправляются в ElasticSearch для индексации и отображаются в визуальном и поисковом формате в Kibana с уже готовыми дашбордами.
VulnWhisperer — это проект с открытым исходным кодом, финансируемый сообществом. VulnWhisperer работает, но требует обновления документации и ревизии кода. Это запланировано на ближайший месяц или два (ориентировочно февраль или март 2022 года). Обратите внимание: возможно краудфандинговое финансирование. Если вам нужна помощь в запуске VulnWhisperer, вы заинтересованы в новых функциях или ищете платную поддержку (для тех, кому нужны коммерческие контракты на поддержку для внедрения решений с открытым кодом), обращайтесь по адресу [email protected].
Нужна помощь или просто хотите пообщаться? Присоединяйтесь к нашему slack-каналу
Установка зависимостей пакетов ОС (на дистрибутивах на основе Debian, CentOS не требуется)
sudo apt-get install zlib1g-dev libxml2-dev libxslt1-dev
(Опционально) Используйте виртуальное окружение python virtualenv, чтобы не затрагивать системные библиотеки
virtualenv venv (создаст виртуальное окружение python 2.7)
source venv/bin/activate (запустить виртуальное окружение, теперь pip будет работать в нем и устанавливать библиотеки без sudo)
deactivate (выйти из виртуального окружения по завершении)
Установка зависимостей библиотек python
pip install -r /path/to/VulnWhisperer/requirements.txt
cd /path/to/VulnWhisperer
python setup.py install
(Опционально) Если используется прокси, добавьте URL прокси в переменную окружения PATH
export HTTP_PROXY=http://example.com:8080
export HTTPS_PROXY=http://example.com:8080
Теперь вы готовы загружать сканы. (см. раздел запуска)
Чтобы настроить VulnWhisperer, выполните несколько шагов:

Для запуска заполните конфигурационный файл настройками вашего сканера уязвимостей. Затем выполните из командной строки.
(опциональный флаг: -F -> добавляет "красивую" раскраску логов, удобно для понимания при ручном запуске VulnWhisperer)
vuln_whisperer -c configs/frameworks_example.ini -s nessus
или
vuln_whisperer -c configs/frameworks_example.ini -s qualys
Если раздел не указан (например, -s nessus), vulnwhisperer проверит конфигурационный файл на наличие модулей со свойством enabled=true и выполнит их последовательно.

ELK — это целый мир сам по себе, и для новичков на платформе требуются базовые навыки Linux и обычно немного отладки, прежде чем все заработает как надо. Поскольку мы не можем оказывать поддержку каждому пользователю по проблемам с ELK, мы собрали docker-compose, который включает:
Для docker-compose требуется только указать пути, где будут сохраняться данные VulnWhisperer и где находятся конфигурационные файлы. Если запустить сразу после git clone, просто добавив конфигурацию сканера в конфигурационный файл VulnWhisperer (/resources/elk6/vulnwhisperer.ini), он будет работать «из коробки».
Он также автоматически загружает дашборды и визуализации Kibana через API, что в противном случае нужно делать вручную при запуске Kibana.
Дополнительную информацию о docker-compose можно найти в wiki docker-compose или FAQ.
Наш текущий план развития выглядит следующим образом:
Кроме того, мы стараемся как можно быстрее исправлять ошибки, что может замедлить разработку. Мы также приветствуем PR, и как только мы внедрим новый стандарт, будет очень легко добавить совместимость с новыми сканерами.
Стандарт уязвимостей изначально будет представлять собой новый простой JSON одного уровня, содержащий всю информацию, которая совпадает у разных сканеров, с стандартизированными именами переменных, при этом остальные переменные останутся без изменений. В будущем, когда все будет реализовано, мы рассмотрим возможность перехода на существующий стандарт, такой как ECS или AWS Vulnerability Schema; мы ставим функциональность выше идеала.