Amazon AWS S3 REST API 协议配置选项

Amazon AWS S3 REST API 协议是一种活动出站协议,用于从 Amazon S3 存储区收集 AWS CloudTrail 日志。

注: 从 Amazon S3 收集日志以用于定制 DSM 或其他不受支持的集成时,确保不缺少任何数据非常重要。 由于 S3 API 返回数据的方式,因此列出完整路径时,所有文件都必须按字母顺序递增。 确保完整路径名包含 ISO9660 格式的完整日期和时间 (所有字段中的前导零和 YYYY-MM-DD 日期格式)。

请考虑以下文件路径:

<Name>test-bucket</Name><Prefix>MyLogs/</Prefix><Marker>MyLogs/2018-8-9/2018-08-09T23-5925.955097.log.g</Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated></ListBucketResult>

标记中文件的全名为 MyLogs/2018-8-9/2018-08-09T23-59-25.955097.log.gz ,文件夹名称写为 2018-8-9 而不是 2018-08-09。 当显示 2018 年 9 月 10 日的数据时,此日期格式会导致问题。 排序时,日期显示为 2018-8-10 ,并且文件未按时间顺序排序:

2018-10-1

2018-11-1

2018-12-31

2018-8-10

2018-8-9

2018-9-1

在 9 2018 年 8 月的数据进入 IBM QRadar之后,直到 1 2018 年 9 月才会再次看到数据,因为未以日期格式使用前导零。 9 月之后,直到 2019 年才会再次看到数据。 在日期 (ISO 9660) 中使用前导零,因此不会发生此问题。

通过使用前导零,文件和文件夹按时间顺序排序:

2018-08-09

2018-08-10

2018-09-01

2018-10-01

2018-11-01

2018-12-01

2018-12-31
限制:

日志源只能从一个区域检索数据,因此对每个区域使用不同的日志源。 使用 "目录前缀" 事件收集方法来配置日志源时,请在 Directory Prefix 值的文件路径中包含区域文件夹名称。

下表描述了使用 "目录前缀" 收集方法或 SQS 事件收集方法来收集审计事件的公共参数值。 这些收集方法使用 Amazon AWS S3 REST API 协议。
表 1. Amazon AWS S3 REST API 协议公共日志源参数与 "目录前缀" 方法或 SQS 方法
参数 描述
协议配置 Amazon AWS S3 REST API
日志源标识

输入日志源的唯一名称。

日志源标识 可以是任何有效值,并且不需要引用特定服务器。 日志源标识 可以与 日志源名称的值相同。 如果每个 DSM 有多个已配置的日志源,请确保为每个日志源提供唯一的名称。

认证方法
访问密钥标识/密钥
可以从任何位置使用的标准认证。
有关配置安全凭证的更多信息,请参阅 为 AWS 用户帐户配置安全凭证
EC2 实例 IAM 角色
如果受管主机正在 AWS EC2 实例上运行,那么选择此选项将使用分配给实例的实例元数据中的 IAM 角色进行认证。 不需要任何密钥。 此方法仅适用于在 AWS EC2 容器中运行的受管主机。
访问密钥

为 AWS 用户帐户配置安全凭证时生成的访问密钥标识。

如果选择了 访问密钥标识/密钥担当 IAM 角色,那么将显示 访问密钥 参数。

私钥

配置 AWS 用户帐户的安全凭证时生成的密钥。

如果选择了 访问密钥标识/密钥担当 IAM 角色,那么将显示 密钥 参数。

承担 IAM 角色 通过使用访问密钥或 EC2 实例 IAM 角色进行认证来启用此选项。 然后,您可以临时承担 IAM 角色以进行访问。
假定角色 ARN 要承担的角色的完整 ARN。 它必须以 arn: 开头,并且不能包含任何前导或尾部空格或 ARN 中的空格。

如果已启用 使用 IAM 角色,那么将显示 使用角色 ARN 参数。

假定角色会话名称 要采用的角色的会话名称。 缺省值为 QRadarAWSSession。 如果不需要更改,请将其保留为缺省值。 此参数只能包含大写和小写字母数字字符,下划线或以下任何字符: =,.@-

如果已启用 使用 IAM 角色,那么将显示 使用角色会话名称 参数。

