人们需要了解了应用程序依赖关系映射的基础知识,应用程序依赖在云计算环境中的重要性,以及涵盖了四个关键的最佳实践。
什么是应用程序依赖映射?
应用依赖映射(ADM)可以让企业创建整个生态系统的综合地图。它有助于避免盲点,避免出现错误或漏洞。应用依赖映射(ADM)解决方案可以识别和映射整个生态系统中的所有实例、应用程序和通信通道,包括端口和服务。
有各种应用依赖映射解决方案,包括供应商原生、开源和商业供应商不可知论工具。而供应商不可知论的解决方案可以快速而轻松地识别几个云计算提供商(例如MicrosoftAzure、谷歌云和AWS)上的子网、Vpc和安全组。
应用依赖映射解决方案可以显示直观的地图,直观地表示应用程序的依赖关系。可以共享、检查并使用此映射进行规划和故障排除。地图可视化可以帮助支持业务战略制定,根据业务场景进行组织,实时对警报和信息进行优先级排序。
为什么应用程序依赖映射在云计算中至关重要?
应用程序依赖关系映射可以帮助企业迁移所有应用程序的依赖关系。否则,可能会错过一个关键的依赖项,而迁移时没有它。因此,企业的应用程序可能会出现性能问题或中断。应用程序依赖关系映射可以帮助避免这些问题。
云计算提供商在迁移之前就知道映射依赖关系的重要性,并提供了内部部署环境的应用依赖关系映射工具,包括Azure、AWS和谷歌云。由于这些工具提供了特定于其环境的结果,所以应该只在迁移到其中一个云平台时使用它们。
或者,也可以使用与供应商无关的工具。有多种可用的选择,包括免费的、开源的工具。大多数工具都会分析应用程序,为服务器间关系建模,并识别入站和出站连接延迟、必要的TCP端口和正在运行的进程。
云计算提供程序ADM工具
(1)AWS应用程序发现服务
AWS应用发现服务收集内部部署数据中心的信息,帮助企业规划迁移项目。数据中心迁移通常涉及数千个深度相互依赖的工作负载,因此在迁移过程的早期阶段分析服务器利用率数据并执行依赖关系映射是至关重要的。
AWS应用程序发现服务聚合并呈现服务器的使用、行为和配置数据,以帮助企业更好地理解其工作负载。该服务使用数据存储,以加密格式保存收集到的数据。
用户可以将数据导出为CSV文件,并使用它来估计AWS总拥有成本(TCO),并相应地计划其云迁移。也可以在AWS迁移枢纽中找到这些数据,它可以让用户迁移服务器并跟踪迁移进度。
(2)Azure应用见解
Azure应用见解是AzureMonitor的一个特性,为实时Web应用程序提供监视和可扩展的应用程序性能管理(APM)。用户可以使用Azure应用见解自动检测性能异常,并使用分析工具诊断问题。
该功能提供了关于用户行为的信息,帮助用户了解他们使用应用程序做了什么。Azure应用见解可以利用这些数据来不断提高应用的可用性和性能。默认的应用程序仪表板可以让Azure应用见解跟踪负载、性能和响应性,并监视依赖关系、AJAX调用和页面加载。
云中依赖管理的最佳实践和策略
(1)版本固定
版本固定包括限制应用程序中软件依赖的版本,确保使用特定的版本(理想情况下是一个版本)。
固定依赖版本可以及时冻结应用程序。尽管使应用程序可复制是一种很好的做法,但它可能会产生不利影响,阻止应用程序将更新合并到其依赖项中——错过了安全性和错误修复。
用户可以通过使用自动化的依赖管理工具来处理源代码控制存储库来缓解这个问题。依赖管理器监视新版本的软件依赖关系,并更新应用程序。通常,这包括更新细节,如变更日志数据。
(2)哈希和签名验证
有几种方法可以确保软件包发布的某个工件是想要安装的工件。通过将工件的散列与工件存储库进行比较,可以验证工件的真实性和安全级别。
哈希验证可以让用户确保依赖项包含正确的文件,并且恶意行为者没有篡改它们。相信在工件的验证或初始检索期间工件存储库中列出的散列是安全且未被破坏的。
用户还可以使用签名验证来为工件验证过程添加一层安全层。工件可以由软件维护者或工件存储库(或两者)签名。
(3)避免混淆私人和公共依赖关系
云原生应用程序通常依赖于各种组件,包括开源软件、第三方代码、闭源组件和内部库。私有存储库对于跨多个应用程序共享业务逻辑和重用相同的工具来安装外部和内部库尤其有用。
然而,将公共依赖和私有依赖结合起来可能会使应用程序遭受依赖混淆攻击。当威胁行为者将与内部项目名称相同的项目发布到开源存储库时,就会发生混淆攻击。接下来,该行为者试图使用错误配置的安装程序在合法的内部包上秘密安装恶意库。
这里有一些实践可以帮助你避免依赖混淆攻击:
•通过在锁文件中列出所有依赖项的散列或签名来验证它们。
•确保内部依赖和第三方依赖的安装过程是分开的,使用两个不同的步骤。
•在私有存储库中显式镜像第三方依赖,使用代理或人工处理。
(4)漏洞扫描
与其他组件一样,依赖关系可能包括新发现的或零日漏洞。用户必须设置一个进程,该进程扫描其依赖项,并在发现漏洞时获得通知。然而,人工监控漏洞数据库的依赖关系和可靠地审计第三方软件的依赖关系是很困难的。
漏洞扫描器会自动并持续地分析依赖项,在它们被发现时寻找漏洞。漏洞扫描工具会消耗锁文件来识别您所依赖的工件,并在新的漏洞出现时通知您。有些工具可以建议升级路径。
结论
以上解释了应用程序依赖映射的基础知识,应用程序依赖在云计算环境中的重要性,以及涵盖了四个关键的最佳实践,可以帮助用户更好地利用云应用程序映射,避免安全风险:
•版本固定——确保依赖关系被限制在一定范围的安全版本中,或者理想情况下只有一个版本。
•哈希和签名验证——确保软件包中的构件是真实的,不包含恶意组件。
•避免混合私有和公共依赖——在确保第三方依赖安全之后,更倾向于将第三方依赖镜像到一个受信任的私有存储库中。
•漏洞扫描——确保所有依赖项都进行了已知漏洞的扫描。
希望这将对人们提高可见性和对云计算部署的控制有所帮助。