Есть ли способ шифровать или защищать вывод log4net?
Как шифровать файлы журнала log4net
Ответ 1
Я предполагаю, что вы хотите зашифровать вывод журнала. В этом случае вам нужно будет написать собственный Appender, который может обрабатывать шифрование. Я бы предложил выяснить, какой механизм вывода вы намерены использовать без шифрования (например, FileAppender, EventLogAppender и т.д.), А затем расширить этот Appender и переопределить функциональность, которая фактически выписывает вывод.
Справочную документацию по приложению можно найти здесь.
Например, расширьте FileAppender с помощью EncryptedFileAppender и переопределите/выполните элементы, которые вам нужны, чтобы подключиться к записи файла.
В качестве альтернативы вы можете перейти от IAppender и полностью создать приложение с нуля. Это даст вам больше контроля, но может потребоваться больше работы, если все, что вы пытаетесь сделать, это зашифровать вашу полезную нагрузку.
Ответ 2
Там нет встроенной поддержки шифрования. Так, как заявили другие, вам придется реализовать это самостоятельно.
Тем не менее, я хотел бы предложить подкласс ForwardingAppender для шифрования. Это позволит вам поместить ваш appender "перед" любым стандартным приложением, которое вы бы выбрали для записи на диск.
Ответ 3
Если вы пытаетесь запретить пользователям читать его через Интернет, вы можете изменить имя файла, в котором вы записываете записи журнала, в расширение, которое вы не позволяете обслуживать на своем веб-сайте. Таким образом, пользователи не могут угадать файл вашего журнала и получить доступ к нему через Интернет.
Если вы пытаетесь запретить пользователям, вошедшим на сам сервер, просматривать содержимое файла, вы можете использовать управление разрешениями, чтобы заблокировать файл, чтобы просмотреть содержимое только для пользователей из определенных групп администраторов.
Кроме того, вы можете войти в базу данных, чтобы не было файла, который необходимо защитить вообще.
Ответ 4
Я понимаю, что этот ответ наступает через несколько лет после первоначальной даты публикации, но после того, как я столкнулся с той же проблемой, я решил создать пакет с открытым исходным кодом для выполнения этой задачи: Log4Net Message Encryptor
Исходный код можно найти на GitHub
И пакет можно загрузить с NuGet