# Wazuh и NIST 800-53 - маппинг контролей безопасности

> Соответствие NIST 800-53 Rev.5 с помощью Wazuh 4.14 - маппинг семейств контролей AC, AU, CM, IA, IR, SC, SI на модули платформы и формирование отчетов

Source: https://opennix.org/docs/wazuh/compliance/wazuh-nist-800-53/


Wazuh обеспечивает поддержку каталога контролей безопасности и конфиденциальности NIST SP 800-53 Revision 5 через анализ логов, мониторинг целостности, оценку конфигурации, обнаружение уязвимостей, обнаружение угроз и автоматическое реагирование. Стандартный набор правил содержит теги `nist_800_53_XX.Y`, покрывающие ключевые семейства контролей.

## Обзор NIST 800-53

NIST SP 800-53 (Security and Privacy Controls for Information Systems and Organizations) представляет собой каталог контролей безопасности и конфиденциальности, разработанный Национальным институтом стандартов и технологий США. Revision 5 содержит более 1000 контролей, организованных в 20 семейств.

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

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

| Семейство | Идентификатор | Описание | Основные модули Wazuh |
|---|---|---|---|
| Access Control | AC | Контроль доступа к системам и данным | [Анализ логов](/docs/wazuh/capabilities/wazuh-log-data-collection/), [SCA](/docs/wazuh/capabilities/wazuh-sca/) |
| Audit and Accountability | AU | Аудит и подотчетность | [Анализ логов](/docs/wazuh/capabilities/wazuh-log-data-collection/) |
| Configuration Management | CM | Управление конфигурацией | [SCA](/docs/wazuh/capabilities/wazuh-sca/), [FIM](/docs/wazuh/capabilities/wazuh-file-integrity-monitoring/) |
| Identification and Authentication | IA | Идентификация и аутентификация | Анализ логов аутентификации |
| Incident Response | IR | Реагирование на инциденты | [Активное реагирование](/docs/wazuh/capabilities/wazuh-active-response/), алерты |
| System and Communications Protection | SC | Защита систем и коммуникаций | SCA, анализ логов |
| System and Information Integrity | SI | Целостность систем и информации | [FIM](/docs/wazuh/capabilities/wazuh-file-integrity-monitoring/), [Vulnerability Detector](/docs/wazuh/capabilities/wazuh-vulnerability-detection/) |

## AC - контроль доступа

### AC-2: управление учетными записями

Wazuh отслеживает создание, модификацию и удаление учетных записей через анализ логов аутентификации:

```xml
<rule id="5901" level="8">
  <if_sid>5900</if_sid>
  <match>new user</match>
  <description>New user added to the system</description>
  <group>nist_800_53_AC.2,nist_800_53_AC.7,account_changed,</group>
</rule>
```

### AC-6: принцип минимальных привилегий

Мониторинг использования привилегий root/admin:

```xml
<rule id="100300" level="8">
  <if_sid>5715</if_sid>
  <user>root</user>
  <description>Direct root login detected - potential AC-6 violation</description>
  <group>nist_800_53_AC.6,nist_800_53_AC.2,authentication_success,</group>
</rule>
```

### AC-7: неудачные попытки аутентификации

Wazuh обнаруживает brute-force атаки через правила корреляции:

```xml
<rule id="5712" level="10" frequency="6" timeframe="120">
  <if_matched_sid>5710</if_matched_sid>
  <description>sshd: brute force trying to get access to the system</description>
  <group>nist_800_53_AC.7,nist_800_53_SI.4,authentication_failures,</group>
</rule>
```

## AU - аудит и подотчетность

### AU-2: события аудита

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

### AU-3: содержимое аудиторских записей

Каждый алерт Wazuh содержит:

- Идентификатор пользователя
- Тип события
- Дату и время
- Источник события
- Результат (успех/неудача)
- Идентификатор затронутого ресурса

### AU-6: обзор и анализ аудиторских записей

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

- Фильтрация по типу события, уровню, агенту
- Временные графики распределения событий
- Группировка по семействам контролей NIST