假定角色外部标识 您可能需要在其他帐户中承担角色的标识。 您从角色所属的帐户的管理员处获取此值。

此值可以是任何字符串,例如口令, GUID 或帐号。

有关更多信息,请参阅 如何在向第三方授予对 AWS 资源的访问权时使用外部标识 (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)。

如果已启用 使用 IAM 角色,那么将显示 使用角色外部标识 参数。

S3 收集方法
SQS Event Notifications
轮询包含在您选择的 S3 文件夹上配置的 ObjectCreated 通知的 SQS 队列。 然后,从 S3 存储区下载并处理通知中引用的文件。 您可以使用单个队列或单独的队列来覆盖多个存储区和帐户。 此决策取决于您的配置。

有关更多信息,请参阅 表 3

使用特定前缀
将处理指定文件夹中的日志。 对于 CloudTrail 日志源,前缀必须仅用于单个帐户或区域。 对于其他日志源,前缀必须指向在每个文件名开头包含具有 ISO8601 时间戳记的文件的单个目录。 每个文件名中的时间戳记可确保协议使用此方法收集新事件。

有关更多信息,请参阅 表 2

区域名称 SQS 队列或 AWS S3 存储区所在的区域。

示例: us-east-1, eu-west-1, ap-northeast-3

事件格式 选择文件中包含的事件的格式。
AWS CloudTrail JSON
包含 Amazon Cloud Trail 的 JSON 格式化事件的文件 (仅限.json.gz 文件)。
行 (LINEBYLINE)
每行包含一条记录的原始日志文件。 支持使用 gzip (.gz.gzip) 和 zip (.zip) 进行压缩。
AWS VPC 流日志
包含 AWS 本机 /OCSF VPC 流日志的文件 (仅限.txt.gzgz.parquet 文件)。 此选项会将流发送到 QRadar中的 网络活动 选项卡。 配置的日志源未显示 上次事件设置时间 ,因为输出是流数据。
AWS 网络防火墙日志
包含 AWS 网络防火墙警报或流日志的文件。 此选项将流日志发送到 网络活动 选项卡,并将警报日志作为事件发送到 QRadar中的 日志活动 选项卡。 Amazon AWS Network Firewall DSM 解析日志。
提示: 如果系统未获得流的许可,请使用 LINEBYLINE 处理器,以便 DSM 可以解析 AWS 网络防火墙日志。
W3C
用于 Cisco Cloud Web Services DSM (仅限.gz 文件)。
Cisco Umbrella CSV
用于 Cisco Umbrella DSM (仅限.gz 文件)。
Apache Parquet
选择此选项以将 Apache Parquet 文件转换为 JSON 事件 (仅限.gz.parquet.parquet 文件)。
流目标主机名 发送 VPC 流或 AWS 网络防火墙流日志的流处理器主机名。

如果在 事件格式 参数中选择 AWS VPC 流日志AWS 网络防火墙 ,那么可以配置此参数。

流目标端口 发送 VPC 流或 AWS 网络防火墙流日志的流处理器端口。

如果在 事件格式 参数中选择 AWS VPC 流日志AWS 网络防火墙 ,那么可以配置此参数。

用作网关日志源

为收集的事件选择此选项以流经 QRadar 流量分析引擎,并为 QRadar 自动检测一个或多个日志源。

选择此选项时,可以选择使用 日志源标识模式 为正在处理的事件定义定制 日志源标识

日志源标识模式

如果选择了 用作网关日志源,那么可以为正在处理的事件定义定制日志源标识,并在适用时自动发现日志源。 如果未配置 日志源标识模式,那么 QRadar 会将事件作为未知的通用日志源接收。

使用 "键/值" 对来定义定制日志源标识。 键是 "标识格式字符串" ,它是生成的源或源值。 该值是用于评估当前有效内容的关联正则表达式模式。 此值还支持可用于进一步定制密钥的捕获组。

通过在新行上输入每个模式来定义多个键/值对。 将按多个模式的列示顺序对其进行求值。 找到匹配项时,将显示定制日志源标识。

