Logstash¶
Вебмониторэкс может отправлять данные об обнаруженных событиях в сборщик логов Logstash. Для этого необходимо настроить соответствующую интеграцию в Консоли управления Вебмониторэкс.
В Logstash можно отправлять данные о следующих типах событий:
-  Обнаружен хит, за исключением: - Экспериментального хита, обнаруженного на основе регулярного выражения. Хиты без метки Экспериментально учитываются.
- Хита, не включенного в выборку при семплировании.
 
-  Системные события: добавленные пользователи, удаленные и отключенные интеграции 
-  Обнаружена уязвимость 
-  Изменения сетевого периметра: обновления в списке доменов, IP‑адресов, сервисов 
Формат уведомлений¶
Уведомления о событиях отправляются в Logstash через вебхуки в формате JSON. Набор объектов в JSON зависит от события, для которого отправлено уведомление.
Пример уведомления о новом хите:
[
    {
        "summary": "[Вебмониторэкс] Обнаружен новый хит",
        "details": {
        "client_name": "TestCompany",
        "cloud": "RU",
        "notification_type": "new_hits",
        "hit": {
            "domain": "www.example.com",
            "heur_distance": 0.01111,
            "method": "POST",
            "parameter": "SOME_value",
            "path": "/news/some_path",
            "payloads": [
                "say ni"
            ],
            "point": [
                "post"
            ],
            "probability": 0.01,
            "remote_country": "PL",
            "remote_port": 0,
            "remote_addr4": "8.8.8.8",
            "remote_addr6": "",
            "tor": "none",
            "request_time": 1603834606,
            "create_time": 1603834608,
            "response_len": 14,
            "response_status": 200,
            "response_time": 5,
            "stamps": [
                1111
            ],
            "regex": [],
            "stamps_hash": -22222,
            "regex_hash": -33333,
            "type": "sqli",
            "block_status": "monitored",
            "id": [
                "hits_production_999_202010_v_1",
                "c2dd33831a13be0d_AC9"
            ],
            "object_type": "hit",
            "anomaly": 0
            }
        }
    }
]
Требования¶
Конфигурация Logstash должна соответствовать следующим требованиям:
-  Принимать POST- или PUT-запросы 
-  Принимать запросы по протоколу HTTPS 
-  Иметь публичный URL 
Пример конфигурации Logstash:
| 1 2 3 4 5 6 7 8 9 10 11 12 |  | 
Подробнее в официальной документации Logstash
Настройка интеграции¶
-  Перейдите в Консоль управления Вебмониторэкс → Настройки → Интеграции и откройте окно настройки интеграции с Logstash. 
-  Введите имя интеграции. 
-  Введите Logstash URL (Webhook URL), на который необходимо отправлять уведомления. 
-  Если требуется, задайте дополнительные настройки: - Тип запроса: POSTилиPUT. По умолчанию отправляются POST-запросы.
- Заголовок запроса и значение, если для запроса к серверу с указанным адресом требуется передать нестандартный заголовок. Количество заголовков не ограничено.
- Корневой сертификат, который был использован для подписи TLS-сертификата сервера. Если корневой сертификат выдан доверенным центром, это поле опционально. Если TLS-сертификат сервера самоподписанный, необходимо загрузить корневой сертификат, который был использован для подписи TLS-сертификата.
- Проверить TLS-сертификат: данная настройка позволяет отключить проверку TLS‑сертификата сервера с указанным адресом. По умолчанию Вебмониторэкс проверяет, что TLS-сертификат сервера подписан доверенным центром сертификации. Мы не рекомендуем отключать проверку. Если ваш сервер использует самоподписанный TLS-сертификат, для успешной проверки вам необходимо загрузить самоподписанный корневой сертификат.
- Время ожидания ответа, сек: если сервер не отвечает на запрос в течение указанного времени, запрос завершается с ошибкой. По умолчанию: 15 секунд.
- Время ожидания соединения, сек: если в течение указанного времени не удается установить соединение с сервером, запрос завершается с ошибкой. По умолчанию: 20 секунд.
 
