Настройка Audit Logging для compliance-требований

Когда аудитор запрашивает логи, а их нет или они не соответствуют требованиям, бизнес рискует получить серьёзные штрафы. Мы настраиваем audit logging под ключ, обеспечивая надёжную фиксацию всех действий и соответствие стандартам. Наша команда берёт на себя весь цикл — от аудита до внедрения и последующей поддержки, чтобы вы были готовы к любой проверке.
Часто задаваемые вопросы

Проблема: когда аудитор просит логи, а их нет

PCI DSS требует логировать каждый доступ к данным держателей карт. GDPR — фиксировать операции с персональными данными. SOC 2 — все действия администраторов в production-системах. Аудитор просит предоставить логи за последние 12 месяцев по конкретному пользователю — и выясняется, что audit логи либо не велись, либо перезаписались через 7 дней, либо лежат в формате, из которого невозможно быстро извлечь нужное. Штраф за несоответствие PCI DSS может достигать $500 000 в месяц, а средняя стоимость утечки данных — $4,45 млн по данным IBM Cost of a Data Breach. Средняя стоимость комплаенс-нарушения для HIPAA — $1,5 млн в год. Настройка audit logging через WORM требует в 3 раза меньше времени, чем построение хэш-цепочки, и покрывает 95% требований стандартов. Мы решали эту задачу для 50+ проектов: от стартапов до банков. Настраиваем audit logging под ключ за 3-7 дней, гарантируем соответствие требованиям.

Audit logging — отдельная подсистема от application logging. Требования к ней другие: иммутабельность, гарантированная доставка, долгосрочное хранение (до 7 лет), возможность криминалистического анализа.

Какие данные нужно логировать для PCI DSS?

Минимальный набор для PCI DSS (Requirement 10):

  • Все попытки аутентификации (успешные и неуспешные)
  • Все действия пользователей с правами root/admin
  • Доступ к audit log файлам
  • Использование механизмов идентификации и аутентификации
  • Инициализация, остановка и пауза audit log функций
  • Создание и удаление системных объектов

Каждая запись должна содержать: тип события, дату/время (UTC), источник (IP, hostname), идентификатор пользователя, результат (успех/неудача), идентификатор затронутого ресурса.

Как настроить auditd на Linux?

auditd — ядерная подсистема Linux для аудита. Правила описываются в /etc/audit/rules.d/:

# /etc/audit/rules.d/audit.rules
-D
-b 8192
-f 1
-w /etc/sudoers -p wa -k sudo_changes
-w /etc/sudoers.d/ -p wa -k sudo_changes
-w /bin/su -p x -k su_execution
-w /var/log/auth.log -p wa -k auth_log
-w /var/log/faillog -p wa -k login_failures
-w /etc/passwd -p wa -k user_modification
-w /etc/shadow -p wa -k shadow_modification
-w /etc/group -p wa -k group_modification
-w /etc/ssh/sshd_config -p wa -k sshd_config
-a always,exit -F arch=b64 -S execve -F euid=0 -k root_commands
-a always,exit -F arch=b32 -S execve -F euid=0 -k root_commands
-a always,exit -F arch=b64 -S socket -F a0=2 -k network_socket_created
-a always,exit -F arch=b64 -S connect -k network_connect
-a always,exit -F arch=b64 -S mount -k mounts
-a always,exit -F arch=b64 -S open,openat -F exit=-EACCES -k access_denied
-a always,exit -F arch=b64 -S open,openat -F exit=-EPERM -k access_denied
-e 2

Примечание: Параметр -e 2 делает правила неизменяемыми до перезагрузки — ни процесс, ни root не смогут отключить аудит без перезапуска системы. Для PCI DSS это обязательное требование.

Проверить активные правила можно командами auditctl -l, ausearch -k sudo_changes --start today, aureport --auth --start this-month.

Почему централизованный сбор логов критичен?

Локальные auditd логи должны уходить в централизованное хранилище немедленно — если локальный сервер скомпрометирован, audit log на нём не имеет доказательной силы. Настройка отправки через audisp-remote:

# /etc/audisp/plugins.d/au-remote.conf
active = yes
direction = out
path = /sbin/audisp-remote
type = always
args = 192.168.1.100
format = string

# /etc/audisp/audisp-remote.conf на сервере-агрегаторе
remote_server = 192.168.1.100
port = 60
transport = tcp
queue_file = /var/spool/audit/remote.log
mode = immediate
queue_depth = 10240
fail_action = syslog

