在多开发nginx设置中保护密码

Shr*_*eni 9 php mysql security ubuntu nginx

我们的服务器上有一个Ubuntu12.04 + PHP + nginx设置.我们的开发人员可以访问/ usr/lib/php5 /和/ var/www/folders.我们在很多项目上工作,并且在给定时间有50-100个不同的应用/模块,每个应用/模块都有db active.

我们希望提出一种机制来保护我们的数据库密码,并考虑以下因素:

  • 系统管理员创建密码并在某处注册(文件,或sqlite数据库或其他一些)
  • 这些应用程序提供了一个键,指示他们想要哪个DB以及哪些权限级别,并且此模块返回包含连接所需内容的对象.像"user_manager.client1.ro","user_manager.client1.rw"之类的东西.
  • 该机制应该为应用程序提供特定密码,因此可以通过"www-data"访问,但除非知道密钥,否则无法看到所有其他密码.

我们设法得到了一个原型,但中央密码提供模块在www数据空间中运行,因此文件/ sqlite总是可以被/ var/www /或/ usr/lib /中的任何其他文件访问php5因此所有密码都可能被泄露.

有没有办法设置密码提供模块以root权限运行,应用程序从中请求密码?我知道我们可以为此构建一个全新的服务,但是构建和维护似乎太多了(特别是因为这个服务成为我们的单点故障.)

有什么建议?

St0*_*0rM 1

使用权限,您可以执行以下操作:

1)给一个开发者一个用户

2) chown /var/www/ 下的每个文件夹到用户 www-data 以及该站点的特定组,例如: /var/www/site-a www-data group-a /var/www/site-b www-数据组-b 等

3)chmod每个目录(以及带有-R的所有子目录和文件)到770

4) 将每个开发人员添加到他实际开发的每个组中。