我们有一个CentOS开发服务器,它有各种项目的源代码。 有些项目比其他项目更为敏感,对于那些敏感的项目,我们只想限制某些开发者(所有开发者都是内部的)。 我们服务器上的所有开发人员都拥有root访问权限,因为他们正在做的事情(我知道,对我来说是耻辱)。
我正在探索如何保护特定开发人员的某些源代码库,并提出了以下build议:像Truecrypt一样encryption,只有某些用户知道密码,更改根监牢,虚拟机或完全独立的服务器。 显然他们都有自己的优点和缺点。 我想收集一些build议和其他想法。 保护源代码免受服务器上的窥探,甚至是拥有root密码的用户,最好的办法是什么?
多谢你们! 〜丹
如果用户有根,他们可以做任何事情。 即使encryption或chroot监狱也不会保护系统的根用户。
例如,编写一个能够检测你的解密程序何时运行的程序并且不难,并追踪它以便能够获取解密密钥。
(安装特洛伊木马更容易,但是我想可能有系统来检测这个问题!虽然root用户也可以禁用这些检测机制,但是你想要防御谁?)
为什么他们需要root权限? 您可以使用sudo控制超级用户权限,以便他们可以执行必要的操作(如重新启动守护程序),但无法查看与其无关的代码。
那么为受限访问的开发人员创build一个Unix组呢? 然后,您只能将Unix权限设置为这个新组,这样非成员将无法访问您的敏感项目位置。
但是如果用户拥有root密码( 他为什么会这样做),我认为你不能保护任何东西。
你所要求的是不可能的,你的工作stream程被破坏了。 如果用户拥有root权限,他们最终可以绕过任何限制,甚至encryption。