沃卡惠移动端logo

沃卡惠  行业资讯

资讯详情

数据收集的一切指南

2023-01-05 09:01:144636

对于一个成功的企业来说,仅仅推出“足够好”的产品是不够的。今天的企业必须提供高质量的数字体验 不仅高性能、高可用性,而且私密、安全。

数据收集的一切指南

但是你如何实现这一切呢?一种方法是团队采用可观察性实践使用日志(和其他手段)来收集大范围的数据 跨越您的用户体验和威胁环境。通过记录和分析安全性和可观察性数据,您可以更好地检测和修复大量问题,如性能问题、漏洞和安全违规,从而获得更高质量的体验。

在本文中,我们将关注广泛数据收集的来龙去脉日志是如何帮助你的 。我们将看看可观察性数据和安全性数据之间的区别,以及如何最好地收集所有这些数据。然后,我们将探讨如何使用这些数据来改进您的应用程序,并最终了解如何为您的数据收集实现一个集中的一站式商店。

什么是可观测性数据?什么是安全数据?

可观察性是系统的一个属性,它定义了操作员可以告诉系统的当前和历史状态。由此引出,可观察性数据 是系统状态的表示——想想错误百分比、内存使用和流量。可观测性数据可以是从各种来源记录的原始数据,也可以是下采样、汇总和处理的数据。

这与安全数据有何不同?

安全数据 是用于发现安全威胁的可观察性数据的子集。如果这看起来模糊,那是因为它是!

例如,如果一个应用程序表现出缓慢的响应时间,它是安全数据吗?看情况。也许应用程序只是针对当前负载进行了错误配置,或者也许攻击者已经损害了系统,并且正在运行的工作负载降低了一切速度。

甚至通常不被认为是安全数据的数据也可能是安全数据。例如,如果为某个特定的库发布了一个新的CVE,您需要知道哪些服务依赖于该库的版本。有时明确的安全数据案例——例如,某个API端点的调用者的身份——对于跟踪非安全错误也很有用。

最后,我们可以说一段可观察性数据可能是安全数据也可能不是。这取决于用例的细节,而这通常是事后才知道的。

可观测性数据的三大支柱

当我们查看可观察性数据时,我们通常将其分为三个支柱:日志、度量和跟踪。让我们看看这些,以及它们如何应用于可观察性和安全性数据。

日志

日志捕获带时间戳的事件,并提供系统发生情况的时间线。例如,如果您的应用程序无法连接到数据库,它可能会发出一条日志消息,并且可能会将谁执行了某个操作写入审计日志。任何重要的系统都会有许多不同的日志。在一个集中的日志记录系统中记录和组织这些日志是可观测性数据收集的一个主要方面。

日志分析数据对于监控、故障排除和调查可靠性和安全性问题至关重要,有助于找到问题发生的根本原因。日志数据通常是关于公司系统的最详细的可用信息,因此将这些数据用于工作是有意义的,可以在整个组织中提取日志文件以实现端到端的可见性和更快的故障排除。

韵律学

虽然日志通常包含文本信息,但指标是数字时间序列—例如,一段时间内集群中的挂起 数量。指标通常会定期记录,有助于识别趋势和异常情况。度量比日志经济得多。它们不需要解析和转换,传输和存储的成本也更低。指标是系统的重要标志。警报主要建立在指标之上。

跟踪

分布式跟踪将标识符与每个请求相关联。请求的踪迹是跨度和引用的集合。您可以将跟踪视为一个有向无环图,它表示请求在分布式系统组件中的遍历。每个区间记录请求在给定组件中花费的时间,引用是连接一个区间和后续区间的图的边。对于基于微服务、无服务器功能和队列的现代系统来说,跟踪是一个非常重要的工具。它为系统运营商提供了一个“监管链”,这对分析性能和安全问题至关重要。

那么这些支柱是如何与安全数据交叉的呢?

如何收集数据

现在我们已经了解了可观察性和安全性数据,它们为什么重要,它们来自哪里,让我们看看一些更实际的方面:如何收集数据以及如何有效地使用数据。

让我们看看每个支柱、一些最佳实践和一些有用的工具。这些步骤适用于您的所有数据—可观察性和安全性。

日志

