WCF调试日志记录敏感信息

4
我正在研究在WCF中启用调试日志记录的安全影响,特别是它可以/将记录哪些信息以及是否有任何配置可以减轻它。
比如说,如果我们创建了一个包含WCF操作的DataContract和一个Password属性,我需要知道当请求和响应的日志记录被打开时,该属性是否会以明文形式写出,以及任何层次的服务异常是否会暴露其中任何信息。
其他考虑因素包括SSL或消息加密是否可以防止此日志记录,以及是否可以使用特殊绑定配置、行为或钩子来拦截并可能清除日志。
原因是客户需要将日志写入磁盘而不包含他们的客户密码,因为公司中不太安全的人可能会读取它们。
谢谢。
2个回答

1

你必须区分MessageLogging和Tracing。你的敏感数据似乎是消息数据的一部分。因此,当你打开Message logging时,你会在日志中清晰地看到你的敏感数据。

另一方面,跟踪更多地涉及WCF基础设施事件。你的消息内容不会被记录在那里。

同样,在WCF运行时引发的异常中:它们永远不会包含任何消息数据。默认情况下,由于安全考虑,发送给客户端的异常绝对不包含任何信息。在异常情况下,你必须显式地包含要发送到客户端的数据。

我不确定如何拦截日志记录和跟踪,但WCF无疑非常可扩展,所以我敢打赌,有一个扩展点可以将你的TracingBehavior注入到框架中的某个位置。


0

我认为您应该创建一个自定义监听器来跟踪个人身份信息 - 这是一篇关于一些最佳实践的好文章(章节:记录敏感信息)- 因为您似乎也在使用 WebHost。我相信,无论是否使用 SSL,PII 都将被写入日志文件中,但有办法防止未经授权的访问。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接