以下示例显示了多个键/值对函数。
模式
VPC=\sREJECT\sFAILURE
$1=\s(REJECT)\sOK
VPC-$1-$2=\s(ACCEPT)\s(OK)
事件
{LogStreamName: LogStreamTest,Timestamp: 0,Message: ACCEPT OK,IngestionTime: 0,EventId: 0}
生成的定制日志源标识
VPC-接受-正常
使用预测解析 如果启用此参数,那么算法将从事件中抽取日志源标识模式,而不针对每个事件运行正则表达式,这将提高解析速度。
提示: 在极少数情况下,算法可能会进行不正确的预测。 仅对期望接收高事件率且需要更快解析的日志源类型启用预测解析。
显示高级选项 如果要定制事件数据,请选择此选项。
文件模式

当您将 显示高级选项 设置为 "是" 时,此选项可用。

输入与要拉取的文件匹配的文件模式的正则表达式; 例如, .*?\.json\.gz

本地目录

当您将 显示高级选项 设置为 "是" 时,此选项可用。

目标 Event Collector 上的本地目录。 在 AWS S3 REST API 协议尝试检索事件之前,该目录必须存在。

S3 终点 URL

当您将 显示高级选项 设置为 "是" 时,此选项可用。

用于查询 S3 URL。

如果您的URL 与默认值不同,请输入您的URL。 缺省值为 https://s3.amazonaws.com

使用 S3 路径样式访问

强制 S3 请求使用路径样式访问。

AWS不推荐使用此方法。 但是,当您使用其他兼容 S3 的 API 时,可能需要此参数。 例如,当存储区名称包含句点 (.) 时,将自动使用 https://s3.region.amazonaws.com/bucket-name/key-name 路径样式。 因此,此选项不是必需的,但可以使用。

使用代理

如果 QRadar 使用代理访问 Amazon Web Service ,请启用 使用代理

如果代理需要认证,请配置 代理服务器代理端口代理用户名代理密码 字段。

如果代理不需要认证,请配置 代理 IP 或主机名 字段。

重复

进行轮询以扫描新数据的频率。

如果您正在使用 SQS 事件收集方法,那么 SQS Event Notifications 的最小值可以为 10 (秒)。 由于 SQS 队列轮询可以更频繁地发生,因此可以使用较小的值。

如果您正在使用 "目录前缀" 事件集合方法,那么 使用特定前缀 的最小值为 60 (秒) 或 1M。 因为对 AWS S3 存储区的每个 listBucket 请求都会导致拥有该存储区的帐户产生成本,所以较小的重复值会增加成本。

输入时间间隔以确定轮询新数据的频率。 时间间隔可以包含以小时 (H) ,分钟 (M) 或天 (D) 为单位的值。 例如, 2H = 2 小时, 15M = 15 分钟, 30 = 秒。

EPS 调速

每秒 QRadar 摄入的最大事件数。

如果数据源超过 EPS 调速,那么数据收集将延迟。 仍会收集数据,然后在数据源停止超过 EPS 调速时采集数据。

缺省值 5000。

下表描述了使用 "目录前缀" 事件收集方法收集审计事件的特定参数值:

表 2. 具有 "目录前缀" 方法的 Amazon AWS S3 REST API 协议日志源特定参数
参数 描述
S3 收集方法 选择 使用特定前缀
存储区名称

存储日志文件的 AWS S3 存储区的名称。

目录前缀

AWS S3 存储区上从中检索 CloudTrail 日志的根目录位置; 例如, AWSLogs/<AccountNumber>/CloudTrail/<RegionName>/

要从存储区的根目录中拉取文件,必须在 目录前缀 文件路径中使用正斜杠 (/)。

注意:
  • 更改 目录前缀 值将清除持久文件标记。 将在下一个拉取中下载所有与新前缀匹配的文件。
  • 除非仅使用正斜杠从存储区的根目录收集数据,否则 目录前缀 文件路径不能以正斜杠 (/) 开头。
  • 如果使用 目录前缀 文件路径来指定文件夹,那么不得以正斜杠开始文件路径 (例如,改为使用 folder1/folder2 )。

下表描述了需要特定值才能使用 SQS 事件收集方法收集审计事件的参数:

表 3. Amazon AWS S3 REST API 协议日志源特定于 SQS 方法的参数
参数 描述
S3 收集方法 选择 SQS Event Notifications
SQS 排队 URL URL 以 https:// 开头,用于接收 S3 ObjectCreated通知的SQS队列。