摘要:自动化编排已经成为行业内讨论很多的话题,但自动化编排的场景、如何实现自动化编排,还在探索中。本文从软件定义安全的角度,讨论了安全编排的必要性、关键支撑技术、实现架构和发展方向。
关键字:安全编排 软件定义安全
一,安全为什么要编排
1.1 什么是软件定义安全
Gartner自提出了软件定义安全的理念,为安全防护指出了一个可行的方向。软件定义安全连续xx被列入了十大新技术。软件定义安全从概念上借鉴了软件定义网络,即将安全的控制平面和数据平面解耦,控制面关注安全业务逻辑,数据面关注能力抽象和性能提升,从而避免厂商锁定,提高整个安全防护的灵活性和响应速度。
图1 软件定义安全架构
需要说明的是软件定义安全虽然源于软件定义网络SDN,也可以借助SDN的流量调度、控制技术加快安全防护的速度、增加安全防护的能力,但软件定义安全强调的是安全自身的体系重构,最终分离为安全应用、安全控制器和安全设备(资源池)三层,该体系是可以独立于SDN、NFV及其他特定的业务系统。
在云中的软件定义安全落地技术有:
1 CWPP,对于云中业务变化频繁的特点,不能依赖固定的安全防护机制,需要感知业务迁移,动态部署相关的安全机制。
2 软件定义分段(或微分段),可根据业务而非固定的网络地址进行全局的网络隔离和访问控制,访问控制策略是通过控制平面下发到不同的enforcer中,可能是主机上的agent,也可能是网络设备。
所以本文讨论的软件定义安全不会聚焦于如何调度流量、如何对接虚拟化平台,而是假定安全应用具备了流量调度、资源管理和策略下发的能力,进一步关注应用间的编排:这些应用于不同场景的应用彼此间什么关系,不同应用的策略如何生效。
1.2 编排是软件定义安全的核心价值
随着云计算等应用持续发展,安全平台与业务系统的管理平台对接已日趋完善。如主流的公有云和私有云平台内部都支持了SDN和NFV技术,安全厂商的设备可以SaaS服务的方式与之对接,形成如脆弱性评估、Web安全、DDoS缓解等特定的防护能力。
这个机制可遵从软件定义安全的架构:
-
控制层,安全控制和分析平台对接云平台,进行流量控制和安全虚拟机部署,
-
应用层,租户访问SaaS应用,配置策略和查看事件
-
数据层,安全设备部署和接入后,根据策略对流量进行检测或阻断
然而,随着业务的发展和攻防场景的不断深化,面向单攻击场景的单个安全应用无法应对拥有多种网络武器库的攻击团伙,那就需要一种机制,能够将现有的安全应用组织起来,根据当前的上下文和攻击者行动灵活调用相应的安全应用,进而快速、稳定、一致地准备好安全应对能力。
这就需要使用到编排技术,编排(Orchestration)的本意是在如大型的交响乐演奏中,乐者各司其职,根据指挥的指令演奏乐章中自己的部分。同样,如果将安全应用比喻成乐者,那么要实现敏捷、弹性的软件定义安全机制,就需要有两个核心:
1) 剧本(即前述的乐章),体现了安全防护的逻辑,指示如何调度安全能力,我们称之为剧本(Playbook)
2) 编排引擎,一套能够根据剧本有效指挥安全应用的机制,
如果说云环境中,用户在网页中下发策略将安全防护简单化、傻瓜化,那通过编排引擎,自动化、API化地驱动各应用,却是将安全防护规模化、敏捷化、智能化了。
而且用户可以根据自己的需求,编写灵活简单的剧本,去按需调用某些应用,实现某些特定场景中的安全功能,摆脱了以往只能依靠安全厂商标准化产品的窘境。
所以安全编排大大地扩展了安全防护的场景,提升了安全防护的能力,加快了各类安全机制协同的速度,是实现软件定义安全体系的核心能力。
Gartner在XX年提出了SOAR(Security Orchestration Automation and Response),并列入十大新技术,可见软件定义安全理念落地时,编排已经成为非常有前景的使能技术。
二,如何编排安全
2.1 编排系统的架构
安全控制器的核心功能是对虚拟化资源、网络流量和安全策略进行控制,安全应用的编排更多的是发生在业务层面,例如入侵检测系统发现挖矿软件外联行为,接下来应该如何处理,应该调用防护墙阻断,还是通知EDR杀掉异常进程,则应由编排逻辑决定。
所以