有什么方法来加密或保护log4net输出?如何加密log4net日志文件
回答
我假设你想加密日志的输出。在这种情况下,你需要编写你自己的Appender来处理加密。我会建议找出你打算在没有加密的情况下使用什么输出机制(即FileAppender,EventLogAppender等),然后扩展该Appender并覆盖实际写出输出的功能。
在追加程序的参考文档可以发现here。
例如,与EncryptedFileAppender扩展FileAppender和覆盖/实现需要以挂接到文件写入成员。
或者,您可以从IAppender扩展并完全从头开始创建appender。这会给你更多的控制权,但如果你想要加密你的有效载荷,可能需要更多的工作。
感谢您的精彩提示。所以,你的意思是,我最好先加密我的内容,然后再附加到我的日志中,然后执行一个包装工作。那么,我的logss的内容将全部加密,而无需在log4net中配置任何内容? – paradisonoir 2009-08-11 15:23:41
您应该能够将其实际追加到日志文件的每个行项目的位置,从而允许您加密整个行。一旦你完成了,那么你需要配置log4net来使用你的Appender,而不是你之前使用的任何东西。在这种情况下,EncryptedFileAppender – Joseph 2009-08-11 15:37:29
@Joseph,你是否建议为每行日志或当它翻转到不同的文件(因为它达到日志的最大大小)加密它? – paradisonoir 2009-08-11 17:13:03
如果您正试图防止用户阅读它在网上,你可以改变你在写日志记录的扩展,你不允许通过自己的网站提供服务的文件名。这样,用户就无法猜测您的日志文件并通过网络访问它。
如果你想防止用户查看该文件的内容登录到服务器本身,你可以使用权限控制锁定文件下来,只在特定的管理员组的用户可以查看其内容。
或者,您可以登录到数据库,以便有没有文件,需要在所有担保。
对加密没有直接的支持。正如其他人在此说明的那样,您必须自己实施。
这就是说,我会建议一个子类来ForwardingAppender做加密。这基本上会让你把你的appender“放在”你选择做的任何标准appender之前,以便真正写入磁盘。
感谢分享,我正在寻找类似nlog的解决方案,现在至少我有一个参考实现要遵循。顺便说一下,我打算使用公钥/私钥来加密一个随机密钥,以进一步提高安全性,而不是修复对称密钥,因为任何有权访问该日志的人也可以从app.config获得密钥 – faulty 2015-07-23 06:44:04
很高兴能帮助您! 对于我来说,主要的用例集中在日志存储在数据库中或关闭初始服务器。我的想法是,如果攻击者可以访问web.config文件,那么加密日志可能是徒劳的手势! 我甚至还在考虑将实现移植到NLog上,但是生活就这样陷入了困境。如果您确实设法创建了项目并将其开源,请告诉我,因为我会特别感兴趣! – 2015-07-23 09:27:52
另外要提到的是web.config中的加密密钥部分应该使用Aspnet_regiis加密。这意味着密钥不是纯文本的,并且会更安全一些。 – 2015-07-23 09:47:39
- 1. 如何解析log4net日志文件?
- 2. 如何清除log4net日志文件?
- 3. log4net的 - 任何日志文件产生
- 4. 如何使用log4net在日志文件中添加空白行?
- 5. Log4net - 每日重置日志文件
- 6. log4net的+ Common.Logging +天青=空日志文件
- 7. Log4net不为NHibernate创建日志文件
- 8. log4net日志文件没有创建
- 9. Log4net的空NHibernate日志文件
- 10. 使用Log4Net创建ReadOnly日志文件
- 11. 未创建Log4net日志文件?
- 12. 与log4net独特的日志文件
- 13. log4net动态创建日志文件
- 14. log4net - 只创建一个日志文件
- 15. Log4Net VB日志文件问题
- 16. log4net ....单独的日志文件
- 17. 无法写入日志文件log4net
- 18. log4net日志文件在哪里?
- 19. Log4net EventLogAppender日志事件ID
- 20. 加密或清理Rails日志文件
- 21. log4net日志记录没有创建日志文件
- 22. log4net - 缺少日志
- 23. Log4Net消息日志
- 24. 如何使用Log4Net实现日志文件的自动归档
- 25. 如何删除旧的log4net日志文件?
- 26. 为多个日志文件滚动的log4net文件 - 文件名
- 27. 如何添加sqlldr日志文件?
- 28. 使用log4net和azure文件appender设置日志文件限制
- 29. 滚动的Log4Net日志文件中的自定义文件名?
- 30. 打印密码在日志文件中的加密
下载你到底要加密?日志输出?或者访问log4net API?或者是其他东西? – 2009-08-11 14:51:29
日志输出。 – paradisonoir 2009-08-11 14:56:41