您可能有许多由您的操作系统和您的云提供商创建的日志。您的应用程序和第三方软件也会生成日志文件。然而,标准日志带来了几个挑战:

  • 跨许多主机访问各种各样的日志文件效率低下,并且不便于用户使用。
  • 日志文件最终会填满磁盘(除非您使用云持久存储)。
  • 如果您通过轮换日志文件来解决磁盘空间问题,那么您会丢失历史数据。
  • 您的服务器可能会不时崩溃。
  • 磁盘可能会损坏。

为了解决这些问题,最佳实践是在每台主机上使用日志收集器代理,将日志传送到一个集中的可观察性平台。集中式日志管理系统将在持久存储中存储日志,提供查询界面,提供聚合和其他转换,并根据合规性和查找历史趋势的需要保留日志备份。

韵律学

指标比日志更容易处理,因为来自任何来源的所有指标都可以统一表示为一个时间序列,并带有一组与之关联的标签。与日志收集器类似,度量收集器可以在每个主机上运行,并定期读取相关数据,如每个进程的CPU和内存使用情况或正在进行的请求数量,并将其发送到。

可以通过两种方式收集应用程序级指标:应用程序可以公开一个标准接口,指标代理可以抓取该接口,或者,应用程序可以被检测(通常使用库)以将其指标直接发送到可观察性平台。数据点以固定的间隔被捕获,并被发送到可观测性平台进行分析。

对于度量标准,是无可争议的王者,它被设计用来清除暴露应用程序度量标准的应用程序端点。非常好地将您的度量可视化。

描摹

跟踪是通过检测应用程序和服务来收集的,以拦截请求,并在调用其他服务时附加一个跟在请求后面的id。轨迹被发送到可观测性平台进行分析。

如何使用数据来提高应用程序的安全性?

您如何使用所有这些数据来专门提高您的应用程序安全性?让我们考虑一下这些可观察性数据在事件检测和响应的不同方面可能扮演的角色。

我们从事件检测 ,它依赖于捕获指标来检测异常活动。在可观察性平台的监控下,这些指标将向团队发出警报。

此时,团队只知道发生了异常情况,但不知道这是否是与安全相关的事件。到识别 事件发生后,检查日志变得至关重要。如果事件与安全相关,团队可以使用日志来确定恶意参与者是如何访问系统的街区 通过撤销受损用户或服务的访问权限来进一步访问。

接下来,团队可以使用日志、指标和跟踪的组合来评估违规影响 ,确定系统的哪些部分受到了影响,以及数据是否被泄露。通过了解影响的广度,团队可以减小爆炸半径 通过使这些组件不可用,直到它们被修复。

最后,团队可以使用日志和指标,特别是在执行验尸 ,帮助分析所有事故、安全事故或其他事故的根本原因。由此产生的行动可能包括加强访问控制 , 修补 易受攻击的系统 ,或者微调可观察性策略 更进一步。

这在实践中是什么样子的?

当您将所有不同的数据源和技术集成到一个有凝聚力的平台中,使您能够深入了解您的系统时,精英级别的可观察性就出现了。

您可以使用已经提到的许多开源项目自己构建这个。虽然这提供了高度的可定制性,但它需要大量的工作来构建、维护和操作,尤其是如果您想要一个健壮、可伸缩且始终可用的系统。此外,你还需要观察你的可观测平台。

另一个选择是选择一个托管平台来处理可观测性问题。这可以让你专注于你的核心竞争力。

黑色星期五的一个例子

我们来看一个黑色星期五前后的例子。随着许多网站(尤其是零售网站)的用户活动增加,如何利用可观察性数据和平台来帮助减少安全事件?我找到了这个及时发布关于使用无效密码尝试和每个IP地址和每个国家的登录尝试等指标,所有可能的欺诈活动指标。

将这些指标泵入的可观察性平台,该平台提供暴力攻击仪表板来帮助事件检测。从那里,事件响应团队可以开始分析日志,以确定和解决安全事件的根本原因,就像我们在上面走过的一样。

平台吸收、聚集、丰富并保留所有的可观测性数据。允许您决定是在本地安装数据收集器还是在AWS上运行托管收集器。它还集成了可观察性产品,这可以简化迁移工作,并减轻对供应商锁定的担忧。

结论

收集大范围的可观察性和安全性数据是为用户提供高质量数字体验的关键。要取得成功,您需要依赖可观察性的所有三个支柱:日志、度量和分布式跟踪。您需要使用这些数据来检测、隔离和缓解攻击。