本页面介绍了如何将日志从 Google Distributed Cloud (GDC) 气隙环境导出到外部安全信息和事件管理 (SIEM) 系统。此集成可实现集中式日志分析和增强型安全监控。
日志导出的核心是部署 SIEMOrgForwarder
自定义资源。此资源充当配置文件,用于指定指定接收日志的外部 SIEM 实例的详细信息。通过在 SIEMOrgForwarder
文件中定义这些参数,管理员可以建立简化的安全日志导出流水线。
准备工作
如需获得管理 SIEMOrgForwarder
自定义资源所需的权限,请让组织 IAM 管理员为您授予关联的 SIEM Export Org 角色之一。
根据您需要的访问权限级别,您可以在项目命名空间中获得此资源的创建者、编辑者或查看者角色。如需了解详情,请参阅准备 IAM 权限。
获得必要的权限后,请在将日志导出到外部 SIEM 系统之前完成以下步骤:
建立连接:确保 GDC 与外部 SIEM 目标之间存在连接。如有必要,请与基础设施运营商 (IO) 协作,以建立与客户网络的上行链路连接。
设置环境变量:设置以下环境变量,以便运行此页面中的命令:
kubeconfig 文件的路径:
export KUBECONFIG=KUBECONFIG_PATH
将
KUBECONFIG_PATH
替换为管理 API 服务器的 kubeconfig 文件的路径。您的项目命名空间:
export PROJECT_NAMESPACE=PROJECT_NAMESPACE
配置日志导出
将日志导出到外部 SIEM 系统:
提供令牌以将日志记录堆栈连接到 SIEM 系统。如需执行此操作,您必须在项目命名空间中创建一个 Secret 来存储令牌:
cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: v1 kind: Secret metadata: name: SECRET_NAME namespace: ${PROJECT_NAMESPACE} type: Opaque stringData: SECRET_FIELD: TOKEN EOF
替换以下内容:
SECRET_NAME
:您的 Secret 的名称。SECRET_FIELD
:您要存储 Secret 的字段的名称。TOKEN
:您的令牌。
在项目命名空间中部署
SIEMOrgForwarder
自定义资源。您必须通过选择审核日志或操作日志来指定日志类型。如需为这两种日志类型配置日志导出,您必须为每种类型部署一个SIEMOrgForwarder
资源。以下示例展示了如何将配置应用于
SIEMOrgForwarder
自定义资源:cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: logging.gdc.goog/v1 kind: SIEMOrgForwarder metadata: name: SIEM_ORG_FORWARDER namespace: ${PROJECT_NAMESPACE} spec: source: LOG_TYPE splunkOutputs: - host: SIEM_HOST token: name: SECRET_NAME field: SECRET_FIELD tls: "TLS" netConnectTimeout: NET_CONNECT_TIMEOUT EOF
替换以下内容:
SIEM_ORG_FORWARDER
:SIEMOrgForwarder
定义文件的名称。LOG_TYPE
:您要导出的日志类型。可接受的值为audit
和operational
。SIEM_HOST
:SIEM 主机的名称。SECRET_NAME
:您的 Secret 的名称。SECRET_FIELD
:您存储 Secret 的字段的名称。TLS
:传输层安全协议 (TLS) 的状态。可接受的值为"On"
和"Off"
。NET_CONNECT_TIMEOUT
:等待建立连接的最长时间(以秒为单位)。例如,值为180
表示等待 180 秒。
验证已部署的
SIEMOrgForwarder
自定义资源的状态:kubectl --kubeconfig=${KUBECONFIG} describe siemorgforwarder/SIEM_ORG_FORWARDER \ -n ${PROJECT_NAMESPACE}
根据日志类型,检查以下状态:
- 审核日志:检查
AuditLoggingReady
状态。 操作日志:检查
OperationalLoggingReady
状态。
- 审核日志:检查