安全是一个不断的持续的过程,每个环节都不可缺少,在安全的路上懂的越多发现自己不懂的越多。
1概述
我在某做WL的公司负责公司整体安全,保护公司业务系统的安全(这个系统会有大部分看官的个人信息)。公司业务发展很快,但是信息化基础建设很落后,管理不规范,人员技术水平参差不齐,对网络和安全没有认识。领导对安全概念模糊,无法落实;因为是新来的,领导对提出的解决方案有选择的进行,但是有个好的地方就是公司发展太快,出现过不少安全问题,给我们安全部带来了外部推动力(虽然不想出事,但是出事了可以加快安全建设的脚步)。
一年的时间从什么都没到现在的逐渐成型、各种安全流程的建立和落地,建了ISO27001安全体系(通过了认证),此篇文章进行了一个总结,期间也碰到了的很多坑和挫折,自己也在这个过程中学习了成长了,这里再次感谢帮助过我的朋友们,感谢安全部另外一位X大牛。
2对ISO27001理解
通过一年的时间对从0到拿证的过程,简单说一下我对ISO27001的理解:不管是ISO27001还是安全我觉得都是围绕着业务进行的,一切的出发点都是保证业务的连续的、稳定的运行,要保证业务的连续的、稳定的运行,你需要知道你有什么资产,资产面临什么风险,这些风险要怎么处理,这样一个过程中还要循序PDCA的原则(plan-do-check-action)。做每一个制度和每一个要求的时候从业务角度出发去思考,这样做才可以最大化的保证所写的制度规范能执行,为后面落地提供依据。凭空或单纯从安全的角度看问题,很容易把问题想的很严重,给出的解决方案往往短时间无法执行,后面会简阐述一下当时的想法。
脱离业务谈安全和脱离安全谈业务都是不现实的。
3为什么要做
我个人理解做这个事情的2大因素:
3.1外因
一个公司发展到一定程度和规模的时候,公司自身的安全已经不是自己的问题了,你会涉及到社会层面、合作层面、业务发展层面。如:我们公司的发起做ISO27001的需求其实就不是来自安全部,是业务部门在推广业务的过程中遇到了阻力,因为客户的系统过了ISO27001他们会要求你与他对接的系统有一定的安全性,这个要求就表现为ISO27001。
我们就业找工作很多时候是看能力,但是有时候证书就像一个门票,没有门票就无法上车,ISO27001就是一个公司的证书。
还有重要因素《网络安全法》出台了,国家对安全的要求肯定是先从政府自身开始,然后慢慢到要求企业,与其等出事不如从现在开始做。
3.2内因
每一个公司通过几年或更长时间的成长,公司会积累很多信息化系统,保障这些系统的正常运行就很重要,并且在对信息化管理过程中出现的很多职责不明确,边界不清,流程和制度不全,所有的操作规范和行为都靠约定俗成,没有体系化文档支撑,这些都影响系统稳定运行。
4控制项简单说明
ISO27001相信做安全的同学都有接触,百度有很详细的说明,我简单说一下自己的理解,大牛勿喷。ISO27001是一套安全管理类的文档,为了保证信息化工作和生产正常稳定的运行,一切都是围绕业务展开的,很多安全管理思路从公司的核心业务出发去考虑很多制度和规范都可以合理的解释。说个题外话很多做技术的和做管理的都是相互不对路,相互看不起,说句实在很多时候纯粹靠技术或纯粹靠管理去达到某个防护目标是不可能实现的,技术的实现可以方便和简化管理,管理制度的要求可以推动技术的落地,2者是相辅相成。
ISO27001从原来的15项标准要求变为了现在的18项,新增了2项、通信和操作管理拆除为2项。
下面简单说一下我对18个标准项的理解,并不是所有标准都要响应,如果实际情况没有可以不写,标准的要求不是重新编写公司已有的制度,只需要在原有制度上增加对安全相关的控制项:
5文档编写架构
ISO27001对应的文档说明其实叫适用性声明,如上表文件和控制项是一一对应的,标准文档架构为:手册、程序文件、作业指导书、运行记录:
Ø 手册:就是对ISO27001体系的一个总体的说明文档
Ø 程序文件:具体描述每一个对应的标准要做什么
Ø 作业指导书:是对程序文件进一步解读,怎么做
Ø 运行记录:是对做了上述工作后的一个产出文档,可以是电子记录或纸质文件
针对这个情况咨询过评审老师,现在可以按照自己公司的实际情况去执行,但是手册文件必须都有。我们针对公司的实际情况做了修改,因为很多时候落地的时候都是以制度去要求和约束,我们把原有架构做了改变,重写全部的策略和要求,当然过程中有参考,整个过程耗费2人一个月时间(对于技术出身的人来说是艰苦的岁月),中途还修改了2个版本,跟领导对内容一个一个文档审。
变为:手册、策略、制度、运行记录
Ø 手册:一样没变
Ø 策略:针对标准要求,提出我们自己公司的要求
Ø 制度:用制度明确需要做什么,要求怎么做
Ø 运行记录:不单纯为运行记录文件,还包含了怎么做的具体操作文档
最后强调一下最好不要拍脑袋写一些要求,尽量实事求是,做到什么程度就在这个程度是增加安全要求。
6体系运行
6.1体系发布
安全的工作如果由上致下会很顺利很容易推动,但是,体系的发布一定需要领导层去帮你发布执行,让全公司知道有这样一件事情,然后给领导要讲解(洗脑)这个东西是做什么的,可以为公司带来什么好处,让领导认同或部分认同你的观点,这样对后面的体系建设会很有帮助。
6.2体系分解
按照正常套路来说ISO27001要做的东西很多,我把安全体系分割为了3大块:管理、技术、和运行(前面也有提到)。管理:主要是制度、规范约束;技术:主要是实现目标;运行:主要是让前面的2点不要成为空谈,要有定期检查产出。
本来在按照公司的现状我制定的安全是分三步走的:起步-成长-成熟,成熟后运行2-3年再通过ISO27001的审核,在我个人看来毫无压力。但是由于要拿证时间只有1年,所有的东西都需要重新做没法按照套路来。
如果大家的时间较多,建议做一次全面的风险评估,针对风险一个一个完善文档。
6.3体系执行
执行主要是看检查在上述文档中的产出,如:发布了《安全运维管理制度》,那么根据要求,可能需要对机房进行周期性巡检产出《机房巡检记录表》,进出机房需要产出《机房进出记录表》。
按照个套路检查一个制度文件的产出,因此我们做了一个表,便于后面的审计:
大家可以把一些事情简单化,什么什么都用文档很繁琐,如:
基于django 自主开发的资产管理系统,如果出现什么漏洞可以快速定位。
上面只是日常的执行要求,ISO27001还会有一个每年的内审和评审,内审:检查日常工作是否按照要求做好;评审:审核制度体系是否需要跟上公司的业务变化,做错对应的调整。
6.4体系培训
体系制度已经发布后,执行是有阻力的,因为打破了原有的约定俗成,增加了各个部门的工作量,这个需要非常耐心的去解释解答(这个过程很多人会找碴),需要培训去使大家有一定认识,从而配合你做事情。当然最重要的是从领导层面推动,那样阻力就少很多,我们在这个过程中也没少发生申请事件,被删文件夹、中勒索病毒、数据库被暴力破解还有来自合作伙伴的漏洞通报。
培训可以从以下几块做:
Ø 新员工培训
Ø 平时公司内部培训、讨论、讲座
Ø 真实案例延时(渗透测试、当场干公司的系统,顺便展示实力,不过这个度自己要把握好)
多抛头露面准没坏处。
7总结
简单介绍了ISO27001的建设,一个体系文件写下来,深深的觉得这个东西就是套路,环环相扣,都是相互引用的。在刚开始的时候压力、阻力会很大,但是做好了后面是一劳永逸,让制度执行几个月后做内审和评审,发现问题并解决,做完这些就基本可以申请外审了。
最后如果大家有想法要做的话可以先看一次标准,理解一下,再结合实际情况进行编写,因为在制度文档里面写到的就需要实现,外审的时候就要查的,尽量实事求是。