用户对云服务产品的数据安全的担忧主要有两个方面:

  1.  产品内部人员会不会有意或无意泄露用户数据?

  2.  如何应对来自外部的破坏,如服务器故障、黑客攻击等?

作为产品的开发者和维护者,码云的技术人员无法避免需要有访问服务器的权限,如何确保权限不被滥用、保证平台数据的安全呢?在这一篇,我们将针对第 1 点,介绍码云的内部安全治理措施。

码云目前包括几个大系统:应用系统、仓库存储系统、运维系统、备份系统以及基础服务,它们各自独立运行在一组服务器上。

  • 应用系统:包括 Web 访问入口、API 接口

  • 仓库存储系统:用来存储 Git 仓库,此系统只包含仓库存放以及一个 RPC 服务,RPC 服务用来给应用系统提供访问仓库的能力,仓库存储系统不提供对外的网络连接。

  • 运维系统:负责监控应用系统和仓库存储系统,以及负责应用的更新和日志的收集

  • 备份系统:包括仓库的备份以及企业仓库的快照服务

  • 基础服务:包括数据库、缓存、队列、邮件发送服务等等,除邮件发送服务外,其他服务均不提供对外的网络连接

基于这样的架构,我们的安全治理措施主要有:

1. 严格限制访问服务器的权限范围

目前,码云内部只有 4 个人有访问服务器的权限——总负责人、运维负责人、两名资深开发工程师。

其中,仓库存储系统和备份系统仅总负责人和运维负责人有访问权限,运维系统只允许运维负责人访问。权限界定清晰,且不同系统账号密码不同。

2. 所有操作留痕,一切有据可查

每个登录到服务器上的工作人员使用独立的账号,任何操作记录(包括登录记录)都会被记录,并传输到运维系统中存放,无法更改或抹除。一旦发现问题,即可迅速定位。

同时,我们会定期对服务器操作日志进行审计,确保不出现违规操作。

3. 全自动化更新,将人工操作降到最低

码云产品迭代快速,几乎每天都会需要更新程序,这个操作是由 Ansible自动化完成,不需登录服务器即可完成。也就是说,权限人也极少需要登录服务器,极大降低了风险。

码云至今已运行经超过 5 年,我们深知代码对用户的意义,始终将数据安全视为整个产品的生命线,把安全作为第一优先级的任务,不容许半点闪失。

我们会不遗余力确保所有用户数据的安全,依托平台资源优势,让码云成为比自建代码管理系统更安全、可靠的平台。

了解码云企业版

往期精彩:

功能更新 | 码云上线 Pull Request 自动分析代码质量功能

功能更新 | 码云企业版支持提交代码时切换任务状态

功能更新 | 码云支持 Git Wire Protocol,提升传输效率

功能更新 | 如何控制 Git 库的膨胀?码云 GC 一步搞定!