打破信息孤岛,成为网络安全领域的拥护者,将会对您、您的职业以及您的企业组织产生有利影响。
安全是DevOps中一个被误解的元素,有些人认为,它不在DevOps的职权范围之内,而另一些人则认为,它足够重要(并且经常被忽视),因此建议您改为使用DevSecOps。不过,无论您认同哪一方的观点,一个很明显的事实是,网络安全都会影响到我们每一个人。
每一年,有关攻击行为的统计数据总是令人大为震惊。例如,每39秒就会有一次黑客攻击行为发生,这可能会导致您为公司编写的日志记录、身份信息以及专有项目被盗。您的安全团队可能需要花费几个月(甚至可能永远找不到)的时间,才能发现幕后黑手的身份、丢失了什么、哪里被攻破了、以及什么时间被攻破的。
面对这些棘手问题,运营专家应该做些什么?按照我的想法,我们是时候成为网络安全的拥护者,变为解决方案的一部分了。
破除藩篱:让部门之间不撕皮
在与IT安全团队一起肩并肩作战的数十年里,我注意到了很多事情。一个很大的问题是,DevOps和安全团队之间的关系通常剑拔*张。究其原因,这种紧张关系几乎都是源于安全团队为了保护系统、防范漏洞所作出的努力(例如,设置访问控制或者禁用某些东西),而这些努力会中断DevOps的工作并阻碍其快速部署应用程序的能力。
对于这一点,我相信每个人应该都经历或者说看到过。一小撮的怨恨最终烧毁了双方信任的桥梁,要么是花费一段时间修复,要么就是两个团体之间开始一场小型的地盘争夺战,这个结果会使DevOps实现变得更加困难。
换位思考
为了打破这些孤岛并结束互相撕皮的现象,我在每个安全团队中都选了至少一个人来交谈,以了解我们组织日常安全运营里的来龙去脉。我最开始是出于好奇才做的这件事,但让我继续做下去的原因是,它总是能带给我一些有价值的新观点。例如,我了解到,对于每个因安全性问题而被叫停的部署,IT安全团队都在竭力修复其所发现的其他10个问题。他们反应的莽撞和尖锐是因为他们必须在有限的时间里修复这些问题,否则这些问题就会变成一个大问题。
考虑到发现、识别和撤销已完成操作所需的大量知识,或者指出 DevOps 团队正在做什么(没有背景信息)然后复制并测试它。所有这些工作通常都要由人手配备严重短缺的安全团队完成。
这就是您的安全团队的日常生活,而这一切,您的DevOps团队根本无法看到,更谈何理解。IT安全团队的日常工作可能意味着超时加班和过度劳累,以确保公司、公司的团队以及团队正在进行的所有项目安全运行。
成为安全拥护者的方法
当您成为了自己的安全团队的拥护者之后,便可以成为他们的助力而不再是绊脚石。这也就意味着,对于您做的所有操作,您必须仔细、认真地查看所有能够让其他人登录的方式,以及他们能够从中获得什么。
帮助您的安全团队就是在帮助您自己。将工具添加到您的工作流程中,以此将你知道的要干的活和他们知道的要干的活结合到一起。从小事入手,例如阅读公共漏洞披露(CVE),并将扫描模块添加到你的 CI/CD 流程里。对于您构建的所有内容,都会有一个开源扫描工具,从长远来看,添加小型开源工具(例如下面列举的工具)是可以让项目变得更好的。
容器扫描工具:
- Anchore Engine——Anchore是一款针对容器的安全扫描的工具,能对应用容器的脆弱性进行静态扫描,同时支持whitelist/blacklist以及评估策略的设定。
- Clair——Clair是由coreos所推出的一款针对容器的安全扫描的工具,能对应用容器的脆弱性进行静态扫描,同时支持APPC和DOCKER。
- Vuls——Vuls 是一款适用于 Linux/FreeBSD 的漏洞扫描程序,无代理,采用 Go 语言编写,能够通知用户与系统相关的漏洞;通知受影响的服务器的用户;自动执行漏洞检测;使用 CRON 或其他方法定期生成报告;管理漏洞等等。
- OpenSCAP——OpenSCAP由Redhat主导开发,是一个整合了SCAP中各标准的开源框架,其为SCAP的使用者提供了一套简单易用的接口。OpenSCAP实现了对SCAP数据格式的解析以及执行检查操作所使用的系统信息探针,它能够让SCAP的采纳者专注于业务实现,而不是处理一些繁琐的底层技术。目前OpenSCAP最新版本完全支持SCAP 1.0规范中的全部标准。
代码扫描工具:
- OWASP SonarQube——SonarQube 是一个开源的代码分析平台,用来持续分析和评测项目源代码的质量。通过SonarQube我们可以检测出项目中重复代码、潜在bug、代码规范、安全性漏洞等问题,并通过SonarQube web UI展示出来。
- Find Security Bugs——Find Security Bugs是一款用于审计Java Web应用程序和Android应用FindBugs插件。
- Google Hacking Diggity Project——Google Hacking Diggity是一个利用搜索引擎(如Google、Bing)快速识别系统弱点和敏感数据的工具集项目。
Kubernetes 安全工具:
- Project Calico——Calico为容器和虚拟机工作负载提供一个安全的网络连接。它可以创建并管理一个3层平面网络,为每个工作负载分配一个完全可路由的IP地址。工作负载可以在没有IP封装或网络地址转换的情况下进行通信,以实现裸机性能,简化故障排除和提供更好的互操作性。
- Kube-hunter——Kube-hunter是由Aqua推出的一款工具,利用 Kube-hunter 可以进行免费 Kubernetes 环境渗透测试,在 Kube-hunter 网页中,系统会列出使用者环境出现的漏洞、严重性,以及问题的描述。利用 URL,企业用户也可以与组织内其他成员分享扫描结果。
- NeuVector——Neuvector可以提供主机和pod的连续运行时保护,它可以通过扫描Kubernetes集群、节点、pod以及容器镜像来保护容器不受安全漏洞的影响。
保持你的DevOps态度
如果您正在担任与DevOps相关的职务,那么学习新技术以及如何运用这项新技术创造新事物就是您工作的一部分。安全也是一样的。在DevOps安全方面,我始终紧跟时代发展步伐,下面是我的学习秘诀:
- 每周阅读一篇有关您所从事的工作与安全性相关的文章;
- 每周查看CVE官方网站,了解出现了什么新漏洞;
- 尝试做一次黑客马拉松(Hackathon)——通常是一种连续、集中式的编程活动,由报名人员组队参赛并且在规定的时间内完成计划的活动。一些公司每个月都要这样做一次;如果您觉得还不够、想了解更多,可以访问 Beginner Hack 1.0 网站;
- 尝试每年至少与您的安全团队成员一起参加一次安全会议,学会从他们的角度来看事情。
成为拥护者是为了更好的未来
您应该成为自己团队的安全拥护者的原因有很多,首先也是最重要的是增长您的知识,并且帮助您的职业发展。第二个原因是帮助其他的团队,建立新的关系,并打破对您的组织有害的孤岛现象。在整个组织内建立友好关系有很多好处,包括树立沟通团队的典范,并鼓励人们一起工作。同时,您还能促进在整个组织中分享知识,并给每个人提供一个在安全方面更好的内部合作的新契机。
总的来说,成为一个网络安全的拥护者会让您成为您整个组织的拥护者。