Wazuh и PCI DSS 4.0 - маппинг требований и настройка

Wazuh обеспечивает комплексную поддержку стандарта PCI DSS версии 4.0 через сбор и анализ логов, мониторинг целостности файлов, оценку конфигурации безопасности, инвентаризацию систем, оповещения в реальном времени и автоматическое реагирование. Стандартный набор правил Wazuh содержит предварительно размеченные теги pci_dss_X.Y.Z, покрывающие ключевые требования стандарта.

Обзор PCI DSS 4.0

PCI DSS (Payment Card Industry Data Security Standard) определяет требования безопасности для организаций, обрабатывающих, хранящих или передающих данные платежных карт. Версия 4.0 заменила PCI DSS 3.2.1 и включает обновленные требования к аутентификации, шифрованию и непрерывному мониторингу.

Стандарт состоит из 12 основных требований, сгруппированных в 6 целей. Wazuh покрывает требования, связанные с техническими контролями безопасности.

Таблица маппинга требований PCI DSS на модули Wazuh

Требование PCI DSSОписаниеМодуль WazuhГруппа правил
1.xУстановка и поддержание сетевых контролей безопасностиFIM , анализ логовpci_dss_1.1.1
2.2Безопасная конфигурация системных компонентовSCApci_dss_2.2
5.xЗащита от вредоносного ПОRootcheck, YARApci_dss_5.1, pci_dss_5.2
6.1Выявление и устранение уязвимостейVulnerability Detectorpci_dss_6.1
6.2Безопасная разработка ПОАнализ логов приложенийpci_dss_6.2
8.xИдентификация и аутентификацияАнализ логов, SCApci_dss_8.1, pci_dss_8.2
10.xЖурналирование и мониторинг доступаАнализ логовpci_dss_10.2.4, pci_dss_10.2.5
10.4.1Ежедневный обзор логов безопасностиДашборд, алертыpci_dss_10.4.1
10.5.1Хранение аудиторских записейАрхивирование логовpci_dss_10.5.1
11.5Мониторинг целостности файловFIMpci_dss_11.5
11.xТестирование безопасностиSCA , Vulnerability Detectorpci_dss_11.2
12.xПолитики информационной безопасностиДокументирование, SCApci_dss_12.1

Требование 1 - сетевые контроли безопасности

Wazuh отслеживает изменения в конфигурации межсетевых экранов через модуль FIM и анализ логов сетевого оборудования.

Мониторинг конфигурации межсетевого экрана

<syscheck>
  <directories check_all="yes" realtime="yes">/etc/iptables</directories>
  <directories check_all="yes" realtime="yes">/etc/firewalld</directories>
  <directories check_all="yes" realtime="yes">/etc/pf.conf</directories>
</syscheck>

При изменении файлов конфигурации межсетевого экрана FIM генерирует алерт с тегом pci_dss_1.1.1, фиксируя кто, когда и какие изменения внес.

Требование 2.2 - безопасная конфигурация

Модуль SCA выполняет проверку конфигурации систем на соответствие стандартам CIS Benchmarks. Результаты проверок автоматически маппируются на требование PCI DSS 2.2.

Пример политики SCA для проверки конфигурации SSH:

checks:
  - id: 10001
    title: "Ensure SSH Protocol is set to 2"
    compliance:
      - pci_dss: ["2.2"]
      - cis: ["5.2.4"]
    condition: all
    rules:
      - 'f:/etc/ssh/sshd_config -> r:^\s*Protocol\s+2'

Требование 5 - защита от вредоносного ПО

Wazuh обеспечивает многоуровневую защиту от вредоносного ПО:

Правила Wazuh с тегами pci_dss_5.1 и pci_dss_5.2 срабатывают при обнаружении вредоносного ПО или подозрительной активности.

Требование 6.1 - управление уязвимостями

Модуль обнаружения уязвимостей сканирует установленное ПО на наличие известных CVE. Результаты маппируются на требование PCI DSS 6.1.

Конфигурация модуля в ossec.conf:

<vulnerability-detector>
  <enabled>yes</enabled>
  <interval>12h</interval>
  <run_on_start>yes</run_on_start>
  <provider name="canonical">
    <enabled>yes</enabled>
    <os>jammy</os>
    <update_interval>1h</update_interval>
  </provider>
  <provider name="nvd">
    <enabled>yes</enabled>
    <update_interval>1h</update_interval>
  </provider>
</vulnerability-detector>

Требование 10 - журналирование и мониторинг

Требование 10 является одним из наиболее полно покрываемых Wazuh. Платформа обеспечивает:

10.2.4 - детализация аудиторских записей

Каждое событие должно содержать идентификацию пользователя, тип события, дату/время, индикатор успеха/неудачи, источник события и идентификатор затронутого ресурса. Wazuh автоматически извлекает эти данные при декодировании логов.

Пример правила для неудачной SSH-аутентификации:

<rule id="5710" level="5">
  <if_sid>5700</if_sid>
  <match>illegal user|invalid user</match>
  <description>sshd: Attempt to login using a non-existent user</description>
  <group>authentication_failed,pci_dss_10.2.4,pci_dss_10.2.5,</group>
</rule>

10.2.5 - журналирование привилегированного доступа

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

10.4.1 - ежедневный обзор логов

Дашборд Wazuh предоставляет визуализацию для ежедневного обзора:

  • Логи событий безопасности
  • Логи систем хранения и обработки данных карт
  • Логи критических систем
  • Логи функций безопасности

10.5.1 - хранение аудиторских записей

