使用 Kafka 或基于 Logstash 的数据连接器进行 SIEM 集成
Citrix Analytics for Security™ SIEM 集成使您能够将 Citrix Analytics 中的用户数据导出并关联到您的 SIEM 环境,从而深入了解您组织的安全状况。
有关集成的优势以及发送到 SIEM 的数据事件类型(风险洞察和数据源事件)的更多信息,请参阅安全信息和事件管理集成。
您可以通过以下两种机制(由您的 SIEM 和 IT 部署支持)将 Citrix Analytics for Security 与您的 SIEM 解决方案集成:
- 通过 Kafka 端点连接
- 通过 Logstash 数据代理与基于 Kafka 的摄取连接
先决条件
-
至少为一个数据源开启数据处理。这有助于 Citrix Analytics for Security 开始与您的 SIEM 工具集成。
-
确保以下端点在您的网络允许列表中。
| 端点 | 美国地区 | 欧盟地区 | 亚太南部地区 |
|---|---|---|---|
| Kafka 代理 | casnb-0.citrix.com:9094 |
casnb-eu-0.citrix.com:9094 |
casnb-aps-0.citrix.com:9094 |
casnb-1.citrix.com:9094 |
casnb-eu-1.citrix.com:9094 |
casnb-aps-1.citrix.com:9094 |
|
casnb-2.citrix.com:9094 |
casnb-eu-2.citrix.com:9094 |
casnb-aps-2.citrix.com:9094 |
|
casnb-3.citrix.com:9094 |
使用 Kafka 与 SIEM 服务集成
Kafka 是一种开源软件,用于实时数据流。使用 Kafka,您可以分析实时数据以获得更快的洞察。大多数处理足够数据的大型组织都使用 Kafka。
北向 Kafka 是一个内部中间层,使 Citrix Analytics 能够通过 Kafka 端点与 SIEM 客户共享实时数据馈送。如果您的 SIEM 支持 Kafka 端点,请使用 Logstash 配置文件中提供的参数以及 JKS 文件或 PEM 文件中的证书详细信息,将您的 SIEM 与 Citrix Analytics for Security 集成。
使用 Kafka 进行集成需要以下参数:
| 属性名称 | 描述 | 配置数据示例 |
|---|---|---|
| 用户名 | Kafka 提供的用户名。 | 'sasl.username': cas_siem_user_name, |
| 主机 | 您要连接的 Kafka 服务器的主机名。 | 'bootstrap.servers': cas_siem_host, |
| 主题名称/客户端 ID | 分配给每个租户的客户端 ID。 | 'client.id': cas_siem_topic, |
| 组名称/ID | 您需要读取消费者共享消息的组名称。 | 'group.id': cas_siem_group_id, |
| 安全协议 | 安全协议的名称。 | 'security.protocol': 'SASL_SSL', |
| SASL 机制 | 通常用于加密以实现安全身份验证的身份验证机制。 | 'sasl.mechanisms': 'SCRAM-SHA-256', |
| SSL 信任库位置 | 您可以存储证书文件的位置。客户端信任库密码是可选的,预计为空。 | 'ssl.ca.location': ca_location |
| 会话超时 | 使用 Kafka 时用于检测客户端故障的会话超时。 | 'session.timeout.ms': 60000, |
| 自动偏移重置 | 定义在没有初始偏移量时从主题分区消费数据时的行为。您可以设置诸如 latest、earliest 或 none 等值。 | 'auto.offset.reset': 'earliest', |
以下是配置输出示例:
{'bootstrap.servers': cas_siem_host,
'client.id': cas_siem_topic,
'group.id': cas_siem_group_id,
'session.timeout.ms': 60000,
'auto.offset.reset': 'earliest',
'security.protocol': 'SASL_SSL',
'sasl.mechanisms': 'SCRAM-SHA-256',
'sasl.username': cas_siem_user_name,
'sasl.password': self.CLEAR_PASSWORD,
'ssl.ca.location': ca_location
}
<!--NeedCopy-->

上述参数可在 Logstash 配置文件中找到。要下载配置文件,请导航到 设置 > 数据导出 > SIEM 环境 > 选择 其他 选项卡 > 单击 下载 Logstash 配置文件。

要了解有关配置值的更多信息,请参阅 配置。
数据流
身份验证数据通信发生在 Kafka 服务器端代理(Citrix Analytics for Security 云)和 Kafka 客户端之间。所有代理/外部客户端的通信都使用启用的 SASL_SSL 安全协议和目标 9094 端口进行公共访问。
Apache Kafka 具有一个安全组件,用于使用 SSL 加密对传输中的数据进行加密。当启用加密并设置 SSL 证书时,网络上的数据传输将进行加密和保护。只有第一台和最后一台机器能够解密通过 SSL 发送的数据包。
身份验证
身份验证分为以下两个级别:
-
TLS/客户端与服务器之间。
- 用于 TLS 身份验证的服务器证书(公钥)在客户端和服务器之间交换。
- 不支持基于客户端的身份验证或双向身份验证(需要客户端私钥证书)。
-
用于访问 TOPICS/端点的用户名/密码
- 确保特定客户端只能从特定客户主题读取。
- SASL/SCRAM 用于用户名/密码身份验证机制以及 TLS 加密,以实现安全身份验证。
使用 SSL 加密和 SASL/SSL&SASL/PLAINTEXT 身份验证
默认情况下,Apache Kafka 以 PLAINTEXT 形式通信,所有数据均以明文形式发送,任何路由器都可以读取数据内容。Apache Kafka 具有一个安全组件,用于使用 SSL 加密对传输中的数据进行加密。启用加密并仔细设置 SSL 证书后,数据现在已加密并通过网络安全传输。借助 SSL 加密,只有第一台和最后一台机器能够解密正在发送的数据包。
由于使用双向 SSL 加密,用户名/密码登录对于外部通信是安全的。
加密仅在传输过程中进行,数据仍以未加密的形式存储在代理的磁盘上。

