我们如何保护我们的源代码?

gAM*_*OKa 3 security backup source

我们的源代码是我们最宝贵的资产。我想拥有它:

  • 防止内部开发人员扩散,但他们也需要不受限制地访问代码才能正确完成工作。所以我不确定这是否可能。
  • 定期备份到安全位置,但将其上传到云存储(例如 box.net)是否安全?

对策略有什么建议吗?还是我偏执?

Dav*_*ett 7

不幸的是,从您的员工的行为中保护事物更多是人类问题而不是技术问题,因此我将把它留给其他人来回答(人类不是我的强项 - 机器:是的,猫:有时,人类:不!)。

如果您将代码发送到任何外部服务,则必须确保在发送前对其进行安全加密,或者您已经对外部服务进行了全面审查,最好是两者兼而有之。运行你自己的备份服务器会更安全(你有更直接的控制)但更复杂(你必须自己做所有事情)。由于您的备份服务器可能会在您无法物理控制的 colo 空间中运行,因此您可能希望在启动时不会自动挂载的加密文件系统上设置数据(让它们需要手动干预,以通过密钥发送(s),如果服务器需要重新启动) - 将密钥放在服务器上以便它可以自动安装加密卷就像拥有一个昂贵的保险箱,并且在附近的便利贴上写下组合。

无论哪种方式,您都应该有离线备份和在线备份 - 即异地磁盘/磁带且未连接。这样,如果您被彻底入侵并且所有核心服务器、本地备份和托管在线备份都遭到破坏,您仍然应该有离线备份可以回滚。

一种缓解黑客侵入您的主服务器并使用它们侵入您的备份服务器的问题的方法(几个月前发生在一个相对高调的 Web 服务中)我建议有一个中间服务,同时支持实时和备份服务器连接到。这样您就可以安排实时服务器和备份服务器都不能相互访问,并且中间服务器不需要登录实时服务器或备份服务器。实时站点将登录到中间服务器以推送最新数据,并在备份服务器登录后一段时间将其拉到自己身上。这也不会取消离线异地备份的建议,尽管它减少了您需要在愤怒中使用它们的机会。

托管外部备份的一个额外选择:如果您与另一家本地非竞争企业的关系非常好,您或许可以托管彼此的备份。不过,您可能仍然会为真正的偏执而加密您的备份(不是为了防止其他业务变坏,尽管这可能发生,而是为了弥补他们自己被黑客入侵或盗窃的可能性)。

还有一点经常被忽视:确保您有一个程序来测试备份。您不希望在几周前您需要从它们恢复某些内容的那一天发现它们因某种原因停止工作。有多种方法可以测试您的备份,最好的方法取决于您存储的数据的性质和大小以及存储的格式。例如,我有我的邮件服务器的副本运行在认为的VM它是实时服务器,但从外部世界看不到。脚本每周三次停止它,将最近的备份恢复到它,然后重新启动它,任何错误都会邮寄给我。然后作为我日常管理的一部分,我登录到这个备份虚拟机来检查一切是否正常(它正在运行,存在最近的更改,旧数据的随机样本看起来也不错,......)。您仍然应该偶尔手动测试备份,但自动化测试有时是天赐之物——它们可能会在小问题变成大问题之前标记出来。

在查看源代码时很难过于偏执。它是您的核心资产,没有它您的企业可能一文不值,因此您需要非常小心地保护它免受外部恶意力量(包括自然力量!)的侵害。