### AU-8: временные метки

Wazuh использует синхронизированные временные метки для всех событий. Рекомендуется настроить NTP на всех агентах:

```yaml
checks:
  - id: 40001
    title: "Ensure NTP is configured"
    compliance:
      - nist_800_53: ["AU.8"]
    condition: all
    rules:
      - 'p:chronyd'
```

### AU-12: генерация аудиторских записей

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

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

## CM - управление конфигурацией

### CM-2: базовая конфигурация

[SCA](/docs/wazuh/capabilities/wazuh-sca/) определяет и проверяет базовую конфигурацию систем. Политики CIS Benchmarks служат эталоном безопасной конфигурации.

### CM-3: контроль изменений конфигурации

[FIM](/docs/wazuh/capabilities/wazuh-file-integrity-monitoring/) отслеживает изменения в конфигурационных файлах:

```xml
<syscheck>
  <directories check_all="yes" whodata="yes" report_changes="yes">/etc</directories>
  <directories check_all="yes" realtime="yes">/usr/local/etc</directories>
</syscheck>
```

### CM-6: настройки конфигурации

Проверка конфигурации через SCA:

```yaml
checks:
  - id: 40010
    title: "Ensure SSH root login is disabled"
    compliance:
      - nist_800_53: ["CM.6"]
      - cis: ["5.2.10"]
    condition: all
    rules:
      - 'f:/etc/ssh/sshd_config -> r:^\s*PermitRootLogin\s+no'
```

### CM-8: инвентаризация компонентов

Модуль [инвентаризации системы](/docs/wazuh/capabilities/wazuh-system-inventory/) ведет учет установленного ПО, открытых портов, сетевых интерфейсов и аппаратного обеспечения.

## IA - идентификация и аутентификация

### IA-2: идентификация и аутентификация пользователей

Wazuh мониторит все события аутентификации на контролируемых системах:

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

### IA-5: управление аутентификаторами

Проверка параметров паролей через SCA:

```yaml
checks:
  - id: 40020
    title: "Ensure password minimum length is configured"
    compliance:
      - nist_800_53: ["IA.5"]
    condition: all
    rules:
      - 'f:/etc/security/pwquality.conf -> r:^\s*minlen\s*=\s*(\d+) -> compare >= 14'
```

## IR - реагирование на инциденты

### IR-4: обработка инцидентов

Wazuh обеспечивает обнаружение и обработку инцидентов через:

- Правила обнаружения с классификацией по уровням (0-15)
- Маппинг на тактики MITRE ATT&CK
- [Активное реагирование](/docs/wazuh/capabilities/wazuh-active-response/) для автоматической блокировки

```xml
<active-response>
  <command>firewall-drop</command>
  <location>local</location>
  <level>10</level>
  <timeout>3600</timeout>
</active-response>
```

### IR-5: мониторинг инцидентов

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

- Уровню критичности
- Тактикам MITRE ATT&CK
- Агентам и группам
- Семействам контролей NIST

### IR-6: уведомление об инцидентах

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

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

## SC - защита систем и коммуникаций

### SC-7: защита границ

Wazuh анализирует логи межсетевых экранов и систем обнаружения вторжений:

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

### SC-8: конфиденциальность и целостность передачи

Проверка конфигурации шифрования через SCA:

```yaml
checks:
  - id: 40030
    title: "Ensure TLS 1.2 minimum is enforced"
    compliance:
      - nist_800_53: ["SC.8"]
    condition: all
    rules:
      - 'f:/etc/ssl/openssl.cnf -> r:^\s*MinProtocol\s*=\s*(TLSv1\.2|TLSv1\.3)'
```

## SI - целостность систем и информации

### SI-2: устранение уязвимостей

[Vulnerability Detector](/docs/wazuh/capabilities/wazuh-vulnerability-detection/) выявляет уязвимости в установленном ПО и предоставляет рекомендации по устранению:

