农信互联李元龙:登山之路——互联网公司安全建设的心得体会
安全的目的
互联网公司为什么需要安全?大家可能会觉得问的这个问题这么傻,安全问题不是很明白的一件事儿吗?肯定都需要安全。
我们需要静下心来想想为什么要做安全。做安全无非是做两件事情,一是保证公司自身资产不受到损害,二是让公司用户自身的资产不受到损害,总的来说都是我们公司资产的东西。我们做安全的主要目的在于,要保护资产不受到损失。
知道自己有什么?我们公司的资产到底有什么,用户的资产到底有什么,用户的数据还是公司有服务器等等。我们要保护的对象首先要搞清楚。
接下来知道自己能做什么,围绕保护对象我们要做什么呢?应用层有WAF,网络层有防火墙,对资产保护能力要能理清楚。
知道自己哪儿有问题,这一般是通过渗透测试,白帽子提交的漏洞,要搞清楚我们自身安全建设或安全能力哪些存在薄弱环节。
知道自己哪儿有问题之后,还得知道之自己的问题怎么解决。
作为甲方首先要弄明白四点,知道自己需要保护什么,自己有什么样的能力,知道自己哪儿有问题,知道这些问题怎么样解决。
安全的任务。
知己知彼,百战不殆,彼是对我们要保护的对象,对自己也要有清晰的认识。
互联网公司有这样的特点,发展的非常迅速,如果一开始把安全的摊子支的太大,我们公司在安全上的投入,会给人感觉,我们安全上做了投入之后但成效布告,我并没有感觉到安全上做了投入给公司带来什么样的收益。慢慢公司业务起来了,发展得非常快,这时候安全没有跟上,到时候又会产生很多的安全问题。
面临这种情况,安全问题怎么做呢?像更山一样,拾级而上,一步步来做,一开始先定个小目标,我们先有什么东西,随着公司业务慢慢做开,我们再把安全的东西慢慢补上去,简而言之,就是拾级而上,一步步来做。
安全怎么做。
技术,分为办公区、IDC。
管理,SDL、网络安全法、合规性建设、安全培训、安全管理等。
办公区。
大部分甲方公司都比较忽视,忽视的原因无外乎,比如我经常一个人宅在家里,怎么会知道我家里哪儿可能会出现安全隐患,我天天在家不可能有贼进来。办公区也一样,我们天天都在工作,天天都有人,认为不可能出现什么安全问题。但办公区的问题往往会造成严重后果的地方。办公区需要处理的问题主要包括终端和网络。
终端,一般会出现的问题是,不装杀毒软件、不打补丁,乱传文件。网络管理就是有些员工喜欢看视频,下载站用大量带宽,私搭Wi-Fi热点,这种情况在甲方公司非常常见。针对这些问题怎么解决呢?我这算解决的一个思路。
终端管理要防病毒、数据防泄密、补丁管理等8点,是非常紧急的,做安全建设必须一开始要下手做的。标黄的是随着安全建设到一定程度之后慢慢做跟进,蓝色是相对不是那么重要。
红色——防病毒、数据防泄密甲方一般比较重视,装杀毒软件、上DLP,我们一般都会有这种意识去做。主要提到补丁管理和资产管理。说到补丁感觉不得不说到WannaCry事件,给所有的甲方安全敲响了警钟。WannaCry这个事情所利用的漏洞MS-17010其实微软早在3月份就发了补丁了,正常的员工电脑都跟着更新,每个月补丁都打上的话,WannaCry不会对我们有影响。恰恰有些员工忽视了这个漏洞的重要性,觉得打补丁会对电脑拖慢,容易死机,就不打,最后中赵了,结果就是得不偿失。统一的补丁管理对甲方来说是非常重要的。资产对公司来说也非常重要,作为一家公司不知道你电脑上装了多少终端,终端里装了什么东西都不知道的话,做安全会非常得吃力。所以,资产管理做安全时是基本的工作,一定要捋清楚。
黄色——软件管理和脆弱性扫描。
蓝色——无响应终端管理、介质管理。无响应终端管理,现在大部分公司都有网络打印机、摄像头设备,我们多觉得这种设备会有什么样的影响呢?去年美国那边就爆发了一个事件,利用IoT设备打DDoS,这个事件也给我们敲响了警钟,利用摄像头、打印机这种物联网设备做网络攻击已经不再是空谈,是完全有可能实现的。在无响应终端上,如果公司安全做到一定程度时需要考虑做这个事情。
网络层面相对少一些,主要是有准入上网行为管理、Wi-Fi热点管理等总共6个方面,上网行为管理,Wi-Fi、VPN、防火墙四点是比较重要的。上网行为管理和Wi-Fi热点管理,上网行为管理大部分甲方公司都会做这些事情,主要防止一些人在上班办公期间上网不规矩,下载开一些视频,导致整个办公区网络拖慢,上网行为管理,为了保证公司的办公质量这是必要的。万一哪天办公区有个人搞了一件不好的事情,发了一个不好的言论,我们需要做审计和追溯时这个东西是非常有用的,它能给我们提供非常有力的证据,也是需要非常必要的审计设备。
Wi-Fi热点管理,很多员工喜欢私搭热点,做渗透都知道,私搭热点往往会包括渗透点,我私搭热点,如果有密码直接通过Wi-Fi就打到内网去的,这不是一句空谈,对私搭的Wi-Fi热点一定要禁止,不能让它存在这个地方。
VPN,一般公司做网络时肯定会做。
准入为什么不是很重要呢?等到我们公司大到一定程度时可以规定,哪些电脑允许访问哪些区域,允许访问内网还是允许访问外网,允许访问内网是访问哪些网段,这是发展初期。发展中期,如果没有说清楚,准入不是很重要。态势感知,很多专家提高态势感知,我认为,作为初创型企业或小公司一开始上来就做这个的话,投入巨大,而且没有什么收益的东西。但态势感知未来一定是安全发展的趋势。所以,态势感知固然好,但不要一上来就做。
办公区的安全我写了一首打油诗:病毒需要防,泄密不能忘,补丁要管理,资产莫彷徨,上网有管理,Wi-Fi能约束,专网火墙起,办公把心放。
把这些做到基本能做到办公区管理80%的健康度。
IDC。
IDC往往是我们安全工作当中的重中之重,相信甲方做安全的都有这种体会。它分5个层面来解决:数据层、网络层、主机层、应用层、Web网络。
IDC安全建设有哪些困难?
数据层,甲方做网络经常会说我们数据库被人脱了。或者网络工程师提意见,我们公司好像被DDoS了,甚至系统运维人员过来告诉你,我们系统被种了木马,你们安全人员去解决吧。还有客户会问一个问题,你们首页怎么被篡改了。这是应用层面,所谓IDC机房会遇到的一些问题。怎么解决这些问题呢?一层层来说事儿。
数据层。
互联网核心层是数据,对数据层进行保护的话,要解决两个问题。
1、如果我的数据被窃取了,我要知道,通过数据要审计得到,发生这样的安全事件。
2、保证我的数据被窃取了,拿走了以后那个人用不了。我的数据是脱敏的或者被加密的数据。围绕这两个问题,数据层安全建设要做这两个层面,数据加密和数据库审计,相对数据库审计重要一些。
网络层。
数据层再往上就到了网络层,主要做的工作就是防火墙、抗DDoS(红色),防火墙没有什么问题,出于成本的考虑DDoS做的少一些。我认为,如果公司刚在起步期可以先省一省,如果公司发展得非常快,抗DDoS这个事情一定不能省。因为现在针对DDoS攻击防御没有什么特别好的办法,我们能做的要么像运营商,哪个IP攻击DDoS我封了它。要么像阿里云盾那种做法,很多IDC机房我们做引流,把流量分出去,吸好我们再弄回来。不管怎么样,抗DDoS一定要有。
网络设备的监控(黄色),主要是指交换机,一定要知道,发现了异常,比如交换机莫名其妙当机或怎么回事,我们一定要知道,网络设备监控我认为也是比较重要的。
流量监测(蓝色),在网络输入口我们部署一些流量探针,通过这些流量探针,在流量里检测一些攻击行为。我个人认为,也是投入大,但收益比较小的东西,在安全建设比较完备的时候,这个东西会有助于你发现一些未知的攻击行为,初期这些东西我个人认为没有什么太大的必要。
主机层。
主要是计算机,面临的安全问题比较类似,主机这一层所做的工作也都大差不差。提到8个层面:资产审计、主机监控、防病毒、异常行为审计、文件审计、脆弱性扫描、访问控制、安全加固。
脆弱性扫描,主机层面的脆弱性扫描就是针对系统漏洞用扫描器对漏洞进行及时发现和修复。如果有这项工作,像WannaCry事件以后对我们的影响会越来越小,如果我们有这样的东西并及时修复的话,以后再出现这种问题可能我们就不再惧怕它了。
访问控制,我认为这非常容易理解,在一个公司里所有服务器并不是所有人员都有权限访问,并不是所有访问这个服务器的人员都有root权限或者admin权限。访问控制一定要做好,做好访问控制可以省去一大堆的安全隐患。据我了解,很多在内部网络出现问题都是他们权限设置做得不到位,导致比如root帐户被一个开发码盗了,开发的不太懂系统,上去瞎调一通,把机器搞当机了,这种情况是经常有的,所以访问控制、权限控制一定要做好。
异常行为升级,做主机安全,我认为主机往往是黑客的一个目标,如果我们想判断有没有受到黑客的攻击,主机异常肯定是个非常直接的反应,如果我主机存在一些异常进程,比如我主机反弹了一个shell出来,它肯定是被黑了。异常审计是非常重要的,有日常行为监控和系统日志审计。日志审计来说,也是安全发展到一定阶段之后我们要做的一件事情,但它非常重要,能很大程度增强我们安全健壮性。
安全加固,我为什么没有给特别要紧的位置呢?我们甲方做工作有这样的心得体会,一个机器有高危漏洞,我要打补丁,可能要重启服务器,一重启服务器可能业务就要断,所以一般打补丁来修复漏洞,我们甲方一般不会采取这种方式来修复的。我们做安全加固往往会在应用层或网络层的安全设备上做一些配置,来对我的主机进行安全加固,而不会采取打补丁的手段。安全加固我标的黄线的意思是,安全加固是重要的,但做得肯定会落实不到位,安全加固就相对不是那么得重要。
应用层
主要是应用层防护、抗DDoS、漏洞扫描、防APT、防未知威胁、业务安全。我认为重要的是应用层防护、抗DDoS、业务安全。应用层防护我们会做WAF,应用层防护重要的设备,应用层抗DDoS是用CC攻击,这和网络层打流量攻击是不同的,主要是发起大量的并发请求,把你的业务给打瘫,但它的防护手段肯定和网络层的抗DDoS是有区别的。
业务安全,今天的论坛是云安全和电商安全论坛,现在越来越多的黑客关注这个层面的问题,比如“羊毛党”、“盗刷洗钱”,他们的目的不是你的服务器,而是用你的业务来赚钱,做黑产。所以,业务安全这些年逐渐上升为网络安全层面算是最重要的问题。业务安全要做的话,我认为两个工作一定要做好,一是反欺诈,二是数据风控,二是绿网,就是反动信息过滤。
应用层的漏扫,我们一般在WAF后面,WAF不进行防护的时候我们也做一些业务进行漏洞扫描,即使发现业务层面出现的漏洞,因为它不过WAF,所以发现非常直接,发现漏洞我们可以用开发机制去修复。
防APT和防未知威胁大部分做法是基于大数据和威胁情报来做,和之前一样,也是前期没必要做,但做到后期一定要做的一个事情。
外部网络是脆弱性扫描、安全测试和威胁情报。脆弱性扫描是指WAF外面一定要布置一个扫描器,WAF外面布入扫描器有什么作用呢?它的作用是查缺补漏,意思是,我们在外网对域名或IP段做扫描,用来发现那些我们没有在WAF保护下的业务,如果我们发现了一个赶快调整一下策略,让它在WAF后面,别让这些业务万一存在漏洞,成为黑客的一个入口。现在黑客攻击一般不会攻击门户,公司主战等主要业务网站,他心里清楚肯定是防护非常严的地方。他选择的一定是计较旮旯,边边角角的地方,怎么查这些东西,就是在WAF外面不止一台扫描器,让它查,查出来就放在安全机制的后面。
安全测试(红色),如果我们公司自建团队,外包,就是买安全团队测试服务。我们有扫描器扫漏洞,为什么还用安全漏洞呢?业务逻辑上的漏洞其实是漏洞扫描器扫不出来的,我们需要人员去找,找到一个扫描一个,这是安全测试的意义。
扫描和安全测试之后,第三项是威胁情报(黄色),最近这几年甲方安全比较火的一个层面,比较典型的是各大安全网站的安全信息,各大漏洞平台上面漏洞的披露,比如现在补天和阿里的先知计划,然后是SRC、应急响应。这里面所有的工作都是想借助外部力量告诉我们安全还有哪儿做得不够,哪儿还有问题。借用外部力量提升我们自身的安全水平,这是外部网络所做的工作。威胁情报,相对以前的脆弱性扫描和安全测试的重要性相对一些。
IDC安全建设。横轴表示重要性,纵轴是紧急行(图),为什么重要性高的反而紧急性不高?比如数据层,它是公司的核心资产,肯定是最重要的,为什么紧急性不高呢?正因为它重要,所以对它的保护在外部网络层、主机层应用层、网络层层层设卡,黑客窃取我的数据至少要绕过前面四道管卡才能对数据层的数据进行窃取。所以,我们对数据层的保护为什么不紧急,因为把它的紧急性转化到前面几层安全上去了。
安全管理。
它既是一门艺术也是一种责任。不管出了什么事儿,安全总有自己该背锅的时候。做安全管理主要有以下三个点:SDL、合规性建设、安全培训。
管理容易出现的问题,一个常见的场景,比如现在一个业务要上线,开发把这个代码提交到运维这边要上线。运维说打住,你这个代码我检查出来有个非常严重的问题,你需要打回去修。这个开发人员就说,我们这个业务领导要求明天必须要上线,要搞活动,如果今天晚上不上线,活动明天就搞不了,你说耽误公司赚钱,你一个安全工程师担当得起这个责任吗?安全工程师可能会说,你这个业务有漏洞,万一明天有人利用这个漏洞把我们公司黑掉了,造成的损失你一个开发赔得起吗?这是很常见的场景,管理上的问题就是公说公有理,婆说婆有理,反正安全说服不了开发,开发也说服不了安全,两个人就僵在那里。所以,怎么要让安全懂得开发的难处,也要让开发理解安全的辛苦呢?
解决之道,两条路:事件驱动,潜移默化。事件驱动,是指我们抓住可以利用的事件告诉开发或安全人员,让他们提高安全意识,提高对安全工作的认可度。前段时间WannaCry例子,这个事件爆发出来之后,对网络公司来讲,对终端安全的认识度一下提高了不少,最起码大家要知道要打补丁了。潜移默化这个事情,对安全这个事情我们不能一刀切,不能说上级领导给我定下来一个任务,我们硬推下去。安全工作实际是给开发者业务使半子的工作,如果硬推下去肯定是不合适的,所以要讲事件驱动,潜移默化,我们要慢慢地来,温水煮青蛙。
SDL
很多人可能做这个事情,大部分的做法是先出一个流程,领导一签字我们推下去,结果推半天推不动,这个事情就荒废了。我们公司做这个事情两个点,一是业务逻辑梳理,二是漏洞管理制度,业务逻辑梳理,是把所有的网站功能点理清楚,知道这个网站是干什么的,实现这个功能怎么做的。漏洞管理,就是这个网站存在的问题要给它管理起来,把这个漏洞落实到每个工程师身上,你要来修这个漏洞,你不修我对你有惩罚,我们要罚钱,一个高危漏洞要罚100元。这两项工作落实之后,就是软件开发生命周期制度,SDL流程就有了。有了这个流程之后,这三项工作就配合慢慢运转起来。如果害怕有些人不太遵守流程的话就开发类似平台化的工具,在平台上把流程自动化地遵守好,自动地遵守SDL,这比强推式的好很多。
合规性建设
主要是指等保,大部分甲方公司在做安全时都会考虑做等保的问题,等保比较多。这里有基本技术(蓝色)、网络安全法、基本管理(红色),基本技术前面都做到,大部分基本技术都能满足要求。基本管理有三项是最重要的(红色),一是安全管理机构,公司层面一定要把安全工作提到一定的位置上,比如国家想做安全,习近平挂帅安全领导小组的组长,这样安全工作就重视起来了;二是系统建设管理和系统运维管理,这两个制度就是告诉开发和运维怎么样做是正确的,对他们来说安全操作手册。人员安全管理,入职手段要有制度约束它。这四个制度有了之后最后我们修补边边角角,比如数据库变更流程、数据库管理边边角角一补,我们完整的安全体系就建立起来了。
《网络安全法》是今年6月份新出台的东西,详细司法解释还没有出来,我相信司法解释出来之后这也会成为合规性建设中非常重要的环节。
安全培训。
主要是员工安全意识,这个培训重中之重,不管是买第三方培训还是我们自己的人来做,要不停地做,反复地做,洗脑式的灌输,让员工明白这个安全非常重要。如果以后还有能力或有精力的话还可以做安全开发和安全技能培训,安全开发是针对开发人员,安全技能培训是针对技术人员,培养安全工程师的能力,保卫我们的安全。
简单来讲,安全管理就是一个中心(SDL),两个基本点(合规性建设+安全培训),最重要让公司安全建设符合合规性建设的要求,并按照合规性建设的要求执行下去,这是安全管理的最终目的。
安全的使命。
之前这个问题是领导抛给我的,说你认为安全的使命是什么?我一开始觉得安全做到保障公司资产安全不就OK了吗?后来随着一系列安全事件发生和一些人聊过天之后,慢慢我发现,安全不仅仅是个公司信息资产的保障,更是一个公司品牌的证明。举例,我们选购VPS时都倾向选择阿里云,因为阿里云的安全做得好,安全有保障,我用他的服务器放心我就用阿里云,这是简单的逻辑。这是阿里云做安全给他的品牌带来的效应。
我相信不久的未来,安全一定会成为一个公司的核心竞争力,我们公司在对比技术上的能力时,安全未来肯定会作为一个能力摆在台面来说的,而不是现在安全更像是个附加的产品。
谢谢!
主持人:感谢李总精彩演讲,刚才提到,我也记了很多,我在这里也简单跟大家说几个,李总提到DDoS,游戏公司最怕这个,以前互联网电商可能没有感受到,现在电商公司慢慢感受到了,因为有大促了,马上就要“6·18”了,以前还有“双十一”,我看还出来5·18”,各种各样的大促越来越多。活动出来之后,这种DDoS的事情肯定是难免的,这上面非常需要落地方案。我们的理念,我们也会慢慢灌输公司CTO体系,这个DDoS攻击,不是我们现在有防护就OK了,我的感觉就应当像测试一样,功能测试、性能测试、自动化,应该慢慢成为开发生命周期当中的一部分,我上一个什么样的业务,上去之后必须要满足多大量的攻击,什么类型的攻击。后面我们一个理念,就是把DDoS演变测试变成例行检测。
刚才李总提到整体事件驱动,其实在于有些公司没有办法,我们当初也是一点点这样过来的。初期时,事件驱动是最好的一种方式,京东现在这个规模,事件驱动就需要往后放放了。大家在做安全时,事件驱动可以是个方法,这个过程中,我们还加了一些点,把整个事件驱动的事件全部转化为现金。出现这个事件之后你给京东损失多少钱,按这个方法做。
SDL,我们从去年到现在也在做这个,很多人都在提,国内SDL到底能不能做成?也在考虑这个事情。很多人说合规这个东西到底有用没用,是不是贴好就完了。其实这里面有很多灵活点。京东做SDL时,刚才李总提到这个思路还是很好的,我们也基本上按照这样的思路,但我加进去一个东西,我给每个部门施以“问诊”模式去做的,比如各个部门做之前,会把他们部门出的安全风险拿出来,他们部门安全风险有什么背景,每个人员以前经受过这样的安全培训没有?他们的安全风险以前是由于失误导致的还是由于安全意识导致的,全部给他分析出来,最终分析出来,它会有一个打分的,比如这个部门出来有60分,我会告诉他SDL确实在哪块了,告诉他老板达到多少分,最后告诉他哪个阶段应该怎么做,每个阶段像快速培训一样,我们每一个阶段是两周,做完之后会有一个考核,这需要一些灵活的方式。
李总最后提到安全意识,这是很重要的。说白了现在已经灌输到我们CEO层面了,这是怎么灌输的,一点点地让京东每个角落全部都是信息安全,每天都在关注,甚至到厕所看小报都是安全,没办法,这需要一点点灌输这个东西。还需要一个强有力的东西,我们现在有个安全委员会,最高的leader是老刘,如果要把安全做好,这两个东西哪一个都是缺不了的。
相关文章
- 3条评论
- 舔夺瘾然2022-06-02 18:19:57
- 输到我们CEO层面了,这是怎么灌输的,一点点地让京东每个角落全部都是信息安全,每天都在关注,甚至到厕所看小报都是安全,没办法,这需要一点点灌输这个东西。还需要一个强有力的东西,我们现在有个安全委员会,最高的leader是老刘,如果要把安全做好,这两个东
- 余安泪灼2022-06-02 19:17:31
- 网站是干什么的,实现这个功能怎么做的。漏洞管理,就是这个网站存在的问题要给它管理起来,把这个漏洞落实到每个工程师身上,你要来修这个漏洞,你不修我对你有惩罚,我们要罚钱,一个高危漏洞要罚100元。这两项工作落实之后,就是软件开发生命周期制度,SDL流程就有
- 末屿溇涏2022-06-02 13:32:25
- 描器,让它查,查出来就放在安全机制的后面。安全测试(红色),如果我们公司自建团队,外包,就是买安全团队测试服务。我们有扫描器扫漏洞,为什么还用安全漏洞呢?业务逻辑上的漏洞其实是漏洞扫描器扫不出来的,我们需要人员去找,找到一个扫描一