GitHub托管私有存储库的安全性如何?

56

我阅读了这个帖子,但我想知道这样的解决方案有多安全?我知道github提供ssh/ssl支持,很熟悉,但是有人可以给我解释一下他们将使用什么内部安全措施来确保我的提交的conf/credential文件不会被黑客攻击吗?

编辑:我已经阅读了http://help.github.com/security/,但我希望得到一个来自有多个代码库主机工作经验的人的答案。


是的,我不确定应该在哪里提出这个问题。 - meder omuraliev
“patched OS”(来自http://help.github.com/security)已经足以让我觉得它们破坏了自己的安全性。如果他们要编写一个定制补丁程序,其可能存在的漏洞数量比他们认为的还要多,那么为什么不在所有其他安全性方面下功夫呢? - Amy B
7
@Coronatus说过他们的补丁是自定义的,但哪里有写明呢?很可能是来自操作系统的最新补丁,也就是最新、最安全的版本。 - alternative
“我的提交的conf/credential文件不会被黑客攻击”是什么意思?你是担心你的闭源文件被公开,还是担心有人修改你的代码? - Daniel Böhmer
公开披露,抱歉..措辞不当。 - meder omuraliev
链接已经失效:这个帖子 和 http://help.github.com/security/。 - Rumit Patel
4个回答

60

我们最近尝试使用了 GitHub。

与我们以前部署在自己的 Linux 虚拟服务器上的 Git 代码托管相比,我对其安全性并不是非常印象深刻。我们决定使用它,但仅限于需要保持私密代码不泄露的项目。

特别是:

  1. 公司无法控制用户帐户。我们可以控制哪些用户可以访问我们的代码库,但是没有密码策略,用户自己选择电子邮件地址等。
  2. 无法通过 IP 地址限制访问。
  3. 只有用户能够重置密码。
  4. 如果用户的电子邮件帐户被攻破(我们无法看到他们设置的是哪个帐户),将导致他们的 GitHub 帐户被攻破,因为他们使用电子邮件验证来重置忘记的密码。
  5. 没有访问日志(对于绝大多数或可能所有更改都有审计追踪,但对于访问没有任何记录)。
  6. Web 界面只有密码保护,因此容易受到来自其他网站的密码重用和某种程度的暴力破解攻击(GitHub 关于失败登录后的处理方式的声明非常不清楚)。

单独其中一两个问题也许还可以接受,但是综合来看,GitHub 完全不适用于保密项目。

他们最近增加了两步验证功能,并提供了 API,以便组织至少可以检查具有对其代码库访问权限的用户是否启用了两步验证。虽然我认为这并不是最好的解决方案,但它可能足以使 GitHub 被视为适用于私人代码库的安全解决方案。

正如 mt3 所指出的那样,您可以使用企业版进行安装,这可能会显着提高安全性,但是与标准 GitHub 公司帐户之间的成本差异巨大,而且这可能意味着您将错过与 GitHub 集成的所有第三方工具。

在非安全方面,他们现在可以正确支持年度账单,这有助于降低文书工作量。

GitHub最近推出了新的商业计划和额外功能 - 这可能解决'1'/'4'/'5'。尽管其中的“运行时间保证”(uptime guarantee)令人匪夷所思 - 它甚至不到“四个9”,并且排除了计划维护和任何他们认为是“超出合理控制范围”的事情 - 并且这不是实际的保证,而只是你下一个账单中的小额抵扣,上限是你账单的三分之一。基本上是非常谨慎措辞的市场营销词语,而不是他们做出任何承诺。


4
GitHub实际上允许您选择年度结算:https://help.github.com/articles/does-github-provide-invoicing - Brandon Linton
1
非常有用的帖子,谢谢。 - theflowersoftime
GitLab似乎提供了与GitHub类似的功能,但成本更低且具有开源实现。他们有一个免费版本,您可以自己托管,或者是每个用户每年39美元的企业版。(我使用过GitHub,但只浏览过GitLab网站,没有个人经验。) - yoyo

10

3
值得注意的是,Keybase 正是引入了这个概念:云端便利性与加密安全性的结合。详见以下链接: https://keybase.io/blog/encrypted-git-for-everyone - Fazal Majid

8

一根绳子有多长?

这是一个相当难回答的问题。

看到他们的安全页面,他们似乎已经覆盖了几乎所有内容,假设他们实际上执行了所有这些操作。

您可以认为将代码放在github上比将其存储在内部服务器上更安全,因为很多公司可能没有像github描述的那样出色的设置或安全策略。您的公司是否有?


4
我注意到GitHub 不承担任何未经授权的数据访问所造成的法律责任(在其条款中的G.13条款)。虽然这令人失望,但也可以理解。因为他们不愿意承担法律责任,我希望看到他们公布Rackspace、nGenuity和Matasano安全审计的结果,以便我们确认他们正在执行所描述的操作。 - Raman
实际上,它们并不执行安全页面所说的操作。例如,问题的附件根本不是私有的 - http://wishmesh.com/2017/03/attachments-from-githubs-private-issue-trackers-can-be-viewed-without-any-authentication/ - Maris B.

1

您也可以在自己的服务器上运行Github的企业版安装。20个席位许可证每年5000美元。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接