```xml
<vulnerability-detector>
  <enabled>yes</enabled>
  <interval>12h</interval>
  <run_on_start>yes</run_on_start>
  <provider name="nvd">
    <enabled>yes</enabled>
    <update_interval>1h</update_interval>
  </provider>
</vulnerability-detector>
```

### SI-3: защита от вредоносного ПО

Модули [rootcheck и YARA](/docs/wazuh/capabilities/wazuh-malware-detection/) обнаруживают вредоносное ПО на контролируемых системах.

### SI-4: мониторинг информационной системы

Wazuh обеспечивает непрерывный мониторинг через:

- Анализ логов в реальном времени
- Мониторинг целостности файлов
- Обнаружение аномалий
- Корреляцию событий

### SI-7: целостность программного обеспечения и информации

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

```xml
<syscheck>
  <directories check_all="yes" realtime="yes">/usr/bin</directories>
  <directories check_all="yes" realtime="yes">/usr/sbin</directories>
  <directories check_all="yes" realtime="yes">/usr/lib</directories>
</syscheck>
```

## Непрерывный мониторинг

NIST SP 800-137 определяет требования к непрерывному мониторингу. Wazuh обеспечивает непрерывный мониторинг через:

- **Агенты** - постоянный сбор данных с контролируемых систем
- **Правила обнаружения** - анализ событий в реальном времени
- **Дашборд** - визуализация состояния безопасности
- **Алерты** - немедленное уведомление о нарушениях

## Автоматизация оценки

Wazuh автоматизирует оценку соответствия NIST 800-53 через:

1. **SCA** - регулярная проверка конфигурации по расписанию
2. **Vulnerability Detector** - периодическое сканирование уязвимостей
3. **FIM** - непрерывный мониторинг целостности
4. **Правила обнаружения** - автоматическая классификация событий

## Группы правил NIST 800-53

Wazuh использует формат `nist_800_53_XX.Y` для тегирования правил. Получить список доступных тегов:

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

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

| Группа | Контроль |
|---|---|
| `nist_800_53_AC.2` | Управление учетными записями |
| `nist_800_53_AC.6` | Минимальные привилегии |
| `nist_800_53_AC.7` | Неудачные попытки аутентификации |
| `nist_800_53_AU.6` | Обзор аудиторских записей |
| `nist_800_53_AU.8` | Временные метки |
| `nist_800_53_AU.12` | Генерация аудиторских записей |
| `nist_800_53_AU.14` | Обзор и анализ сессий |
| `nist_800_53_CM.3` | Контроль изменений конфигурации |
| `nist_800_53_CM.6` | Настройки конфигурации |
| `nist_800_53_IA.2` | Идентификация пользователей |
| `nist_800_53_IA.5` | Управление аутентификаторами |
| `nist_800_53_IR.4` | Обработка инцидентов |
| `nist_800_53_SC.7` | Защита границ |
| `nist_800_53_SI.2` | Устранение уязвимостей |
| `nist_800_53_SI.4` | Мониторинг системы |
| `nist_800_53_SI.7` | Целостность ПО |

## Модуль NIST 800-53 в дашборде

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

- Обзор алертов по семействам контролей
- Группировку по идентификаторам контролей
- Временную шкалу событий соответствия
- Детализацию по агентам

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

Для запроса алертов NIST 800-53 через 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.nist_800_53" } }
        ]
      }
    },
    "aggs": {
      "nist_controls": {
        "terms": { "field": "rule.nist_800_53", "size": 50 }
      }
    }
  }' | jq '.aggregations.nist_controls.buckets'
```

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

### Алерты NIST 800-53 не отображаются

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

### SCA-проверки не маппируются на контроли NIST

1. Убедитесь, что политики SCA содержат блок `compliance` с указанием `nist_800_53`
2. Проверьте формат идентификатора контроля в политике
3. Перезагрузите агент после обновления политик

### Отсутствуют данные аудита для AU-12

1. Проверьте конфигурацию сбора логов в `ossec.conf`
2. Убедитесь, что архивирование включено через `logall_json`
3. Проверьте, что индексные шаблоны в OpenSearch включают поле `rule.nist_800_53`

