«Привет, у вас новый инцидент!» или зачем мы написали SIEM-чатбота для MaxPatrol
Привет, Хабр! Меня зовут Кирилл Орлов, я CISO Oxygen Data Centers & Clouds и эта статья посвящена SIEM — очень актуальной на сегодня теме. По мере того как сервисы российских компаний продолжают активно атаковать из разных уголков мира, использование разнообразных средств защиты становится необходимостью и SIEM — одно из них. В этом посте я поделюсь с вами нашим опытом внедрения MaxPatrol (MP): расскажу, как удобно настроить защиту разных сегментов инфраструктур на базе этого решения, объясню, зачем мы сделали своего чат-бота, и расскажу, как вы можете использовать этого бота в своих целях.
Мы в Oxygen уже не первый год работаем с решением MaxPatrol от компании Positive Technologies, ведь PT — наш давний и надежный партнер. MaxPatrol анализирует потоки данных из разных источников, прогоняет их через фильтры, находит следы атак и компрометаций. Если у вас огромная инфраструктура — без подобного инструмента не обойтись, иначе можно пропустить первые признаки каких-то угроз. А потом будет уже поздно.
О том, как устроена эта система, сказано уже много не только в рунете в целом, но и на Хабре в частности. Поэтому сегодня я расскажу о другом. А именно — об особенностях работы с SIEM в облаке.
MaxPatrol позволяет развернуть мониторинг сразу нескольких процессов из единой консоли.
MP SIEM — это система мониторинга логов, которая помогает следить за процессами по происходящим инцидентам. А MP VM — это система поиска уязвимостей и управления ими.
Благодаря тому, что решения интегрированы между собой, MaxPatrol позволяет свести все события в одном интерфейсе: регистрировать события, сканировать уязвимости, актуализировать данные. Видно, что устарело, что требует замены, а какие неприятности уже были устранены.
Вот как показаны советы по устранению уязвимостей (на базе MP VM):
Вот как это выглядит, если условный Вася Пупкин подбирает пароль (на базе MP SIEM):
Облачные тонкости
Нам необходимо вести активный мониторинг сетевого оборудования, серверов, приложений, рабочих станций и СУБД. Кроме этого в виртуальной инфраструктуре происходит контроль доменов, почтовых систем, сервисов VDI, средств защиты. Все они генерируют большой объем логов (событий), который нужно анализировать не только по параметрам (доступность, нагрузка) —, но и ИБ.
Чтобы обеспечить все задачи наблюдения за объектами с точки зрения ИБ мы используем отдельных агентов сбора данных для каждой инфраструктуры. А учитывая, что Oxygen — это облачный провайдер, инфраструктур заказчиков у нас много и все они работают изолированно.
Агенты размещаются в разных сегментах как можно ближе к источникам. Они осуществляют первичную фильтрацию и уже затем передают события в MP SIEM. Благодаря этому события на целевых устройствах не теряются и передаются в MP SIEM для централизованного анализа. Также агенты проводят аудит активов на уязвимости и соответствие конфигураций требованиям ИБ.
MP SIEM совместима со многими источниками событий. Если все же получится, что интеграция с каким-то источником событий не заявлена, это можно реализовать и написать правила нормализации. Мы это сделали, например, для vEDGE. Кроме этого необходимо отслеживать, какие пользователи заходят (или пытаются зайти) на сервисы. Для этого на базе MaxPatrol создается актив пользователей. Каждый адрес клиента фиксируется как постоянный участник обмена данными и мы можем обогатить информацию об активе — кто это, что он делает, с какого хоста, какой у него MAC-адрес и так далее.
Такой подход позволяет сделать работу прозрачнее и безопаснее. Но самое приятное, что мы можем предоставлять одновременно средства мониторинга логов и систему выявления и устранения уязвимостей в общем пакете решений для обеспечения безопасности (по принципу MSSP). То есть все это можно получить по подписке, причем сразу с поддержкой и возможностью дальнейшего расширения.
Но нам, разумеется, всегда мало!
Все это отлично, но нам кое-чего не хватало. А именно — оперативного оповещения о инцидентах. Как вы поняли из текста выше, мы мониторим огромное количество ресурсов, объектов и прочих вещей. И чтобы своевременно реагировать на события, которые происходят в нашей инфраструктуре или у клиентов Oxygen, необходима постоянная погруженность в процесс.
Что для этого можно сделать? Можно, например, приклеить несколько человек к экрану с главной консолью MaxPatrol, чтобы они непрерывно следил за происходящим. Но это неудобно — вдруг кто-то уснет или захочет есть и пропустит что-то важное…
Поэтому мы силами команды Oxygen написали Telegram-бота, который оповещает неограниченный спектр людей о событиях, происходящих в инфраструктуре.
Механика работы бота проста: раз в 15 секунд он обращается к SIEM за новыми инцидентами. Если они там есть, бот отправляет уведомления лицам, которые прописаны в настройках.
Запустить бота можно на любом хосте, у которого есть доступ к MaxPatrol, или развернуть прямо на том же на сервере. А для того, чтобы не допустить провокаций, при добавлении новых пользователей предусмотрена небольшая модерация — если в бота постучится новый человек, об этом придет информация администратору, который и решает, пустить гостя или нет. А можно вообще ограничить подключения новичков в настройках.
При получении нового инцидента бот собирает параметры события, показывает дату, код, время. Выглядит все это вот так:
Полезен внутри и снаружи
Вообще ситуация интересна еще и тем, что мы используем SIEM как для собственных нужд (чтобы обеспечить заявленный уровень безопасности облачных сред и соответствие требованиям ФЗ), так и для заказчиков, предоставляя MaxPatrol как сервис по подписке.
Архитектура системы позволяет сделать индивидуальные настройки на каждом из хостов, а подписочная модель покупки снижает стоимость SIEM для развернутых в Oxygen инфраструктурах. Так мы можем провести деплой, встроить SIEM и гарантировать его работу для пользователей впоследствии.
Планы и доработка
В дальнейшем мы планируем продолжить развитие чат-бота, чтобы он позволил нам собирать, анализировать и предоставлять данные обо всех инцидентах информационной безопасности и управлять ими. Через чат-бота можно оперативно сообщать стейкхолдерам обо всем, что происходит. Так что мы продолжим развивать это направление.
Чтобы было красиво…
Другой вопрос — это создание веб-приложения на базе уже отработанных процессов. Наличие простого и интуитивно понятного интерфейса — краеугольный камень UE (User Experience), а значит утилитой будут пользоваться!
Сейчас мы работаем над тем, чтобы спроектировать удобный и легко воспринимаемый интерфейс для конечных пользователей — то есть первой линии мониторинга Security Operation Center, специалистов по ИБ и так далее.
Планируется, что пользователь будет авторизоваться в веб-приложении по логину и паролю, которые выдает чат-бот. В личном кабинете можно изменить пароль и выйти и работать с инцидентами через графический интерфейс — фильтровать их, сортировать, изучать и комментировать.
Чтобы было быстро…
Поскольку утилитой сегодня пользуются все более активно, чат-бот SIEM стал важной частью нашей экосистемы. И сейчас мы работаем над развитием бэкенда с возможностью масштабирования и повышенной стабильностью и эффективное управление данными.
Также мы решили создать резервное хранение сведений об инцидентах информационной безопасности (отчужденное от самой системы мониторинга).
Чтобы было удобно…
Мы работаем над расширенной системой авторизации и администрирования. Для этого будут созданы:
система приглашений для новых пользователей, чтобы можно было добавить стейкхолдера просто по ссылке;
система конфигурирования для администратора, в которой он может настраивать время логаута пользователей, отправлять приглашения, включать определенные уведомления для каждого пользователя и так далее;
панель управления пользователями, через которую можно будет:
просмотреть всех пользователей в удобном «книжном» формате;
точечно выдавать новые пароли, закрывать сессии, удалять пользователей.
панель инцидентов, которая позволит:
получать краткую информацию об инцидентах в формате книги — с перелистыванием, настройками и прочими удобными функциями;
настраивать фильтрацию инцидентов (по статусу и уровню угрозы, по новизне и так далее);
изучать типы инцидентов в виде лога событий, получать истории изменений, мониторить статус и комментировать инциденты.
Присоединяйтесь!
А пока мы работаем над расширением функционала, вы можете скачать исходники бота с GitHub и допилить его чем-то полезным. В любом случае, надеюсь, наша доработка поможет и вам спокойно пить кофе, не дергаясь к главной консоли, чтобы проверить инциденты. ;)
Работали ли вы с MaxPatrol? Был ли у вас опыт взаимодействия с SIEM? Расскажите об этом в комментариях к статье! Про опыт использования нашего бота тоже обязательно расскажите
Спасибо за уделенное статье время и до новых встреч! Подписывайтесь на ТГ-канал Oxygen, там мы пишем про ИБ, облака и другие интересные штуки.