Pet*_*ofi 4 c# encryption nlog
我登录了我的网站,我想对日志文件进行加密。要加密日志文件,我只需将属性fileAttributes="Encrypted" 添加到配置文件中,您如何在此处看到:
<target name="file" xsi:type="File"
layout="${longdate} | ${pad:padding=-5:inner=${level:uppercase=true}} | ${message} ${onexception:inner=${newline} ${exception:format=ToString}}"
fileName="${basedir}/Log/log_info.log"
fileAttributes="Encrypted"
archiveFileName="${basedir}/Log/log_info_{#}.log"
archiveAboveSize="1048576"
archiveNumbering="Rolling"
maxArchiveFiles="2"
concurrentWrites="true"
keepFileOpen="false" />
Run Code Online (Sandbox Code Playgroud)
问题:如何解密文件以查看日志记录?
NLog 不会对文件本身进行加密,它只是要求操作系统处理它。在 .NET 中使用FileOptions.Encrypted枚举值公开。谁的评论很好地描述了它的作用:
表示文件已加密,只能使用与加密相同的用户帐户进行解密。
“同一个用户帐户”是最典型的挂断,IIS 通常使用它自己的帐户运行,详细信息在这个现有的 Q+A中有很好的介绍。此 MSDN 页面中详细介绍了操作系统实现。
在 Web 服务器上使用此选项应该稍作停顿。唯一可以轻松读取日志文件的人是从外部破坏机器的攻击者。他阅读文件没有任何问题,因为他使用的是 IIS 帐户,所以它的内容很容易以明文形式获得。人民群众需要的日志文件,以阻止此类攻击者将有一个相当困难的时间阅读文件,因为他们会用自己的帐户来访问机器。
这不是理想的安全实践。
| 归档时间: |
|
| 查看次数: |
1658 次 |
| 最近记录: |