@gaoxiaoyunwei2017
2017-09-18T15:36:14.000000Z
字数 8739
阅读 699
北哥
我是来自360,分享的题目是云时代网络边界管理实践及安全体系建设。
众所周知,随着现在的运营体量上涨,越来越多的服务商喜欢把自己的一些业务提升到云端,得到更好的数据访问,还有数据管理的需求。但是,根据这些需求不断的嵌入云端,导致后面的一些运维量上特别大的提升。同时,在如此高的运维量前提下,这时候就隐藏着很多安全风险。
云时代网络迁移过程中,如何能做到比较安全的网络运维,是我们所关心的问题。
简单介绍一下我们组,我们组是奇虎360信息安全部下面的网络安全组。我们主要的工作是负责整个奇虎360集团的网络层面,包括IDC机房、服务器、办公网,整个网络的维护,以及漏洞的挖掘,还有安全的运维工作。
- 安全防护理念
- 自动化运维实践
这是我今天演讲的主题。
在安全防护理念这个环节,跟大家探讨目前云时代背景下,做安全运维的同事,他们在运维过程中可能会遇到一些安全风险,以及如何规避安全风险。
自动化运维实践这部分,我会结合我们在日常运维过程中,如何去更加高效,更加安全的去执行一些网络的配置,以及实现一些网络安全管理。我会在这里列出我们的经验教训,跟大家交流互动。
云时代网络边界管理面临的挑战,这些挑战做网络安全运维的同事都会面临到。
首先是业务网络量庞大,我跟我同事维护着360集团接近100个IDC机房,以及几百个办公网络,每天还处理接近两三千人VPN访问。不仅如此,同时我们还要兼顾整个集团和第三方合作公司,他们也要访问我们的机房数据。这时候运营这个庞大网络就会带来一些安全问题,比如如何配置一些安全策略,才能把安全风险掌控在可控范围之内。
网络访问过程中,每个人都有不同角色。
运维管理人员,他对整个网络的访问可能需要相对来说比较高的权限。比如我可能需要一些远程管理端口等等,这些端口对于非运维人员来说是非常危险的端口,因为一旦被黑客攻入这些端口,相当于他掌握了整台服务器权限。所以这些端口是否应该对外开放,应该开放给哪些人,才能比较安全的把整个服务器安全风险降到可控的范围之内。这些都是安全部门需要考虑面对的问题。
另外是业务使用人员,他们需要的权限比较小。比如我只是单独浏览一些界面,或者其他访问权限。这些权限只需要简单的访问控制放行,这些部门审计相对来说比较少一些,但是他们的需求可能是最急迫的。比如我可能非常急迫需要访问一个页面填写一些数据,运维人员还可能有一些现场的运维活动,需要非常紧迫的开通一些访问权限。如何能够在短时间内满足业务关键的需求,并且能够在相对安全的环境下及时执行这些安全需求。这些都是网络安全运维人员亟待解决的问题。
鉴于上面提出的问题:
我提出一些安全防护理念。
在网络入口管理实现严格的管控和审批制度,包括办公终端接入、测试机接入、WEB服务上线以及移动办公接入。
公司移动办公接入都要接入一些权限比较低的网络,只允许一些PC或者服务器才能真正接入生产办公网。
安全域相对来说是整个安全防护体系中比较核心的部分,你只有划分比较完整清晰明了的安全域,才能知道你防护重点在哪里,才知道如何划分集团之间访问权限,不同安全域之间可能需要不同的安全策略来进行访问控制。
我认为所有安全域应该划分安全等级。还可以实现一些黑白名单的方式,进行安全域访问控制管理。同时网络边界可以使用一些传统网络上的防护措施,比如对协议上做一些标识,实现整个网络访问控制的流畅性,如TCP established,以及其他一些访问权限,可以加到出口上,实现比较好的单向访问控制。
开放有限IP和端口。在传统运维环境中,很多运维人员没有一些安全的理念或者一些安全意识的话,就像一些业务人员申请开通一个服务器,里面运行着我的业务,需要开通我到这个服务器访问权限。这些需求在传统网络工程师眼中是再正常不过的需求,但是你有没有想过,他真的需要这个服务器所有端口吗?就算服务器是这个人申请的,是这个人所属的业务,其实他的业务仅仅占用了这个服务器上的有限端口,很多高危端口是他的业务不需要的。因此我认为只给用户开放他有限的访问端口,这样的话可以最小化攻击面,并且能有效防止黑客和别有用心的人对信任域渗透。
安全域体系中有一个思想是非常重要的,按需开通,最小权限的原则。只有按需开通,最小权限原则才能将内网攻击面最小化和实现集中式的管理。
网络接入管控是终端管理比较核心的东西,包括终端管理和安全基线管理。
终端安全管理
在整个网络中最脆弱,最危险的地方其实就是每个的PC和每个人的终端。
因为终端环境是特别复杂的,不同终端可能因为不同人员所在的部门,不同业务产生不同的访问需求,如何进行比较好的安全终端管理呢?
我认为可以在整个终端上部署安全终端软件,终端安全软件会自动根据安全基线评估终端状态,来决定终端是否有权限进入我们办公网。
360是做安全出身的,我们有一套自己安全管理体系,类似奇虎安全助手。我们有天擎终端安全管理,会定时扫描终端安全状况,包括是否打了补丁,是否开启了一些终端安全策略。比如你的电脑是否24小时没有关机,你的密码是否足够复杂,电脑上是否运行了一个我们不允许的安全脚本,这些我们都会纳入到终端管理上。
其实,在我们推进终端安全管理项目的过程中,发现了很多意想不到的比较好的收益。比如前段时间的病毒爆发,我们360在3月份就推送了内网安全补丁,但是还是有一些人中毒,后面我们发现通过天擎终端安全管理可以对内网安全进行扫描,并且推送相应补丁。这是其他网络公司可能要实现的一个比较好的现状。
安全基线管理
一个没有安全基线就无从谈怎么做,只有划清一个安全基线在哪里,才能对整个公司安全状态做到评估,以及具体的网络安全实施。
基线指的是,比如你的电脑应该满足什么条件才能接入办公网;又比如你的电脑需要打了补丁之后才能接进来。另外是你的业务,如果你只是办公电脑,你可以接入办公网。但是你的电脑一旦从事测试业务,就改变了这个电脑的性质,你的测试业务可能会危害到办公内网环境。这时候就需要把你迁移到另外网络做网络隔离或者使用安全基线来进行网络隔离。
我们终端安全用的是我们的企业版的终端安全管理软件,360自己的。跟大家用的很类似,只不过是终端安全管理系统在我们自己手里管控着,我们可以通过终端安全管理系统下发我们制定的安全策略,来确保我们所有终端都在一个安全基线之上。
我们现在正在做的是把软件和预控融合一起,做一些更加友好的互动。
- 全流量镜像,违规流量分析
- 威胁情报检测
我们在整个IDC机房实现了服务器shelllog,会进行定期review,会对shelllog预警进行处理。
另外对内网进行流量镜像,持续监控和溯源。对内网威胁情报以及侵入检测日志进行实时分析,并且对异常信息通过邮件或者社交软件进行通知,能够及时发现。
下面根据我们内网安全遇到的一些问题给出我们的一些解决方案。
- 需求多样
- 配置繁琐
- 失效管理
我们部门专注于网络层的网络安全维护,针对网络层方面,在访问控制权限管理方面,是占我们工作量比较大的部分。
在传统的网络运维过程中,网络访问权限控制管理可能会把持在安全运维部门,实现用户从一端到另一端链路访问OK。但是我认为在满足用户的访问链路通畅的前提下,更重要的要符合集团公司的一些安全行为准则。
我们跟安全运维部门同事进行合作,将整个内网环境和其他IDC环境路由全部打通,中间加上防火墙设备进行访问控制管理。通过开通访问控制权限实现整个链路上的比较好的用户访问。
在这个地方,ACL管理就会成为我们整个安全运营过程中比较重要的环节,它可能占我们工作量比较大的部分。
在ACL管理方面,会遇到了这些问题,ACL需求是非常多样的,每个人对每个地方的访问都有可能不一样。如何让他们能够比较好的了解自己的需求是什么,有时候有一些紧急项目,他们可能需要紧急开通到一些权限访问。以及一些比较敏感的机房像金融、游戏,这里面的数据更加敏感。需要这些敏感数据的访问权限应该怎么去分配?应该怎么把控?这些都是安全运维人员日常需要不断考虑的问题。
ACL配置非常繁琐,在网络运维中,很多设备都是需要远程登录到网络设备后台,敲一些密码、命令,开通其中一条网络设备到另一条网络设备的网络链路。但是在我们现在网络环境下,大家慢慢把数据都迁到云上面,整个网络特别庞大,特别复杂。有的时候,一条链路可能要经过跳转到七八台设备上。如何做这些链路上连通性检查,另外你怎么知道哪个设备开通这些链路满足需求,这些都是需要考虑的问题。
ACL失效管理,业务对ACL需求生命周期不会很长,除了一些公共服务器,像人力资源之类的公共服务器可能有永久的ACL来进行业务的满足,一些很多临时业务需求,申请的ACL都不会超过半年。这会导致核心设备上的访问控制列表越来越庞大,而且里面大部分访问链路控制列表是冗余的,没有意义的。这些没有意义的访问链路控制列表如果保留在那里,就可能会产生一些网络风险,比如一个新的人接替原来这个人的IP,就会获得原来的网络权限,有可能会为后面的攻击开通一些通道,而且这些权限是不可审计的。因此,怎么把ACL及时删掉是安全运维中更加重要的部分。
- 网络管理
- 可视化管理
- 安全审计记录
我们知道一个比较好的网络管理界面,使得安全运维人员对网络运行状况有直观的了解。
可视化管理可以使得一些高级信息还有比较高危的隔离网站信息,会直观的呈现在安全运维人员眼前,在做安全运维的时候,会更加留意这些比较敏感的信息,可能会做一些规避。比如我们会在我们安全运维工单体系中,清晰标明哪些是核心资产,哪些是网端资产,申请人申请这些资产的时候,我们会对申请人进行标注,他们申请过程中会比较小心,如果真的没有这些权限的话,他们会放弃申请。
安全审计记录的留档,我觉得网络运营中更加重要,也容易被忽略的就是安全审计部分,一个好的安全审计,才能使网络安全运营是完整的闭环。如果只是在开通过程中做到非常小心,非常谨慎,但是其实人无完人,不一定在什么时候就会出现一些错误,这些错误如果不能及时修改,就可能会影响到业务。有可能你的错误是很小的部分,但是越重要的业务潜伏期就越长。所以一个好的安全审计就会使安全运维变得更加完善,使得整个防护变得更加强悍。
在整个网络安全运维中,无非是三个决策的博弈。
首先是用户和应用者,从他们角度来看,业务需求是最重要的部分,如何及时满足我的业务需求,保证业务连通性。
站在安全部门角度,他们优先考虑的是访问需求是否满足安全策略,是否满足最小细腻度的限制,所在的安全域是否满足我这个安全域访问规则,另外这些需求是可审计可量化。
站在网络运维人员角度,如何能够更加及时,更加稳定,更加安全,更加高效快速部署网络需求,实现能让业务满意。
相对来说,我们整个安全部门都是在做这三个角色之间的博弈,如何让用户,让网络运维人员,让安全部门都满意的结果。
自动化的平台是比较好的解决方案,我们在自动化平台里输入一些安全的准则,然后让系统自动去判断,这个申请是否满足我们的一些安全基线。这样的话,自动化平台可以将网络运维人员工作量降低特别多,还可以通过系统执行安全部门设立的安全策略,来保证一定程度上的安全访问,业务联通安全性。
如果要实现比较好的自动化运维平台,相对完整的访问控制矩阵就是比较重要的环节。
只有有一个比较好的访问控制矩阵,才能给程序设定一些访问控制权限。
比如将整个办公网分为服务器区、工作区、测试区、IDC服务区、Internet。IDC机房安全等级相对来说比较低,因为它的网络连通性比较好,而且还对公网提供一些服务。IDC机房是禁止向办公网端发起访问的,办公网是要和IDC机房隔离的。
有一些业务测试网段跟其他网段混为一团的话,测试网就会导致一些安全隐患,所以测试网应该要单独独立出来。
服务器网段,我们内网会有一些比较重要的服务器放在内网,不是放在IDC机房和云端,这些内网服务器的访问权限是否可以直接开放给办公网,都是通过一些安全规则设定。
办公网段,我们可以根据每个部门不同需求开放一些相应权限,但是他们对于服务器网或者对于IDC机房访问权限是按需开通,只要有需求,而且需求是合理的都是可以开通的。既然办公网要求如此之高,我们如何保证办公网安全呢?这就是我们前面所说的终端防护,我们通过终端上安装一些相对比较认可的安全终端软件,对终端安全状态进行评估,这样我们就可以实现比较好的闭环网络访问控制。
只有划分了安全域之后,需要对不同安全域进行访问控制规则,这样才能进行相应的自动化管控。
- ACL策略申请审批开通失效处理业务流
- 自动化管理,精细粒度控制,控制到人
- 实时掌控ACL开通,到期情况和使用情况
这是我们维护的自动化运维平台。在自动化运维过程中,对整个网络访问申请的工单,我们对它的整个路径做了计算,将整个机房,整个几万台网络设备都全部纳入到管理平台中,通过一些手段可以读取到它们的配置,并且把它们的链路进行可视化计算,运维人员进行工单开通过程中,是完全脱离底层网络设备的,可以直接在上面进行网络开通,这样就大大加快了网络开通的速度,满足了运维工程师稳定高效的要求。
该平台还包括了一些安全审计,以及开通错误的回滚功能。同时我们整个申请流程还会经过安全部门的审批,查询每一条工单信息,来通过这些工单信息去匹配,这些工单信息发起方是否满足了公司信息安全的需求,工单开通是否有风险,是否需要标注。
另外能够实时掌控ACL开通进度,业务人员需要知道工单开通进度,什么时候可以具体执行我的业务,都可以通过这个平台进行实时查询,并且可以通过邮件系统,进行工单的交流以及工单的催促或者问题上的交流。
此外这个平台还实现一些工单的失效管理,在申请访问权限的时候,都会让用户填写访问权限需要的生命周期多久,在访问权限生命周期,系统会自动记录这个生命周期,当访问权限到达生命周期前几天的时候,我们会通过邮件通知用户,提醒他的访问权限将到期,是否进行续租申请。
自从使用了这些比较高效的管理和变更平台,被投诉率急剧减少了,工作量大幅度提高了,都能及时处理完需求。同时,这还是一个简单的安全告警系统,我们会在公司网络安全页面上,定期推送一些白名单,进行全网扫描,一旦发现一些高危漏洞告警,也会在这个平台专门页面上展示出来。这时我们会通过网络审计人员查询这些日志,通过可视化比较明显知道网络拓扑在哪个地方有高危漏洞,及时发现并进行相应修改。
- 三层网络设备边界可视化
- 安全域可视化
- 访问控制策略自定义可视化
- ACL实时分析优化
- 违规流量实时监测
- 用户和权限管理,安全审计管理,确保所有操作可追溯
我们有了网络安全边界可视化后,可以使运维人员了解网络拓扑状态,包括哪些节点需要隔离,哪些节点可以连通都会非常简单。
安全域可视化,可以对网络有统筹了解,并且更加有利于安全矩阵划分。
访问控制策略可视化,可以使安全审计人员能够更加直观和便捷进行网络审计。
ACL实时分析优化可以实现动态网络环境,机房设备变化比较快,需要动态适应。我们整个机房每天或者每个季度都会不停上架下架上百台设备,包括IDC机房租赁退租,造成了我们整个网络环境一直是动态变化的。我们可以通过一些自动化平台手段,动态的计算这些安全路径,来确保整个网络开通,还有之前的安全链路,都在我们的掌控之中。还可以实时计算这些路径,确保这些原来开通的路径还有开通的权限不会重新更改它的安全等级。比如我原来一些安全策略,因为整个机房业务更改,从一些非敏感等级提到敏感等级,这时候里面的访问权限需要重新审计,进行review,查询是否涉及一些高危风险,这个平台都可以自动做到。
目前我们可视化会把网络边界设备导入到平台,跟这些平台进行计算。我们网络边界会这样划分的办公网、测试网、IDC机房。IDC机房还会划分出每个片区IDC机房,因为IDC机房服务结构相对比较简单,上面是服务器,还有核心交换机,交换机我们会设立一些策略,跟其他交换机连起来。办公网其实也是相对来说大的结构,上面是核心交换机,把整个办公网都包含起来,办公网可能会跟测试网也是用交换机隔离,这些交换机通过业务划分。我们会导出来,在整个平台上做一个竖状图,可以知道安全边界。这些安全边界访问权限就是这些核心设备上的相应访问策略。
录入的话我们有自动录入程序,也支持手动录入。网络变化比较频繁的是IDC,办公网相对说还比较稳定。IDC机房的变化是相对于服务器上架下架,对网络设备变化还是比较少的。因此网络边界相对比较稳定。
全部实现访问控制后,我们就会实现这样的流程用户申请、审批、开通、验证、失效管理、审计。
在用户申请流程中,我们会提供用户申请比较良好的界面,可以实现全策略匹配,通过预登录确认这个人账号是自己的,申请的权限也是自己的。
审批、开通、验证过程。审批首先会到自己上级那边,上级会对网络服务需求业务进行确认,这里引入上级这个概念,基于一部分分责的考虑,我们认为上级对业务安全负有一定责任的,只有把整个安全风险分摊到业务部门,他们才会认真审视自己的业务流程。如果所有业务都集中在安全部门的话,业务部门会有一些偷奸耍滑的动作,他们会绞尽脑汁规避集团的安全策略。一旦跟他们共同分担安全风险的时候,业务部门是比较积极的跟你做一些安全方面的沟通。到管理员审批,他会根据集团的一些量化的安全访问行为准则对工单进行审批。之后策略就会自动推送到网络设备上,整个流程就会打通。
还有失效管理和审计,我们有流量管理平台,对内网访问流量进行实时审计。如果这项策略超过三个月或者六个月没有流量,我们就会把它进行展示,跟安全运维部门同事进行沟通,进行相应删除,这样就会比较好的做到冗余流量的管理。
我们会把流量镜像导出,通过流量采集器,导入数据集群中。
对流量主要做两件事情:第一,匹配流量,通过匹配流量,计算这些流量和ACL匹配,确保这些流量是否命中过或者ACL最近是否有流量经过。
怎么判断一个ACL是否还有效呢?我们当时想过多个方案,包括跟厂家沟通。在思科、华为设备上开通访问控制的技术功能,但是我们发现除了思科之外,其他厂商设备开通该功能后,负载比较大。因为网络设备很旧,很少更换,还不能重启,一旦开启,造成负载之后,网络是很危险的。后面我们找到一个比较好的方案,360集团有一个天眼系统,我们跟天眼部门合作,在集团内部部署天眼系统,通过天眼对网络进行分析,我们发现通过天眼得出来的数据可以对整个网络数据进行删减,我们删减了几万个访问冗余策略。
我们会把所有配置导入管理服务器中,管理服务器就会由网络运维平台提供数据支持,包括策略下发、回收等等。
总结一下,我们可以通过一些自动化运维平台来实现一些安全上的网络风险管控,首先制定一个明晰网络安全边界,通过白名单形式管理ACL,这样的话,可以最小化我们的一些安全攻击面。
按需开通和最小权限,同时,要实现对整个访问控制权限生命周期的管理,针对具体的业务制定具体的一些小的策略。
另外是安全域划分,统一集中管理还有云端边界开放端口和服务器管理,以及策略路由。策略路由我们主要实现一些隔离网段的时候,一些隔离业务会通过策略路由的形式,把它直接跟我们其他网络进行相应隔离。
在实践过程中我们还遇到了一些问题,第一个问题,资产划分。最开始的是没有所谓资产等级划分的,这在我们做一些安全防护的时候遇到比较头疼的,这个资产到底值不值得我们去花这么大的工夫,建立一个流程保护起来。到后面我们花了大概半年时间,对整个集团所有资产进行一次梳理,梳理后跟每个业务部门leader进行确认,跟每个业务线的人确认,最后得出一批核心资产。这些资产一旦受到攻击,将会影响整个集团正常业务的运转。所以我们只需要确保核心资产不受到影响,其他一些保护我们会建一个相对安全低的等级。
安全定制和安全审计,我们最开始跟一些网络运维同事一样,重运营不重审计。等我们跟集团内审部门有过一些合作之后,就会发现其实很多问题在我们开通的过程中并没有发现,在后面的审计中才慢慢暴露出来。审计其实是安全运营比较重要的环节。
还有安全域,之前我们所有安全划分多少围绕集团运行联系起来的。
另外是基于人的管理,我们之前做的是将访问策略跟管理域进行挂钩,现在我们是基于每个人IP进行管理,这样数据获取比较容易。但是我们觉得跟IP相关的话,这个IP会给任何人,所以还是觉得最好的内网管理是基于人的管理。逐步跟域靠拢,通过域实现人员权限的管控。这个我们正在做。