当我在项目上运行Fortify Scan时,我确实看到我正在使用
记录异常LOGGER.error(e.getMessage(),e);
并且它说这不是正确的方式,因为attckers可以访问此信息并从中获取系统信息并计划攻击。
这样做的最佳方式是什么?(没有对安全性进行编制)?
答案 0 :(得分:6)
在大多数情况下,这种推理坦率地说是荒谬的。您的LOGGER对象应该写入本地文件系统,如果远程攻击者可以访问您的文件系统,则会出现 way 更大的问题。
根据需要限制对日志文件的访问,然后记录您内心的内容。
答案 1 :(得分:3)
您可以在生产中关闭日志记录,但是当最终用户报告错误并且您不知道发生了什么时,这会使您处于极大的劣势。
您应该将日志视为关键数据,并在操作系统级别保护对它们的访问,例如访问数据库文件。如果攻击者访问数据库,他无论如何都会破坏系统。最多只有系统管理员才能访问日志文件,并且只应在需要时将它们提供给开发人员(生产中的严重错误等)。