安全版本控制

时间:2010-01-11 17:25:47

标签: security version-control

我想就“版本控制”这个主题发表意见, 但注重安全。

一些常见功能:

  • 允许使用客户端访问源代码 (无法直接访问服务器上的源代码)

  • 授予仅访问权限的权限 我可以修改的源代码(即:开发人员应该可以 仅访问与其项目相关的源代码)。 因此应该可以创建用户组并授予不同的用户组 访问级别。

  • 跟踪修改,签到和签出以及 制作它们的开发人员......

  • ......当然,我忘记了什么。

你知道哪些是最“偏执”的版本控制系统? 他们实施了哪些功能?

我的目标是创建一个环境来开发管理敏感数据的应用程序:信用卡,密码等...... 恶意开发人员可能会插入后门或故意更改某些安全功能。因此,应严格控制对源代码的访问。 我必须承认我对版本控制系统的了解很差,所以,我担心,定制SVN对我来说可能是一项艰巨的任务。

由于

5 个答案:

答案 0 :(得分:2)

我知道你想要的那些不是你想要的那些。例如,Clearcase或Serena Dimensions可以做到以上所有......但是你想要使用它们是疯狂的。 (啊,我听到你说,我是管理员,所以我不必承担这种痛苦。嗯,这些也需要很多关心 - 我们在我工作的最后一家公司有8名Clearcase管理员。你不要不想让用户不断帮助用户做噩梦。

因此。你可以拥有可怕的,或者你可以使用友好,易于使用的SVN并实现自己的结账跟踪(使用http传输和Apache日志),并在每个目录上获得访问控制权限。您还必须保护光盘上的最终存储库,但是您必须对每个SCM执行此操作,即使Dimensions将其数据库存储在Oracle中 - 如果您可以访问Oracle实例,则可以使用已保存的位,无论如何你必须确保这一点。

答案 1 :(得分:2)

Perforce广泛用于金融行业,其中代码的安全性有时是一个问题。

您可以设置看门人和访问控制来限制代码的可见性,并为SOX合规性的各种活动生成审计跟踪。

答案 2 :(得分:1)

Perforce有这些功能,是一个非常好的产品imho。

答案 3 :(得分:1)

使用众所周知的行业标准系统,例如subversion。它可以非常简单地控制对单个项目的访问,并且使用Web服务器authz配置可以控制对每个项目中特定文件的单独访问。

唯一的非标准问题是记录结账。但是,Web服务器可以轻松地为您记录此信息。

您的用户会感谢您。

答案 4 :(得分:0)

github是git的包装器,它为git服务器提供了这些功能。与原始git服务器相比,它特别包括访问控制,并且还为授权用户的代码提供了有用的Web界面。