在github,bitbucket等存储库网站上托pipe敏感数据有多安全?

这只是一个好奇心的问题。 我想知道在Github,Bitbucket等存储库网站上托pipe敏感数据的安全性如何? 是否足够安全地摆脱本地机器上的所有代码,并将其全部存储在那里? 从保守公司机密的angular度来看安全呢? 我注意到这些网站吹捧像谷歌和雅虎这样的大公司使用他们的服务,但是这些大公司是否真的把这些商业秘密和重要的公司代码存储在这样的网站上?

Github有一个页面( http://help.github.com/security ),里面有一些有趣的信息,显示他们正在推销它,就像我所描述的那样愚蠢。 但在实践中,像Google这样的大公司是否真的发现他们的专有秘密和大量的代码真的是安全的,可以在这样的网站上窥探和灾难性的事件?

一如既往,这取决于:-)

“安全”可以有两种不同的含义:

  1. 我可以相信托pipe人让我的东西(知识产权,公司机密…)保密吗?
  2. 如果主机突然停止服务,我的代码会发生什么?

对于1,没有100%的保证。
当然,像GitHub和Bitbucket这样的主机托pipe商不会故意与第三方共享您的代码,但是总有一些黑客设法获取私有存储库的内容的可能性。
(如果你在你的公司内部托pipe你的代码,这也可能发生在你身上,但这不太可能,因为除非你的公司像谷歌那样被人知道,否则有人试图攻击你的公司的机会远远小于有人试图攻击一个着名的公共主机的机会)。

另外,您必须考虑主办方所在国家的法律。
几个星期前,我在某个地方看到,如果你的托pipe人在美国,在某些情况下他们可能被法律强迫把你的数据提交给美国政府,他们甚至不允许告诉你(我不记住法律的名字,但也许别人知道)。

我想所有这些都会导致大多数“大公司” 把他们的代码放在公共服务上(我的公司是中型的,而且我们的代码也是私有的)。

顺便说一句,正如你提到谷歌:
我相信,特别是谷歌不使用Bitbucket或GitHub。 他们有完整的项目托pipe基础设施 ,所以我猜他们也在内部使用它。 他们为什么要使用外部服务? 它在云端,是的,但是这是他们的云。

关于2:GitHub或Bitbucket明天不太可能破产,但你永远不知道。
海事组织是你自己负责备份你的代码的责任。
DVCS的性质确保您拥有代码的某些本地副本,但是可能很难search大量开发人员计算机以获取所有项目的最新版本。
我通过将我所有的软件库定期(我写了一个工具 ,可以做到这一点的Bitbucket,我用我的私人项目)

前一段时间我看了一下GitHub,和我们以前的git托pipe(在我们自己的linux虚拟服务器上)相比,我对安全性并没有太大的印象。 我们确实使用它,但只有对于保持源代码隐私的项目才不是主要的关注点。

即:

  1. 用户帐户没有公司控制权。 我们控制哪些用户有权访问我们的存储库,但没有密码策略,用户select他们自己的电子邮件地址等。
  2. 无法通过IP地址限制访问
  3. 密码只能由用户重置
  4. 妥协用户的电子邮件帐户(我们无法看到他们设置了什么帐户)也导致他们的github帐户的妥协,因为他们使用电子邮件挑战来重置被遗忘的密码。
  5. 没有访问日志(对于大多数或所有更改都有审计跟踪,但根本没有日志logging)
  6. 访问Web前端只有密码保护,所以很容易从其他网站的密码重用,并在某种程度上暴力强制(Github的声明,他们做失败login是相当不明确的)。

其中有一两个我们可以生存,但是它们基本上使得github完全不适合。

他们最近添加了两个身份validation,并且有一个API,这样组织至less可以检查访问其存储库的用户是否启用了两个身份validation。 虽然我不认为这是最好的解决scheme,但可能只是将github放到足够安全的位置,以便可以考虑用于私人回购。

你可以运行一个企业安装,这可能会大大提高安全性,但是这与标准的github公司帐户之间的成本差异是惊人的,这可能意味着你错过了所有与github集成的第三方工具。

GitHub最近宣布了具有额外function的新业务计划 – 这可以解决“1”/“4”/“5”。 (尽pipe其中的“正常运行时间保证”相当可笑 – 甚至不包括“四九”,并且排除了定期维护以及他们认为在“合理控制范围之外”的任何事情 – 这不是一个实际的保证,这只是一个小小的信贷你的下一张账单上限不超过你账单的三分之一,基本上是非常谨慎的营销黄鼠狼的话,而不是他们的任何承诺。

为了logging:首先,一个存储库是一个备份,然后是它的安全性。

到目前为止,我们还没有看到涉及GitHub或Bitbucket的安全漏洞。 所以,凭经验来说,他们是安全的。

但是,我们向一家私人公司展示我们的信息,所以存在风险,例如Github员工决定复制我们的内容。

但是,我们应该记住,一个存储库主要是一个备份。 拥有私人服务器是好的,如果你拥有的资源。 但是,我们也应该考虑服务器的位置。 如果它在同一地点,那么所有的信息都有可能丢失,例如洪水,火灾,雷电炸毁我们所有的机器等等。 所以,远程存储库真的很酷。

如果你想使用远程仓库,那么不要太明显。 假设你是可口可乐公司,你想pipe理一个重要的项目,那么不要创build一个帐户的业务名称,不要把项目称为IMPORTANT_SECRET_VITAL_FOR_COCACOLA,只要把它叫做PROJECT1,如果黑客攻击,那么他不会在意的