ПДн в логах приложений: как исключить попадание, настроить маскирование и ретеншн
Когда лог-файл становится источником утечки персональных данных
Зачем это вообще проблема
В 2024 году Роскомнадзор зафиксировал 135 утечек баз данных, в результате которых в сеть попало более 710 миллионов записей о россиянах [1]. По данным ГК InfoWatch, за весь 2024 год было скомпрометировано свыше 1,5 млрд записей персональных данных — рост более 30% к 2023 году [2]. При этом подавляющее большинство инцидентов носит умышленный характер, однако существенная доля утечек связана с неправильной конфигурацией систем, в том числе с некорректной настройкой логирования.
Разработчики и DevOps-инженеры нередко воспринимают логи как сугубо техническую сущность: строки в файле, нужные для отладки. Но в логах могут оседать имена пользователей, адреса электронной почты, номера телефонов, IP-адреса, идентификаторы сессий, фрагменты запросов к базам данных с реальными данными клиентов — и всё это превращает лог-хранилище в потенциальный источник утечки.
С 30 мая 2025 года в России действуют существенно ужесточённые штрафы за нарушения при работе с персональными данными — до 20 млн рублей для организаций по ряду составов [3]. Новая статья 272.1 УК РФ, введённая законом № 421-ФЗ от 30.11.2024, устанавливает уголовную ответственность за незаконное использование персональных данных, включая их хранение [4]. В этой ситуации игнорировать вопрос ПДн в логах — значит сознательно принимать регуляторный и репутационный риск.
Данная статья адресована разработчикам приложений, DevOps-инженерам, специалистам по информационной безопасности и compliance-менеджерам. Материал охватывает как технические практики (маскирование, токенизация, настройка фреймворков), так и организационные вопросы (политики ретеншна, документирование, аудит).
Часть 1. Почему ПДн оказываются в логах: корневые причины
1.1 Режим отладки в продакшне
Самая частая причина — включённый уровень DEBUG в производственной среде. При DEBUG большинство фреймворков пишут в лог полное содержимое объектов, включая поля с персональными данными. Ситуацию усугубляет то, что ORM-библиотеки (например, Hibernate, ActiveRecord) при DEBUG-режиме пишут полные SQL-запросы со значениями параметров, то есть фактически — реальные данные из БД.
Автор публикации в Medium с анализом семи типичных паттернов утечки ПДн в логи указывает, что ошибочное включение DEBUG в продакшне — один из самых распространённых инцидентов, с которыми он сталкивался на практике, и что эта ошибка способна вызвать «лавинообразный» рост объёма чувствительных данных в логах за считанные часы [5].
1.2 Логирование объектов целиком через toString()
Распространённый антипаттерн в Java-приложениях: передача объекта-сущности (например, User, Order) прямо в метод logger.info(). Стандартный метод toString() в этом случае включает все поля объекта. Если объект содержит имя, телефон, email или паспортные данные — всё это уйдёт в лог.
Платформа Piiano в детальном разборе этой темы (2024) приводит конкретный пример: вызов logger.info("Updated owner " + owner) выведет в лог полное имя и номер телефона клиента, тогда как для диагностики достаточно было бы записать только внутренний идентификатор [6].
1.3 URL и query-параметры как источник ПДн
Если приложение использует URL вида /users/john.doe@example.com/profile или передаёт данные через query-параметры (?email=john@example.com&phone=79001234567), веб-сервер (nginx, Apache) и прокси автоматически записывают эти адреса в access-логи. Рекомендация Skyflow — заменять чувствительные идентификаторы в URL на внутренние UUID или токены [7].
1.4 Трассировка ошибок (stack traces) и логи исключений
При выбросе исключения фреймворки нередко включают в трассировку значения, переданные в качестве параметров метода, — в том числе ПДн. Это особенно актуально для случаев валидации входящих данных: исключение может включать «сырой» пользовательский ввод.
1.5 Сторонние библиотеки с собственным логированием
Разработчик контролирует только собственный код. Сторонние библиотеки (HTTP-клиенты, SDK платёжных систем, email-сервисы) могут иметь собственные настройки логирования и при агрессивном режиме писать содержимое HTTP-запросов и ответов — включая тела с персональными данными.
1.6 Заголовки HTTP-запросов
Authorization-заголовки, cookie, API-ключи — всё это может оседать в логах, если настроено полное логирование входящих запросов (что нередко делают для отладки на ранних этапах и забывают отключить).
Часть 2. Что считается ПДн в контексте логов: российский правовой контекст
2.1 IP-адрес как персональное данное
Ключевой вопрос: являются ли IP-адреса в лог-файлах персональными данными? В российской практике — да, при наличии возможности идентификации. Постановление Конституционного суда РФ № 17-П от 16.07.2018 закрепило, что IP-адрес может квалифицироваться как персональные данные, если используется для идентификации лица [8]. Роскомнадзор также указывает, что IP-адреса в логах подлежат защите по тем же правилам, что и иные персональные данные [8].
Практический вывод: лог-файлы веб-серверов со стандартными полями (remote_addr, http_referer) в большинстве случаев содержат персональные данные и должны обрабатываться в соответствии с 152-ФЗ.
2.2 Что ещё в логах может считаться ПДн
По 152-ФЗ и разъяснениям Роскомнадзора, к персональным данным относятся любые сведения, прямо или косвенно позволяющие идентифицировать физическое лицо [9]. В контексте логов приложений это:
- Полное имя и фамилия пользователя в сообщениях об операциях.
- Email-адрес и номер телефона в логах регистрации, аутентификации, отправки уведомлений.
- IP-адрес — при наличии возможности сопоставить с конкретным лицом.
- Идентификатор сессии — если сессия связана с аутентифицированным пользователем.
- Содержимое запросов к API — если включает поля с данными пользователей.
- Фрагменты SQL-запросов при DEBUG-логировании ORM.
- Номера документов, СНИЛС, ИНН, паспортные данные — если попадают в логи через форм-данные или параметры запросов.
2.3 Требования 152-ФЗ к логированию действий
Статья 19, часть 1, пункт 7 Федерального закона № 152-ФЗ обязывает оператора обеспечивать регистрацию и учёт действий пользователей информационной системы персональных данных [10]. Это создаёт неустранимое противоречие: закон требует вести журналы аудита для подтверждения законности обработки, но при этом эти же журналы могут содержать персональные данные, к которым предъявляются требования защиты, ограниченного хранения и контроля доступа.
Решение этого противоречия — не отказ от логирования, а правильная его архитектура.
Часть 3. OWASP и международные стандарты о ПДн в логах
3.1 OWASP Top 10:2025 — A09: Security Logging and Alerting Failures
OWASP Top 10:2025 включает «Security Logging and Alerting Failures» в список десяти наиболее критичных рисков безопасности веб-приложений. Документ прямо указывает: приложение является уязвимым, если оно логирует чувствительную информацию, которая не должна логироваться — в том числе ПДн и PHI (protected health information) [11].
3.2 OWASP Logging Cheat Sheet
OWASP Logging Cheat Sheet содержит конкретный список данных, которые не должны записываться в логи напрямую: идентификаторы сессий, пароли, секретные вопросы/ответы, чувствительные ПДн (данные о здоровье, государственные идентификаторы), данные платёжных карт. Для этих данных OWASP рекомендует применять удаление, маскирование, хэширование или шифрование [12].
Отдельно Cheat Sheet рекомендует рассмотреть методы деидентификации для «не чувствительных» ПДн (имена, телефоны, email): удаление, скрамблинг или псевдонимизацию прямых и косвенных идентификаторов в случаях, когда личность пользователя не требуется для целей диагностики.
3.3 NIST SP 800-92 и revision 1
NIST SP 800-92 («Guide to Computer Security Log Management») — основополагающий документ по управлению логами, разработанный Национальным институтом стандартов и технологий США. Документ определяет управление логами как процесс генерации, передачи, хранения, доступа и уничтожения данных логов [13]. В 2023 году NIST опубликовал черновик версии Revision 1 — «Cybersecurity Log Management Planning Guide», расширяющий руководство на современные сценарии включая облако и микросервисы [14].
Стандарт подчёркивает: управление логами должно включать политики хранения, контроль доступа к лог-данным и процедуры их уничтожения — всё то, что в российском контексте регулируется 152-ФЗ.
Часть 4. Технические методы защиты ПДн в логах
Существует иерархия методов защиты, которые применяются последовательно — сначала на уровне кода приложения, затем на уровне фреймворка логирования, и наконец — в лог-пайплайне. Важно понимать: каждый следующий уровень является «последней линией обороны», а не основной.
4.1 Метод 1: Редактирование (Redaction) — не логировать вообще
Наиболее радикальный и наиболее надёжный метод: если данные никогда не попадают в лог, они не могут из него утечь. Суть — определить, какие поля реально нужны для диагностики, и не передавать остальные в вызовы логгера.
Практические правила:
- Вместо объекта
Userлогировать толькоuser_id(внутренний числовой или UUID-идентификатор). - Вместо полного SQL-запроса — имя операции и время выполнения.
- Вместо URL с email — URL с анонимизированным идентификатором.
- Не логировать тела HTTP-запросов и ответов в продакшне — только статус-коды и заголовки без Authorization.
4.2 Метод 2: Маскирование (Masking)
Маскирование заменяет часть или всё значение нечитаемыми символами. В отличие от редактирования, в логе остаётся указание на тип данных и частичный контекст. Это необратимая операция [15].
Примеры реализации:
- Номер телефона
+79001234567→+7900***4567(маска последних цифр). - Email
john@example.com→j***@example.com. - Номер карты
4111111111111111→****-****-****-1111. - Пароль →
[REDACTED].
Маскирование удобно там, где операционной команде нужно подтвердить, что «данная категория данных поступила», не зная конкретного значения.
Известный инцидент 2018 года: Twitter был вынужден потребовать смены паролей у всех 330 миллионов пользователей после того, как обнаружил, что пароли пользователей записывались в внутренние лог-файлы в открытом виде до хэширования [16].
4.3 Метод 3: Токенизация (Tokenization)
Токенизация заменяет чувствительное значение случайно сгенерированным токеном, который хранится в защищённом хранилище (data vault) и может быть обратимо восстановлен при наличии прав доступа [7]. В лог пишется токен — бессмысленная строка без прямой связи с исходным значением.
Преимущество перед маскированием: в логе можно отслеживать поведение конкретного пользователя по токену, не зная его реальных данных. Это полезно для расследования инцидентов.
Платформы Google Cloud используют аналогичный подход (BigQuery Sensitive Data Protection, DLP API): токены, сгенерированные один раз для данного значения, воспроизводимы при одном ключе, что обеспечивает referential integrity при работе с лог-данными [17].
4.4 Метод 4: Псевдонимизация (Pseudonymization)
Псевдонимизация — это замена прямых идентификаторов на псевдонимы таким образом, что без дополнительной информации (ключа или таблицы соответствия) идентификация невозможна, но при наличии ключа — обратима [18]. В отличие от полной анонимизации, псевдонимизированные данные в России и Европе (GDPR) всё ещё считаются персональными данными, но с несколько меньшими ограничениями по ряду вопросов.
Практическая реализация: HMAC-SHA256 от значения с секретным ключом. Результат одинаков для одного значения при одном ключе (referential integrity), но необратим без ключа. Пример реализации на Python приведён в руководстве Last9 по GDPR и логированию [18].
4.5 Метод 5: Хэширование (Hashing)
Хэширование криптографически необратимо (в отличие от псевдонимизации с ключом) и даёт одинаковый результат для одного значения. Полезно для случаев, когда нужно посчитать уникальных пользователей или сопоставить события без знания реальных идентификаторов. IP-адреса часто хэшируются именно так: в лог уходит не 192.168.1.100, а SHA256(IP + SALT).
Часть 5. Настройка маскирования на уровне фреймворков логирования
5.1 Java: Logback
Logback — один из наиболее распространённых фреймворков логирования для Java-приложений (Spring Boot использует его по умолчанию). Инструмент предоставляет несколько встроенных механизмов маскирования [19]:
%replaceв паттерне ConversionLayout — регулярное выражение для замены паттернов в итоговой строке лога. Позволяет настроить маскирование на уровне конфигурацииlogback.xmlбез изменения кода приложения.- Начиная с версии Logback 1.5.22, введено автоматическое маскирование переменных, чьё имя содержит слова
password,secretилиconfidentialпри подстановке конфигурационных переменных. - Кастомный
PatternLayout— расширение класса, перехватывающее сообщения перед записью и применяющее regex-замены. - Переопределение
toString()у доменных объектов с использованием аннотации Lombok@ToString.Includeдля предоставления маскированного представления.
Важное ограничение: последний подход (переопределение toString()) затрагивает не только логирование, но и отладку — это может быть неудобно в процессе разработки.
5.2 Java: Log4j 2
Log4j 2 поддерживает маскирование через механизм RewritePolicy и кастомные Appender-ы, перехватывающие LoggingEvent перед записью [20]. Подход с кастомным Appender-ом и регулярными выражениями для маскирования в maskSensitiveData() описан в многочисленных руководствах и является стандартной практикой.
5.3 OpenTelemetry Collector: централизованное маскирование
Если приложение использует OpenTelemetry для сбора телеметрии (логи, трейсы, метрики), маскирование можно настроить централизованно на уровне Collector с помощью трёх процессоров [21]:
- Attributes processor — для удаления или замены известных полей с ПДн.
- Redaction processor — для фильтрации атрибутов по regex-паттернам (например, маска email или IP).
- Transform processor (OTTL) — для сложной условной логики редактирования.
Преимущество централизованного подхода: маскирование работает независимо от языка и фреймворка приложений, что критично в микросервисной архитектуре с командами на Python, Go, Java и Node.js.
5.4 Инфраструктурный уровень: New Relic, Elastic и другие
Ряд платформ централизованного управления логами предоставляет встроенные механизмы маскирования. New Relic, например, автоматически маскирует паттерны номеров кредитных карт (13–16 цифр) и социальных номеров страхования США, а также позволяет настроить кастомные правила обфускации через UI или NerdGraph API [22].
Elastic Stack (Logstash/Filebeat) поддерживает маскирование через фильтры mutate и ruby.
Критически важная оговорка: инфраструктурное маскирование — последняя линия обороны. Если ПДн ушли в лог на уровне приложения, до лог-хранилища они могут добраться по незащищённым каналам, попасть в промежуточные файлы или буферы. Маскирование на уровне приложения всегда предпочтительнее.
Часть 6. Структурированное логирование как профилактика утечек
6.1 Почему JSON-логи безопаснее текстовых
Структурированное логирование (JSON, key-value pairs) принципиально меняет ситуацию с контролем ПДн [23]. В текстовом логе строки вида INFO User john@example.com logged in from 192.168.1.1 — это неструктурированные данные, из которых сложно автоматически извлечь и замаскировать конкретные поля.
В JSON-логе:
{
"timestamp": "2025-01-08T14:30:00Z",
"level": "INFO",
"event": "user_login",
"user_id": "usr_7a3b9c",
"ip_hash": "a3f8b2...",
"success": true
}
— поля явно именованы, что позволяет:
- Настроить список
exclude_fieldsна уровне конфигурации логгера. - Применять маскирование к конкретным ключам, а не к произвольным строкам.
- Автоматически обнаруживать нежелательные поля (например, неожиданное появление поля
emailв логе).
6.2 Принцип минимализма: логировать только то, что нужно
Ключевой принцип безопасного логирования — не собирать данные «про запас». Каждое поле в логе должно иметь обоснованную диагностическую цель. Уровень INFO в продакшне должен включать только события с операционной ценностью, уровень DEBUG — только в тестовой среде.
Руководство Last9 по GDPR и логированию предлагает использовать конфигурационный блок, явно перечисляющий include_fields, exclude_fields и transform_fields (для полей, требующих хэширования или псевдонимизации) [18].
6.3 Корреляционные идентификаторы вместо ПДн
Вместо email или имени пользователя в лог следует писать корреляционный идентификатор — UUID или внутренний user_id, который однозначно привязан к субъекту в закрытом хранилище. При расследовании инцидента команда безопасности может раскрыть привязку через защищённый канал, не допустив широкого распространения ПДн.
Часть 7. Политика ретеншна: сколько хранить и как удалять
7.1 Российские требования по срокам хранения логов
Российское законодательство прямо не устанавливает единый срок хранения лог-файлов приложений — это определяется оператором исходя из целей и правовых оснований обработки (ст. 5 152-ФЗ) [10]. Тем не менее ряд ориентиров существует:
- Журналы аудита действий пользователей — 3 года с момента завершения работы с документами (по нормам архивного хранения журналов регистрации) [24].
- Логи безопасности — «несколько лет», но не более срока актуальности (Nubes) [25].
- Данные абонентов оператора связи — не менее 3 лет (ПП РФ 538) [24].
- Документы для защиты интересов в суде — 3–10 лет (срок исковой давности, ГК РФ, ст. 196) [24].
Общий принцип: нельзя хранить дольше, чем того требуют цели обработки. Если срок не установлен договором или законом — данные удаляются или обезличиваются при достижении цели [24].
7.2 Матрица ретеншна по типу логов
Практический подход — классифицировать логи по типу и назначить каждому классу обоснованный срок хранения:
- Отладочные логи (DEBUG/TRACE) — не хранить в продакшне. Максимум 24–48 часов при временном включении.
- Операционные логи (INFO) — 30–90 дней: достаточно для диагностики текущих проблем и не избыточно для накопления ПДн.
- Логи безопасности и аудита (аутентификация, авторизация, изменение данных) — 1–3 года: нужны для расследования инцидентов и доказательства законности обработки при проверках Роскомнадзора и ФСТЭК.
- Логи ошибок и исключений — 90–180 дней: для анализа трендов и повторяющихся проблем.
Для международного контекста: GDPR предполагает срок 30–90 дней для операционных логов, SOX — 7 лет для финансовых аудит-записей, HIPAA — 6 лет для записей доступа к PHI [26].
7.3 Технические механизмы ретеншна
- Rolling файловые appender-ы (Logback
RollingFileAppenderсmaxHistoryиtotalSizeCap) — автоматическое удаление старых файлов. - Политики жизненного цикла в облачных хранилищах (AWS S3 Lifecycle, Azure Blob Lifecycle) — автоматический переход на «холодное» хранение и удаление.
- Индексные политики в Elasticsearch (Index Lifecycle Management) — автоматическое удаление индексов старше заданного порога.
- Централизованная конфигурация в лог-менеджменте — один файл конфигурации с правилами для всех сервисов.
Важно: правила ретеншна должны быть зафиксированы документально в политике обработки персональных данных организации — это требование ст. 19 152-ФЗ.
7.4 Право на удаление и логи
С введением «права на забвение» в российском праве (аналог GDPR «right to erasure») возникает практическая проблема: как исполнить запрос субъекта на удаление его ПДн, если они «размазаны» по многочисленным лог-файлам за три года?
Решение — именно псевдонимизация и токенизация: если в логах хранятся токены, а не реальные данные, «удаление» сводится к удалению записи из data vault без перезаписи тысяч лог-файлов.
Часть 8. Практический чек-лист: что сделать прямо сейчас
8.1 Аудит текущего состояния (Discovery)
- Запросить у команды разработки полный список типов логов (access-логи, application-логи, audit-логи, error-логи) и форматов.
- Проверить настройки уровней логирования в продакшне: отсутствие DEBUG/TRACE в конфигурации.
- Провести выборочный просмотр актуальных лог-файлов с поиском паттернов ПДн (regex для email, телефонов, СНИЛС, ИНН, номеров карт, IP-адресов).
- Проверить, логируются ли полные URL входящих запросов на уровне веб-сервера (nginx, Apache) — и содержат ли они чувствительные query-параметры.
- Определить, какие сторонние библиотеки имеют собственные настройки логирования и на каком уровне они работают.
8.2 Архитектурные изменения в коде
- Ввести корпоративный стандарт: никогда не передавать объекты-сущности с ПДн напрямую в методы логгера.
- Переопределить
toString()для всех объектов-сущностей с маскированием чувствительных полей или использовать специализированные аннотации. - Заменить чувствительные идентификаторы в URL на внутренние UUID.
- Добавить конфигурацию явного исключения полей для структурированного логгера (
exclude_fields: [email, phone, ssn, password, token]). - Проверить настройки ORM: убедиться, что SQL-параметры не логируются в продакшне.
8.3 Конфигурация фреймворков логирования
- Для Logback — настроить
%replaceв конвертере PatternLayout для маскирования известных паттернов (email, телефонов, номеров карт). - Для Log4j 2 — реализовать кастомный
RewritePolicyили Appender с маскированием. - Для OpenTelemetry Collector — настроить Redaction processor с правилами для чувствительных полей.
- Для централизованных лог-платформ (Elastic, New Relic, Graylog) — настроить обфускационные правила второго уровня.
8.4 Политика ретеншна
- Документально зафиксировать сроки хранения для каждого класса логов в политике обработки ПДн.
- Настроить автоматическое удаление через rolling appender-ы или lifecycle policies.
- Ограничить права доступа к лог-хранилищу принципом минимальных привилегий.
- Организовать шифрование логов в покое (at rest) и при передаче (in transit).
8.5 Процессы и документация
- Включить проверку логирования ПДн в чек-лист code review.
- Настроить автоматические тесты, проверяющие отсутствие ПДн в выводе логгера при типичных операциях.
- Проверить, что staging-среда имеет те же конфигурации логирования, что и продакшн.
- Назначить ответственного за мониторинг и периодический аудит лог-файлов на предмет ПДн.
Часть 9. Типичные ошибки и как их избежать
9.1 «Мы маскируем в конце пайплайна — этого достаточно»
Ошибка: полагаться только на маскирование в лог-коллекторе или централизованной платформе. До достижения этого уровня данные могут быть записаны в локальные файлы на сервере приложения, переданы по незащищённым каналам в агрегатор, попасть в буферы.
Решение: многоуровневая защита, начиная с кода приложения.
9.2 «У нас внутренняя сеть — логи никуда не уйдут»
Ошибка: переоценка защищённости периметра. По данным InfoWatch за 2024 год, почти каждый пятый инцидент с компрометацией ПДн (18,5%) происходит по вине внутренних нарушителей [2]. Доступ к лог-серверу для IT-специалистов — стандартная практика, а значит нежелательные данные в логах достигают широкого внутреннего аудитора.
9.3 «Строгий контроль лог-пайплайна на 100% решает проблему»
Критическая позиция: инструменты автоматического маскирования не в состоянии выловить все типы ПДн, особенно нестандартные форматы или контекстно-зависимые данные. Medium-автор с опытом в распределённых системах указывает: ни один из доступных инструментов не покрывает все возможные паттерны утечки, и постоянное совершенствование подхода к логированию — более надёжная стратегия, чем надежда на инструмент [5].
9.4 Одинаковая конфигурация staging и prod
Частая проблема: в staging используется DEBUG-режим для удобства разработки, а конфигурация отличается от продакшн. В результате ПДн утекают именно в тестовой среде, которая менее защищена.
9.5 Игнорирование сторонних библиотек
Разработчики контролируют собственный код, но не всегда проверяют настройки логирования используемых HTTP-клиентов, ORM, SDK платёжных систем. Рекомендация: при внедрении любой новой библиотеки проверять её документацию в части логирования и явно отключать verbose-режим.
Часть 10. Кейсы и инциденты
10.1 Twitter (2018): пароли в логах
В мае 2018 года Twitter сообщил, что из-за программной ошибки пароли пользователей записывались во внутренние лог-файлы в открытом виде до прохождения процедуры хэширования. Компания была вынуждена рекомендовать всем 330 миллионам пользователей сменить пароли [16]. Инцидент произошёл именно потому, что данные логировались до их обработки — то есть на самом раннем этапе, до какого-либо маскирования.
10.2 DreamHost (2021): незащищённые лог-файлы
В 2021 году хостинговая компания DreamHost допустила утечку более 814 миллионов записей из неоткрытой базы данных и незашифрованных внутренних лог-файлов системы мониторинга [7]. Данные включали имена пользователей, email-адреса, информацию о предоставленных услугах.
10.3 Российские инциденты в сфере торговли (2024)
По данным Роскомнадзора, в 2024 году наибольшее количество утечек зафиксировано у компаний в сфере торговли и оказания услуг — 27,8% всех случаев [1]. Часть инцидентов связана с некорректно настроенными системами логирования, в которых данные заказов и клиентов попадали в открыто доступные лог-файлы или передавались сторонним аналитическим сервисам без должного маскирования.
Часть 11. Тренды и будущее
11.1 OpenTelemetry как стандарт де-факто
OpenTelemetry всё активнее вытесняет разрозненные подходы к сбору логов, трейсов и метрик. Централизованный Collector с процессорами редактирования становится стандартным местом применения политик маскирования — один раз настроил, работает для всех сервисов [21]. Это существенно упрощает управление ПДн в микросервисных архитектурах.
11.2 Privacy-by-design в DevSecOps
Включение проверки безопасного логирования в CI/CD пайплайны (статический анализ, автоматические тесты на наличие ПДн в выводе) становится частью DevSecOps-практик. OWASP прямо рекомендует создавать внутренние гайдлайны для разработчиков и покупать или строить системы мониторинга [11].
11.3 Рост требований российских регуляторов к логированию
С учётом новых штрафов (до 20 млн руб.) и уголовной ответственности, введённых в 2025 году, следует ожидать усиления внимания Роскомнадзора и ФСТЭК именно к технической защите данных, включая логирование. Конференция «Персональные данные 2026» (itsecexpo.ru) включает отдельный трек по «сквозным процессам логирования, аудита и реагирования» [27].
11.4 AI/ML и новые риски: логирование ИИ-систем
С распространением ИИ-ассистентов в корпоративных средах возникает новый класс риска: ПДн из запросов пользователей к ИИ могут оседать в логах LLM-систем. OWASP выделяет эту проблему как самостоятельную уязвимость «Sensitive Information Disclosure» в OWASP Top 10 for LLM Applications [28].
Заключение: от разовых мер к процессу
Защита персональных данных в логах — не разовая задача и не «галочка» в чек-листе. Это непрерывный процесс, который требует участия как минимум трёх команд: разработки (правила кодирования, архитектура логирования), DevOps/SRE (конфигурация пайплайна, ретеншн) и безопасности/compliance (аудит, документация, мониторинг).
Ключевые выводы для практики:
- Начинайте с аудита: поймите, что именно сейчас оседает в ваших логах — запустите grep/regex по актуальным файлам.
- Вводите структурированное логирование с явным управлением полями: JSON-формат делает контроль ПДн значительно проще.
- Не полагайтесь только на маскирование в конце пайплайна — работайте на уровне кода.
- Документируйте политику ретеншна: это требование 152-ФЗ и основа доказательной базы при проверках.
- Встраивайте проверки в code review и CI/CD: безопасное логирование должно стать частью культуры разработки, а не внешним требованием.
Компании, выстраивающие эти практики системно, не только снижают риск штрафов и утечек, но и существенно сокращают время аудитов и проверок: вся история обработки ПДн прозрачна, задокументирована и не содержит «сюрпризов» в виде нежелательных данных в неожиданных местах.
О платформе «Пятый фактор»

