DevSecOps

TL;DR - 曾先后为两家创业公司设计整体系统架构,在任职期间线上系统未发生任何安全问题(包括:系统被攻陷、架构本身不安全、数据丢失等)。本文将探讨在创业公司如何实施DevSecOps以保障线上业务系统的安全性。

目标或基本原则

从技术角度:设计一个联网的系统至少应该满足三条原则,安全、稳定、高效(或者说需要达到这样一个目标)。
①.Security by Design
②.7x24 online
③.弹性

从人的角度:做好产品、创造价值。一名优秀的工程师需要有CEO的思维,目前的现状是,大多数软件工程师没有产品意识,而大多数运维工程师不懂安全,这种情况对创业公司非常危险。

知己知彼(未知攻,焉知防)

创业公司典型网络架构:

1.现如今大多数创业公司都会把服务部署在公有云上(如,AWS、Google Cloud Platform、aliyun等),我们先来看一下云环境下如何设计系统架构,

数据库安全

  • DB集群只允许前端(Web服务器)访问数据库服务,DB集群内部及与前端全部使用内网IP访问。 实现:集群之间使用Iptables主机级别访问控制(内外网),集群与前端之间使用Iptables端口级别访问控制。开放管理网络访问权限(SSH),使用Public Key认证+固定IP。
  • Kernel hardening、DB监听内网IP、安全更新/patch、MongoDB hardening
  • 数据安全 集群定时备份,加密备份到ali OSS。
  • 监控、审计 监控服务状态/性能、登录事件。

应用服务器(Web/backend服务器)

  • 使用内网IP连接前端代理和后端DB集群,web/backend服务监听内网地址。
  • 开放管理网络访问权限(SSH),使用Public Key认证+固定IP,开发人员远程访问(key+固定IP)
  • 审计、监控、日志分析 操作/登录事件等。Zabbix、monit、logstash
  • 应用层漏洞(LFI/NoSQL injection 等)和应用层攻击(CC等)
  • Kernel hardening、安全更新/patch、Nginx hardening

存在问题:

  • 阿里内网攻击(L2)
  • Iptables 限制(性能及安全问题(raw sockets、tracking helpers)),SSH可选安全(port knock,two factor authentication)
  • 应用层请求
  • 0day、RCE
  • DDOS大流量攻击、单点故障(目前服务器全部在阿里杭州机房)
  • 客户端及人
2.自建数据中心或IDC托管环境下如何设计系统架构

数据交互

  • 所有服务器有内外两个网卡,内网网卡通过华为 S5700 交换机互联形成局域网。 MongoDB 数据同步、Zabbix 监控取数据等,全部走内网。
  • 前端部署 Nginx 主从架构,默认所有力量走 Nginx 主服务器,主服务器挂掉后,所有流量自动切换自Nginx 从服务器。
  • 3 台 MongoDB 服务器组成一个复制集( MongoDB Replica Set )

监控

  • Zabbix 进行系统资源等监控
  • Monit 进程、服务、关键文件等监控
  • 阿里云监控
  • MongoDB MMS 监控

安全

  • 数据安全 MongoDB 复制集、数据库每天每 6 小时自动备份并同步到另外一台服务器(保证两份 COPY )
  • 网络 / 系统安全
  • 硬件防火墙
  • 使用核心交换机端口镜像功能部署Bro NSM和ELK日志分析平台
  • 系统审计 audit ,账号的所有操作都会记录并保存(部分已部署为推送到 ELK 平台)
  • 服务器登录使用 SSH key ,部分开发人员有需要访问的服务器的普通用户权限。

获取资源的能力

没有绝对安全的系统,攻防对抗的时代,技术从业人员必须即时跟踪最新安全动态。
这里推荐几个Mailing list
Full Disclosure — A public, vendor-neutral forum for detailed discussion of vulnerabilities and exploitation techniques, as well as tools, papers, news, and events of interest to the community.
Bugtraq — The premier general security mailing list. Vulnerabilities are often announced here first, so check frequently!
Daily Dave — This technical discussion list covers vulnerability research, exploit development, and security events/gossip.
Open Source Security — Discussion of security flaws, concepts, and practices in the Open Source community

另外,系统架构中使用的OS和应用服务必须订阅其官方的Mailing list。

最后我想用Google公司的著名安全专家Michal Zalewski的一句话来总结:
再好的安全产品,也没办法取代技术人员对实际环境的把握和对技术的精通。
comments powered by Disqus

作者:Zer0d0y
微信关注:Zer0d0y
本文出处:https://www.zer0d0y.info/post/DevSecOps/
本站评论使用Disqus,如果长时间无法加载,请切换至“自由”互联网。
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。