根据 EPS 大小,您可以选择使用传统储存或可缩放储存来储存 Sentinel 数据并为其编制索引。您的 Sentinel 部署取决于您选择使用的数据储存选项。
表 6-1 传统储存与可缩放储存之间的比较
传统储存 |
可缩放储存 |
---|---|
默认情况下,数据储存在基于文件的传统储存中,索引在 Sentinel 服务器上本地完成。 除基于文件的数据储存外,您还可以选择在“可视化数据储存”中储存和索引事件,以利用数据可视化功能。有关详细信息,请参见配置“可视化数据储存”。 |
数据储存在基于 Hadoop 的可缩放储存中,并使用可缩放分布式索引机制为数据编制索引。 |
最高可无缝垂直扩展到约 20000 EPS。如有更高需求,您必须添加额外的 Sentinel 服务器才能让 EPS 实现更大幅度的提升。 |
无缝水平扩展到非常大的 EPS,例如每秒 100 万个事件。 |
数据收集在多个 Sentinel 服务器之间进行负载平衡。因此,数据分布在不同的 Sentinel 服务器上,应进行单独的管理。 |
数据收集由单个 Sentinel 服务器管理。因此,在单个 Sentinel 服务器上集中进行数据管理和资源管理。 |
数据在磁盘上按租户标记,而非按租户隔离。 |
数据在磁盘上按租户标记并隔离。 |
必须通过手动方式或使用 SAN 磁盘等成本高昂的储存机制复制和提供数据。 |
由于 Hadoop 在商用硬件上运行,因此,可以经济有效地复制和提供数据。 |
基于文件的数据储存具有三层结构:
联机储存 |
主储存,以前称为本地储存。 |
经过优化,可实现快速写入和检索。存储最新收集的事件数据和最常搜索的事件数据。 |
辅助储存,以前称为网络储存。(可选) |
已进行了优化,以便减少价格更低的可选储存上的空间用量,同时仍然支持快速检索。Sentinel 会自动将数据分区迁移到辅助储存。 |
|
注:使用辅助储存是可选的。数据保留策略、搜索和报告对事件数据分区执行操作,不管它们是位于主储存、辅助储存还是两者。 |
||
脱机储存 |
存档储存 |
关闭分区时,可以将分区备份到任何文件存储服务(如 Amazon Glacier)。您可以临时重新导入分区,以在需要时随时用于长期法证分析。 |
您还可以将 Sentinel 配置为使用数据同步策略,将事件数据和事件数据摘要提取到外部数据库。有关详细信息,请参阅《 Sentinel 管理指南》
中的配置数据同步。
安装 Sentinel 时,您必须将主储存的磁盘分区装入将安装 Sentinel 的位置,默认情况下为 /var/opt/novell 目录。
/var/opt/novell/sentinel 目录下的整个目录结构必须位于单个磁盘分区,以确保磁盘用量计算正确。否则,自动数据管理功能可能会提前删除事件数据。有关 Sentinel 目录结构的详细信息,请参见 Sentinel 目录结构。
最佳做法是,确保此数据目录位于与可执行文件、配置和操作系统文件所在磁盘分区不同的磁盘分区。单独储存可变数据的好处包括更易于备份文件集,在损坏时恢复更简单,以及在磁盘分区已满时提高稳健性。它还提高了系统的总体性能,文件越小,系统效率越高。有关详细信息,请参见磁盘分区。
注:在 ext3 文件系统中文件存储有限制,即目录的文件或子目录不得超过 32000 个。如果将有大量保留策略或您要更长久地保留数据(例如一年),可以使用 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 遵循文件系统层次结构标准(如果可行)。
Sentinel 提供以图表、表格和地图形式显示数据的事件可视化。这些可视化将使得可视化和分析大量事件变得更加轻松。您也可以创建自己的可视化和仪表板。
Sentinel 利用了基于浏览器的分析和搜索仪表板 Kibana,可以帮助您搜索和可视化事件。Kibana 访问可视化数据储存 (Elasticsearch) 中的数据,以在仪表板中显示事件。默认情况下,Sentinel 包含一个仅储存和索引警报的节点。必须启用事件可视化,才能在 Elasticsearch 中存储和索引事件。
启用 Elasticsearch 储存数据和建立数据索引时,Sentinel 仅索引可视化所需的一些特定事件字段,并将索引字段储存在 Elasticsearch 中。Sentinel 会为每一天创建专用索引,并使用 UTC 时区(午夜-午夜)计算索引日期。索引名称采用 security.events.normalized_yyyyMMdd 格式。例如,索引 security.events.normalized_20160101 中包含事件时间是 2016 年 1 月 1 日的所有事件。
配置可视化数据储存包含下列内容:
在群集模式中安装 Elasticsearch 节点: 默认情况下,Sentinel 包含一个 Elasticsearch 节点。为了使 Sentinel 服务器保持最佳性能和稳定性,您必须在群集模式下安装其他 Elasticsearch 节点。有关详细信息,请参见部分 12.0, 安装和配置 Elasticsearch。
启用事件可视化: 默认情况下,事件可视化为禁用状态。要启用事件可视化,请参见部分 20.0, 启用事件可视化。
性能优化: Sentinel 自动配置特定 Elasticsearch 设置以实现最优性能。您可以根据需要自定义这些设置。例如,您可以修改希望 Elasticsearch 索引的事件字段。有关详细信息,请参见Elasticsearch 性能优化。
Sentinel 使用 Cloudera’s 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 为其编制索引的事件字段。有关详细信息,请参见Elasticsearch 性能优化。
启用可缩放储存之后,Sentinel 服务器用户界面会精简,以便只管理某些 Sentinel 功能,如数据集合、关联、事件路由选择、搜索和可视化事件,以及执行特定管理活动。此精简版的 Sentinel 称为 Sentinel Scalable Data Manager (SSDM)。对于其他 Sentinel 功能,例如安全智能,以及传统的搜索和报告,您必须安装带有传统储存的 Sentinel 独立实例,并使用 Sentinel Link 将特定事件数据从 SSDM 路由到 Sentinel。
以下列表提供 SSDM 中不可用的服务和功能的信息:
报告
安全智能
搜索期间执行事件操作
测试关联规则
事件创建和管理
手动对事件执行操作
数据同步
iTRAC 工作流程
对触发关联事件的事件进行辩证分析
查看安全配置管理器和 Change Guardian 事件的事件附件。
启用可缩放储存是一次性配置,无法还原。如果您想要禁用可缩放储存并切换到传统储存,您必须重新安装 Sentinel。
以下核对清单概述了配置可缩放储存时需要执行的任务:
表 6-2 可缩放储存配置核对清单
|
任务 |
参见 |
---|---|---|
|
查看部署信息,了解需要如何部署带有可缩放储存的 Sentinel。 |
|
|
查看先决条件,并完成所有必需的任务。 |
|
|
启用可缩放储存。 您可以在安装期间或安装后启用可缩放储存。 在升级安装版中,只有升级 Sentinel 之后,方能启用可缩放储存。 |
要在安装期间启用可缩放储存,请对 Sentinel 执行自定义安装。请参见Sentinel 服务器自定义安装。 要在安装或升级后启用可缩放储存,请参阅《 Sentinel 管理指南》中的安装后启用可缩放储存。 |
|
使用 Sentinel 配置 CDH 组件和 Elasticsearch。 |
默认情况下,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 服务器的父进程,并监视或终止进程。