7 инструментов для мониторинга безопасности облачных систем
Это — перевод статьи, где детально рассмотрены 7 опенсорсных инструментов для мониторинга. Делимся им с вами и желаем приятного чтения!
1. Osquery
Osquery — это система для низкоуровневого мониторинга и анализа операционных систем. Она даёт специалистам-безопасникам проводить сложные исследования данных с использованием SQL. Фреймворк Osquery может работать на Linux, macOS, Windows и FreeBSD.
Выглядит он как высокопроизводительная реляционная база данных, а это позволяет безопасникам исследовать ОС выполнением SQL-запросов. Например, с помощью запроса можно узнать о выполняющихся процессах, загруженных модулях ядра, открытых сетевых соединениях, установленных расширениях браузера, аппаратных событиях и хэш-суммах файлов.
Osquery создан Facebook. Его код открыли в 2014 году, когда компания поняла, что в таких инструментах нуждается не только Facebook. С тех пор Osquery пользуются специалисты из таких компаний, как Dactiv, Google, Kolide, Trail of Bits, Uptycs и из многих других. Недавно стало известно, что Linux Foundation и Facebook сформируют фонд поддержки Osquery.
Демон мониторинга хостов Osquery называется osqueryd. Он помогает планировать выполнение запросов для сбора данных со всей инфраструктуры организации. Демон собирает результаты запросов и создаёт журналы, которые отражают изменение состояния инфраструктуры. Так безопасники остаются в курсе состояния дел в системе, что особенно полезно для выявления аномалий.
Возможности Osquery по агрегации журналов используют для облегчения поиска известных и неизвестных вредоносных программ. Ещё система полезна для выявления мест проникновения злоумышленников в систему и для поиска установленных ими программ. Вот материал, в котором можно найти подробности об обнаружении аномалий с помощью Osquery.
2. GoAudit
Система аудита Linux состоит из двух основных компонентов. Первый — это код уровня ядра, предназначенный для перехвата и мониторинга системных вызовов. Второй — это демон auditd, работающий в пользовательском пространстве. Он отвечает за запись на диск результатов аудита.
GoAudit — система от Slack, выпущенная в 2016 году. Сделана она на замену auditd. В ней больше возможностей логирования: GoAudit конвертирует многострочные сообщения о событиях в единые BLOB-объекты JSON, что упрощает анализ.
Благодаря GoAudit можно напрямую обращаться к механизмам уровня ядра по сети. Кроме того, можно включить минимальную фильтрацию событий на самом хосте или полностью отключить фильтрацию.
GoAudit не только обеспечивает безопасность. Этот инструмент задуман как многофункциональное средство для специалистов, занимающихся поддержкой систем или разработкой. Он помогает бороться с проблемами в крупномасштабных инфраструктурах.
Система GoAudit написана на Golang. Перед установкой GoAudit проверьте, чтобы имеющаяся у вас версия Golang была выше 1.7.
3. Grapl
Проект Grapl (Graph Analytics Platform) перевели в опенсорс в марте прошлого года. Это сравнительно новая платформа для обнаружения проблем с безопасностью, проведения экспертизы и для формирования отчётов о происшествиях.
Атакующие часто пользуются чем-то вроде модели графа, получая контроль над отдельной системой и исследуя другие сетевые системы на основе первой взломанной. Не удивительно, что и безопасники используют механизм на основе модели графа связей сетевых систем, который учитывает особенности отношений между системами. В Grapl выявляют инциденты и реагируют на них на основе модели графа, а не на модели журнала.
Инструмент Grapl принимает журналы, имеющие отношение к безопасности (логи Sysmon или логи в формате JSON) и конвертирует их в подграфы, определяя идентификационную информацию для каждого узла. После этого он объединяет подграфы в общий граф (Master Graph) с действиями, выполненными в анализируемых окружениях.
Затем Grapl запускает на графе анализаторы (Analyzers) с «сигнатурами атакующего» для выявления аномалий и подозрительных паттернов. Когда анализатор выявляет подозрительный подграф, Grapl генерирует конструкт Engagement, нужный для проведения расследований. Engagement — это Python-класс, который можно загрузить, например, в Jupyter Notebook, развёрнутый в AWS.
Ещё Grapl умеет увеличивать масштабы сбора информации для расследования инцидента через расширение графа. Если вы хотите лучше разобраться с Grapl, то можете посмотреть это интересное видео — запись выступления с BSides Las Vegas 2019.
4. OSSEC
OSSEC — проект, основанный в 2004 году. Это опенсорсная платформа мониторинга безопасности для анализа хостов и обнаружения вторжений. В год OSSEC загружают более 500000 раз.
Эту платформу часто используют как средство обнаружения вторжений на серверы. Причём речь идёт как о локальных, так и об облачных системах.
Ещё OSSEC используют как инструмент для исследования журналов мониторинга и анализа файрволов, систем обнаружения вторжений, веб-серверов, а также для изучения журналов аутентификации.
OSSEC комбинирует возможности хостовой системы обнаружения вторжений (HIDS) с системой управления инцидентами в сфере безопасности (SIM) и с системой управления информацией о безопасности и событиями безопасности (SIEM).
OSSEC мониторит целостность файлов в реальном времени. Это, например, мониторинг реестра Windows, обнаружение руткитов. Ещё он умеет оповещать заинтересованных лиц об обнаруженных проблемах в режиме реального времени и помогает оперативно реагировать на найденные угрозы. Эта платформа поддерживает Microsoft Windows и большинство современных Unix-подобных систем: Linux, FreeBSD, OpenBSD и Solaris.
Платформа OSSEC состоит из менеджера, используемого для получения и мониторинга информации от агентов — маленьких программ, установленных в системах, которые надо мониторить.
Поддержкой проекта OSSEC занимается компания Atomicorp. Она курирует бесплатную опенсорсную версию и предлагает расширенную коммерческую версию продукта. Вот подкаст, в котором менеджер проекта OSSEC рассказывает о свежей версии системы — OSSEC 3.0. Там же идёт речь об истории проекта и о том, чем он отличается от современных коммерческих систем в сфере компьютерной безопасности.
5. Suricata
Suricata — это опенсорсный проект, ориентированный на решение основных задач компьютерной безопасности. Проектом занимается Open Information Security Foundation (OISF). В состав Suricata входит система обнаружения вторжений, система предотвращения вторжений и инструмент для мониторинга сетевой безопасности.
Этот продукт появился в 2009 году. Его работа основана на том, что администратор может задавать правила для сетевого трафика. Если правило срабатывает, то Suricata генерирует уведомление, блокируя или разрывая подозрительное соединение.
Suricata поддерживает работу в многопоточном режиме. Это даёт быстро обрабатывать большое количества правил в сетях, по которым проходят большие объёмы трафика. Благодаря поддержке многопоточности обычный сервер может анализировать трафик на скорости в 10 Гбит/с. Администратору не нужно ограничивать используемые для анализа правила.
Ещё проект поддерживает хэширование и извлечение файлов. Полезна поддержка Lua-скриптов, с помощью которых можно создавать сложную и детализированную логику анализа сигнатур угроз.
Suricata можно настроить в расчёте на работу на обычных серверах или на виртуальных машинах, например, в AWS, с использованием недавно появившейся в продукте возможности traffic-monitoring.
6. Zeek (Bro)
Как и Suricata, Zeek (этот проект раньше назывался Bro) — это тоже система для обнаружения вторжений и инструмент для мониторинга сетевой безопасности, который может выявлять аномалии, такие, как подозрительные или опасные действия.
Zeek отличается от традиционных IDS тем, что, в отличие от систем, основанных на правилах, выявляющих исключения, Zeek ещё и захватывает метаданные, связанные с происходящим в сети. Делается это для того, чтобы лучше понять контекст необычного сетевого поведения. Это даёт, например, анализируя HTTP-вызов или процедуру обмена сертификатами безопасности, глянуть на протокол, на заголовки пакетов, на доменные имена.
Если рассматривать Zeek как инструмент сетевой безопасности, то он даёт специалисту провести расследование происшествия, узнав о том, что произошло до или во время инцидента. Zeek конвертирует данные о сетевом трафике в высокоуровневые события и даёт возможность работать с интерпретатором скриптов. Интерпретатор поддерживает язык программирования, используемый для организации взаимодействия с событиями и для выяснения того, что именно означают эти события в плане сетевой безопасности.
Язык программирования Zeek может использоваться для настройки интерпретации метаданных так, как нужно конкретной организации. Он позволяет строить сложные логические условия с использованием операторов AND, OR и NOT. Это даёт пользователям настраивать процедуру анализа их окружений. Правда, надо отметить, что, в сравнении с Suricata, Zeek может показаться достаточно сложным инструментом при проведении разведки угроз безопасности.
Если вас интересуют подробности о Zeek — обратитесь к этому видео.
7. Panther
Panther — это мощная, изначально ориентированная на работу в облаке платформа для организации непрерывного мониторинга безопасности. Она была переведена в разряд опенсорсных недавно. У истоков проекта стоит StreamAlert — решение для автоматизированного анализа журналов, код которого открыла компания Airbnb.
Panther даёт пользователю единую систему для централизованного обнаружения угроз во всех окружениях и для организации реакции на них. Эта система способна расти вместе с размером обслуживаемой инфраструктуры.
Обнаружение угроз организовано с помощью прозрачных правил. Это сделано для того, чтобы снизить процент ложноположительных срабатываний и снизить уровень ненужной нагрузки на специалистов по безопасности.
Среди основных возможностей Panther можно отметить следующие:
- Обнаружение неавторизованного доступа к ресурсам путём анализа журналов.
- Поиск угроз, реализованный через поиск в журналах показателей, указывающих на проблемы с безопасностью. Поиск проводится с использованием стандартизованных полей данных Panter.
- Проверка системы на соответствие стандартам SOC/PCI/HIPAA с использованием встроенных механизмов Panther.
- Защита облачных ресурсов благодаря автоматическому исправлению ошибок в конфигурировании, которые, если ими воспользуются злоумышленники, способны привести к возникновению серьёзных проблем.
Panther разворачивается в AWS-облаке организации с помощью AWS CloudFormation. Это позволяет пользователю всегда контролировать его данные.
Итоги
Мониторинг безопасности систем — это важнейшая задача в наши дни. В решении этой задачи компаниям любого масштаба могут помочь опенсорсные почти ничего не стоящие или бесплатные инструменты, дающие массу возможностей.