PCI DSS требует хранения записей не менее 12 месяцев, из которых последние 3 месяца должны быть доступны немедленно. Настройка архивирования в Wazuh:

<ossec_config>
  <global>
    <logall_json>yes</logall_json>
  </global>
</ossec_config>

Для управления ретенцией используйте политики индексного управления (ISM) в OpenSearch:

{
  "policy": {
    "policy_id": "pci-dss-retention",
    "description": "PCI DSS 12-month log retention",
    "default_state": "hot",
    "states": [
      {
        "name": "hot",
        "actions": [],
        "transitions": [
          {
            "state_name": "warm",
            "conditions": { "min_index_age": "90d" }
          }
        ]
      },
      {
        "name": "warm",
        "actions": [
          { "read_only": {} }
        ],
        "transitions": [
          {
            "state_name": "delete",
            "conditions": { "min_index_age": "365d" }
          }
        ]
      },
      {
        "name": "delete",
        "actions": [
          { "delete": {} }
        ]
      }
    ]
  }
}

Требование 11.5 - мониторинг целостности файлов

PCI DSS 11.5.2 требует развертывания механизма обнаружения изменений для оповещения о несанкционированных модификациях критических файлов, конфигураций и контента.

Мониторинг с атрибуцией пользователей

<syscheck>
  <directories check_all="yes" whodata="yes">/root/credit_cards</directories>
</syscheck>

Параметр whodata фиксирует пользователя и процесс, ответственные за изменение файла.

Отслеживание содержимого изменений

<syscheck>
  <frequency>3600</frequency>
  <directories check_all="yes" report_changes="yes">/root/credit_cards/cardholder_data.txt</directories>
</syscheck>

Параметр report_changes отображает разницу содержимого файла между сканированиями.

Обнаружение удаления файлов в реальном времени

<syscheck>
  <directories check_all="yes" realtime="yes">/root/credit_cards</directories>
</syscheck>

Режим реального времени генерирует алерты при модификации, добавлении и удалении файлов немедленно.

Группы правил PCI DSS

Wazuh использует синтаксис pci_dss_ с последующим номером требования для маппинга правил. Полный список тегов можно получить через поиск в наборе правил:

docker exec wazuh-manager grep -r "pci_dss_" /var/ossec/ruleset/rules/ | \
  grep -oP 'pci_dss_[\d.]+' | sort -u

Основные группы правил:

ГруппаТребование
pci_dss_1.1.1Сетевые контроли безопасности
pci_dss_2.2Безопасная конфигурация
pci_dss_5.1Защита от вредоносного ПО
pci_dss_6.1Управление уязвимостями
pci_dss_6.5Безопасная разработка
pci_dss_8.1Идентификация пользователей
pci_dss_10.2.4Детализация аудит-логов
pci_dss_10.2.5Привилегированный доступ
pci_dss_10.5.1Хранение аудиторских записей
pci_dss_11.5Мониторинг целостности

Модуль PCI DSS в дашборде

Wazuh Dashboard содержит специализированный модуль PCI DSS в разделе Modules > Regulatory compliance > PCI DSS. Модуль предоставляет:

  • Обзорная панель - общая статистика алертов по требованиям PCI DSS
  • Фильтрация по требованиям - выбор конкретных требований для детального анализа
  • Временная шкала - визуализация алертов во времени с группировкой по требованиям
  • Агенты - статистика соответствия по отдельным агентам и группам

Дашборд отображает информацию в реальном времени, позволяя фильтровать по типам полей алертов, включая контроли соответствия.

Формирование отчетов PCI DSS

Для формирования отчетов используйте возможности дашборда:

  1. Перейдите в Modules > PCI DSS
  2. Настройте временной диапазон отчетного периода
  3. Примените фильтры по агентам или группам агентов
  4. Экспортируйте данные в формате CSV или PDF через кнопку Generate report

Для автоматизации формирования отчетов используйте API Wazuh Indexer:

curl -sk -u admin:$WAZUH_ADMIN_PASS \
  "https://localhost:9200/wazuh-alerts-*/_search" \
  -H "Content-Type: application/json" \
  -d '{
    "size": 0,
    "query": {
      "bool": {
        "must": [
          { "range": { "timestamp": { "gte": "now-30d" } } },
          { "exists": { "field": "rule.pci_dss" } }
        ]
      }
    },
    "aggs": {
      "pci_requirements": {
        "terms": { "field": "rule.pci_dss", "size": 50 }
      }
    }
  }' | jq '.aggregations.pci_requirements.buckets'

Устранение неполадок

Алерты PCI DSS не отображаются в дашборде

  1. Убедитесь, что правила содержат теги pci_dss_ в поле <group>
  2. Проверьте, что модуль PCI DSS активирован в настройках дашборда
  3. Проверьте корректность временного диапазона фильтра

Отсутствуют данные FIM для PCI DSS 11.5

  1. Проверьте конфигурацию <syscheck> в ossec.conf
  2. Убедитесь, что мониторинг включен (<disabled>no</disabled>)
  3. Проверьте, что указаны правильные пути для мониторинга

Отсутствуют данные уязвимостей для PCI DSS 6.1

  1. Проверьте конфигурацию <vulnerability-detector> в ossec.conf
  2. Убедитесь, что провайдеры баз уязвимостей включены и обновляются
  3. Проверьте наличие модуля инвентаризации системы - он необходим для работы детектора уязвимостей

Логи не архивируются для PCI DSS 10.5.1

  1. Проверьте, что параметр logall_json установлен в yes
  2. Перезапустите менеджер Wazuh после изменения конфигурации
  3. Настройте политику ISM в OpenSearch для управления ретенцией
Last updated on