# 腾讯

## 腾讯云

来源：《[腾讯云首次披露自研业务上云历程（下）](https://www.infoq.cn/article/PNi8QNrbQdpaFbHvGTBa)》

### 云原生

|              | 云原生方法              | 业务最佳实践                          |
| ------------ | ----------------------- | ------------------------------------- |
| 开发方法     | 敏捷开发 、DevOps       | TAPD / 工蜂 / 蓝盾 / TencentHub ..... |
| 团队         | 协作式 DevOps 团队      | 业务运维 & 研发团队                   |
| 交付周期     | 短且持续                | 每周交付数百次                        |
| 应用架构     | 微服务，基于 API 的通信 | SF2/SPP/L5/CMLB                       |
| 基础架构     | 以容器为中心            | K8S（TKE）                            |
| 部署可预测性 | 可预测                  | K8S（TKE）                            |
| 弹性能力     | 弹性调度                | K8S（TKE） + 业务画像                 |
| 恢复能力     | 自动化运维，快速恢复    | K8S（TKE）                            |

### 经验

- 第一，彻底拥抱云原生，用云来满足业务快速迭代，资源弹性伸缩的需求。
- 第二，全面拥抱 DevOps，研发效率更高效。
- 第三，内部的优秀工具上云，给云提供更好的服务。
- 第四，整个开发团队心态更加开放、更加开源，主动与开源社区协同，贡献更多的功能特性。
- 第五，公有云经受了 QQ 海量流量的锤炼，我们在上云过程中，经历很多的经验教训，边上云边解决问题，边上云边优化，将整个公有云的基础设施和服务锤炼成更加成熟。

### 流程和工具

#### 流程

```process-table
| 计划 | 需求 | 设计 | 开发 | 构建 | 测试 | 部署 | 搭建 | 监控 | 运营 |
|-|-|-|-|-|-|-|-|-|-|
```

#### 工具

```process-step
 - 需求
   - 敏捷研发 TAPD
   - 企业云盘 Pan
 - 开发
   - 代码库 Code
   - 流水线 Pipeline
   - 版本仓库 Artifactory
   - 开源镜像站 OSIS
   - 代码检查  CodeCC
   - 版本体验  Exp
   - 编译加速 Turbo
   - 工蜂 code
 - 测试
   - 测试系统 WeTest
   - 质量红线 Gate
   - 星海服务 xinghai
 - 部署
   - 容器服务  BCS
   - 作业平台  Job
   - 环境管理  Env
 - 运营
   - 监控中心 Monitor
   - 日志检查 LogSearch
 - 安全
   - 漏洞扫描  Vs
   - APK 加固 Apk
 - 管理工具
   - 度量数据 Measure
   - 权限中心 Perm
   - 凭证管理 Ticket
   - 研发商店 Store
   - 开源协作 OSS
```

## 腾讯安全应急响应中心：DevSecOps

来源：《[“安全需要每个工程师的参与”-DevSecOps 理念及思考](https://mp.weixin.qq.com/s/_jBmFdtyXY5D_YrrTUP1iQ)》

### DevSecOps

#### DevSecOps 原则

- 安全左移（ShiftSecurity Left）
- 默认安全（Secureby Default）
- 运行时安全（RuntimeSecurity）
- 安全服务自动化/自助化（Securityas Code/Pipeline）
- 利用基础设施即代码（IaC）
- 利用持续集成和交付
- 需要组织和文化建设

#### DevSecOps 实践

```process-table
| Plan（需求和设计）| Create（编码/编译）| Verify（测试/验证） | Preprod（预发布） | Release（发布） | Prevent（预防） | Detect（检测） | Respond（响应） | Predict（预测） | Adapt（适应） |
|-|-|-|-|-|-|-|-|-|-|
```

### DevSecOps 工具链

```process-step
 - 【Plan（需求和设计）】
   - 公司安全规范/安全评估/威胁建模
   - 安全培训
   - 编码安全规范
 - 【Create（编码/编译）】
   - 安全开发库
   - 安全相关的基础设施&框架机制
   - IDE中的代码质量工具
   - 代码 review
   - 安全加固的统一编译构建环境
   - 安全加固的腾讯软件源
 - 【Verify（测试/验证）】
 - 【Preprod（预发布）】
   - SAST 静态代码扫描“啄木鸟”
   - 内部开源代码自动安全检查
   - DAST “洞犀”/“金刚”
   - IAST “洞犀”
     – 结合流量代理技术
     - 结合RASP和DAST技术
   - APP加固
   - Fuzzing
     - 团队持续关注适时启动，reisk在《Fuzzing平台建设的研究与设计》与《持续Fuzzing在DevSecOps中的应用》中思考了很多，不再赘述。
   - 混沌工程
 - 【Release（发布）】
   - 后台服务发布，安全加固的统一服务发布平台
   - APP发布，证书和软件签名/发布
   - 镜像安全扫描
   - 安全加固的腾讯tlinux内核
 - 【Prevent（预防）】
   - 安全可追溯的运维访问
   - 零信任安全网关
 - 【Detect（检测）】
   - 网络流量安全分析
     - 相关内容《流量分析在安全攻防上的探索实践》一文对部分工作做了很好的说明
   - 洞犀-上线后安全扫描
     - 高危服务：针对内外网上的高危服务（如可被直接入侵、数据泄露等）进行全端口的持续监测，对于其中可蠕虫可入侵类的风险提供30秒内的发现能力。部分机房的外网开放风险可“一键防护”（基于宙斯盾的阻断能力），帮助运维同学快速的临时止损。参见《拥抱DevOps-“洞犀”高危服务扫描方案》
     - Web漏洞：会有大量的Web业务并不进行上线前的安全扫描，因此洞犀系统会对外网所有的Web请求进行采集、去脏、去重等处理，识别出有效的CGI及参数（从万亿提取出百万量级CGI）。通过替换内置账号登录态（包括QQ、微信等）来发起安全扫描。
   - 金刚-上线后安全扫描
     - 也会有公司App不在上线之前做安全扫描，因此金刚系统与应用宝合作，会自动拉取公司的App进行安全扫描并跟进漏洞处理完成。有个外部可用的金刚服务可供测试。
   - 洋葱（入侵检测系统）
     - 利用公司服务器母盘中洋葱Agent采集到的进程、连接、可疑文件等信息，外加网络流量中的信息，采用专家规则和UEBA方式来发现入侵行为，是公司反入侵领域最强大的基石系统。部分内容参考《披荆斩棘：论百万级服务器反入侵场景的混沌工程实践》
   - RASP方案TRASP
     - 通过分析应用的运行行为以及上下文来发现Web应用安全威胁，并精准定位到漏洞源，由于与应用融为一体，可实时监测、阻断攻击，使应用自身拥有自保护的能力。可以实时检测发现针对web系统的各类入侵行为，包括SQL注入、命令注入、任意文件上传、任意文件读取、代码执行等。
   - 腾讯安全应急响应中心（TSRC）漏洞奖励计划
     - 提供资金激励吸引外部安全研究人员帮助腾讯发现更多潜在安全风险和漏洞
     - 提供其他公司快速搭建SRC平台的 开源版本以及 SaaS版本，目前已经有10+知名公司使用
   - 腾讯蓝军渗透测试
     - 内容敏感不列出，持续进行。
     - 获pony点赞《【原创】腾讯有个技术军团，“疯起来”连自己都打》，更多公开信息见lake的《网络空间安全时代的红蓝对抗建设》，蓝军领队wqzhong的《以攻促防：企业蓝军建设思考》
 - 【Respond（响应）】
   - 安全事件应急响应小组
     - 7*24小时安全事件应急响应，第一时间响应，降低或消除事件影响
   - 宙斯盾（DDoS防护）
     - 见文章《军备竞赛：DDoS攻击防护体系构建》《浅谈DDoS攻防对抗中的AI实践》
   - 门神（WAF）
     - 见文章《WAF建设运营及AI应用实践》
 - 【Predict（预测）】
   - 安全服务中心
   - 安全事件工单系统
   - 威胁情报：TSRC安全情报平台，主动及时感知外部安全情报
     - 提供100+知名软件的官方更新情报，5分钟内发现，30+外部公司使用
 - Adapt（适应）
   - 待实践
```
