CSV
集成版本:31.0
权限前提条件
如需通过集成处理文件,您需要拥有相应的权限。运行以下命令,为文件夹提供正确的权限:chown scripting:scripting "directory_path"
在 Google Security Operations 中配置 CSV 集成
有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成。
集成参数
使用以下参数配置集成:
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
实例名称 | 字符串 | 不适用 | 否 | 您打算为其配置集成的实例的名称。 |
说明 | 字符串 | 不适用 | 否 | 实例的说明。 |
远程运行 | 复选框 | 尚未核查 | 否 | 选中此字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。 |
操作
将 JSON 保存为 CSV
说明
将 JSON 对象保存为 CSV。
参数
参数名称 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
JSON 对象 | JSON | 不适用 | 是 | 指定要另存为 CSV 的 JSON 对象。 |
覆盖 | 布尔值 | 错误 | 否 | 如果启用,该操作会覆盖现有文件。 |
文件路径 | 字符串 | 不适用 | 是 | 指定新创建的 CSV 文件的绝对文件路径。如果仅提供文件名,该操作会将文件存储在 /tmp/ 文件夹中。 |
运行于
不适用
操作执行结果
脚本结果
脚本结果名称 | 值 |
---|---|
is_success | True/False |
JSON 结果
{"filepath": "{file name}"}
案例墙
该操作会提供以下输出消息:
输出消息 | 消息说明 |
---|---|
已成功转换 JSON 对象并将其保存到提供的文件路径。 | 操作成功。 |
找不到所提供路径对应的文件。 | 文件不存在。 |
在 Google Cloud Policy Intelligence 中,未找到所提供服务账号的任何活动 | 该操作无法找到任何所列服务账号的数据。 |
执行操作“将 JSON 保存为 CSV”时出错。 | 相应操作返回了错误。 检查与服务器的连接、输入参数或凭据。 |
按字符串搜索
说明
在 CSV 文件中搜索字符串。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
CSV 路径 | 字符串 | 不适用 | 是 | 指定 CSV 文件的文件路径或包含所有 CSV 文件的文件夹路径。如果提供了文件夹,操作将遍历该文件夹中的所有 CSV 文件。 |
CSV 列 | 字符串 | 不适用 | 否 | 指定以英文逗号分隔的列列表,这些列可以包含实体信息。如果未提供任何内容,则操作将在所有列中进行搜索。 |
向后天数 | 字符串 | 10 | 否 | 指定要处理多少天前的 CSV 文件。 |
搜索值 | 字符串 | 不适用 | 否 | 指定需要搜索的字符串。如果启用了“搜索多个字符串”,则此参数会被视为以英文逗号分隔的字符串列表,需要进行搜索。 |
仅返回第一行。 | 复选框 | 尚未核查 | 否 | 如果启用,操作将仅返回与实体匹配的第一个文件中的 1 行。 |
文件编码类型 | 字符串 | utf-8、latin-1、iso-8859-1 | 是 | 用于解码 CSV 文件的 CSV 编码类型(以英文逗号分隔)列表,例如 utf-8、latin-1、iso-8859-1、utf-16...指定编码类型的顺序决定了它们用于解码文件的顺序,例如(根据上面的示例),utf-8 具有最高优先级,将主要用于解码所有文件;如果某个 CSV 文件使用其他编码,则会使用顺序中的下一个编码(即 latin-1 编码),依此类推,直到使用最后一个编码。 |
搜索多个字符串 | 复选框 | 尚未核查 | 否 | 如果启用,则“搜索值”将作为以英文逗号分隔的值列表,而不是单个字符串。 |
要返回的字段 | CSV | 不适用 | 否 | 指定以英文逗号分隔的需要返回的值的列表。 |
使用场景
在 CSV 文件中搜索字符串。
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
count_rows_csv | 任意行数 | count_rows += 1 |
JSON 结果
[
{
"EntityResult": {
"Field2": "Value2",
"Field3": "Value3",
"Field1": "Value1",
"Field4": "Value4",
"Field5": "Value5"
},
"Entity": "host"
}, {
"EntityResult": {
"Field2": "Value2",
"Field3": "Value3",
"Field1": "Value1",
"Field4": "Value4",
"Field5": "Value5"
}, "Entity": "1.1.1.1"
}
]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 对于找到的记录: “成功找到有关以下字符串的信息:\n (search_string)” 如果未找到某些字符串的记录:“操作无法找到有关以下字符串的信息:” 如果所有记录均未成功:“未找到所提供商品的任何信息。” 如果所有编码均无效:执行操作“按字符串搜索 CSV”时出错。提供的编码无效。请检查拼写。” |
常规 |
按实体搜索
说明
在 CSV 文件中搜索实体并扩充这些实体。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
CSV 路径 | 字符串 | 不适用 | 是 | 指定 CSV 文件的文件路径或包含所有 CSV 文件的文件夹路径。如果提供了文件夹,操作将遍历该文件夹中的所有 CSV 文件。 |
CSV 列 | 字符串 | 不适用 | 是 | 指定以英文逗号分隔的列列表,这些列可以包含实体信息。如果未提供任何内容,则操作将在所有列中进行搜索。 |
天数 | 字符串 | 10 | 是 | 指定要处理多少天前的 CSV 文件。 |
标记为可疑 | 复选框 | 尚未核查 | 否 | 如果启用,则当在文件中找到实体时,操作会将该实体标记为可疑。 |
仅返回第一行。 | 复选框 | 尚未核查 | 否 | 如果启用,操作将仅返回与实体匹配的第一个文件中的 1 行。 |
文件编码类型 | 字符串 | utf-8、latin-1、iso-8859-1 | 是 | 用于解码 CSV 文件的 CSV 编码类型(以英文逗号分隔)列表,例如 utf-8、latin-1、iso-8859-1、utf-16...指定编码类型的顺序决定了它们用于解码文件的顺序,例如(根据上面的示例),utf-8 具有最高优先级,将主要用于解码所有文件;如果某个 CSV 文件使用其他编码,则会使用顺序中的下一个编码(即 latin-1 编码),依此类推,直到使用最后一个编码。 |
丰富实体 | 复选框 | 勾选 | 否 | 如果启用,操作将从 CSV 文件中添加信息,并将其添加到实体的丰富表中。 |
创建分析数据 | 复选框 | 勾选 | 否 | 如果启用,则在文件中找到实体后,操作会创建数据洞见。 |
要返回的字段 | CSV | 不适用 | 否 | 指定以英文逗号分隔的需要返回的值的列表。 |
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
count_rows_csv | 任意行数 | count_rows += 1 |
JSON 结果
[
{
"EntityResult": [{
"domain": "example.dom",
"fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
"reporter": "Symantec Antivirus",
"app": "Arcsight",
"id": "1011",
"eventTime": "9/4/2017 10:00",
"antivirusAction": "blocked",
"virusName": "ECAT",
"rule": "malicious",
"eventName": "Virus detected",
"User": "Ziv",
"eventHostName": "WS-ZivDevComp",
"File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
"machineAddress": "192.168.11.11"
}, {
"domain": "SmartCompany.dom",
"fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
"reporter": "Symantec Antivirus",
"app": "ESM",
"id": "1012",
"eventTime": "9/4/2017 10:00",
"antivirusAction": "allowed",
"virusName": "ECAT",
"rule": "malicious",
"eventName": "Virus detected",
"User": "GG",
"eventHostName": "WS-GGDevComp",
"File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
"machineAddress": "192.168.11.11"
}],
"Entity": "192.168.11.11"
}
]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 对于找到的实体: “已成功找到以下实体的信息:\n (entity.identifier)” 对于未找到的实体:“未找到有关以下实体的信息:\n (entity.identifier)” 如果所有实体均未成功:“未找到所提供实体的信息。” 如果所有编码均无效: “执行操作‘按字符串搜索 CSV’时出错。提供的编码无效。请检查拼写。” |
常规 |
Ping
说明
测试连接。
参数
不适用
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
不适用
JSON 结果
N/A
连接器
CSV 连接器
说明
从特定文件夹中的 CSV 文件提取数据,并将这些数据转换为 Google SecOps 系统中的提醒。
本主题将说明 Google SecOps 生成 CSV 文件的机制和配置,以及平台内支持的工作流程和采取的操作。
使用场景
客户有来自系统的 CSV,这些文件可能采用不同的编码。
* Add support for comma-separated encodings in the Encoding field in the
connector.
* The connector should try the different encodings by their order in
the field (first encoding - highest priority, last - lowest
priority) with try/except. If no matching encoding was found -
consider the file as an error and notify.
* Put a default value for the fields - a list of most common CSV
encodings by priority (utf8, latin1, and iso...)
对 CSV 文件的访问权限
Google SecOps 对 CSV 文件的访问权限:为 CSV 文件设置文件夹。
将 CSV 记录转发到 Google SecOps
处理 CSV 文件记录
将 Google SecOps 配置为使用 CSV 文件作为提醒来源时,系统会要求您提供一个特定文件夹,用于从中提取 CSV 文件。Google SecOps 会检索 CSV 文件中的任何记录,并转发这些记录以进行翻译,然后根据上下文将这些记录转化为支持请求的提醒。
如何在连接器中映射严重程度
为了映射严重程度,您需要在“严重程度字段名称”参数中指定应使用哪个字段来获取严重程度值。在响应中,您可以获得 3 种类型的值:整数、浮点数和字符串。对于整数和浮点数,您无需进行任何其他配置。连接器将读取这些值,并根据 Google SecOps 标准对其进行映射。简要回顾一下整数值的映射方式:
- 100 - 严重
- 100 > x >= 80 高
- 80 > x >=60 中等
- 60 > x >=40 低
- 40 > x 信息
如果响应中处理的是字符串,则需要进行额外配置。在连接器脚本所在的文件夹中,您会看到一个名为 severity_map_config.json 的配置文件。此文件定义了严重程度的映射规则。
最初,该文件将如下所示:1 2 3
{ "Default": 50 }
假设所需的值位于 event.severity 中。event.severity 可以包含以下值:“恶意”“良性”“未知”。
首先,我们必须在“严重程度字段名称”参数中指定我们将使用 event.severity。其次,我们必须更新配置文件。更改后,severity_map_config.json 文件应如下所示:1 2 3 4 5 6 7 8
{
"event.severity": { "Malicious": 100, "Unknown": 60, "Benign": -1 }, "Default":
50 }
现在,当连接器收到 event.severity
= "恶意" 的事件时,会将其严重程度设置为“严重”。
在 Google SecOps 中配置 CSV 连接器
有关如何在 Google SecOps 中配置连接器的详细说明,请参阅配置连接器。
连接器参数
使用以下参数配置连接器:
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
商品字段名称 | 字符串 | device_product | 是 | 用于确定设备产品的字段名称。 |
事件字段名称 | 字符串 | name | 否 | 用于确定事件名称(子类型)的字段名称。 |
脚本超时(秒) | 字符串 | 60 | 是 | 运行当前脚本的 Python 进程的超时限制(以秒为单位)。 |
CSV 文件夹路径 | 字符串 | 不适用 | 是 | 包含需要提取的所有 CSV 文件的文件夹路径。 |
CSV 限制 | 字符串 | 不适用 | 否 | 每次迭代要处理的 CSV 文件数量。 |
规则生成器字段名称 | 字符串 | 不适用 | 否 | 包含规则生成器相关信息的字段的名称。 |
时间字段名称 | 字符串 | 不适用 | 否 | 包含事件时间信息的字段的名称。 |
CSV 是否包含标题 | 复选框 | 勾选 | 是 | 表示 CSV 文件是否包含标题。 |
文件编码类型 | 字符串 | utf-8 | 是 | 设置 CSV 编码类型,例如 iso-8859-1、latin1、utf-8、utf-16。 |
提醒字段名称 | 字符串 | 不适用 | 否 | 包含提醒名称信息的字段的名称。 |
严重程度字段名称 | 字符串 | 不适用 | 否 | 包含严重程度信息的字段的名称。 |
连接器规则
代理支持
连接器不支持代理。
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。