在纯文本配置文件中没有清晰的密码

问题描述 投票:0回答:0

带有数据库数据的属性文件:

myproject.db.driver.class= com.mysql.cj.jdbc.driver myproject.db.jdbc.url = jdbc:// xxxxx myproject.db.username =用户 myproject.db.password =SecretPassword
  • bean的xml xml定义了数据源:

    我们通过了一个安全审查,他们告诉我们密码在文件中以纯文本为单位。
  • 要解决此问题,选项将是:
  • jasypt库。但是我们又回到了同样的问题。需要一个
主键

来加密/解密密码并在enc()中设置值,但是此

master键

存储在哪里?如果您有此键,则可以使用Jasyptpbestringdecrypterpli类解密ENC内容并获取TRUE密码。

  1. 属性文件可以由Root用户拥有,具有400个权限(无读)。并以普通用户的身份运行该应用程序,但具有先前授权的

    Sudo命令。 我认为第二种选择是最好的。但是,可能不使用sudo

  2. 您还有其他建议吗?我知道安全方面并不完美。建议使用jasypt,但不能解决问题。 thanks.

    这里的要求不是将密码存储为纯文本中的文件,原因很简单,任何人都可以从这里获得并滥用密码。 i建议您使用强大的加密技术(如SHA-256等)使用passowrd,然后将其存储在文件中。

java security jdbc spring-jdbc properties-file
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.