【发布时间】:2016-02-13 18:04:06
【问题描述】:
我正在研究与 Web 应用程序的日志记录和安全性相关的一般“架构”。据我所知,记录所有请求/响应数据(不仅是访问日志,还有请求/响应的正文)被认为是最佳实践。它适用于安全分析、调试目的、审计等等。
存在一个问题,即在某些请求中传输敏感信息,例如密码和/或信用卡数据。
(请注意:当然,我使用的是 HTTPS,但密码和/或信用卡数据将在日志或日志文件中显示为纯文本。顺便说一下,我不存储信用卡数据,因为我是不符合 PCI DSS,我们将此数据传输给我们的合作伙伴,该合作伙伴符合 PCI DSS)。
目前,我记录和存储异地访问日志(所以日志没有请求/响应主体,但带有 GET 参数数据),我在应用程序代码中记录请求/响应主体数据(所以我能够决定什么样的数据去记录,并在将敏感数据写入日志之前将其擦除)。
但是,我正在考虑在应用程序之外实现(请求/响应主体的)日志记录,让我们通过一些模块(例如 mod_dumpio 或类似的东西)在服务器级别说,但在这种情况下,记录敏感信息可能是个大问题。
我应该如何实现/配置它?
【问题讨论】:
-
如果您能告诉我们您使用哪种框架进行日志记录,那么对我们来说会更容易。如果您使用的是 log4j,请尝试阅读此 stackoverflow.com/questions/2461726/…。
-
"...密码和/或信用卡数据将在日志或日志文件中显示为纯文本。" 无论您做什么,都不要永远 记录信用卡信息或密码!!!!!!