# Wazuh и GDPR - маппинг статей и мониторинг данных

> Соответствие GDPR с помощью Wazuh 4.14 - маппинг статей 5, 25, 30, 32, 33, 35 на модули платформы, мониторинг персональных данных и формирование отчетов

Source: https://opennix.org/docs/wazuh/compliance/wazuh-gdpr/


Wazuh обеспечивает поддержку технических требований Общего регламента по защите данных (GDPR) Европейского союза через мониторинг целостности файлов, обнаружение вторжений, анализ логов, оценку конфигурации и автоматическое реагирование. Стандартный набор правил содержит теги в формате `gdpr_ГЛАВА_Статья.Параграф`, позволяющие маппировать события безопасности на конкретные статьи регламента.

## Обзор GDPR

GDPR (General Data Protection Regulation) вступил в силу 25 мая 2018 года и устанавливает требования к обработке, хранению и защите персональных данных граждан Европейского союза. Регламент применяется к любой организации, обрабатывающей персональные данные субъектов ЕС, независимо от местоположения организации.

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

## Маппинг статей GDPR на модули Wazuh

| Статья GDPR | Описание | Модуль Wazuh | Группа правил |
|---|---|---|---|
| Art. 5(1)(f) | Целостность и конфиденциальность данных | [FIM](/docs/wazuh/capabilities/wazuh-file-integrity-monitoring/) | `gdpr_II_5.1.f` |
| Art. 25 | Защита данных по умолчанию и при проектировании | [SCA](/docs/wazuh/capabilities/wazuh-sca/), FIM | `gdpr_IV_25.1` |
| Art. 30 | Записи о деятельности по обработке | [Анализ логов](/docs/wazuh/capabilities/wazuh-log-data-collection/) | `gdpr_IV_30.1.g` |
| Art. 32(1)(b) | Обеспечение конфиденциальности и целостности | FIM, анализ логов | `gdpr_IV_32.1.b` |
| Art. 32(1)(d) | Тестирование и оценка мер безопасности | [SCA](/docs/wazuh/capabilities/wazuh-sca/), [Vulnerability Detector](/docs/wazuh/capabilities/wazuh-vulnerability-detection/) | `gdpr_IV_32.1.d` |
| Art. 32(2) | Оценка рисков при обработке | Анализ логов, обнаружение угроз | `gdpr_IV_32.2` |
| Art. 33(1) | Уведомление надзорного органа об утечке | Алерты, [активное реагирование](/docs/wazuh/capabilities/wazuh-active-response/) | `gdpr_IV_33.1` |
| Art. 35(7)(d) | Оценка воздействия на защиту данных | SCA, анализ логов | `gdpr_IV_35.7.d` |

## Статья 5(1)(f) - целостность и конфиденциальность

Статья 5(1)(f) требует, чтобы персональные данные обрабатывались способом, обеспечивающим надлежащую безопасность, включая защиту от несанкционированной или незаконной обработки и от случайной потери, уничтожения или повреждения.

### Мониторинг целостности с помощью FIM

[Модуль FIM](/docs/wazuh/capabilities/wazuh-file-integrity-monitoring/) поддерживает криптографические контрольные суммы и атрибуты файлов, генерируя алерты при создании, модификации или удалении файлов.

Настройка мониторинга каталога с персональными данными:

```xml
<syscheck>
  <directories check_all="yes" whodata="yes" report_changes="yes">/var/data/personal</directories>
  <directories check_all="yes" whodata="yes">/var/data/customers</directories>
</syscheck>
```

При обнаружении изменений генерируются алерты с тегом `gdpr_II_5.1.f`:

- Правило 550 - изменение контрольной суммы файла
- Правило 554 - добавление нового файла в контролируемый каталог

### Пример алерта

```json
{
  "rule": {
    "id": "550",
    "level": 7,
    "description": "Integrity checksum changed.",
    "groups": ["ossec", "syscheck", "gdpr_II_5.1.f"]
  },
  "syscheck": {
    "path": "/var/data/personal/subjects.db",
    "changed_attributes": ["mtime", "md5", "sha1", "sha256"],
    "audit": {
      "user": { "name": "www-data" },
      "process": { "name": "python3" }
    }
  }
}
```

## Статья 25 - защита данных при проектировании

Статья 25 требует внедрения технических и организационных мер для обеспечения принципов защиты данных на этапе проектирования и по умолчанию.

Wazuh поддерживает это требование через:

- **[SCA](/docs/wazuh/capabilities/wazuh-sca/)** - проверка конфигурации систем на соответствие стандартам безопасности
- **FIM** - контроль изменений в конфигурационных файлах приложений
- **Анализ логов** - мониторинг доступа к системам обработки данных

Пример политики SCA для проверки настроек защиты данных:

```yaml
checks:
  - id: 20001
    title: "Ensure database encryption is enabled"
    compliance:
      - gdpr: ["IV_25.1"]
    condition: all
    rules:
      - 'f:/etc/mysql/mysql.conf.d/mysqld.cnf -> r:^\s*require_secure_transport\s*=\s*ON'
```

## Статья 30 - записи о деятельности по обработке

GDPR требует ведения записей о деятельности по обработке персональных данных. Wazuh обеспечивает это через централизованный [сбор и хранение логов](/docs/wazuh/capabilities/wazuh-log-data-collection/) с возможностью архивирования.

Для обеспечения полноты записей включите архивирование всех логов:

```xml
<ossec_config>
  <global>
    <logall_json>yes</logall_json>
  </global>
</ossec_config>
```

Это обеспечивает фиксацию всех событий, включая те, которые не вызвали срабатывания правил обнаружения.

