6.1 数据储存考虑事项

根据 EPS 大小,您可以选择使用传统储存或可缩放储存来储存 Sentinel 数据并为其编制索引。您的 Sentinel 部署取决于您选择使用的数据储存选项。

表 6-1 传统储存与可缩放储存之间的比较

传统储存

可缩放储存

数据储存在基于文件的传统储存中,而索引编制操作在 Sentinel 服务器本地完成。

数据储存在基于 Hadoop 的可缩放储存中,并使用可缩放分布式索引机制为数据编制索引。

最高可无缝垂直扩展到约 20000 EPS。如有更高需求,您必须添加额外的 Sentinel 服务器才能让 EPS 实现更大幅度的提升。

无缝水平扩展到非常大的 EPS,例如每秒 100 万个事件。

数据收集在多个 Sentinel 服务器之间进行负载平衡。因此,数据分布在不同的 Sentinel 服务器上,应进行单独的管理。

数据收集由单个 Sentinel 服务器管理。因此,在单个 Sentinel 服务器上集中进行数据管理和资源管理。

数据在磁盘上按租户标记,而非按租户隔离。

数据在磁盘上按租户标记并隔离。

必须通过手动方式或使用 SAN 磁盘等成本高昂的储存机制复制和提供数据。

由于 Hadoop 在商用硬件上运行,因此,可以经济有效地复制和提供数据。

6.1.1 针对传统储存进行规划

传统数据储存有三层结构:

联机储存

主储存,以前称为本地储存。

经过优化,可实现快速写入和检索。存储最新收集的事件数据和最常搜索的事件数据。

辅助储存,以前称为网络储存。(可选)

已进行了优化,以便减少价格更低的可选储存上的空间用量,同时仍然支持快速检索。Sentinel 会自动将数据分区迁移到辅助储存。

注:使用辅助储存是可选的。数据保留策略、搜索和报告对事件数据分区执行操作,不管它们是位于主储存、辅助储存还是两者。

脱机储存

存档储存

关闭分区时,可以将分区备份到任何文件存储服务(如 Amazon Glacier)。您可以临时重新导入分区,以在需要时随时用于长期法证分析。

您还可以将 Sentinel 配置为使用数据同步策略,将事件数据和事件数据摘要提取到外部数据库。有关详细信息,请参阅《NetIQ Sentinel 管理指南》中的配置数据同步

安装 Sentinel 时,您必须将主储存的磁盘分区装入将安装 Sentinel 的位置,默认情况下为 /var/opt/novell 目录。

/var/opt/novell/sentinel 目录下的整个目录结构必须位于单个磁盘分区,以确保磁盘用量计算正确。否则,自动数据管理功能可能会提前删除事件数据。有关 Sentinel 目录结构的详细信息,请参见 Sentinel 目录结构

最佳做法是,确保此数据目录位于与可执行文件、配置和操作系统文件所在磁盘分区不同的磁盘分区。单独储存可变数据的好处包括更易于备份文件集,在损坏时恢复更简单,以及在磁盘分区已满时提高稳健性。它还提高了系统的总体性能,文件越小,系统效率越高。有关详细信息,请参见磁盘分区

注:在 ext3 文件系统中文件存储有限制,即目录的文件或子目录不得超过 32000 个。如果您将拥有大量保留策略或长期保留数据(如一年),NetIQ 建议您使用 XFS 文件系统。

在传统安装中使用分区

在传统安装中,您可以在安装 Sentinel 之前修改操作系统的磁盘分区布局。管理员应该基于Sentinel 目录结构中详细介绍的目录结构来创建想要的分区,并将它挂载到适当的目录上。在运行安装程序时,Sentinel 会安装到预先创建的目录中,从而使安装跨越多个分区。

注:

  • 您可以在运行安装程序时使用 --location 选项指定与默认目录不同的顶层位置来储存文件。将您传给 --location 选项的值附加到目录路径前面。例如,如果指定 --location=/foo,数据目录将为 /foo/var/opt/novell/sentinel/data,配置目录将为 /foo/etc/opt/novell/sentinel/config

  • 不得对 --location 选项使用文件系统链接(如软链接)。

在设备安装中使用分区

如果您正在使用 DVD ISO 设备格式,您可以按照 YaST 屏幕上的说明在安装时配置设备文件系统的分区。例如,您可以为 /var/opt/novell/sentinel 安装点创建一个单独的分区,以将所有数据都放在一个单独的分区。但是,对于其他设备格式,您只能在安装后配置分区。您可以使用 SuSE YaST 系统配置工具添加分区并将目录移到新的分区。有关在安装后创建分区的信息,请参见为传统储存创建分区

分区布局的最佳实践

对于任何已安装的系统,许多组织都有自己记录的最佳实践分区布局方案。以下分区建议旨在为未定义任何策略的组织提供指导,并考虑到特定于 Sentinel 的文件系统用法。通常,Sentinel 遵循文件系统层次结构标准(如果可行)。

分区

安装点

大小

注释

Root

/

100 GB

包含操作系统文件和 Sentinel 二进制文件/配置。

引导

/boot

150 MB

引导分区

主储存

/var/opt/novell/sentinel

使用系统大小信息进行计算。

此区域将包含 Sentinel 收集的主要数据,再加上其他变量数据,例如日志文件。可以与其他系统共享此分区。

辅助储存

基于储存类型(NFS、CIFS 或 SAN)的位置。

使用系统大小信息进行计算。

这是辅助储存区域,可按此处所示在本地装入,也可以远程装入。

存档储存

远程系统

使用系统大小信息进行计算。

此储存用于存档的数据。

