Предотвращение подделки журналов с помощью logback
Как можно защитить вход в систему (использующий макет шаблона) от атак подделки журналов? Есть ли свойство конфигурации, которое указывает logabck экранировать определенные зарезервированные символы?
PS: Идеальным решением было бы украсить каждый конвертер с помощью поставляемого декоратора конфигурации, но это кажется невозможным с текущим дизайном обратной записи.
2 ответа
Это можно сделать с помощью replace
шаблон конверсии: http://logback.qos.ch/manual/layouts.html
Например добавление %replace(%m%ex){'([\\|#])','\\$1'}
в шаблон вырвется |
,\
,а также #
в сообщении журнала и трассировке стека исключений
Вы также можете использовать эту библиотеку из owasp cf https://github.com/augustd/owasp-security-logging/wiki/Log-Forging.
Вот полная статья, чтобы понять, как ее использовать: https://www.srccodes.com/log-forging-by-crlf-log-injection-owasp-security-vulnerability-attacks-crlf/