## Статья 32 - безопасность обработки

### 32(1)(b) - конфиденциальность и целостность

Wazuh обеспечивает мониторинг конфиденциальности и целостности систем обработки данных через:

- Отслеживание несанкционированного доступа к файлам с персональными данными
- Мониторинг привилегированных операций на серверах баз данных
- Контроль изменений в конфигурации систем шифрования

### 32(1)(d) - тестирование мер безопасности

Для регулярной оценки эффективности мер безопасности используйте:

- **[SCA](/docs/wazuh/capabilities/wazuh-sca/)** - автоматическая проверка конфигурации
- **[Vulnerability Detector](/docs/wazuh/capabilities/wazuh-vulnerability-detection/)** - выявление уязвимостей в ПО
- **Анализ алертов** - обзор срабатываний правил безопасности

### 32(2) - оценка рисков

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

- Классификацию алертов по уровням критичности (0-15)
- Маппинг на тактики и техники MITRE ATT&CK
- Статистический анализ инцидентов безопасности

## Статья 33 - уведомление об утечке данных

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

### Настройка оповещений об утечке

Создайте пользовательские правила для обнаружения потенциальных утечек данных:

```xml
<rule id="100100" level="12">
  <if_sid>550</if_sid>
  <match>personal_data|customer_records|subjects</match>
  <description>Possible personal data breach: file modification detected in protected directory</description>
  <group>gdpr_IV_33.1,data_breach,</group>
</rule>

<rule id="100101" level="14">
  <if_sid>100100</if_sid>
  <frequency>5</frequency>
  <timeframe>300</timeframe>
  <description>Multiple personal data file modifications - potential data exfiltration</description>
  <group>gdpr_IV_33.1,data_breach,</group>
</rule>
```

### Интеграция с системами оповещения

Настройте [активное реагирование](/docs/wazuh/capabilities/wazuh-active-response/) для немедленного уведомления при обнаружении потенциальной утечки:

```xml
<integration>
  <name>slack</name>
  <level>12</level>
  <group>data_breach</group>
  <hook_url>https://hooks.slack.com/services/XXX/YYY/ZZZ</hook_url>
</integration>
```

## Статья 35 - оценка воздействия на защиту данных (DPIA)

Wazuh поддерживает проведение DPIA через предоставление данных о:

- Типах обрабатываемых событий безопасности
- Частоте и характере инцидентов
- Эффективности существующих контролей

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

## Мониторинг доступа к персональным данным

Wazuh позволяет отслеживать доступ к персональным данным на нескольких уровнях:

### Файловый уровень

```xml
<syscheck>
  <directories check_all="yes" whodata="yes">/var/data/personal</directories>
  <directories check_all="yes" whodata="yes">/opt/app/uploads/documents</directories>
</syscheck>
```

### Уровень базы данных

Мониторинг логов СУБД для отслеживания запросов к таблицам с персональными данными:

```xml
<localfile>
  <log_format>syslog</log_format>
  <location>/var/log/mysql/audit.log</location>
</localfile>
```

### Уровень приложения

Сбор логов приложений, обрабатывающих персональные данные:

```xml
<localfile>
  <log_format>json</log_format>
  <location>/var/log/app/access.log</location>
</localfile>
```

## Группы правил GDPR

Wazuh использует формат `gdpr_ГЛАВА_Статья.Параграф` для тегирования правил. Получить список доступных тегов:

```bash
docker exec wazuh-manager grep -r "gdpr_" /var/ossec/ruleset/rules/ | \
  grep -oP 'gdpr_[A-Z]+_[\d.a-z]+' | sort -u
```

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

| Группа | Статья |
|---|---|
| `gdpr_II_5.1.f` | Целостность и конфиденциальность |
| `gdpr_IV_25.1` | Защита данных при проектировании |
| `gdpr_IV_30.1.g` | Записи о деятельности по обработке |
| `gdpr_IV_32.1.b` | Конфиденциальность и целостность |
| `gdpr_IV_32.1.d` | Тестирование мер безопасности |
| `gdpr_IV_32.2` | Оценка рисков |
| `gdpr_IV_33.1` | Уведомление об утечке |
| `gdpr_IV_35.7.d` | Оценка воздействия (DPIA) |

## Модуль GDPR в дашборде

Wazuh Dashboard содержит модуль GDPR в разделе **Modules > Regulatory compliance > GDPR**. Модуль предоставляет:

- Обзор алертов по статьям GDPR
- Группировку алертов по главам (II, III, IV)
- Временную шкалу событий соответствия
- Детализацию по агентам

## Формирование отчетов GDPR

Для запроса алертов, связанных с GDPR, через API:

```bash
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.gdpr" } }
        ]
      }
    },
    "aggs": {
      "gdpr_articles": {
        "terms": { "field": "rule.gdpr", "size": 50 }
      }
    }
  }' | jq '.aggregations.gdpr_articles.buckets'
```

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

### Алерты GDPR не отображаются

1. Проверьте наличие тегов `gdpr_` в правилах
2. Убедитесь, что модуль GDPR активирован в дашборде
3. Проверьте корректность временного диапазона

### FIM не генерирует алерты для файлов с персональными данными

1. Убедитесь, что пути к каталогам указаны корректно в `<syscheck>`
2. Проверьте, что агент имеет права на чтение контролируемых каталогов
3. При использовании `whodata` убедитесь, что auditd установлен и работает

### Алерты об утечке не отправляются

1. Проверьте конфигурацию интеграции в `ossec.conf`
2. Убедитесь, что уровень правила соответствует порогу интеграции
3. Проверьте доступность webhook-URL

