腾讯云开发者平台已经为超过 80 万个人开发者和近 4000 家企业提供值得信赖的研发管理系统,帮助用户实现软件研发从想法到发布再到维护的一站式服务。解决了金融、保险、地产、互联网和教育等多个领域的软件研发需求。安全更是腾讯云开发者平台的基石,基于完善的整体规划机构,通过多数据库集群、数据快照、异地备份等多种技术手段对用户数据实现了全方面的保护,提升用户数据的安全性。
本篇文章将简单介绍一下腾讯云开发者平台在确保用户数据方面做出的努力:
安全管理制度
- 开发者平台所有能接触到用户数据的相关人员均签订了符合业界标准的《保密协议》;
- 开发者平台所有人员的招聘均通过背景调查;
- 开发者平台平台拥有严格的权限管理, 项目内容仅限项目成员,平台不存在超级用户;
- 开发者平台所有能接触到用户数据的相关人员均接受过安全培训和考核;
- 开发者平台严格区分产品、研发、运维与运营,并拥有标准的业务流程,不存在一人身兼数职;
- 开发者平台数据库访问权限仅限于极少数核心人员,并且每次数据库以及数据文件操作均需要备案;
- 开发者平台所有服务器相关的密码至少每月更换一次,并且使用 16 位以上超复杂密码;
- 开发者平台内部有独立的安全小组,负责全面检查 开发者平台系统的安全性问题,包括系统功能、服务器部署、客户端消息处理等等,每次生产系统的更新都需要经过安全小组的审查,并且记录更新内容;
- 开发者平台定期聘请外部安全专家,对 开发者平台整个系统进行检查,保证系统整体的安全性;
- 开发者平台会对每次业务中断或者安全性事故出具详细的问题分析报告并提出整改措施;
加密与备份制度
- 整站 SSL 加密,开发者平台的所有内容都必须通过 SSL 加密的方式才能访问,包括与 CDN、云存储等等供用商之间的通信;
- 数据实时备份,在同一机房,开发者平台的数据库和文件都有实时热备机制,同步时间不超过 1 分钟;
- 异地数据备份,为了防止机房故障导致的数据丢失,开发者平台采取了定时异地备份 ,同步时间不超过 1 小时;
- 对于用户要求删除的数据我们会保留 7 天后清除,开发者平台不会私自保存用户的数据;
监控与响应制度
- 开发者平台运维团队对 开发者平台的所有 IT 设施进行 24×7 的监控,并且人工轮班响应;
- 开发者平台的全自动监控工具监控的内容包括:
- 服务器 CPU、内存、硬盘以及网络等硬件资源,报警阈值 90%;
- 系统服务响应时间,包括页面访问、代码拉取和推送,报警阈值 5 秒;
- 邮件、短信、推送,报警阈值 10 分钟;
- 分布全国 100 个节点的连通性,报警阈值 20 分钟;
- 开发者平台的服务均拥有多个实例,包括 HTTP 服务、Git 服务、邮件、短信、APP 推送、消息队列,当一个实例不可用,系统会自动启用备用实例;
- 开发者平台监控系统会通过 APP 推送、短信、邮件、电话四种方式逐级通知运维人员;
- 开发者平台监控系统的的警报不能得到及时处理时会自动对问题升级并通知更高级别的运维人员;
供应商审查制度
- 云基础架构,数据中经过 TIA-942 标准认证;
- 数据中心 24×7 物理隔离,并且有物理安全管控;
- 拥有灾难恢复计划并且经过灾难恢复演示;
- 拥有完备的防火墙和防病毒设置;
- 拥有完备的故障报警机制,并且提供业务专员处理故障;
- 签订正规的服务合同;
各组件安全特性一览
- 是否持久化:数据是否会实时存入磁盘等断电不丢失类的存储设备上。
- 是否易损:数据是否会容易被程序性 Bug、人为的错误操作导致数据损坏。
- 丢失容忍度:系统正常运行对于此类型数据出现任何丢失的容忍程度,高即代表系统将无法正常运转,低则反之
- 是否可重建:系统在损失此数据的情况下是否可短期从其他已有数据和程序重新构建出此部分数据。
- 是否可恢复:系统在损失此数据类型的一部分时,是否可从备份中找出此类数据的相同副本并恢复完整数据。
数据库安全保障
腾讯云开发者平台的数据库拥有完善的数据备份体系,通过 “热备份” + “冷备份”的形式确保用户的数据安全。腾讯云开发者平台自建数据库集群通过 3 个 master 节点和若干 Slave 节点(异地),即使有一个节点上的数据丢失,也可以通过其它几个节点上的备份进行恢复。而且 腾讯云开发者平台会定期对数据经行异地冷备份,为用户数据提供双重保障。同时 腾讯云开发者平台会约束对数据库的访问权限,避免人为错误导致数据库丢失。
代码库安全保障
用户存在腾讯云开发者平台里的代码会遵循一定策略被分别存储于 3 个不同的代码库节点中,用户的每一次更新和修改都会被实时记录在这 3 个不同的代码库节点中,同时每一次的代码推送完成后都会触发 Hook Trigger 自动启动异地备份机制,确保在误操作或者不可抗力故障场景下,即使数据已完全丢失,也能通过异地备份恢复到最新的代码库。
代码仓库数据节点存储策略解析
假定有: A、B、C、D、E、F、G、H 8 个代码仓库,共分布在 1、2、3、4 个
计算节点上,存储分布如下(每个仓库至少存放在三个不同节点上):
传输保密性保障
腾讯云开发者平台通过 SSH 协议、HTTPS 协议和 Git-Daemon 协议来确保代码在推送过程中的安全性。
SSH 协议:
- 含 Git over SSH 和 SVN over SSH SSH-2.0
- 只支持密钥认证
- RSA 2048 双向非对称加密
- 密钥管理双重身份认证
HTTPS 协议:
- RSA 2048 bits (SHA256withRSA)
- TLS v1.2/v1.3
- 双向非对称握手,对称加密通信
- 不支持过时的 SSLv3
- 2FA 双重身份认证
Git – Daemon 协议:
- 无认证匿名网络协议无加密
- 仅支持开放源码项目
数据操作审计保障
腾讯云开发者平台的数据操作审计系统确保每一次代码库操作都会被独立的记录,同时 腾讯云开发者平台Ops 团队仅有特定运维人员有权限对代码库经行日常维护且每次操作必须通过相应的审批流程。