---
sidebar_label: "Настройка отраслевого соответствия"
title: "Соответствие стандартам - CyberGo DD | HIPAA и PCI-DSS"
description: "Тематическое руководство по отраслевому соответствию логирования CyberGo DD с подробным описанием конфигурации правил фильтрации конфиденциальных данных для соответствия HIPAA (медицина), PCI-DSS (финансовые платежи) и правительственным стандартам безопасности, требований к аудитным логам, политик хранения и ротации логов, а также полных примеров конфигурации соответствия, помогая разработчикам строить безопасные и надёжные системы логирования в условиях строгих требований соответствия."
sidebar_position: 2
---

# Конфигурация отраслевого соответствия

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

## HIPAA медицинское соответствие

### Сценарии применения

- Системы электронных медицинских карт (EHR)
- Системы управления информацией больниц
- Платформы телемедицины
- Платформы медицинских исследований

### Правила фильтрации

`HealthcareConfig()` добавляет к `DefaultSecureConfig()` (полный набор шаблонов) дополнительную фильтрацию:

| Тип данных | Шаблон | Пример |
|------------|--------|--------|
| Коды ICD-10 | Формат диагностических кодов в сообщениях логов | `diagnosis=J18.9` |
| Номера медицинских карт (MRN) | Номера медицинских записей в сообщениях логов | `mrn=MRN-123456` |
| Номера заявлений медицинского страхования (HICN) | Номера HICN в сообщениях логов | `hicn=123456789A` |
| Идентификаторы пациентов | Идентификаторы пациентов в сообщениях логов | `patient_id=PAT-123456` |

### Пример конфигурации

```go
func NewHIPAACompliantLogger() (*dd.Logger, error) {
    return dd.New(dd.Config{
        Level:    dd.LevelInfo,
        Format:   dd.FormatJSON,
        Security: dd.HealthcareConfig(),
        Targets: []dd.OutputTarget{
            dd.FileOutput("logs/hipaa-audit.json"),
        },
    })
}
```

### Требования к аудиту

```go
// Требование HIPAA: аудит событий безопасности + защита целостности
integrityCfg, _ := dd.DefaultIntegrityConfigSafe()
signer, _ := dd.NewIntegritySigner(integrityCfg)

auditFile, _ := os.OpenFile("logs/hipaa-audit.json", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
auditLogger, _ := dd.NewAuditLogger(dd.AuditConfig{
    Enabled:          true,
    Output:           auditFile,
    JSONFormat:       true,
    IncludeTimestamp: true,
    BufferSize:       2000,
    MinimumSeverity:  dd.AuditSeverityInfo,
    IntegritySigner:  signer,
})
```

## PCI-DSS финансовое соответствие

### Сценарии применения

- Системы онлайн-платежей
- Сервисы обработки кредитных карт
- Банковские ключевые системы
- Платформы электронной коммерции

### Правила фильтрации

`FinancialConfig()` добавляет к `DefaultSecureConfig()` (полный набор шаблонов) дополнительную фильтрацию:

| Тип данных | Шаблон | Пример |
|------------|--------|--------|
| SWIFT-коды | Международные банковские коды в сообщениях логов | `swift=BOFAUS3N` |
| IBAN-счета | Международные банковские счета в сообщениях логов | `iban=DE89370400440532013000` |
| CVV/CVC | Коды верификации карт в сообщениях логов | `cvv=123` |
| Банковские маршрутные номера | ABA маршрутные номера в сообщениях логов | `routing_number=021000021` |
| Номера банковских счетов | Номера банковских счетов в сообщениях логов | `account_number=12345678` |

### Пример конфигурации

```go
func NewPCICompliantLogger() (*dd.Logger, error) {
    return dd.New(dd.Config{
        Level:    dd.LevelInfo,
        Format:   dd.FormatJSON,
        Security: dd.FinancialConfig(),
        Targets: []dd.OutputTarget{
            dd.FileOutput("logs/pci-audit.json"),
        },
    })
}
```

