首页 > 解决方案 > Spring Boot 属性在进程列表中可见(ps)

问题描述

我有一个通过 shell 运行的 Spring Boot 进程,即

my-shell# java -jar my-app.jar --secret.password=text2000

一切都很好并且可以正常工作,但是在发布之后

ps -ef | grep "my-app" | grep -v grep 

我可以看到密码和所有其他不太好的属性。

我该怎么做才能不暴露这样的密码?如何保护我的密码,使其无法通过任何形式查看ps -ef

标签: javaspring-bootsecurity

解决方案


您可以使用环境变量或部署环境提供的一些类似机制(如Kubernetes Secretsapplication.properties )将它们放入(或)或将它们传递到您的应用程序进程中。application.yml

请注意,仅仅从进程列表中隐藏秘密(或其位置)不会提高您的应用程序的安全性。您应该使用加密来保护您的秘密。


推荐阅读