Spring 引导属性在进程列表中可见(ps)
Spring Boot properties are visible in process list (ps)
我有一个 Spring 引导过程,我通过 shell 运行,即
my-shell# java -jar my-app.jar --secret.password=text2000
一切正常,但在发布后
ps -ef | grep "my-app" | grep -v grep
我可以看到密码和所有其他不太好的属性。
我该怎么做才能不这样暴露密码?如何保护我的密码
无法通过 ps -ef
?
以任何形式查看它
您可以将它们放入 application.properties
(或 application.yml
)或使用环境变量或您的部署环境(如 Kubernetes Secrets)提供的一些类似机制将它们传递到您的应用程序进程中。
请注意,仅仅从进程列表中隐藏机密(或其位置)不会提高应用程序的安全性。您应该使用加密来保护您的秘密。
我有一个 Spring 引导过程,我通过 shell 运行,即
my-shell# java -jar my-app.jar --secret.password=text2000
一切正常,但在发布后
ps -ef | grep "my-app" | grep -v grep
我可以看到密码和所有其他不太好的属性。
我该怎么做才能不这样暴露密码?如何保护我的密码
无法通过 ps -ef
?
您可以将它们放入 application.properties
(或 application.yml
)或使用环境变量或您的部署环境(如 Kubernetes Secrets)提供的一些类似机制将它们传递到您的应用程序进程中。
请注意,仅仅从进程列表中隐藏机密(或其位置)不会提高应用程序的安全性。您应该使用加密来保护您的秘密。