Широкое распространение облачных вычислений помогает компаниям в масштабировании бизнеса. Но применение новых платформ означает и появление новых угроз. Поддержка внутри организации собственной команды, отвечающий за мониторинг безопасности облачных служб, это дело непростое. Существующие инструменты мониторинга дороги и медленны. Ими, в какой-то степени, тяжело управлять в том случае, если нужно обеспечить безопасность крупномасштабной облачной инфраструктуры. Компаниям, для того, чтобы поддерживать свою облачную безопасность на высоком уровне, нужны мощные, гибкие и понятные инструменты, возможности которых превышают возможности того, что было доступно раньше. Именно тут оказываются очень кстати опенсорсные технологии, которые помогают экономить бюджеты на безопасность и создаются силами специалистов, знающих толк в своём деле.
![](https://habrastorage.org/r/w780q1/webt/vl/sr/sv/vlsrsvoaee4tg4uvb5jy3lzjqvi.jpeg)
В статье, перевод которой мы сегодня публикуем, представлен обзор 7 опенсорсных инструментов для мониторинга безопасности облачных систем. Эти инструменты предназначены для защиты от хакеров и киберпреступников путём детектирования аномалий и небезопасных действий.
Osquery — это система для низкоуровневого мониторинга и анализа операционных систем, которая позволяет специалистам в области безопасности проводить сложные исследования данных с использованием SQL. Фреймворк Osquery может работать на Linux, macOS, Windows и FreeBSD. Он представляет операционную систему (ОС) в виде высокопроизводительной реляционной базы данных. Это позволяет специалистам по безопасности исследовать ОС путём выполнения SQL-запросов. Например, с помощью запроса можно узнать о выполняющихся процессах, о загруженных модулях ядра, об открытых сетевых соединениях, об установленных расширениях браузера, об аппаратных событиях, о хэш-суммах файлов.
Фреймворк Osquery создан Facebook. Его код был открыт в 2014 году, после того, как компания поняла, что в инструментах для наблюдения за низкоуровневыми механизмами операционных систем нуждается не только она сама. С тех пор Osquery пользуются специалисты из таких компаний, как Dactiv, Google, Kolide, Trail of Bits, Uptycs, да и из многих других. Недавно было объявлено о том, что Linux Foundation и Facebook собираются сформировать фонд поддержки Osquery.
Демон мониторинга хостов Osquery, называемый osqueryd, позволяет планировать выполнение запросов, направленных на сбор данных со всей инфраструктуры организации. Демон собирает результаты запросов и создаёт журналы, которые отражают изменение состояния инфраструктуры. Это может помочь специалистам по безопасности быть в курсе состояния дел в системе и особенно полезно для выявления аномалий. Возможности Osquery по агрегации журналов можно использовать для облегчения поиска известных и неизвестных вредоносных программ, а также для выявления мест проникновения злоумышленников в систему и для поиска установленных ими программ. Вот материал, в котором можно найти подробности об обнаружении аномалий с помощью Osquery.
Система аудита Linux состоит из двух основных компонентов. Первый — это некий код уровня ядра, предназначенный для перехвата и мониторинга системных вызовов. Второй компонент — это демон, работающий в пользовательском пространстве, называемый auditd. Он отвечает за запись на диск результатов аудита. GoAudit, система, созданная компанией Slack и выпущенная в 2016 году, предназначена для замены auditd. Она имеет улучшенные возможности по логированию благодаря тому, что конвертирует многострочные сообщения о событиях, генерируемые системой аудита Linux, в единые BLOB-объекты JSON, что упрощает анализ. Благодаря GoAudit можно напрямую обращаться к механизмам уровня ядра по сети. Кроме того, можно включить минимальную фильтрацию событий на самом хосте (или полностью отключить фильтрацию). При этом GoAudit — это проект, рассчитанный не только на обеспечение безопасности. Этот инструмент задуман как многофункциональное средство для специалистов, занимающихся поддержкой систем или разработкой. Он помогает бороться с проблемами в крупномасштабных инфраструктурах.
Система GoAudit написана на Golang. Это — типобезопасный и высокопроизводительный язык. Перед установкой GoAudit проверьте, чтобы имеющаяся у вас версия Golang была бы выше 1.7.
Проект 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.
OSSEC — это проект, основанный в 2004 году. Этот проект, в целом, можно охарактеризовать как опенсорсную платформу мониторинга безопасности, рассчитанную на анализ хостов и на обнаружение вторжений. В год OSSEC загружают более 500000 раз. Эту платформу используют, в основном, как средство обнаружения вторжений на серверы. Причём, речь идёт как о локальных, так и об облачных системах. OSSEC, кроме того, часто используют как инструмент для исследования журналов мониторинга и анализа файрволов, систем обнаружения вторжений, веб-серверов, а также для изучения журналов аутентификации.
OSSEC комбинирует возможности хостовой системы обнаружения вторжений (HIDS, Host-Based Intrusion Detection System) с системой управления инцидентами в сфере безопасности (SIM, Security Incident Management) и с системой управления информацией о безопасности и событиями безопасности (SIEM, Security Information and Event Management). OSSEC, кроме того, умеет выполнять мониторинг целостности файлов в реальном времени. Это, например, мониторинг реестра Windows, обнаружение руткитов. OSSEC умеет оповещать заинтересованных лиц об обнаруженных проблемах в режиме реального времени и помогает оперативно реагировать на найденные угрозы. Эта платформа поддерживает Microsoft Windows и большинство современных Unix-подобных систем, включая Linux, FreeBSD, OpenBSD и Solaris.
Платформа OSSEC состоит из центральной управляющей сущности, менеджера, используемого для получения и мониторинга информации от агентов (маленьких программ, установленных в системах, которые надо мониторить). Менеджер устанавливается на Linux-системе, которая хранит базу данных, используемую для проверки целостности файлов. Она, кроме того, хранит журналы и записи о событиях и о результатах аудита систем.
Поддержкой проекта OSSEC в настоящее время занимается компания Atomicorp. Компания курирует бесплатную опенсорсную версию, и, кроме того, предлагает расширенную коммерческую версию продукта. Вот подкаст, в котором менеджер проекта OSSEC рассказывает о свежей версии системы — OSSEC 3.0. Там же идёт речь об истории проекта, и о том, чем он отличается от современных коммерческих систем, используемых в сфере компьютерной безопасности.
Suricata — это опенсорсный проект, ориентированный на решение основных задач обеспечения компьютерной безопасности. В частности, в его состав входит система обнаружения вторжений, система предотвращения вторжений, инструмент для мониторинга сетевой безопасности.
Этот продукт появился в 2009 году. Его работа основана на правилах. То есть — у того, кто им пользуется, есть возможность описать некие особенности сетевого трафика. Если правило срабатывает, то Suricata генерирует уведомление, блокируя или разрывая подозрительное соединение, что, опять же, зависит от заданных правил. Проект, кроме того, поддерживает работу в многопоточном режиме. Это даёт возможность быстрой обработки большого количества правил в сетях, по которым проходят большие объёмы трафика. Благодаря поддержке многопоточности вполне обычный сервер способен успешно анализировать трафик, идущий на скорости в 10 Гбит/с. При этом администратору не приходится ограничивать набор используемых для анализа трафика правил. Suricata, кроме того, поддерживает хэширование и извлечение файлов.
Suricata можно настроить в расчёте на работу на обычных серверах или на виртуальных машинах, например, в AWS, с использованием недавно появившейся в продукте возможности traffic-monitoring.
Проект поддерживает Lua-скрипты, с помощью которых можно создавать сложную и детализированную логику анализа сигнатур угроз.
Проектом Suricata занимается Open Information Security Foundation (OISF).
Как и Suricata, Zeek (этот проект раньше назывался Bro и был переименован в Zeek на мероприятии BroCon 2018) — это тоже система для обнаружения вторжений и инструмент для мониторинга сетевой безопасности, который может выявлять аномалии, такие, как подозрительные или опасные действия. Zeek отличается от традиционных IDS тем, что, в отличие от систем, основанных на правилах, выявляющих исключения, Zeek ещё и захватывает метаданные, связанные с происходящим в сети. Делается это для того, чтобы лучше понять контекст необычного сетевого поведения. Это позволяет, например, анализируя HTTP-вызов или процедуру обмена сертификатами безопасности, взглянуть на протокол, на заголовки пакетов, на доменные имена.
Если рассматривать Zeek как инструмент сетевой безопасности, то тут можно сказать, что он даёт специалисту возможность провести расследование происшествия, узнав о том, что произошло до или во время инцидента. Zeek, кроме того, конвертирует данные о сетевом трафике в высокоуровневые события и даёт возможность работать с интерпретатором скриптов. Интерпретатор поддерживает язык программирования, используемый для организации взаимодействия с событиями и для выяснения того, что именно означают эти события в плане сетевой безопасности. Язык программирования Zeek может использоваться для настройки интерпретации метаданных так, как нужно конкретной организации. Он позволяет строить сложные логические условия, с использованием операторов AND, OR и NOT. Это даёт пользователям возможность настраивать процедуру анализа их окружений. Правда, надо отметить, что, в сравнении с Suricata, Zeek может показаться достаточно сложным инструментом при проведении разведки угроз безопасности.
Если вас интересуют подробности о Zeek — обратитесь к этому видео.
Panther — это мощная, изначально ориентированная на работу в облаке платформа для организации непрерывного мониторинга безопасности. Она была переведена в разряд опенсорсных недавно. У истоков проекта стоит основной архитектор StreamAlert — решения для автоматизированного анализа журналов, код которого открыла компания Airbnb. Panther даёт пользователю единую систему для централизованного обнаружения угроз во всех окружениях и для организации реакции на них. Эта система способна расти вместе с размером обслуживаемой инфраструктуры. Обнаружение угроз организовано с помощью прозрачных детерминистических правил, что сделано для того, чтобы снизить процент ложноположительных срабатываний и снизить уровень ненужной нагрузки на специалистов по безопасности.
Среди основных возможностей Panther можно отметить следующие:
Panther разворачивается в AWS-облаке организации с помощью AWS CloudFormation. Это позволяет пользователю всегда контролировать его данные.
Мониторинг безопасности систем — это, в наши дни, важнейшая задача. В решении этой задачи компаниям любого масштаба могут помочь опенсорсные инструменты, дающие массу возможностей и почти ничего не стоящие или бесплатные.
Уважаемые читатели! Какими инструментами для мониторинга безопасности вы пользуетесь?
![](https://habrastorage.org/r/w1560/files/1ba/550/d25/1ba550d25e8846ce8805de564da6aa63.png)
![](https://habrastorage.org/webt/vl/sr/sv/vlsrsvoaee4tg4uvb5jy3lzjqvi.jpeg)
В статье, перевод которой мы сегодня публикуем, представлен обзор 7 опенсорсных инструментов для мониторинга безопасности облачных систем. Эти инструменты предназначены для защиты от хакеров и киберпреступников путём детектирования аномалий и небезопасных действий.
1. Osquery
Osquery — это система для низкоуровневого мониторинга и анализа операционных систем, которая позволяет специалистам в области безопасности проводить сложные исследования данных с использованием SQL. Фреймворк Osquery может работать на Linux, macOS, Windows и FreeBSD. Он представляет операционную систему (ОС) в виде высокопроизводительной реляционной базы данных. Это позволяет специалистам по безопасности исследовать ОС путём выполнения SQL-запросов. Например, с помощью запроса можно узнать о выполняющихся процессах, о загруженных модулях ядра, об открытых сетевых соединениях, об установленных расширениях браузера, об аппаратных событиях, о хэш-суммах файлов.
Фреймворк Osquery создан Facebook. Его код был открыт в 2014 году, после того, как компания поняла, что в инструментах для наблюдения за низкоуровневыми механизмами операционных систем нуждается не только она сама. С тех пор Osquery пользуются специалисты из таких компаний, как Dactiv, Google, Kolide, Trail of Bits, Uptycs, да и из многих других. Недавно было объявлено о том, что Linux Foundation и Facebook собираются сформировать фонд поддержки Osquery.
Демон мониторинга хостов Osquery, называемый osqueryd, позволяет планировать выполнение запросов, направленных на сбор данных со всей инфраструктуры организации. Демон собирает результаты запросов и создаёт журналы, которые отражают изменение состояния инфраструктуры. Это может помочь специалистам по безопасности быть в курсе состояния дел в системе и особенно полезно для выявления аномалий. Возможности Osquery по агрегации журналов можно использовать для облегчения поиска известных и неизвестных вредоносных программ, а также для выявления мест проникновения злоумышленников в систему и для поиска установленных ими программ. Вот материал, в котором можно найти подробности об обнаружении аномалий с помощью Osquery.
2. GoAudit
Система аудита Linux состоит из двух основных компонентов. Первый — это некий код уровня ядра, предназначенный для перехвата и мониторинга системных вызовов. Второй компонент — это демон, работающий в пользовательском пространстве, называемый auditd. Он отвечает за запись на диск результатов аудита. GoAudit, система, созданная компанией Slack и выпущенная в 2016 году, предназначена для замены auditd. Она имеет улучшенные возможности по логированию благодаря тому, что конвертирует многострочные сообщения о событиях, генерируемые системой аудита Linux, в единые 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, Host-Based Intrusion Detection System) с системой управления инцидентами в сфере безопасности (SIM, Security Incident Management) и с системой управления информацией о безопасности и событиями безопасности (SIEM, Security Information and Event Management). OSSEC, кроме того, умеет выполнять мониторинг целостности файлов в реальном времени. Это, например, мониторинг реестра Windows, обнаружение руткитов. OSSEC умеет оповещать заинтересованных лиц об обнаруженных проблемах в режиме реального времени и помогает оперативно реагировать на найденные угрозы. Эта платформа поддерживает Microsoft Windows и большинство современных Unix-подобных систем, включая Linux, FreeBSD, OpenBSD и Solaris.
Платформа OSSEC состоит из центральной управляющей сущности, менеджера, используемого для получения и мониторинга информации от агентов (маленьких программ, установленных в системах, которые надо мониторить). Менеджер устанавливается на Linux-системе, которая хранит базу данных, используемую для проверки целостности файлов. Она, кроме того, хранит журналы и записи о событиях и о результатах аудита систем.
Поддержкой проекта OSSEC в настоящее время занимается компания Atomicorp. Компания курирует бесплатную опенсорсную версию, и, кроме того, предлагает расширенную коммерческую версию продукта. Вот подкаст, в котором менеджер проекта OSSEC рассказывает о свежей версии системы — OSSEC 3.0. Там же идёт речь об истории проекта, и о том, чем он отличается от современных коммерческих систем, используемых в сфере компьютерной безопасности.
5. Suricata
Suricata — это опенсорсный проект, ориентированный на решение основных задач обеспечения компьютерной безопасности. В частности, в его состав входит система обнаружения вторжений, система предотвращения вторжений, инструмент для мониторинга сетевой безопасности.
Этот продукт появился в 2009 году. Его работа основана на правилах. То есть — у того, кто им пользуется, есть возможность описать некие особенности сетевого трафика. Если правило срабатывает, то Suricata генерирует уведомление, блокируя или разрывая подозрительное соединение, что, опять же, зависит от заданных правил. Проект, кроме того, поддерживает работу в многопоточном режиме. Это даёт возможность быстрой обработки большого количества правил в сетях, по которым проходят большие объёмы трафика. Благодаря поддержке многопоточности вполне обычный сервер способен успешно анализировать трафик, идущий на скорости в 10 Гбит/с. При этом администратору не приходится ограничивать набор используемых для анализа трафика правил. Suricata, кроме того, поддерживает хэширование и извлечение файлов.
Suricata можно настроить в расчёте на работу на обычных серверах или на виртуальных машинах, например, в AWS, с использованием недавно появившейся в продукте возможности traffic-monitoring.
Проект поддерживает Lua-скрипты, с помощью которых можно создавать сложную и детализированную логику анализа сигнатур угроз.
Проектом Suricata занимается Open Information Security Foundation (OISF).
6. Zeek (Bro)
Как и Suricata, Zeek (этот проект раньше назывался Bro и был переименован в Zeek на мероприятии BroCon 2018) — это тоже система для обнаружения вторжений и инструмент для мониторинга сетевой безопасности, который может выявлять аномалии, такие, как подозрительные или опасные действия. 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. Это позволяет пользователю всегда контролировать его данные.
Итоги
Мониторинг безопасности систем — это, в наши дни, важнейшая задача. В решении этой задачи компаниям любого масштаба могут помочь опенсорсные инструменты, дающие массу возможностей и почти ничего не стоящие или бесплатные.
Уважаемые читатели! Какими инструментами для мониторинга безопасности вы пользуетесь?
![](https://habrastorage.org/files/1ba/550/d25/1ba550d25e8846ce8805de564da6aa63.png)