- Тип запроса: 
-  Выберите типы событий, которые необходимо логировать. Если события не выбраны, уведомления не отправляются. 
-  Протестируйте интеграцию и убедитесь в корректности настроек. 
-  Нажмите Добавить интеграцию. 
Тестирование интеграции¶
Тестирование интеграции позволяет проверить корректность настроек, соединение с Вычислительным кластером Вебмониторэкс и формат уведомлений о событиях. Чтобы протестировать интеграцию, вы можете использовать кнопку Протестировать в окне создания и редактирования интеграции.
Тестирование интеграции выполняется следующим образом:
-  В выбранную систему отправляются тестовые уведомления с префиксом [Тестовое сообщение].
-  Тестовые уведомления отправляются для всех событий, которые доступны для выбранной системы. Если в карточке интеграции доступны 3 типа событий, в выбранную систему придет 3 уведомления. Для типа событий Системные события отправляется тестовое уведомление о добавлении нового пользователя. 
-  В тестовых уведомлениях не используются реальные данные. 
Пример записи в логах Logstash:
[
    {
        summary:"[Тестовое сообщение] [Вебмониторэкс] Обнаружена новая уязвимость",
        description:"Тип события: vuln
                    В вашей системе обнаружена новая уязвимость.
                    ID: 
                    Название: Test
                    Домен: example.com
                    Путь: 
                    Метод: 
                    Источник: 
                    Параметры: 
                    Тип: Info
                    Уровень риска: Medium
                    Подробнее: https://my.webmonitorx.ru/object/555
                    Клиент: TestCompany
                    Вычислительный кластер: RU
                    ",
        details:{
            client_name:"TestCompany",
            cloud:"RU",
            notification_type:"vuln",
            vuln_link:"https://my.webmonitorx.ru/object/555",
            vuln:{
                domain:"example.com",
                id:null,
                method:null,
                parameter:null,
                path:null,
                title:"Test",
                discovered_by:null,
                threat:"Medium",
                type:"Info"
            }
        }
    }
]
Редактирование интеграции¶
Чтобы обновить настройки интеграции:
-  Перейдите в Консоль управления Вебмониторэкс → Настройки → Интеграции. 
-  Откройте интеграцию. 
-  Обновите настройки интеграции и нажмите Сохранить. 
Отключение интеграции¶
Чтобы временно остановить отправку отчетов безопасности и уведомлений, вы можете отключить интеграцию:
-  Перейдите в Консоль управления Вебмониторэкс → Настройки → Интеграции. 
-  Откройте активную интеграцию и нажмите Отключить. 
Отключение интеграции является системным событием. Если вы получаете уведомления о системных событиях, в настроенные системы поступят сообщения об удаленной интеграции.
Для повторного включения отчетов безопасности и уведомлений откройте отключенную интеграцию и нажмите Включить.
Удаление интеграции¶
Чтобы навсегда остановить отправку отчетов безопасности и уведомлений, вы можете удалить интеграцию. Удаление интеграции невозможно отменить. Интеграция исчезнет из общего списка навсегда.
-  Перейдите в Консоль управления Вебмониторэкс → Настройки → Интеграции. 
-  Откройте интеграцию и нажмите Удалить. 
-  Подтвердите действие. 
Удаление интеграции является системным событием. Если вы получаете уведомления о системных событиях, в настроенные системы поступят сообщения об удаленной интеграции.
Интеграция с Logstash как с промежуточным коллектором логов¶
Схема логирования событий в комплексных системах может состоять из нескольких компонентов, например:
-  Коллектор логов: принимает логи от нескольких источников и выгружает логи в SIEM-систему. 
-  SIEM-система или другая система управления логами: используется для анализа логов и мониторинга состояния системы. 
Например:
Чтобы логировать события Вебмониторэкс таким образом, необходимо:
-  Настроить коллектор логов для чтения входящих вебхуков и выгрузки логов в следующую систему. Вебмониторэкс отправляет события в коллектор логов через вебхуки. 
-  Настроить SIEM-систему для получения и чтения логов от коллектора. 
-  Настроить интеграцию Вебмониторэкс с коллектором логов. Вебмониторэкс может отправлять логи в любой коллектор через вебхуки. Для интеграции с коллектором Fluentd или Logstash, в Консоли управления есть отдельные вкладки. Для интеграции с другими коллекторами, в Консоли управления доступна webhook-интеграция. 
Мы подготовили примеры интеграций с несколькими SIEM-системами, где в качестве промежуточного коллектора логов используется Logstash:
-  Вебмониторэкс → Logstash → Datadog Вебмониторэкс также поддерживает нативную интеграцию с Datadog через Datadog API, без промежуточного коллектора логов. 

