简介
安全日志记录是 ClickHouse 强大的企业安全计划的基础组成部分。它涉及系统地收集、存储和分析来自组织 IT 环境中各种系统、应用程序和设备的日志数据。这些日志提供了活动的时间顺序记录,这对于监控、检测和响应安全事件或一般故障排除查询至关重要。
ClickHouse 作为 SIEM (CHaaS?)
对于 ClickHouse 安全团队来说,选择 ClickHouse 作为安全信息和事件管理 (SIEM) 的底层技术是显而易见的选择。
- 我们的团队已经掌握了 ClickHouse 的基础到中级知识。
- ClickHouse 支持来自我们任何安全日志来源的任何数据格式。
- 官方 ClickHouse Grafana 插件使警报和可视化成为可能。
- 许多安全日志的庞大规模意味着我们需要一种解决方案,该解决方案可以有效地压缩日志,同时保持快速的查询访问时间,从而使我们能够快速有效地响应安全事件。我们知道,从内部和外部用例来看,ClickHouse 是这种数据的出色存储引擎,并且能够满足这些要求。
- 作为一种托管的 ClickHouse 产品,ClickHouse Cloud 作为 SIEM 是一种低成本的解决方案,它比传统的 SIEM 更快、更可靠。
- 与我们的社区和客户一样,只需点击一下即可获得快速在线支持。
凭借强大的客户参考案例,包括 Temporal 和 Lumos,证明了它们易于使用、部署和具有成本效益,我们确信 RunReveal 与 ClickHouse 的结合将解决我们现有的挑战,并且是完美的组合。
“RunReveal [由 ClickHouse 提供支持] 使 Temporal 能够快速启动并运行一个解决方案,该解决方案可以轻松地随着我们的数据规模进行扩展,并与我们在可观测性堆栈中其他地方使用的类似工具保持一致。这使我们能够专注于编写检测规则和自动化我们的响应”
Dave Green,Temporal 安全工程师
传统 ETL
我们最初使用 ClickHouse Cloud 作为 SIEM 的架构包括为每个数据源创建显式 ETL(提取、转换、加载)lambda 函数到 ClickHouse,如下图所示。
每个函数对于要提取并加载到 ClickHouse 的数据源来说都是唯一的,并且可以从该图中快速辨别出来。因此,扩展数据源的数量对成本和工程复杂性产生了成比例的影响。虽然 Lambda 函数具有可扩展且易于设置的优点,但它们很快变得笨拙且难以维护。添加新的数据源不是一个一站式流程,因为收集的数据没有得到一致的规范化。这使得开发良好的检测规则本身就是一种威胁建模练习。
尽管 ClickHouse Cloud 服务从来都不是瓶颈,但如果我们想专注于检测规则,我们需要一种不同的解决方案来收集和规范化日志。
进入 RunReveal
RunReveal 是一个安全数据平台,旨在从 SaaS 和云服务收集原始日志,将其摄取到 ClickHouse Cloud 中,并自动检测您环境中的异常和入侵。它们使收集、检测、丰富和搜索比任何传统 SIEM 都更容易,同时也克服了我们自己使用 lambda 函数实现大部分功能时遇到的挑战。
当我们开始与 RunReveal 合作时,我们感觉我们在云安全方法上找到了志同道合的人。他们仍然是一个重视技术协作并将安全视为数据和检测视为代码的合作伙伴。
我们在 POC 阶段迁移了我们整个内部安全日志记录计划,并添加了几个高价值的数据源。RunReveal 的 Destinations 功能允许我们使用自己的 ClickHouse Cloud 服务,确保我们完全拥有数据的所有权。
对于我们的团队来说,最重要的任务倍增器是添加新数据源的难以置信的简易性。我们从 n + 多个 ETL 管道转变为 RunReveal 中单一且抽象的摄取引擎 (ETLaaS?),并带有运行状况检查和通知!
部署新数据源的便捷性和速度使安全团队能够令人难以置信地了解我们基础设施的 VPC 流日志。为了优化成本,团队必须最大化其打算监控的网络流量的信噪比。这不可避免地导致了大量不同的流日志配置。对于基础设施即代码和 RunReveal 来说,这不是问题。
RunReveal 通过与我们关心的每个日志提供商紧密集成,简化了与每个单独数据源的连接。当 RunReveal 与日志源集成时,它们会规范化原始日志并使用有用的安全上下文来丰富日志,从而使设置变得轻而易举。如果任何数据源变得不健康,RunReveal 会向我们发出警报,并跟踪我们记录的每个字节。重要的是,RunReveal 与我们关心的工具集成,因此我们可以在 Slack 中收到警报,使用 GitHub 管理我们的检测规则,并使用安全编排、自动化和响应 (SOAR) 工具构建自动化响应。
检测规则
作为下一代 SIEM 的数据检测平台,RunReveal 具有独特的优势,可以超越使用较慢的分析或 OLTP 数据库的竞争对手。通过构建在 ClickHouse 之上,RunReveal 能够通过 Web UI 和 CLI 公开 SQL,从而利用其作为查询引擎的速度优势。
RunReveal 开箱即用地提供了大量且不断增长的检测规则,适用于其所有支持的数据源。用户可以查看和编辑最终在 ClickHouse 上运行并构成检测规则的 SQL 查询,以更好地满足其特定要求。
RunReveal 采用整体方法,跨越存储在 ClickHouse 中的所有日志,并识别攻击模式以及单个信号。我们仅在发现紧急情况时收到通知,否则我们将收到每日可配置报告。
检测规则编写与添加数据源一样容易。检测规则以 SQL 编写,可以从头开始创建,也可以从 Explore 界面中的任何查询创建。它们也可以从平台中的其他工件生成,例如 Sources。例如,如果您有有问题的数据源,您可以查询该来源的错误并在运行时创建检测规则。
以下是我们使用的第一个检测规则,用于在我们 Okta 应用程序未能将配置文件推送到应用程序时向我们发出警报。虽然不是真正的 1337c0d3 安全内容,但它缩短了在根本原因只是简单的配置文件推送错误时,查明和调试访问管理问题所需的时间。
RunReveal 的开箱即用检测规则帮助我们快速轻松地启动了安全监控计划,使我们能够专注于构建与 ClickHouse 业务独有的安全边界相匹配的检测规则。
为了实现这一目标,我们正在利用 RunReveal 的关联功能来收集和分组信号,并开始使用检测即代码工作流程在 git 中维护我们的检测规则。ClickHouse Cloud 和 RunReveal 无缝协作,管理我们的安全数据并使其运行,而不会带来麻烦。
结论
与可观测性用例相比,ClickHouse 的安全应用程序可能不太为人所知,但它无疑已成为我们安全计划的关键组成部分。RunReveal 的加入巩固了我们使用 ClickHouse 进行安全的道路,并改进了我们以可扩展的方式处理日志和检测规则的方式。Lumos 的安全团队完美地概括了我们对 RunReveal 的体验。
“RunReveal [在 ClickHouse 上] 在帮助我们小型安全团队轻松地在我们整个基础设施和 SaaS 堆栈中创建可操作的检测规则方面发挥了重要作用”
Ethan Houston,Lumos 高级安全工程师