安全地存储 Web 应用程序的凭据

安全地存储 Web 应用程序的凭据

我们正在使用 wsgi 和 apache2 在 python 中运行 Web 应用程序,并且必须提交渗透测试。如果攻击者以 apache 用户身份获得 shell 访问权限,测试人员将探索造成损害的可能性。

目前,损害潜力巨大,因为我们将数据库、S3 服务等的凭证都存储在 Apache 用户可读的文本文件中。这似乎是设置此类应用程序时的默认建议,但有没有更安全的方法呢?

我正在考虑使用 apache(以 root 身份)将带有 setenv 的环境变量传递给 wsgi 应用程序,但这实际上更安全吗?对此有什么建议吗?

谢谢!

答案1

使 apache 用户成为无 shell 用户:

例子:

chsh -s /sbin/nologin apache

答案2

mod_wsgi能够以另一个用户的身份运行,因此请实现它并适当地设置文件系统权限。

如果 apache 以 root 身份运行,则也使其放弃权限并在另一个无权访问 wsgi 文件的帐户下运行。

我想知道您是否必须评估因mod_wsgi遭到炮击而造成的损害:)

编辑:当心,chsh'ing apache 用户nologin不是如果 Apache 进程受到漏洞攻击,则阻止 shell 访问。我会调查selinux这是否是一个重大问题。

相关内容