我们有一个 CentOS 开发服务器,里面有各种项目的源代码。有些项目比其他项目更敏感,对于那些敏感项目,我们希望只允许特定开发人员群体(所有开发人员都是内部开发人员)访问。问题是,由于他们所做工作的性质,我们服务器上的所有开发人员都拥有 root 访问权限(我知道,我感到惭愧)。
我正在探索保护某些源代码存储库不被某些开发人员访问的方法,并提出了以下想法:使用 Truecrypt 之类的加密技术,只有部分用户知道密码、更改 root jail、虚拟机或完全独立的服务器。显然,它们都有各自的优缺点。我想收集一些建议和其他想法。保护源代码不被服务器上的窥探者(即使是拥有 root 密码的用户)窥探的最佳方法是什么?
多谢你们! 〜丹
答案1
如果用户拥有 root 权限,他们就可以做任何事情。即使加密或 chroot jails 也无法保护系统免受 root 用户的攻击。
例如,编写一个程序来检测解密程序何时运行并对其进行跟踪以便捕获解密密钥并不难。
(安装木马更容易,但我认为你有系统来检测它!不过,根用户也可以禁用这些检测机制。你想防御谁?)
答案2
他们为什么需要 root 访问权限?您可以使用 sudo 控制超级用户权限,以便他们可以执行必要的操作(例如重新启动守护程序),但不能查看与他们无关的代码。
答案3
为限制访问的开发人员创建一个 Unix 组怎么样?然后,您将能够仅向这个新组设置 Unix 权限,这样非成员就无法访问您的敏感项目位置。
但如果用户有 root 密码(他为什么会这么做?),我不认为你能守护任何东西。
答案4
您的要求无法通过您不完善的工作流程实现。如果用户拥有 root 权限,他们最终可以绕过您设置的任何限制,甚至是加密。