当你问他要安全带时,他们说不用。当你放眼望去,你所看到的只是一条泥泞的乡间小路,如果你在泥泞的乡间小路上驾驶着赛车,而没有你需要的工具来确保速度和你想要达到的速度是成功的,你会作何感想?这就是这次会议的主题。
我叫Chris Riley,我是Splunk的高级技术倡导者,这基本上意味着我从一个糟糕的程序员变成了一个喜欢谈论软件开发的人。我不会过多地谈论我自己。但如果你想了解更多信息,你可以扫描二维码,它会让你进入我的社交网站。如果你想让我在这节课上说什么,请联系我,总是很乐意参与,我喜欢听那些看过我的课的人说的话。那么在大多数组织中,如果他们没有为f1做好准备,他们没有为他们的开发人员、DevOps工程师和站点可靠性工程师提供所需的工具,以可持续和安全的方式快速发展,那会是什么样子呢?
它通常是由可见性竖井驱动的。在应用程序进入生产环境之前,您的安全专业人员和遵从性专业人员通常无法看到应用程序所发生的情况。但是在软件交付链中有很多事情会影响这些应用程序的质量和安全性。因此,从特性被定义的那一点到那一点,创建可见性这个特性在生产环境中运行是非常关键的。
现在,开发人员可能非常擅长在他们所做的活动和测试中创建可见性。DevOps工程师也一样。SREs往往非常擅长生产过程中发生的事情。这样做的问题是,如果安全专业人员有问题,他们必须找到有答案的人,他们通常必须停止一切来获得这些答案。更糟糕的是,如果有审核,你的交付过程可能会中断数周。因为交付链的目的是交付代码,所以目标是没有人需要中断这个过程来发现他们需要什么。所以我们喜欢把DevSecOps看作一种实践。
是的,DevSecOps是另一个行业术语。很多人会说,如果你正确地使用DevOps,你已经在考虑安全问题了。但是把DevSecOps看作一种实践,它就不仅仅是一种工具了你期望在使用中实现,并开始从战略的角度考虑它。而且,因为它是一种实践,为了成功,它必须是可见的。
可见性是什么意思?这意味着从交付链中发生的事情,到生产中运行的基础设施,再到应用层,一直到用户前端都有一条主线。最后,你的安全模拟。
我们称之为代码到云可见性,而代码到云可见性对于跨越这些竖井和确保组织中的每个人都对正在发生的事情有很好的理解,以构建更安全的应用程序,保护软件工厂和解决生产中的安全事件是绝对必要的。而这三个正是DevSecOps实践的三个用例。
这些用例中的每一个都有不同的方法、运行它的一组不同的人员和促进它的一组不同的技术能力。所以,它正在构建更安全的应用程序。你在做什么来检查漏洞?您正在做什么来确保您的代码质量符合最佳实践?您正在做什么来确保您不会有从开发机器到生产机器的配置漂移,从而使组织面临风险?
其次是保护软件工厂。您如何确保正确的人能够访问您的工件?你怎么确定你没有从公开回购中提取文物?
你做了什么来确保被使用的秘密被正确使用?最后,是我们都很熟悉的领域正在保护生产中的应用程序。但是,在软件交付链中较早发生的事情的好处是,产品中的故障排除事件、安全事件具有更大的上下文,更大的上下文意味着更快的解决方案和更快的根本原因分析。DevSecOps的行为既是文化也是技术。所以第一件事是自动化在DevSecOps中有所暗示,你必须考虑如何将安全嵌入到软件交付链的自动化测试和交付过程中,我们也将安全考虑移到左边。
再次强调,这不仅仅是技术的问题,开发人员需要考虑安全性,而不是安全性成为他们的工作。有一个非常有力的论点是,你不应该让安全成为开发人员的责任,而应该给他们工具和心态,让他们知道构建更安全的应用程序,对每个人都有好处。以DevOps的速度完成所有这些工作,DevSecOps实践和安全专业人员的目标不是停止软件交付。
典型的安全专业人员都明白,尽可能快地将功能交付给用户是业务的关键。但他们也知道,不停止一切是生意的关键因为出现了一个漏洞。因此,在开发实践中构建安全性符合每个人的最佳利益,而不是让它成为事后的想法,或不让它只发生在生产中。所以这种做法并不是万能的。
在较高的层面上,我们的高管们理解,首先,这是一种实践,它不是一种技术,你去买,然后突然,你完成了,勾选复选框,你现在已经实现了DevSecOps。不是这样的。
在这三个用例中的每一个中,我们都有不同的角色来驱动它们。因此,在构建更安全的应用程序时,它往往由开发人员和DevOps工程师驱动和实现,其价值被传递给安全专业人员和SREs。
与保护软件工厂类似,通常由DevOps工程师和安全专业人员实现,有时站点可靠性工程师将参与确保工具链中工具的正常运行时间和安全性。最后,保护生产中的应用程序。
我们非常熟悉由安全专业人员驱动,由站点可靠性工程师支持。就像DevSecOps实践涉及多个角色一样,也有多个技术功能。因此,构建更安全的应用程序和保护软件工厂的前提和基础往往是管道分析。
什么是管道分析?管道分析是从你的工具链中的工具中收集遥测数据,这些工具可以是它们的日志,可以是网络挂钩可以是它们的API,还有你的自动化,你运行的自动化,你运行的脚本,可能来自terraform,或者其他工具你用来建设你的基础设施。
一旦你有了这些数据,你可以从三个不同的角度来想象它。第一个镜头在操作,它启动了吗?它是否以一种性能的方式启动并运行?
第二个方面是依从性,谁得到了使用工具链中的工具?他们是如何获取信息的?是否有人使用路由策略或示例?最后是衡量成功的kpi。在保护软件工厂的过程中,我们有sim卡。实际上,你可以使用今天在生产中习惯使用的功能,你的sim技术在工具和交付链上也可以防止未经授权地访问这些工具,并可能暴露知识产权,以及可能影响生产和应用程序安全性的交付链的其他组件。最后,确保产量一直是Sim所推动的。但在DevSecOps模型中,您还引入了可观察性的能力,以减少识别事件所需的时间,并提供更多的上下文和事件响应,以帮助在事件发生时用正确的信息尽快进行分类和动员人员。让我们来谈谈Splunk和JFrog是如何结合在一起的。
这两种解决方案是惊人的合作伙伴。使用JFrog Artifactory来管理工件的运输和交付,并使用x射线来调查那些工件的已知漏洞。
Splunk在此活动之上构建可视性,这样您就可以利用Artifactory和X-Ray的数据,对交付链中正在发生的情况、未来生产中可能发生的情况做出明智的决定,并在整个发布过程中衡量成功程度。它涉及到DevSecOps实践的所有三个用例,包括构建更安全的应用程序、保护软件工厂和衡量软件交付的成功程度。那么JFrog和Splunk如何构建更安全的应用程序呢?
首先,Splunk内部的可见性帮助您理解和了解XRay和Artifactory的覆盖率,并对其有信心。
我说的覆盖是什么意思?我的意思是,您有信心开发人员正在做他们需要做的事情,以确保工件有效地移动,并扫描漏洞。您还可以利用它来发现与工件消耗相关的异常。那么谁在消费文物呢?
他们什么时候吃?从哪里?该行为对于确保工件没有在不应该离开组织的时候离开组织是至关重要的。或者您没有从例如公共存储库中提取工件,而您不应该从公共存储库中提取,并且您正在执行与使用和使用工件相关的策略。
它还支持配置漂移的识别,确保开发人员机器上的工件不会以某种方式被其他存在已知漏洞的工程团队使用的存储库所终结。
还有一个非常有趣的用例,你可以在软件交付过程中对漏洞实现事件响应,你可以让人随时待命,可以是你的DevOps工程师或开发人员,当构建过程中发现漏洞时,你可以在工件意外进入生产之前停止一切,只是更多地关注交付过程中可能影响生产中应用程序安全性的事情。
现在保护软件工厂,如果您正在使用Artifactory和X-Ray,它们是您的软件交付过程中两个绝对关键的工具。重要的是要确保对这些工具的访问,这些工具的正常运行时间是合适的。因此,您可以检查以确保您没有对Artifactory进行未经授权的访问,或者没有受到某种类型的拒绝服务攻击,从而阻止Artifactory完成其工作并支持软件交付过程。
您还可以更好地了解如何、何时以及在哪里使用工件。可以是团队,也可以是程序,这样您就可以对您的组织如何使用工件有一个基本的了解,并在异常行为发生时开始发现它。最后,我们谈谈衡量成功。
这往往是开发人员最感兴趣的领域。那么为什么它是DevSecOps对话的一部分呢?嗯,这些指标作为问题的指示器,对于理解交付链的成功是很有用的,而且也是让开发人员和DevOps工程师考虑安全性并对这种可见性感兴趣的工具。所以你现在在屏幕上看到的指标是朵拉指标的一部分。
Dora并不是唯一的一组指标,但它们已经成为行业中的标准。有许多不同类型的指标。但是这些度量可以帮助您了解您的交付链在很长一段时间内的成功情况,组织倾向于将变更失败率作为主要的度量标准,对于DevSecOps和开发团队来说,都是如此,以便理解这两种速度但是这个速度对他们交付给客户的价值的影响。这是这个工具的截图。
如您所见,Splunk中的JFrog插件的设置方法与我之前描述的相同。这是三个关键镜头:操作、审计和遵守。所以现在,我们正在观察Artifactory,我们正在观察Artifactory是如何被谁使用的审计视图。在x射线的这个视图中,我们开始看到整个组织中漏洞的影响。
这是测量x射线的对数,给你误差的指示。在部署新应用程序时,通常会在构建时出现峰值。
这是意料之中的。但它还可以帮助您快速地从视觉上识别整个交付链中的异常,特别是在检测漏洞时。最后,我还要讲一个额外的用例。
有一种持续验证的思想,即在已经发布的代码中识别漏洞,而漏洞在发布时并不为人所知。所以这种持续验证的想法非常酷。
使用JFrog、Splunk和来自Splunk的其他工具(Splunk on call或Splunk Phantom)非常方便,以便在JFrog识别出现有工件中的漏洞时触发事件和理解潜在的自动化补救,并且我们知道该工件已经在生产中使用了。因此,这是一个非常酷的前沿用例,它需要大量的自动化和大量的可见性才能实现。对于大多数组织来说,这将是一颗需要触及的北极星。那么如何在Splunk中开始使用JFrog呢?
假设你已经设置好了Artifactory。如果你是Splunk的老客户,你可以工作但你也可以获得Splunk的免费试用版来测试JFrog应用。
JFrog应用程序位于Splunk base内部,URL就在那里。设置好Splunk实例和Artifactory实例后,下载并安装这个应用程序,激活它,并使用JFrog Artifactory实例详细信息配置它。一旦你完成了这些,Splunk就会开始从Artifactory和x射线中获取日志数据。你将会有那些我展示给你的仪表板为你提供开箱即用,开始最大化你的DevSecOps环境的可见性。
所以JFrog + Splunk是你的DevSecOps可见性合作伙伴。
感谢您光临我们的展示会,让我有机会和您谈谈我们共同的解决方案。如果您想了解更多信息,请联系我们。
你也可以访问Splunk.com找到更多信息,或者Splunk base JFrog应用程序,那里有一个很棒的演示和更多的信息。
谢谢大家,请继续享受接下来的活动。