Wazuh. Управление безопасностью облака Google Cloud

Управление безопасностью облака (CSPM) играет большую роль в безопасности и соответствии в облачных средах. Вероятность появления неправильных настроек безопасности заметно возрастает из-за некорректного управления разрешениями, пробелов в сетевых конфигурациях и других слабых мест.

Этот подход подразумевает постоянный мониторинг и оценку рабочих нагрузок в облаке для выявления уязвимостей и потенциальных угроз. Кроме того, он предоставляет рекомендации для устранения рисков безопасности в облачной среде.

Wazuh – open-source платформа корпоративного уровня для мониторинга безопасности, которая обеспечивает комплексную защиту в облачных, локальных, контейнерных и виртуальных средах.

В этой публикации описано, как использовать Wazuh для управления безопасностью Google Cloud Platform (GCP).

Инфраструктура

Что нужно:

  • Предвариетльно установленная и готовая к использованию последняя доступная версия виртуальной машины Wazuh OVA, включающая основные компоненты решения (сервер, indexer, дешборд).
  • Учетная запись GCP с правами администратора. Рекомендуется использовать тестовый аккаунт без важных рабочих нагрузок.

Интеграция Wazuh с GCP

Wazuh интегрируется с GCP с помощью Google Cloud publisher and subscriber service (GCP Pub/Sub).

Google Cloud Pub/Sub – это служба обмена информацией, позволяющая приложениям отправлять и получать данные о событиях. Wazuh предоставляет модуль для интеграции с GCP, который получает журналы из службы Pub/Sub.

Обзор интеграции GCP с Wazuh

Google Cloud

Настройка аккаунта GCP

Необходимо создать новый проект в GCP и аккаунт сервиса, что позволит модулю Wazuh GCP получать данные журнала из Google Pub/Sub. Затем нужно настроить службы Pub/Sub и Sink. Сервис Sink отправляет журналы о состоянии безопасности облака из центральной службы Cloud Logging GCP в службу Pub/Sub.

Для настройки необходимо выполнить следующие действия:

1) Создать новый проект в GCP. Следует также обратить внимание на его ID.

Создание нового проекта

2) Перейти к IAM and admin и выбрать Service accounts для создания новой учетной записи службы, как показано ниже. На этой странице аккаунту нужно присвоить роли Pub/Sub Publisher и Pub/Sub Subscriber.

Создание аккаунта службы

3) Открыть эту учетную запись и создать приватный ключ в формате JSON, как продемонстрировано ниже. Браузер автоматически загружает ключ. Wazuh использует его для аутентификации в проекте GCP.

Создание ключа учетной записи службы

4) Искать и выбрать Pub/Sub в поле поиска консоли в верхней части страницы. Нажать Create Topic. На этой странице ввести идентификатор темы (Topic ID) и убедиться, что возле Add a default subscription стоит галочка. Затем нужно нажать Create. Следует также обратить внимание на идентификатор подписки (Subscription ID).

Конфигурация Pub/Sub

5) Искать и выбрать Log Router в консоли GCP. Щелкнуть Create Sink. Затем ввести название и нажать кнопку Next. В службе Sink destination выбрать Cloud Pub/Sub topic. Далее выбрать название темы из шага 4 и нажать Create Sink.

Конфигурация SInk

Сервисы Log Router и Sink в проекте GCP отвечают за управление и направление журналов.

6) Необходимо настроить непрерывный экспорт журнала из службы GCP Findings в GCP Pub/Sub, как показано ниже.

Настройка непрерывного экспорта

Сервер Wazuh

Нужно выполнить следующие действия для настройки сервера Wazuh для получения журналов от GCP.

Примечание: необходимо выполнять эти команды с разрешением root.

1) Создать файл credentials.json в каталоге /var/ossec/wodles/gcloud/:

touch /var/ossec/wodles/gcloud/credentials.json

2) Добавить в файл /var/ossec/wodles/gcloud/credentials.json содержимое файла JSON с приватным ключом. Модуль Wazuh GCP использует файл ключа для аутентификации учетной записи GCP.

3) Добавить код ниже в файл конфигурации /var/ossec/etc/ossec.conf. Конфигурация определяет, как Wazuh подключается к GCP с помощью ID-проекта, ID подписки GCP PubSub и учетных данных.

<ossec_config>
  <gcp-pubsub>
    <pull_on_start>yes</pull_on_start>
    <interval>5m</interval>
    <project_id><PROJECT_ID></project_id>
    <subscription_name><SUBSCRIPTION_ID></subscription_name>
     <credentials_file>/var/ossec/wodles/gcloud/credentials.json</credentials_file>
  </gcp-pubsub>
</ossec_config>

Заменить:

<PROJECT_ID> – на ID проекта.
<SUBSCRIPTION_NAME> – на ID подписки GCP Pub/Sub.

4) Создать файл правил gcp_posture.xml в каталоге /var/ossec/etc/rules/ и добавить следующие кастомные правила:

<group name="gcp,">

  <!-- Misconfiguration detection -->
    <rule id="100200" level="10">
        <if_sid>65000</if_sid>
        <field name="gcp.finding.findingClass">MISCONFIGURATION</field>
        <description>A $(gcp.finding.findingClass) with $(gcp.finding.severity) severity has been discovered on the GCP project $(gcp.resource.projectDisplayName). $(gcp.finding.description)</description>
        <mitre>
          <id>T1562</id>
        </mitre>
    </rule>
    

  <!-- Threat detection -->
    <rule id="100201" level="10">
        <if_sid>65000</if_sid>
        <field name="gcp.finding.findingClass">THREAT</field>
        <description>A $(gcp.finding.findingClass) with $(gcp.finding.severity) severity has been discovered on the GCP project $(gcp.resource.projectDisplayName). $(gcp.finding.category).</description>
        <mitre>
          <id>T1562</id>
        </mitre>
    </rule>
   
</group>

Где:

Правило ID 100200 активируется при обнаружении неправильной конфигурации аккаунта с помощью Wazuh.

Правило ID 100201 срабатывает, если GCP выявляет угрозу.

5) Перезапустить менеджер Wazuh, чтобы применить изменения:

systemctl restart wazuh-manager

Имитация недостатков

Модуль The Findings – это служба GCP Security Command Center, записывающая некорректные настройки безопасности в проекте GCP. Имитация недостатков создаст образцы неправильных конфигураций, которые будут отправлены в Wazuh.

Неправильные конфигурации сети

Следует выполнить следующие действия на консоли GCP.

1) Включить Compute Engine API, как показано ниже. Это включит внутренний брандмауэр VPC.

API Compute Engine

2) Создать правило брандмауэра в Network security, которое разрешает подключение со всех IP-адресов и портов.

Создание правила брандмауэра

3) Удалить это правило брандмауэра из списка правил безопасности сети GCP.

Удаление правила брандмауэра

Аномальная активность управления идентичностями и доступом

1) Создать тестовый адрес электронной почты Gmail в случае ее отсутствия.

2) Перейти в IAM&Admin и выбрать IAM. Нажать Grant Access. На этой странице ввести тестовый Gmail-адрес в New principal. Далее назначить роль Project > Owner в Role и нажать Save.

Симуляция IAM и администратора

Результат

Можно визуализировать результаты, перейдя в Modules > Security events и применив фильтр для идентификаторов правил 100200, 100201.

Подписаться на новости