Одна из ключевых сложностей в борьбе с ПДн в логах — не столько знание методов защиты, сколько понимание того, где именно персональные данные уже находятся. Ручной аудит лог-источников, баз данных, API и интеграций занимает недели и оставляет слепые зоны: новые сервисы, новые поля в схемах БД, новые интеграции появляются постоянно.
Именно эту проблему решает Пятый фактор — on-prem платформа для автоматического обнаружения, инвентаризации и контроля персональных данных в корпоративных системах. Платформа работает с метаданными, структурой и агрегатами — без передачи и хранения «сырых» значений ПДн, что само по себе исключает риск создания дополнительного источника утечки.
Применительно к теме логов: Пятый фактор может автоматически обнаружить источники (включая лог-хранилища и централизованные лог-системы), где есть поля или паттерны, соответствующие персональным данным, — и выдать живую карту рисков с указанием владельцев и статусов. Вместо недельного ручного аудита — актуальная картина в реальном времени. Это позволяет раньше замечать новые риски: появился новый сервис с verbose-логированием, изменилась схема БД — платформа зафиксирует изменение и подсветит новый риск до того, как он превратится в инцидент.
Источники
[1] Роскомнадзор / ТАСС — Итоги 2024 года по утечкам персональных данных — https://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%D0%A3%D1%82%D0%B5%D1%87%D0%BA%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B2_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8
[2] ГК InfoWatch — Количество слитых персональных данных в 2024 году выросло на треть — https://www.infowatch.ru/company/presscenter/news/kolichestvo-slitykh-personalnykh-dannykh-v-dve-tysyachi-dvadtsat-chetvertom-godu-vyroslo-na-tret
[3] Bitrix24 / Правовест Аудит — Закон о персональных данных 2025: изменения, штрафы до 20 млн рублей — https://pravovest-audit.ru/nashi-statii-nalogi-i-buhuchet/izmeneniya-v-obrabotke-personalnykh-dannykh-s-30-maya-2025-goda/
[4] Правовест Аудит — Изменения в обработке персональных данных с 30 мая 2025 года, включая ст. 272.1 УК РФ — https://pravovest-audit.ru/nashi-statii-nalogi-i-buhuchet/izmeneniya-v-obrabotke-personalnykh-dannykh-s-30-maya-2025-goda/
[5] Joe Crobak, Medium — Seven Best Practices for Keeping Sensitive Data Out of Logs — https://medium.com/@joecrobak/seven-best-practices-for-keeping-sensitive-data-out-of-logs-3d7bbd12904
[6] Piiano — Why Spilling PII to Logs Is Bad and How To Avoid It — https://www.piiano.com/blog/spilling-pii
[7] Skyflow — How to Keep Sensitive Data Out of Your Logs: 9 Best Practices — https://www.skyflow.com/post/how-to-keep-sensitive-data-out-of-your-logs-nine-best-practices
[8] ICTech — Являются ли лог-файлы сервера с IP-адресами персональными данными? — https://ic-tech.ru/blog/faq/questions-152fz-site/yavlyayutsya-li-log-fayly-servera-s-ip-adresami-personalnymi-dannymi/
[9] Альфа-Курс — Персональные данные: изменения на 2025 год — https://kurs.alfabank.ru/articles/personalnye-dannye-izmeneniya/
[10] ICTech — Какие документы нужны для хранения логов работы системы? — https://ic-tech.ru/blog/faq/questions-152fz/kakie-dokumenty-nuzhny-dlya-hraneniya-logov-raboty-sistemy/
[11] OWASP Top 10:2025 — A09: Security Logging and Alerting Failures — https://owasp.org/Top10/2025/A09_2025-Security_Logging_and_Alerting_Failures/
[12] OWASP — Logging Cheat Sheet — https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html
[13] NIST — SP 800-92: Guide to Computer Security Log Management — https://csrc.nist.gov/pubs/sp/800/92/final
[14] NIST — SP 800-92 Rev. 1 (Draft): Cybersecurity Log Management Planning Guide — https://csrc.nist.gov/pubs/sp/800/92/r1/ipd
[15] Better Stack — Best Logging Practices for Safeguarding Sensitive Data — https://betterstack.com/community/guides/logging/sensitive-data/
[16] eyer.ai — Log Data Masking: 7 Best Practices for 2024 (Twitter incident reference) — https://www.eyer.ai/blog/log-data-masking-7-best-practices-for-2024/
[17] Google Cloud Blog — Get started with built-in tokenization for sensitive data protection — https://cloud.google.com/blog/products/identity-security/get-started-with-built-in-tokenization-for-sensitive-data-protection
[18] Last9 — GDPR Log Management: A Practical Guide for Engineers — https://last9.io/blog/gdpr-log-management/
[19] copyprogramming.com — Mask Sensitive Data in Logs with Logback: Complete Guide for 2026 — https://copyprogramming.com/howto/mask-sensitive-data-in-logs-with-logback
[20] Bubu Tripathy, Medium — Safeguarding Sensitive Data in Log4j Logs — https://medium.com/@bubu.tripathy/safeguarding-sensitive-data-in-log4j-logs-34b12067ca67
[21] Dash0 — Scrubbing Sensitive Data from OpenTelemetry Logs, Traces & Metrics — https://www.dash0.com/guides/scrubbing-sensitive-data-with-opentelemetry
[22] New Relic — 4 Ways to Manage PII in Your Log Pipeline — https://newrelic.com/blog/how-to-relic/4-ways-manage-pii-in-log-pipeline
[23] Uptrace — Structured Logging: Best Practices & JSON Examples — https://uptrace.dev/glossary/structured-logging
[24] RPPA — Законные сроки хранения некоторых категорий ПДн — https://rppa.pro/ask/2011_01
[25] Nubes — Персональные данные в 2025 году: новые правила обработки и защиты для бизнеса — https://nubes.ru/blog/articles/personal-data-2025
[26] Edge Delta — What is Log Retention? A Complete Compliance Guide in 2025 — https://edgedelta.com/company/knowledge-center/what-is-log-retention
[27] itsecexpo.ru — Персональные данные в 2026 году: новые требования и инструменты — https://www.itsecexpo.ru/2025/program/personal-data
[28] StackHawk — Essential Guide to Preventing Sensitive Information Disclosure Risks (OWASP LLM Top 10) — https://www.stackhawk.com/blog/sensitive-information-disclosure/