### Политика хранения логов

```go
fwCfg := dd.DefaultFileWriterConfig()
fwCfg.MaxSizeMB = 100    // Один файл 100МБ
fwCfg.MaxAge = 365 * 24 * time.Hour // Хранить 1 год (требование PCI-DSS)
fwCfg.MaxBackups = 50    // Хранить достаточно резервных копий
fwCfg.Compress = true    // Сжимать старые файлы для экономии места

fw, _ := dd.NewFileWriter("logs/pci-audit.json", fwCfg)
logger, _ := dd.New(dd.Config{
    Level:    dd.LevelInfo,
    Format:   dd.FormatJSON,
    Security: dd.FinancialConfig(),
    Targets:  []dd.OutputTarget{dd.CustomOutput(fw)},
})
```

## Правительственный стандарт

### Сценарии применения

- Информационные системы госучреждений
- Платформы государственных услуг
- Системы управления социальным страхованием
- Системы обработки налогов

### Правила фильтрации

`GovernmentConfig()` добавляет к `DefaultSecureConfig()` (полный набор шаблонов) дополнительную фильтрацию:

| Тип данных | Шаблон | Пример |
|------------|--------|--------|
| Номера паспортов | Номера паспортов в сообщениях логов | `passport_number=E12345678` |
| Номера водительских удостоверений | Номера водительских прав в сообщениях логов | `dl_number=D123456789` |
| EIN (федеральный налоговый номер США) | Формат EIN в сообщениях логов | `12-3456789` |
| NINo (Номер государственного страхования Великобритании) | Формат NINo в сообщениях логов | `AB123456C` |
| SIN (Номер социального страхования Канады) | Формат SIN в сообщениях логов | `123 456 789` |
| Номера дел | Номера дел в сообщениях логов | `case_number=CR-2024-00123` |

### Пример конфигурации

```go
func NewGovernmentLogger() (*dd.Logger, error) {
    return dd.New(dd.Config{
        Level:    dd.LevelInfo,
        Format:   dd.FormatJSON,
        Security: dd.GovernmentConfig(),
        Targets: []dd.OutputTarget{
            dd.FileOutput("logs/gov-audit.json"),
        },
    })
}
```

## Сравнение стандартов соответствия

| Аспект | HIPAA | PCI-DSS | Government |
|--------|-------|---------|------------|
| Дополнительные шаблоны фильтрации | +4 | +5 | +6 |
| Хранение логов | 6 лет | 1 год | По регламенту |
| Подписи целостности | Рекомендуется | Обязательно | Обязательно |
| Аудитные логи | Обязательно | Обязательно | Обязательно |
| Шифрование передачи | Обязательно | Обязательно | Рекомендуется |

## Пользовательская конфигурация соответствия

Когда предустановленные конфигурации не полностью удовлетворяют требованиям, можно создать комбинацию:

```go
// Добавление пользовательских шаблонов
filter, _ := dd.NewCustomSensitiveDataFilter(
    // Пользовательские шаблоны, специфичные для медицинской системы
    `(?i)insurance_id\s*[:=]\s*\S+`,
    `(?i)prescription\s*[:=]\s*\S+`,
)

logger, _ := dd.New(dd.Config{
    Format: dd.FormatJSON,
    Security: &dd.SecurityConfig{
        SensitiveFilter: filter,
    },
    Targets: []dd.OutputTarget{dd.FileOutput("logs/custom.json")},
})
```

## Следующие шаги

- [Фильтрация конфиденциальных данных](../guides/sensitive-filtering) -- подробное описание функций фильтрации
- [Аудитные логи](../guides/audit-logging) -- интеграция аудита безопасности
- [Контрольный список для продакшена](./production-checklist) -- проверка перед развёртыванием
- [Справочник API - Security](../api-reference/security-audit/security) -- документация API безопасности
