声纳问题:确保该记录器的配置是安全的

Nid*_*dhi 11 logging issue-tracking sonarqube

我在 Sonar 上的代码遇到以下问题:

确保该记录器的配置是安全的。

我写的代码是:

public static final Logger logger = Logger.getLogger("logger");
if (logLevel.equalsIgnoreCase("info"))
    logger.setLevel(Level.INFO);
else
    logger.setLevel(Level.ALL);
Run Code Online (Sandbox Code Playgroud)

它在通话时向我显示此错误logger.setLevel

我该如何解决这些问题?

小智 5

根据SonarQube 规则,此规则标记用于启动记录器配置的审查代码。

目标是指导安全代码审查。另外,无法通过代码修复它,而是您应该问自己是否:

  • 未经授权的用户可能有权访问日志,因为它们存储在不安全的位置,或者因为应用程序允许访问它们。
  • 日志包含生产服务器上的敏感信息。当记录器处于调试模式时可能会发生这种情况。
  • 日志可以无限增长。当用户每次执行操作时将附加信息写入日志并且用户可以根据需要多次执行该操作时,就会发生这种情况。
  • 日志不包含足够的信息来了解攻击者可能造成的损害。记录器模式(信息、警告、错误)可能会过滤掉重要信息。它们可能不会打印上下文信息,例如事件的精确时间或服务器主机名。
  • 日志仅存储在本地,而不进行备份或复制。

如果您对其中任何一个问题的回答是“是”,您就会面临风险。

有关安全日志记录项目的更多信息,请查看owasp 页面