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

我们使用wsgi和apache2在python中运行web应用程序,并且必须提交渗透testing。 如果攻击者以apache用户的身份获得shell访问权限,testing人员将会探索潜在的破坏。

目前,潜在的破坏是巨大的,因为我们有数据库的证书,S3服务等全部存储在apache用户可读的文本文件中。 这似乎是build立这些types的应用程序时的默认build议,但有没有更安全的方法来做到这一点?

我正在考虑使用Apache(以root身份)将setenv环境variables传递给wsgi应用程序,但这实际上更安全吗? 对此有何build议?

谢谢!

使apache用户成为无shell用户:

例:

chsh -s /sbin/nologin apache 

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

如果apache以root用户身份运行,那么也应该放弃权限,然后再运行另一个不能访问wsgi文件的帐户。

我不知道你是否必须评估mod_wsgi使用受到的损害:)

编辑:当心,如果Apache进程被攻击所击中,请将apache用户切换到nologin 不会阻止shell访问。 如果这是一个重大问题,我会考虑selinux