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