6.1.2 针对可缩放储存进行规划

NetIQ 会对 Cloudera 的 Distribution Including Apache Hadoop (CDH) 框架进行认证,以储存和管理大型数据。对于索引事件,Sentinel 使用 Elastic 的可缩放分布式索引引擎,即 Elasticsearch。

下图说明了可缩放储存中使用的各种组件:

图 6-1 可缩放储存体系结构

  • 讯息交换: Sentinel 将使用 Apache Kafka 作为可缩放的讯息交换系统,用于从 Collector Manager 接收规范化事件和原始数据。Collector Manager 会将原始数据和事件数据发送到 Kafka 群集。

    默认情况下,Sentinel 会创建以下 Kafka 主题:

    • security.events.normalized: 储存所有已处理的事件数据和规范化的事件数据,包括系统生成的事件和内部事件。

    • security.events.raw: 储存来自事件源的所有原始数据。

    事件和原始数据采用 Apache Avro 架构。有关详细信息,请参见 Apache Avro 文档。架构文件位于 /etc/opt/novell/sentinel/scalablestore 目录中。

  • 工作人员: 此节点托管实时处理和储存作业。Apache Spark 可实时处理大规模数据,例如根据租户 ID 隔离事件、请求大量数据、将数据储存到记录系统 (SOR),以及实现可缩放索引。

    Apache HBase 是基于 Hadoop 的可缩放分布式数据储存。它可以用作规范化事件和原始数据的 SOR,并按照租户 ID 进行隔离。

    根据租户 ID,Sentinel 会为每个租户创建单独的名称空间。例如,默认租户的名称空间是 1。在每个名称空间下,Sentinel 都会创建下述表,并根据事件时间储存数据。

    • <tenant_ID>:security.events.normalized: 储存所有已处理的事件数据和规范化的事件数据,包括系统生成的事件和内部事件。

    • <tenant_ID>:security.events.raw: 储存来自事件源的所有原始数据。

  • 群集管理: 此节点托管所有主服务和群集管理服务。Apache ZooKeeper 可充当集中式服务,用于维护配置信息、为服务命名、提供分布式同步,以及提供组服务。

  • 索引: Sentinel 会使用 Elasticsearch 作为可缩放的分布式索引引擎,以便索引事件。您可以从用于事件搜索和可视化的 Elasticsearch 访问数据。

    Sentinel 会为每一天创建专用索引,并使用 UTC 时区(午夜-午夜)计算索引日期。索引名称采用 security.events.normalized_yyyyMMdd 格式。例如,索引 security.events.normalized_20160101 中包含事件时间是 2016 年 1 月 1 日的所有事件。为了实现最佳性能,Sentinel 仅为某些特定事件字段编制索引。您可以修改希望 Elasticsearch 为其编制索引的事件字段。有关详细信息,请参见《NetIQ Sentinel 管理指南》中的 SSDM 性能优化

可缩放储存配置

启用可缩放储存之后,Sentinel 服务器用户界面会精简,以便只管理某些 Sentinel 功能,如数据集合、关联、事件路由选择、搜索和可视化事件,以及执行特定管理活动。此精简版的 Sentinel 称为 Sentinel Scalable Data Manager (SSDM)。对于其他 Sentinel 功能,例如安全智能,以及传统的搜索和报告,您必须安装带有传统储存的 Sentinel 独立实例,并使用 Sentinel Link 将特定事件数据从 SSDM 路由到 Sentinel。

以下列表提供 SSDM 中不可用的服务和功能的信息:

  • 报告

  • 安全智能

  • 搜索期间执行事件操作

  • 测试关联规则

  • 事件创建和管理

  • 手动对事件执行操作

  • 数据同步

  • iTRAC 工作流程

  • 对触发关联事件的事件进行辩证分析

  • 查看安全配置管理器和 Change Guardian 事件的事件附件。

启用可缩放储存是一次性配置,无法还原。如果您想要禁用可缩放储存并切换到传统储存,您必须重新安装 Sentinel。

以下核对清单概述了配置可缩放储存时需要执行的任务:

表 6-2 可缩放储存配置核对清单

 

任务

参见

查看部署信息,了解需要如何部署带有可缩放储存的 Sentinel。

使用可缩放储存进行三层部署

查看先决条件,并完成所有必需的任务。

部分 12.0, 安装和设置可缩放储存

启用可缩放储存。

您可以在安装期间或安装后启用可缩放储存。

在升级安装版中,只有升级 Sentinel 之后,方能启用可缩放储存。

要在安装期间启用可缩放储存,请对 Sentinel 执行自定义安装。请参见Sentinel 服务器自定义安装

要在安装或升级后启用可缩放储存,请参阅《NetIQ Sentinel 管理指南》中的安装后启用可缩放储存

使用 Sentinel 配置 CDH 组件和 Elasticsearch。

《NetIQ Sentinel 管理指南》中的配置可缩放储存

6.1.3 Sentinel 目录结构

默认情况下,Sentinel 目录位于以下位置:

  • 数据文件位于 /var/opt/novell/sentinel/data/var/opt/novell/sentinel/3rdparty 目录中。

  • 可执行文件和库存储在 /opt/novell/sentinel 目录中。

  • 日志文件位于目录 /var/opt/novell/sentinel/log 中。

  • 临时文件位于 /var/opt/novell/sentinel/tmp 目录中。

  • 配置文件位于目录 /etc/opt/novell/sentinel 中。

  • 进程 ID (PID) 文件位于 /home/novell/sentinel/server.pid 目录中。

    利用 PID,管理员可确定 Sentinel 服务器的父进程,并监视或终止进程。