Как зашифровать файлы журнала log4net - PullRequest
10 голосов
/ 11 августа 2009

Есть ли способ зашифровать или защитить вывод log4net?

Ответы [ 4 ]

7 голосов
/ 11 августа 2009

Я предполагаю, что вы хотите зашифровать вывод журнала. В этом случае вам нужно написать свой собственный Appender, который может обрабатывать шифрование. Я бы предложил выяснить, какой механизм вывода вы собираетесь использовать без шифрования (например, FileAppender, EventLogAppender и т. Д.), А затем расширить этот Appender и переопределить функциональность, которая фактически записывает вывод.

Справочную документацию по аппендерам можно найти здесь .

Например, расширьте FileAppender с помощью EncryptedFileAppender и переопределите / реализуйте элементы, которые вам нужны, чтобы подключиться к записи файла.

Кроме того, вы можете выйти из IAppender и создать аппендера полностью с нуля. Это даст вам больше контроля, но может потребовать больше работы, если все, что вы пытаетесь сделать, это зашифровать полезную нагрузку.

3 голосов
/ 12 августа 2009

Нет встроенной поддержки шифрования. Так как другие заявили здесь, вам придется реализовать это самостоятельно.

Тем не менее, я бы предложил подкласс ForwardingAppender для шифрования. Это, в основном, позволит вам поставить своего appender «перед» любым стандартным appender, который вы выберете для фактической записи на диск.

3 голосов
/ 11 августа 2009

Если вы пытаетесь запретить пользователям читать его через Интернет, вы можете изменить имя файла, в который вы записываете записи журнала, на расширение, которое вы не разрешаете обслуживать на своем веб-сайте. Таким образом, пользователи не смогут угадать ваш лог-файл и получить к нему доступ через Интернет.

Если вы пытаетесь запретить пользователям, вошедшим на сам сервер, просматривать содержимое файла, вы можете использовать контроль разрешений, чтобы заблокировать файл, чтобы его могли просматривать только пользователи из определенных групп администраторов.

Кроме того, вы можете войти в базу данных, чтобы не было файла, который нужно защищать вообще.

2 голосов
/ 23 июня 2014

Я понимаю, что этот ответ приходит через несколько лет после первоначальной даты публикации, но, столкнувшись с той же проблемой, я решил создать пакет с открытым исходным кодом для этой работы: Log4Net Message Encryptor

Исходный код можно найти на GitHub

А пакет можно скачать с NuGet

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...