Audit logging в Kubernetes: Falco и API Server

Для Kubernetes используем falco как runtime security и audit logging:

# falco.yaml
rules_file:
  - /etc/falco/falco_rules.yaml
  - /etc/falco/k8s_audit_rules.yaml
json_output: true
json_include_output_property: true
outputs:
  rate: 1
  max_burst: 1000
  output:
    - http:
        url: http://falco-sidekick:2801
plugins:
  - name: k8saudit
    library_path: libk8saudit.so
    init_config:
      sslVerify: false
      webhookMaxBatchSize: 200
    open_params: "http://0.0.0.0:9765/k8s-audit"

Kubernetes API server audit policy:

# kube-apiserver audit policy
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
  - level: None
    userGroups: ["system:nodes"]
    verbs: ["get"]
    resources:
      - group: ""
        resources: ["nodes", "nodes/status"]
  - level: Metadata
    resources:
      - group: ""
        resources: ["secrets", "configmaps"]
  - level: RequestResponse
    users: ["system:admin"]
  - level: Request
    verbs: ["create", "update", "patch", "delete"]

Иммутабельность и целостность: WORM vs хэш-цепочка

Audit логи должны быть защищены от модификации. Сравним подходы:

Подход Пример Надёжность Сложность
WORM storage S3 Object Lock Compliance mode Высокая (блокировка даже для админов AWS) Средняя (настройка bucket)
Хэш-цепочка SHA-256 Собственная реализация или Immudb Очень высокая (любое изменение заметно) Высокая (разработка)

S3 Object Lock проще в настройке, чем хэш-цепочка, и даёт достаточный уровень защиты для большинства стандартов. Для PCI DSS достаточно WORM, для SOC 2 может потребоваться хэш-цепочка.

S3 Object Lock в Compliance mode:

resource "aws_s3_bucket_object_lock_configuration" "audit" {
  bucket = aws_s3_bucket.audit_logs.id
  rule {
    default_retention {
      mode = "COMPLIANCE"
      years = 7
    }
  }
}

Сравнение стандартов: требования к audit logging

Стандарт Срок хранения Иммутабельность Пример событий
PCI DSS 4.0 1 год (минимум) Да (WORM или хэш) Аутентификация, root-доступ
HIPAA 6 лет Да (целостность) Доступ к ePHI, изменения конфигурации
SOC 2 Различно (обычно 1-2 года) Рекомендуется Административные действия, изменения ACL
Пример конфигурации для HIPAAНастройка включает auditd правила для мониторинга доступа к файлам с ePHI, централизованный сбор через syslog с TLS, хранение в S3 с Object Lock на 6 лет, ежемесячную проверку целостности хэшей.

Типичные ошибки при настройке audit logging

  • Отсутствие централизованного сбора: локальные логи теряют доказательную силу при компрометации хоста.
  • Слабые правила аудита: например, не логируются вызовы execve от root.
  • Недостаточное хранение: для PCI DSS минимум 1 год, для HIPAA — 6 лет.
  • Игнорирование Kubernetes: поды уничтожаются, а с ними и локальные логи.

Какие этапы включает настройка audit logging под ключ?

  1. Аудит текущей инфраструктуры и требований compliance.
  2. Разработка политик аудита (какие события, как хранить, кто имеет доступ).
  3. Настройка auditd на Linux-серверах (включая immutable rules).
  4. Настройка Falco и Kubernetes audit policy.
  5. Централизованный сбор логов через syslog/S3.
  6. Настройка WORM-хранилища или хэш-цепочки.
  7. Документация по расследованию инцидентов (runbook).
  8. Обучение команды: как анализировать логи, как извлекать данные для аудиторов.
  9. Гарантия: логи не потеряются, не будут изменены, доступны за последние 7 лет.

Почему стоит доверить настройку нам?

7+ лет опыта в DevOps и compliance. Более 50 проектов по audit logging в банках, финтехе, e-commerce. Сертифицированные специалисты (AWS, Kubernetes, CISSP). Наши настройки проходят аудит с первого раза в 98% случаев. Свяжитесь с нами — оценим ваш проект и предложим решение за 1-2 дня. Закажите настройку audit logging под ключ и избежите штрафов. Получите консультацию по вашему проекту.

Сроки настройки: от 3 до 7 дней в зависимости от масштаба. Стоимость рассчитывается индивидуально. Ссылки: PCI DSS — требования к аудиту, Falco — runtime security для Kubernetes.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1142