在客户端配置中,需要客户端信任库 JKS 文件和 PEM 文件(从信任库 JKS 文件转换而来)。您可以从 Citrix Analytics for Security GUI 下载这些文件,如以下屏幕截图所示:

使用 Logstash 进行 SIEM 集成
如果您的 SIEM 不支持 Kafka 端点,则可以使用 Logstash 数据收集引擎。您可以将 Citrix Analytics for Security 中的数据事件发送到 Logstash 支持的输出插件之一。
以下部分介绍了使用 Logstash 将您的 SIEM 与 Citrix Analytics for Security 集成时必须遵循的步骤。
使用 Logstash 与 SIEM 服务集成
-
转到 设置 > 数据导出。
-
在 账户设置 页面上,通过指定用户名和密码来创建账户。此账户用于准备集成所需的配置文件。

-
确保密码满足以下条件:

-
选择 配置 以生成 Logstash 配置文件。

-
选择 其他 选项卡以下载配置文件。
-
Logstash 配置文件:此文件包含用于使用 Logstash 数据收集引擎从 Citrix Analytics for Security 发送事件的配置数据(输入、筛选器和输出部分)。有关 Logstash 配置文件结构的信息,请参阅 Logstash 文档。
-
JKS 文件:此文件包含 SSL 连接所需的证书。当您使用 Logstash 集成 SIEM 时,需要此文件。
-
PEM 文件:此文件包含 SSL 连接所需的证书。当您使用 Kafka 集成 SIEM 时,需要此文件。
注意
这些文件包含敏感信息。请将其保存在安全的位置。

-
-
配置 Logstash:
-
在您的 Linux 或 Windows 主机上,安装 Logstash(与 Citrix Analytics for Security 兼容的测试版本:v7.17.7 和 v8.5.3)。您也可以使用现有的 Logstash 实例。
-
在您安装 Logstash 的主机上,将以下文件放置在指定目录中:
主机类型 文件名 目录路径 Linux CAS_Others_LogStash_Config.config 对于 Debian 和 RPM 软件包: /etc/logstash/conf.d/对于 .zip 和 .tar.gz 存档: {extract.path}/configkafka.client.truststore.jks 对于 Debian 和 RPM 软件包: /etc/logstash/ssl/对于 .zip 和 .tar.gz 存档: {extract.path}/sslWindows CAS_Others_LogStash_Config.config C:\logstash-7.xx.x\configkafka.client.truststore.jks C:\logstash-7.xx.x\config -
Logstash 配置文件包含敏感信息,例如 Kafka 凭据、LogAnalytics 工作区 ID、主密钥。建议不要以纯文本形式存储这些敏感凭据。为了保护集成安全,可以使用 Logstash 密钥库添加密钥及其相应的值,然后可以在配置文件中使用密钥名称引用这些值。有关 Logstash 密钥库以及它如何增强设置安全性的更多信息,请参阅用于安全设置的密钥库。
-
打开 Logstash 配置文件并执行以下操作:
在文件的输入部分,输入以下信息:
-
密码:您在 Citrix Analytics for Security 中创建的用于准备配置文件的账户密码。
-
SSL 信任库位置:您的 SSL 客户端证书的位置。这是您的主机中 kafka.client.truststore.jks 文件的位置。

在文件的输出部分,输入您要发送数据的目标路径或详细信息。有关输出插件的信息,请参阅 Logstash 文档。
以下代码片段显示输出已写入本地日志文件。

-
-
重新启动您的主机,以将 Citrix Analytics for Security 中的已处理数据发送到您的 SIEM 服务。
-
配置完成后,登录您的 SIEM 服务并验证 SIEM 中的 Citrix Analytics 数据。
开启或关闭数据传输
Citrix Analytics for Security 准备好配置文件后,将为您的 SIEM 开启数据传输。
要停止从 Citrix Analytics for Security 传输数据:
- 转到 设置 > 数据导出。
-
关闭切换按钮以禁用数据传输。默认情况下,数据传输始终处于启用状态。

将出现一个警告窗口以供您确认。单击关闭数据传输按钮以停止传输活动。

要再次启用数据传输,请打开切换按钮。
注意
请联系 CAS-PM-Ext@cloud.com 以请求 SIEM 集成、将数据导出到 SIEM 或提供反馈方面的帮助。