#java #sonarqube #slf4j
Вопрос:
Я ищу способ предотвратить регистрацию некоторых конфиденциальных данных.
В идеале я хотел бы предотвратить / зафиксировать такие вещи, как
String sensitive = "";
log.info ("This should be prevented or caught by something : {} ", sensitive);
этот пост немного рискованный, я готов расследовать любую зацепку.
аннотации, новые типы, Правила сонара, взлом регистратора и т.д…
спасибо за ваш мозговой штурм 🙂
гийом
Комментарии:
1. Вы должны отфильтровать выходные данные из выбранного вами бэкенда. Насколько мне известно, это не стандартная функциональность.
2. Какой сервер регистрации вы используете?
Ответ №1:
Создайте для него пользовательский тип.
Убедитесь, что toString
это не возвращает фактическое содержимое.
Ответ №2:
Я полагаю, что есть несколько способов сделать это, но один из способов-использовать файл конфигурации обратной связи, чтобы указать поставщика сообщений для «аргументов» и «сообщения». В этих поставщиках вы определяете метод «writeTo», который ищет определенные шаблоны в выходных данных и маскирует их.
Это путь к решению, но я, очевидно, не привожу здесь много подробностей. Я не знаю никаких «стандартных» решений для этого.
Другая возможность может быть реализована, если в вашей архитектуре службы работают в временных контейнерах, а выходные данные журнала отправляются в централизованный агрегатор журналов, такой как Splunk. Если бы вы были в порядке с начальными журналами, записанными в контейнере с конфиденциальными данными, вы могли бы попросить агрегатор журналов искать шаблоны для маскировки.
Ответ №3:
Я бы рекомендовал два варианта: можете ли вы разделить свои данные PII в отдельный журнал, а затем безопасно зарегистрировать эти данные?
Если нет, рассмотрите что-то вроде Cribl Logstream. Направьте на него отправителя журнала, и пусть он удалит все PII, которые вас беспокоят. LogStream позволяет очень легко удалять/маскировать/шифровать конфиденциальные данные. У него есть и множество других функций.
На моей последней работе мы использовали LogStream в качестве маршрутизатора для принятия решений о данных на основе содержимого. Данные PII были обнаружены, и одна копия была отправлена на безопасную платформу регистрации, сертифицированную PII, а другая копия была отправлена на операционную платформу регистрации, но данные PII были замаскированы, чтобы более широкая аудитория могла использовать регистрацию без риска. Это был очень полезный рабочий процесс, который решил целый ряд проблем.