首页 > 解决方案 > 如何正确设置敏感凭据的配置文件?

问题描述

我目前正在使用可以访问数据库的 spring-boot 开发后端应用程序。数据库的登录凭据存储在一个名为 application.properties 的文件中,这只是 spring-boot 的一个示例,但这必须与我认为的其他技术类似。

我想知道这是否是存储敏感凭据的最先进技术,或者是否有另一种(更好、更安全)的方式来存储此类信息?有哪些技术可以应对这些挑战?

当然,您不想将这些配置文件推送到任何版本控制存储库等,但是以这种方式存储它是否足够“安全”?有人可能会争辩说,如果有人可以访问您的后端应用程序的代码,那么您还有其他问题,但我仍然很好奇。

标签: spring-bootsecurityconfigurationpasswordspassword-protection

解决方案


您使用的论点是正确的。假设一种选择是加密。即使您加密了您的凭据,应用程序也会使用私钥来解密,对吗?如果服务器遭到入侵,攻击者可以读取源代码,找到私钥并解密凭据。

使其更安全的一种方法是使用请求来收集凭据。它可以通过 REST 请求(一种可以通过请求向您提供应用程序凭据的 API)来完成。

最安全的方法是使用密码保险箱。这篇文章有很好的内容。


推荐阅读