韦恩城主
高级经理(软件工程

美国国家标准与技术研究院(NIST)发布了维护指南App 保护重大风险管理对策。

由于二进制存储库和容器注册中心是企业软件交付生命周期中的关键组件,Artifactory在安全和风险管理中扮演着核心角色。

我们将探讨NIST的一些建议,并研究Artifactory如何与NIST的指导方针保持一致。

视频记录

大家好,我是Wayne Chatelain,再次欢迎大家参加2021年JFrog SwampUP会议。由于今年的会议是虚拟的,我们将能够在今天的会议上通过聊天进行互动。我想鼓励每个人在聊天功能中伸出援手并提出问题。我们可以在最后留点时间来深入探讨问题,但要记住这些都将在聊天会话中完成。

再次感谢各位出席今天的会议。在本节中,我们将介绍一些使您的人工实现与NIST保持一致的关键技术。但首先,让我自我介绍一下。

我的名字是Wayne Chatalain,我在Capital One工作了15年多,我领导着一个由软件开发人员和SRE工程师组成的团队,负责Capital One的整个Artifactory生态系统。我们在全球范围内集中二进制管理功能,并帮助Capital One的其他团队为我们的客户和同事提供出色的软件功能。

在今天的这一节课中,我们将探讨一些与NIST相关的话题。

首先,我将讨论NIST是什么,然后我们将深入挖掘NIST的历史,最后,我们将回顾NIST的一些最佳实践和建议,以及它们如何影响Artifactory。当我在考虑这次演讲时,我想要触及的主要焦点是Artifactory本身的配置和实现。我们中的许多人可能都读过JFrog或其他公司关于安装、推出和配置Artifactory的最佳实践和建议。

我们有很多机会与其他公司互动,比如在像这样的会议上,讨论每个人是如何取得成功的。但说真的,我们怎么知道我们对Artifactory做的是否足够好呢?这就是我今天想深入探讨的。

其实有几种不同的方式来解释这个问题。如果您的Artifactory实现足够好。通常你会从网络或安全的角度来考虑这个问题。但是我们还需要考虑其他向量吗?

就像开发人员经验、审计经验、合规经验一样,我们也会检查这些其他角色的影响。这就是NIST可以帮助我们的地方。

NIST实际上为我们提供了技术所有不同部分的标准、建议和最佳实践。它解决了安全性、遵从性、软件开发、弹性以及许多其他思想和模式。通过这种指导,我们可以从一个独立的、第三方的角度来看待Artifactory这个产品hth华体会最新官方网站实现和配置。

其中一些建议是大家都熟悉的,并且是Artifactory的开箱即用。其中一些是我们从JFrog那里听到的最佳实践。但是有些建议依赖于Artifactory在您的组织中实现和配置的方式。

好吧,我可能知道你在想什么,NIST的缩写。我已经说过几次了。这到底是什么意思?NIST实际上是美国国家标准与技术研究所的缩写。它是美国政府的一个机构,是商务部的一部分。这是一个非监管机构,试图通过测量、科学标准和技术来帮助影响创新和竞争力。

NIST实际上已经存在很长时间了。我不打算详细介绍NIST的整个历史,但我确实想指出一些亮点。

NIST成立于1901年,最初被称为国家标准局(National Bureau of Standards,简称NBS)。它最初的重点是提供有关重量和测量的指导。此外,它还被用作美国境内的物理实验室。

当我们谈论重量和度量时,我们会想到千克、磅、米、英尺等单位。就国家统计局最初负责的工作而言,这是在正确的轨道上。他们最终建立了一个项目,为美国提供计量服务,或测量的科学研究。

多年来,随着政府制定商业材料和产品标准的方向,这种情况不断发展。hth华体会最新官方网站在服装、汽车前灯、电气安全等方面引入了质量标准。

这最终导致了第一代计算机的发展。我们中的一些人可能听说过SEC或标准的东部自动计算机,它是由国家统计局开发的。随着世界的现代化,国家统计局的影响力和职责不断演变,最终导致该组织在1988年更名为国家统计局标准与技术研究所。

今天,他们的测量支持最小的技术,从比头发丝还小的物体到最大的物体,比如抗震的摩天大楼。多年来,NIST对工业和创新的发展产生了重大影响和贡献。

我想强调一下NIST的一些成就和成就。我们看到的这个时间表并不能代表NIST的所有成就,但我认为其中一些很重要,可能对我们中的一些人来说很熟悉。在这里,你可以看到像第一个霓虹灯标志于1904年在世界博览会上首次亮相,1915年在美国引入了国家电气安全法规,1936年,日食的第一个自然颜色被拍摄下来,1949年,这引入了第一个原子钟。

1950年,shhc计算机首次亮相,1953年,第一张全景牙科x射线被拍摄出来。1957年,在NIST的帮助下拍摄了第一批数字图像。1977年,在NIST的帮助和影响下,美国引入了一些最早的数据加密标准。

1993年,在NIST的影响下,互联网时间服务推出,2000年,引入了高级加密标准或AES。一些令人难以置信的成就产生了如此显著的影响,以至于一些与NIST合作的人获得了诺贝尔奖。1997年,比尔·菲利普斯因其在激光冷却方面的工作而获得诺贝尔物理学奖。2001年,埃弗特·康奈尔(Evert Cornell)因创造了一种从未见过的物质状态——玻色-爱因斯坦凝聚态——而被授予诺贝尔物理学奖。2005年,Jan Hill被授予诺贝尔物理学奖,以表彰他对激光精确测量的光学频率梳技术的贡献。2001年,Dan Shchtman被授予诺贝尔化学奖,因为他发现了以前不为科学所知的晶体结构,即准晶体。2012年,戴夫·温兰德(Dave Wineland)获得了诺贝尔物理学奖,因为他的实验方法使测量和操纵单个量子系统成为可能。

现在,我不会声称自己是这方面的专家,但我想强调的是,NIST在美国多个领域都有很大的影响力。我们在前几分钟已经提到的几个是信息技术。就像在其他领域一样,NIST也涵盖了IT领域的各种主题。包括人工智能、云计算、物联网、移动、生物识别和增强现实等。

NIST进行研究,并与行业专家和专业人士合作,帮助生产促进和衡量现有和新兴技术的标准、建议和出版物。每个主题都有许多子主题。与网络安全一样,这涵盖了与密码学、身份和访问管理、风险管理、可信网络等相关的主题。NIST制定网络安全标准、指导方针、最佳实践和资源,以满足美国工业、联邦机构和广大公众的需求。2022世界杯阿根廷预选赛赛程

遵循这些建议和最佳实践,我们可以利用人工和我们对产品特性的实现来帮助度量并确保我们所做的工作符合最高的行业标准。

我已经做了一些分析,并将重点介绍我在涉及二进制存储库时了解到的关于NIST建议的一些内容。我们首先要考虑的建议之一是漏洞检测和管理。NIST建议使用可重复的阶段构建应用程序,并使用该管道实现自动化。

这可能是我们很多人都在做的事情,特别是随着DevOps和DevSecOps的发展,但这是一个很好的提醒,让我们退后一步,评估你的管道。查看您的发布策略的所有阶段,并确定哪里有手动步骤,并努力使它们自动化。此外,应该在应用程序转换、打包、存储或运行的所有阶段进行漏洞检测。

跨不同平台推送二进制文件和应用程序的地方可能会给应用程序注入漏洞。这里的一个关键点是确保使用artifactory启用了漏洞扫描。

接下来,NIST建议您可以看到应用程序的所有层,而不仅仅是基础层。需要在每个级别(包括最终产品)对漏洞进行评估。此外,与应用程序一起使用的任何开源或定制框架或软件都需要检查是否存在漏洞。这也表明报告和监控应该集中在整个组织中。

还记得我之前提到的我们将关注网络安全和审计等角色吗?这种类型的集中报告使这些涉众能够更好地理解组织的风险状态。该报告应包括检测到的漏洞,并突出显示不符合组织标准的漏洞。最后,NIST建议在构建和部署周期的每个阶段插入质量检验关。现在,这并不是很明确的规定具体的质量检验关应该是什么,应该是什么留给你的组织标准。但是最好记住在您自己的构建和发布中可能存在差距的地方,您不仅应该有质量闸门,而且当没有达到质量标准时,构建过程应该停止,任何缺陷都应该在再次进行之前进行补救。接下来,让我们看看配置。

NIST建议使用预定义的设置验证应用程序配置,并且组织应该使用工具和过程强制配置遵从性。

在评估软件配置时,重要的是要考虑来自开源社区或第三方供应商的最佳实践和建议。重要的是要考虑如何监视软件配置代码被构建并存储在Artifactory中。

对于软件配置,也建议不要集中监控和报告。

同样,这将有利于您的安全和审计部门的人员,以便他们了解您组织的总体遵从性状态,但除了进行监视之外,随着标准和流程的发展,重要的是要不断保持阈值的最新状态。

NIST建议考虑的一件事是,如果确定该软件不符合配置标准,则阻止该软件运行。

这可以来自工件、构建中的质量检验关、管道,甚至是运行时。

此外,NIST建议应用程序来自可信来源。

对于任何内部构建的软件包,这可能是您的工件实现,但重要的是要考虑工件中配置的远程存储库。

在从开放源代码站点或供应商提供的站点获取包或依赖项时,必须确保它们是受信任的。

NIST建议在构建软件时采用极简主义的方法。这有助于减少任何潜在的攻击面。

还记得那些20g的Docker文件和你的人工注册表吗?也许是时候想想这些东西到底包含了什么,我们真正需要的是什么。这似乎很合乎逻辑,但是应用程序使用的所有秘密和敏感数据都应该存储在它们的外部。

实际上,NIST建议在运行时注入并提供秘密。批准的保险库和秘密管理流程应该在组织和本地加以利用还应该利用协调器或提供者的功能。此外,秘密应该只提供给需要它们的应用程序,并且应该在静态时进行加密。

在相同的标准下,但是您应该评估如何在您的工厂内检测和管理机密。

采用什么流程来确保您组织中的开发人员使用正确的保管库,而不必通过意外地将秘密或某些敏感数据放入二进制或Docker映像中而使用artifactory ?接下来,让我们进一步深入了解信任。NIST建议组织集中所有允许在网络中运行的包和注册表。当然,Artifactory为我们提供了一些工具和功能来实现这一点。但是你应该建立一个基本规则,什么是……什么是真正信任开源远程站点和外部供应商站点。此外,应用程序应该能够使用加密签名进行标识。

在Docker和容器的用例中,您应该考虑在您的环境中使用Docker公证之类的工具。对于其他包类型,您需要评估如何建立签名和验证这些签名。在软件包实际执行之前,应该对签名进行验证。这有助于确保包未被篡改或泄露,并且可以作为受信任的包运行。

执行策略和控制应添加到确保您的主机和编排器只运行来自您信任和批准的来源的应用程序。这是Artifactory可以帮助确保建立信任的另一个例子在您的存储库中。但是在您的环境中需要额外的操作来确保只有Artifactory被用于采购您的软件包。

有时候这是不言而喻的,但是包、存储库和Artifactory应该在事情发生变化时进行定期监控和更新。例如,可能会检测到新的漏洞,从而降低某些存储库和包的安全性。此外,配置需求在您的组织中不断发展和变化,需要维护应用程序包,以确保遵从性目标仍然得到满足。

当情况发生变化,发现新的漏洞或更新配置标准时,应该修剪和删除旧版本的应用程序从您的存储库和注册中心。现在这个过程应该是自动化的,并且可以基于时间跟踪器,或者特定的标签或元数据,或者应用程序的实际漏洞状态或配置状态。但无论哪种方法对你的组织最有效,都是推荐的从您的仓库中删除旧的二进制文件。此外,修剪并不一定意味着删除,我建议将那些旧的和未使用的二进制文件移动到组织中的一般开发人员社区无法访问的脱机存储库中。

如果发生了什么,那么恢复二进制文件以进行取证分析,或者重放发布,或者深入挖掘一些缺陷测试应该是很容易的。接下来,您组织的操作实践应该强调使用具有指定离散版本号的不可变名称的软件二进制文件。因此,与其配置一个管道来下载一个名为My App的文件,不如使用版本号,比如My App 2.3,以确保管道中使用的是正确且已知的好版本的应用程序,并构建发布版本。这也是需要仔细评估最新版本使用情况的地方。最新版本并不总是与软件的离散版本号保持一致,也不总是保证是经过测试周期的最新版本。因此,请确保您的构建和发布自动化使用的是它打算使用的软件的正确版本。现在让我们看一下处理身份验证和授权的安全性的另一个方面。

NIST建议中的一个关键方面是了解敏感信息和专有信息的位置,并且对敏感数据的所有访问都应该需要身份验证。这意味着,如果您在artifactory中存储敏感数据,或者有可能在artifactory中存储敏感数据,那么您应该确保匿名访问是禁用的,并且每个用户(无论是人类用户还是系统用户)都应该被要求输入凭据才能访问artifactory中的数据和二进制文件。

另一个最佳实践是限制谁也可以向Artifactory推送包。不仅是下载,发布包时也需要身份验证。但是除了身份验证之外,还应该验证发布包的适当授权。

对于授权,应该使用细粒度权限和最低特权访问来进一步限制它。这意味着应该只允许用户发布到Artifactory中的他们的空间和存储库。最好使用Artifactory实例中的权限和组来限制系统内的访问。NIST还建议将身份验证和授权功能与组织的目录服务模型集成。这将类似于您公司的活动目录服务。例如,您可以配置LDAP和Artifactory来对凭证进行身份验证,但也可以使用它们来确保用户处于正确的LDAP组中将其发布到某些存储库。最后,NIST建议应该记录和审计读写操作。

您需要确保发布包的用户继续需要该授权。例如,如果用户在您的组织中更改了角色,则该用户可能不会更改更长的时间需要访问来生成工件,并且访问应该被撤销。此外,在您可能存储敏感数据的地方,任何访问和下载这些信息的人还应记录和审核。

这有助于确保访问数据的每个人都获得授权,并防止对数据和包的不必要访问。

接下来,另一个似乎是不言而喻的,但NIST在其最佳实践中包括到注册中心和存储库的连接应该通过加密通道进行。这包括您组织中的所有开发工具,以及编排器和运行时环境。

这还应该包括从Artifactory到外部和第三方远程站点的所有连接。每个工具和功能都有不同的配置方式,但关键目标是确保从Artifactory推送和拉取的所有数据都发生在可信端点之间,并在传输过程中进行加密。因此,为了回顾一下我们今天所回顾的内容,我们想看看围绕NIST的几个主题。首先,我们回顾了NIST是什么。记住,这个缩写是美国国家标准与技术研究院的缩写。然后我们稍微研究了一下NIST的历史。最后,我们回顾了NIST的一些最佳实践和建议,以及它们如何影响您的组织及其软件的不同方面交付实践,包括Artifactory。今天的演讲到此结束。

我再次感谢大家参加我的会议,感谢JFrog给大家一个机会参加今年的SwampUP。

祝你今天过得愉快,并享受接下来的会议。

要么释放,要么死亡