使用外部系统日志服务器的注意事项
外部系统日志服务器是StorageGRID之外的服务器,您可以使用它在单个位置收集系统审计信息。使用外部系统日志服务器可以减少管理节点上的网络流量并更有效地管理信息。对于StorageGRID,出站 syslog 消息包格式符合 RFC 3164。
您可以发送到外部系统日志服务器的审计信息类型包括:
-
审计日志包含系统正常运行期间生成的审计消息
-
与安全相关的事件,例如登录和升级到 root
-
如果需要打开支持案例来解决您遇到的问题,可能会请求应用程序日志
何时使用外部系统日志服务器
如果您拥有大型网格、使用多种类型的 S3 应用程序或想要保留所有审计数据,则外部 syslog 服务器特别有用。将审计信息发送到外部系统日志服务器使您能够:
-
更高效地收集和管理审计消息、应用程序日志和安全事件等审计信息。
-
减少管理节点上的网络流量,因为审计信息直接从各个存储节点传输到外部系统日志服务器,而无需通过管理节点。
当日志发送到外部系统日志服务器时,大于 8,192 字节的单个日志会在消息末尾被截断,以符合外部系统日志服务器实施中的常见限制。 为了在外部系统日志服务器发生故障时最大限度地提供完整数据恢复的选项,最多可存储 20 GB 的本地审计记录日志( localaudit.log
) 在每个节点上进行维护。
如何配置外部系统日志服务器
要了解如何配置外部 syslog 服务器,请参阅"配置审计消息和外部系统日志服务器"。
如果您计划配置使用 TLS 或 RELP/TLS 协议,则必须拥有以下证书:
-
服务器 CA 证书:一个或多个可信 CA 证书,用于验证 PEM 编码的外部系统日志服务器。如果省略,则将使用默认的 Grid CA 证书。
-
客户端证书:用于以 PEM 编码向外部系统日志服务器进行身份验证的客户端证书。
-
客户端私钥:PEM 编码的客户端证书的私钥。
如果您使用客户端证书,您还必须使用客户端私钥。如果您提供加密的私钥,您还必须提供密码。使用加密私钥没有显著的安全优势,因为必须存储密钥和密码;如果可用,建议使用未加密的私钥以简化操作。
如何估计外部系统日志服务器的大小
通常,您的网格大小会根据所需的吞吐量进行调整,以每秒的 S3 操作数或每秒的字节数来定义。例如,您可能要求网格每秒处理 1,000 个 S3 操作,或每秒 2,000 MB 的对象提取和检索。您应该根据网格的数据要求确定外部系统日志服务器的大小。
本节提供了一些启发式公式,可帮助您估计外部系统日志服务器需要处理的各种类型日志消息的速率和平均大小,以网格已知或期望的性能特征(每秒 S3 操作)表示。
在估算公式中使用每秒 S3 次操作
如果您的网格大小是根据每秒字节数表示的吞吐量来确定的,则必须将此大小转换为每秒 S3 操作数才能使用估算公式。要转换网格吞吐量,您必须首先确定平均对象大小,您可以使用现有审计日志和指标(如果有)中的信息,或者利用您对将使用StorageGRID 的应用程序的了解来确定。例如,如果您的网格大小可实现 2,000 MB/秒的吞吐量,并且您的平均对象大小为 2 MB,那么您的网格大小可实现每秒处理 1,000 个 S3 操作(2,000 MB/2 MB)。
|
以下部分中的外部系统日志服务器大小公式提供了常见情况的估计(而不是最坏情况的估计)。根据您的配置和工作负载,您可能会看到比公式预测的更高或更低的系统日志消息速率或系统日志数据量。这些公式仅供参考。 |
审计日志的估算公式
如果除了网格预计支持的每秒 S3 操作数之外,您没有关于 S3 工作负载的任何信息,那么您可以使用以下公式估算外部 syslog 服务器需要处理的审计日志量,假设您将审计级别保留为默认值(所有类别都设置为正常,存储除外,设置为错误):
Audit Log Rate = 2 x S3 Operations Rate Audit Log Average Size = 800 bytes
例如,如果您的网格大小为每秒 1,000 个 S3 操作,那么您的外部 syslog 服务器的大小应支持每秒 2,000 个 syslog 消息,并且应该能够以每秒 1.6 MB 的速率接收(通常存储)审计日志数据。
如果您对自己的工作量了解更多,就可以做出更准确的估计。对于审计日志,最重要的附加变量是 S3 操作中 PUT(相对于 GETS)的百分比,以及以下 S3 字段的平均大小(以字节为单位)(表中使用的 4 个字符的缩写是审计日志字段名称):
代码 | 字段 | 描述 |
---|---|---|
南卡罗来纳大学 |
S3 租户帐户名称(请求发送者) |
发送请求的用户的租户帐户的名称。对于匿名请求则为空。 |
SBAC |
S3 租户帐户名称(存储桶所有者) |
存储桶所有者的租户帐户名称。用于识别跨账户或匿名访问。 |
S3BK |
S3 存储分段 |
S3 存储桶名称。 |
S3KY |
S3 键 |
S3 密钥名称,不包括存储桶名称。对 bucket 的操作不包含该字段。 |
让我们使用 P 来表示 S3 操作中 PUT 的百分比,其中 0 ≤ P ≤ 1(因此,对于 100% PUT 工作负载,P = 1,对于 100% GET 工作负载,P = 0)。
让我们用 K 来表示 S3 帐户名称、S3 存储桶和 S3 密钥总和的平均大小。假设 S3 帐户名称始终为 my-s3-account(13 个字节),存储桶具有固定长度的名称,如 /my/application/bucket-12345(28 个字节),对象具有固定长度的键,如 5733a5d7-f069-41ef-8fbd-13247494c69c(36 个字节)。那么K的值为90(13+13+28+36)。
如果您可以确定 P 和 K 的值,则可以使用以下公式估算外部系统日志服务器需要处理的审计日志量,假设您将审计级别保留为默认值(所有类别都设置为正常,存储除外,设置为错误):
Audit Log Rate = ((2 x P) + (1 - P)) x S3 Operations Rate Audit Log Average Size = (570 + K) bytes
例如,如果您的网格大小为每秒 1,000 个 S3 操作,您的工作负载为 50% PUT,并且您的 S3 帐户名称、存储桶名称和对象名称平均为 90 个字节,那么您的外部系统日志服务器的大小应支持每秒 1,500 个系统日志消息,并且应该能够以每秒大约 1 MB 的速率接收(通常存储)审计日志数据。
非违约审计水平的估计公式
为审计日志提供的公式假定使用默认审计级别设置(所有类别均设置为正常,但存储除外,设置为错误)。没有用于估计非默认审计级别设置的审计消息的速率和平均大小的详细公式。但是,可以使用下表对速率进行粗略估计;您可以使用为审计日志提供的平均大小公式,但请注意,这可能会导致高估,因为“额外”审计消息平均小于默认审计消息。
条件 | 公式 |
---|---|
复制:审计级别全部设置为“调试”或“正常” |
审计日志率 = 8 x S3 操作率 |
擦除编码:审计级别全部设置为“调试”或“正常” |
使用与默认设置相同的公式 |
安全事件的估计公式
安全事件与 S3 操作无关,并且通常只产生极少量的日志和数据。由于这些原因,没有提供估算公式。
应用日志的估算公式
如果除了网格预计支持的每秒 S3 操作数之外,您没有关于 S3 工作负载的任何信息,那么您可以使用以下公式估算外部 syslog 服务器需要处理的应用程序日志量:
Application Log Rate = 3.3 x S3 Operations Rate Application Log Average Size = 350 bytes
因此,例如,如果您的网格大小为每秒 1,000 个 S3 操作,那么您的外部 syslog 服务器的大小应该支持每秒 3,300 个应用程序日志,并且能够以每秒约 1.2 MB 的速率接收(和存储)应用程序日志数据。
如果您对自己的工作量了解更多,就可以做出更准确的估计。对于应用程序日志,最重要的附加变量是数据保护策略(复制与擦除编码)、PUT 的 S3 操作百分比(与 GET/其他相比)以及以下 S3 字段的平均大小(以字节为单位)(表中使用的 4 个字符的缩写是审计日志字段名称):
代码 | 字段 | 描述 |
---|---|---|
南卡罗来纳大学 |
S3 租户帐户名称(请求发送者) |
发送请求的用户的租户帐户的名称。对于匿名请求则为空。 |
SBAC |
S3 租户帐户名称(存储桶所有者) |
存储桶所有者的租户帐户名称。用于识别跨账户或匿名访问。 |
S3BK |
S3 存储分段 |
S3 存储桶名称。 |
S3KY |
S3 键 |
S3 密钥名称,不包括存储桶名称。对 bucket 的操作不包含该字段。 |
尺寸估算示例
本节通过示例案例来说明如何使用具有以下数据保护方法的电网估算公式:
-
复制
-
纠删编码
如果您使用复制来保护数据
让 P 表示 S3 操作中 PUT 的百分比,其中 0 ≤ P ≤ 1(因此,对于 100% PUT 工作负载,P = 1,对于 100% GET 工作负载,P = 0)。
让 K 表示 S3 帐户名称、S3 存储桶和 S3 密钥总和的平均大小。假设 S3 帐户名称始终为 my-s3-account(13 个字节),存储桶具有固定长度的名称,如 /my/application/bucket-12345(28 个字节),对象具有固定长度的键,如 5733a5d7-f069-41ef-8fbd-13247494c69c(36 个字节)。那么 K 的值为 90(13+13+28+36)。
如果您可以确定 P 和 K 的值,您就可以使用以下公式估算外部 syslog 服务器必须能够处理的应用程序日志量。
Application Log Rate = ((1.1 x P) + (2.5 x (1 - P))) x S3 Operations Rate Application Log Average Size = (P x (220 + K)) + ((1 - P) x (240 + (0.2 x K))) Bytes
因此,例如,如果您的网格大小为每秒 1,000 个 S3 操作,您的工作负载为 50% PUT,并且您的 S3 帐户名称、存储桶名称和对象名称平均为 90 字节,那么您的外部 syslog 服务器的大小应支持每秒 1800 个应用程序日志,并且将以每秒 0.5 MB 的速率接收(通常存储)应用程序数据。
如果您使用擦除编码来保护数据
让 P 表示 S3 操作中 PUT 的百分比,其中 0 ≤ P ≤ 1(因此,对于 100% PUT 工作负载,P = 1,对于 100% GET 工作负载,P = 0)。
让 K 表示 S3 帐户名称、S3 存储桶和 S3 密钥总和的平均大小。假设 S3 帐户名称始终为 my-s3-account(13 个字节),存储桶具有固定长度的名称,如 /my/application/bucket-12345(28 个字节),对象具有固定长度的键,如 5733a5d7-f069-41ef-8fbd-13247494c69c(36 个字节)。那么 K 的值为 90(13+13+28+36)。
如果您可以确定 P 和 K 的值,您就可以使用以下公式估算外部 syslog 服务器必须能够处理的应用程序日志量。
Application Log Rate = ((3.2 x P) + (1.3 x (1 - P))) x S3 Operations Rate Application Log Average Size = (P x (240 + (0.4 x K))) + ((1 - P) x (185 + (0.9 x K))) Bytes
因此,例如,如果您的网格大小为每秒 1,000 个 S3 操作,您的工作负载为 50% PUT,并且您的 S3 帐户名称、存储桶名称和对象名称平均为 90 字节,那么您的外部 syslog 服务器的大小应支持每秒 2,250 个应用程序日志,并且应该能够以每秒 0.6 MB 的速率接收(通常存储)应用程序数据。