发布于:2021-01-14 10:10:33
0
242
0
开源工具在DevOps工具链中占据了中心位置。随着组织越来越依赖开源工具,影响这些工具的风险已转移给这些组织。为了减轻这种风险,组织必须对开放源代码工具进行连续监视。让我们看一下开源堆栈中的各个层,并确定需要监视的关键关注点。
Linux –内核,Sudo
Linux在每个技术堆栈中都占有一席之地。由于其被广泛采用,因此它是黑客的主要目标。而且,项目的绝对复杂性和庞大性意味着漏洞不可避免地会定期发生。无论是Linux内核还是系统的重要部分(如Sudo功能),Linux OS的每个部分都可能导致漏洞。
编程语言– JavaScript,Python,Go
我们在多元化的开发团队中运作。这对开发人员来说是很棒的体验,但是对于实施安全性来说可能是一场噩梦。每种编程语言都是由开放源代码开发人员社区开发和维护的。他们每个人都有不同的设计理念,更新频率和每个人独有的漏洞。如果您的组织规模很小,并且所有开发人员都使用一种语言编写代码,那么您的工作就很容易,但是在大型组织中,SecOps团队会在监视编程语言中的漏洞方面为他们完成工作。
编程语言中的错误的范围可能从错误的输入验证到可利用的拒绝服务再到解析验证问题。流行的编程语言(如JavaScript,Python和Go)经常会遇到问题,尽管它们的安全团队始终处于活动状态,一旦发现漏洞,便立即发布安全补丁。SecOps团队和开发人员仍然有责任遵循安全的编码做法,并及时了解影响他们使用的编程语言的最新问题。
UI框架– jQuery,Angular,Bootstrap
jQuery,Angular,Vue和Bootstrap之类的Javascript框架在编程语言之上运行,因此需要监控的漏洞有其自己的份额。这些框架保证了易用性,但也增加了一层复杂性并增加了堆栈的攻击面。
插件是jQuery体验的核心,它们通常是漏洞点。其他威胁包括跨站点脚本(XSS)和内容安全策略(CSP)绕过。结论很明显– UI框架需要持续监控。
容器工具– Kubernetes,Docker,容器映像
集装箱革命席卷了发展世界。在过去的几年中,容器工具的发展迅速。但是,快速增长还伴随着需要弥补的安全漏洞。在容器堆栈中,有许多层,例如容器引擎,容器注册表和容器编排器。它们都是潜在的漏洞来源。
影响Docker的风险包括机密信息处理不当,使敏感数据向未经授权的查看者开放,以及由于CPU和内存等资源过度消耗而导致的服务拒绝问题。与Docker相比,Kubernetes在容器体验中更为重要,因此需要更加密切地监控其漏洞。问题包括内存泄漏和对自定义资源的未授权访问。
除此之外,还可以从公共互联网上下载容器映像,并将其用作组织技术堆栈的一部分。在使用容器注册表下载之前,需要进行自动检查以扫描容器图像。行动小组可能会选择拥有一组经过审核的常用容器映像,开发人员可以免费下载这些映像。
数据库– Redis,MongoDB,PostgreSQL
无论他们使用哪个入口点,数据都是黑客追求的财富。开源数据库的使用正在增长。这包括Redis,Mongo,PostgreSQL和Cassandra等数据库。随着这些数据库成为公司重要信息的保管人,需要采取额外的措施来保护它们。
影响数据库的问题包括缓冲区溢出,SQL注入和OpenSSL配置文件的滥用。任何组织想要做的最后一件事就是在“技术新闻”栏中进行介绍,以公开其用户的宝贵数据。充分保护数据库可以避免数据泄露。
Git – GitHub,GitLab
Git作为CI / CD管道的起点至关重要。这激发了GitOps的实践,在该实践中,整个开发流程都从Git存储库启动并运行。GitHub和GitLab是两个最受欢迎的Git平台。大多数开发人员使用这些平台来存储代码并与团队成员进行协作。
应该特别注意避免对敏感信息进行硬编码,并使它们在存储库中可见。应该只允许已知的开发人员提交代码,这些代码可以通过提交签名来强制执行。当这些平台用于公开共享代码时,请谨慎行事,以免您将专有代码意外地暴露给外界。
如果一件事跳出了长长的开源工具及其漏洞列表,那就是它们需要持续监控。这些工具及其用户可能会以多种方式出错。但是,手动监视这些工具不是解决方案。它需要专门构建的安全监视工具,该工具可以扫描用户,数据以及这些工具的集成以识别漏洞。这可能是开源安全工具(如Whitesource),容器运行时安全工具(如Twistlock)和事件管理工具(如Pagerduty)的组合。依靠开源工具作为生命线的组织需要尽一切努力来保护这些工具。
作者介绍