我有一个使用嵌入式 Jetty 在 Linux 上运行的现有 Java Web 应用程序。该应用程序使用 jsvc 加载,它以 root 身份运行,侦听端口 443,并将请求中继到 Java 应用程序,该应用程序在端口 8443 上以较低权限的用户“appname”运行。
目前,应用程序从我们称为“secrets.properties”的文件中读取加密密钥。它可由“root”写入,由“appname”读取(技术上,由“appname”组的成员读取)。然而,我的偏好是该文件只能由“root”读取,并且 jsvc 读取该文件并将该文件的内容(甚至只是一个属性)传递给应用程序。我的目标是,如果有人能够破坏该应用程序并使用该应用程序的“appname”帐户获得系统访问权限,那么他们将无法检索密钥。
如果没有运行“ps -ex”的人可以看到密钥,这可能吗?