安装和配置转发器

支持以下语言:

本文档介绍了如何使用 Docker 在 Linux 和 Windows 系统上安装和配置 Google 安全运营转发器。

转发器是一种软件组件 在您网络中的计算机或设备(例如服务器)上安装。它会收集日志数据,并将这些数据转发到您的 Google SecOps 实例。

您可以使用转发器将日志直接从您的环境发送到 Google SecOps,而无需针对不受支持的日志类型使用云存储桶或第三方 API。转发器可充当一个可以部署的解决方案 因此无需手动集成 ingestion API。

Google SecOps 为安全转发器提供 Docker 容器 部署。您可以在物理机或虚拟机上运行和管理 Docker 容器。

系统要求

下面是一些常规建议。如需了解与您的系统相关的建议,请与 Google SecOps 支持团队联系。

Linux 系统

各种 Linux 发行版(例如 Debian、Ubuntu、Red Hat 和 Suse)都支持转发器。为了获得最佳性能,建议使用 Docker 20.10.21 或更高版本。

  • RAM:对于 Google SecOps 接受用于提取的每种收集的数据类型,都需要 1 GB RAM。例如,如果您指定了四个不同的收集器, 需要 4 GB RAM 才能收集所有四台设备的数据。

  • CPU:两个 CPU 足以处理每秒最多 10,000 个事件 所有数据类型的 EPS (EPS)。如果您预计转发器处理 10,000 EPS,分配 4 到 6 个 CPU。

  • 磁盘:建议使用 20 GB 的磁盘空间,无论存储的数据量是多少 转发器句柄。

Windows 系统

Microsoft Windows Server 2022 支持转发器。为了获得最佳性能, 建议使用 20.10.21 或更高版本的 Docker。

  • RAM:每种收集的数据类型都需要 1.5 GB RAM Google SecOps 接受 进行提取。例如,如果您指定了四个不同的收集器, 需要 6 GB RAM 来收集所有四台设备的数据。

  • CPU:两个 CPU 足以处理每秒最多 10,000 个事件 所有数据类型的 EPS (EPS)。如果您预计转发器处理的 EPS 超过 10,000,请分配 4 到 6 个 CPU。

  • 磁盘:建议使用 20 GB 的磁盘空间,无论有多少数据 转发器句柄

准备工作

在开始实现转发器之前,请考虑以下事项。

Google IP 地址范围

配置转发器时,您可能需要调整防火墙设置, 涉及指定 IP 地址范围Google API 和服务使用的默认网域 IP 地址范围是动态分配的,并且经常变化。请参阅 获取 Google IP 地址范围

验证防火墙配置

如果您的转发器容器位于任何防火墙或经过身份验证的代理后面,您需要开放对以下主机的访问权限:

连接类型 目标 端口
TCP malachiteingestion-pa.googleapis.com 443
TCP asia-northeast1-malachiteingestion-pa.googleapis.com 443
TCP asia-south1-malachiteingestion-pa.googleapis.com 443
TCP asia-southeast1-malachiteingestion-pa.googleapis.com 443
TCP australia-southeast1-malachiteingestion-pa.googleapis.com 443
TCP europe-malachiteingestion-pa.googleapis.com 443
TCP europe-west2-malachiteingestion-pa.googleapis.com 443
TCP europe-west3-malachiteingestion-pa.googleapis.com 443
TCP europe-west6-malachiteingestion-pa.googleapis.com 443
TCP europe-west12-malachiteingestion-pa.googleapis.com 443
TCP me-central1-malachiteingestion-pa.googleapis.com 443
TCP me-central2-malachiteingestion-pa.googleapis.com 443
TCP me-west1-malachiteingestion-pa.googleapis.com 443
TCP northamerica-northeast2-malachiteingestion-pa.googleapis.com 443
TCP accounts.google.com 443
TCP gcr.io 443
TCP oauth2.googleapis.com 443
TCP storage.googleapis.com 443

制定实施计划

在开始配置转发器之前,请先规划您的实现。这有助于您将数据源和配置属性与安全目标、基础架构功能和可伸缩性要求保持一致。

确定要提取的数据

根据以下信息为转发器确定最相关的数据源 选项:

  • Splunk:如果您已经在使用 Splunk 进行日志管理,则非常适合。

  • Syslog:可用于存储来自各种设备的系统和应用日志。

  • 文件:可以灵活提取任何日志文件。

  • 数据包:通过捕获原始流量,提供深入的网络可见性。

  • Kafka:非常适合从分布式进行大批量实时日志聚合 系统。

  • WebProxy:非常适合用于深入分析网络流量和用户行为。

确定配置

在安装转发器之前,请确定以下关键属性以确保 成功实施。

数据压缩

数据或日志压缩可减少传输时的网络带宽消耗 将日志记录到 Google SecOps不过,这可能会导致 CPU 使用率增加。 带宽节省与 CPU 使用率之间的最佳平衡取决于 日志类型、数据的可压缩性、可用的 CPU 资源、 以及网络带宽限制

例如,基于文本的日志通常可以很好地进行压缩, 节省带宽和低 CPU 使用率,而加密或二进制数据 可能无法高效压缩,并且可能会产生更高的 CPU 使用量。

默认情况下,日志压缩处于停用状态。根据您的具体环境和日志数据的性质评估权衡。

磁盘缓冲

建议启用磁盘缓冲。磁盘缓冲功能可让您将积压的消息缓冲到磁盘,而不是 从而在转发器或主机崩溃时防止数据丢失。 不过,启用磁盘缓冲可能会影响性能。

如果停用磁盘缓冲,转发器会为每种日志类型(例如,每个连接器)分配 1 GB 的内存 (RAM)。磁盘缓冲区允许的内存上限为 4 GB。

正则表达式过滤条件

通过正则表达式过滤条件,您可以按匹配模式过滤日志 原始日志数据进行对比。过滤条件使用 RE2 语法。过滤条件必须包含正则表达式,并视需要定义匹配时的行为。

任意标签

标签用于通过键值对将自定义元数据附加到日志。 您可以为整个转发器或转发器的特定收集器配置标签。如果两者都存在,收集器级别的标签会覆盖转发器 标签。

命名空间

您可以使用命名空间标签来标识来自不同网段和 消除重叠的 IP 地址的冲突您可以为整个转发器或在转发器的特定收集器中配置命名空间标签。如果同时存在这两者,则收集器级命名空间会替换转发器级命名空间。

日志类型

Google SecOps 支持多种日志类型。如需完整列表 请参阅支持的数据集

负载均衡和高可用性选项

负载均衡仅适用于 syslog 集合类型。

转发器可以部署在具有第 4 层负载均衡器 安装在数据源和转发器实例之间。这样,您就可以 将日志收集分发到多个转发器, 在发生故障时将日志重定向到其他转发器。

转发器有一个内置 HTTP 服务器,该服务器会响应来自负载均衡器的健康检查,并防止在启动和关闭期间丢失日志。您可以配置 用于指定超时的 HTTP 服务器、负载均衡和高可用性选项 健康检查持续时间和状态代码。此配置兼容 以及基于容器的部署和负载平衡器

设置 说明
安全超时 在 转发器会返回 unready 状态来响应健康检查。 这也是接收信号停止和停止之间的等待时间 实际上是开始关闭服务器本身。这样, 从池中移除转发器所需的负载均衡器时间。

有效值以秒为单位。例如,如需指定 10 秒,请输入 10.。不允许使用小数值。

默认值:15 秒
排空超时 转发器在关闭服务器之前等待活跃连接自行关闭的时间量。例如,如需指定 5 秒,请输入 5.。不允许使用小数值。

默认值:10 秒
Port(端口) HTTP 服务器侦听来自负载均衡器的健康检查的端口号。该值必须介于 1,024 到 65,535 之间。

默认值:8080
IP 地址或主机名 服务器应监听的 IP 地址或可解析为 IP 地址的主机名。

默认值:0.0.0.0(本地系统)
读取超时 用于微调 HTTP 服务器。通常保留默认设置即可,无需更改。允许用于读取整个请求(标头和正文)的最长时间。您可以同时设置 读取超时字段和读取标头 超时字段。

默认值:3 秒
读取标头超时 用于微调 HTTP 服务器。通常无需更改 默认设置允许用于读取请求标头的最长时间。读取标头后,连接的读取截止时间会重置。

默认值:3 秒
写入超时 用于微调 HTTP 服务器。通常无需更改 默认设置允许发送响应的最长时间。读取新请求标头时,此值会重置。

默认值:3 秒
空闲超时 用于微调 HTTP 服务器。通常无需更改 默认设置启用空闲连接后等待下一个请求的最长时间。如果 idle_timout 字段设置为零,则使用 read_timout 字段的值。如果两者均为零,则使用读取标头超时字段。

默认值:3 秒
可用状态代码 收到活跃性检查且转发器可用时,转发器返回的状态代码。容器调度器和 编排器通常会发送活跃性检查

默认值:204
“准备就绪”状态代码 在以下任一情况下,转发器准备好接受流量时返回的状态代码:
  • 从容器调度器或 编排系统
  • 从负载均衡器接收健康检查。
默认值:204
“未就绪”状态代码 转发器在未准备好接受时返回的状态代码 流量。

默认值:503

第 1 步:定义转发器配置

每个部署的转发器都需要一个转发器配置文件。答 转发器配置文件指定了将数据转移到的目标设置 您的 Google SecOps 实例我们建议您生成新的 每个主机的配置文件 明确区分与每个对象相关联的收集器。

Google Cloud 会使用每个转发器实例的特定元数据自定义这些配置文件。您可以修改这些文件以满足您的具体要求,并添加有关您要提取的日志类型的详细信息。

您可以通过界面或 或手动上传

  • 该界面提供了用于配置转发器的图形界面,是创建转发器配置的推荐方法。这是最简单的入门方法,不需要任何 编程。如需使用 Google SecOps 界面下载配置文件,请参阅通过 Google SecOps 界面管理转发器配置

  • 该 API 提供了一种程序化方式来配置转发器。下载 转发器配置的详情,请参见 Forwarder Management API

  • 您可以手动创建配置文件并添加配置 一些其他选项我们建议使用界面方法生成配置文件,以确保准确性并最大限度地减少可能出现的错误。如需手动生成该文件,请参阅手动管理转发器配置文件

第 2 步:安装 Docker

本部分介绍如何在系统上安装 Docker。

Linux 系统

Docker 是开源的,所有必要的文档都可以从开源 Docker 社区获取。如需了解 Docker 安装说明,请参阅安装 Docker Engine

如需检查 Docker 是否已正确安装在您的系统上,请执行以下命令 命令(需要提升的权限):

   docker ps
  

以下响应表明 Docker 已正确安装:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Windows 系统

以管理员权限启动 Windows PowerShell 并检查网络 连接到 Google Cloud 步骤:

  1. 点击开始

  2. 输入 PowerShell 并右键点击 Windows PowerShell

  3. 点击以管理员身份运行

  4. 运行以下命令:

    C:\> test-netconnection <host> -port <port>
    

    命令输出指出 TcpTestSucceeded 状态为 true

    示例:

    C:\> test-netconnection malachiteingestion-pa.googleapis.com -port 443
    ComputerName     :  malachiteingestion-pa.googleapis.com
    RemoteAddress    : 198.51.100.1
    RemotePort       : 443
    InterfaceAlias   : Ethernet
    SourceAddress    : 203.0.113.1
    TcpTestSucceeded : True
    

如需安装 Docker,请在 Windows 服务器上执行以下操作。

  1. 启用 Microsoft Windows 容器功能:

    Install-WindowsFeature containers -Restart
    
  2. 在 PowerShell 管理员模式下执行以下命令进行安装: Docker CE:

    Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
    
    .\install-docker-ce.ps1
    
    
  3. 通过运行 docker ps 命令来测试 Docker 命令行界面,该命令会返回正在运行的容器的列表。如果未安装 Docker 系统会显示错误。

    如需了解详情,请参阅使用入门:为容器准备 Windows

    对于企业部署,请安装 Mirantis Container Runtime(也称为 Docker EE)。

第 3 步:安装转发器

本部分介绍了如何使用 Docker 容器安装转发器。

第 3a 步:将配置文件移至转发器目录

转发器安装过程的第一步包括将 指定转发器目录中必需的配置文件

Linux 系统

按照以下步骤将配置文件放入转发器目录中:

  1. 使用终端连接到 Linux 转发器主机。

  2. 将目录更改为运行 Docker 容器的主目录。

  3. 创建一个用于存储转发器配置文件的目录。

      mkdir /opt/chronicle/'CONFIG'
    

    您可以将目录名称 CONFIG 替换为您选择的任意名称。Ensure 在运行 docker run 命令时使用相同的目录名称。

  4. 更改目录。

      cd /opt/chronicle/config
    

  5. 文件传输完毕后,请确保配置文件已传输 位于 /opt/chronicle/config 目录中。

      ls -l
    

Windows 系统

创建一个 C:\config 文件夹,并将配置文件放入其中。您可以 将文件夹名称 config 替换为您选择的任意名称。确保在运行 docker run 命令时使用相同的文件夹名称。

第 3b 步:运行转发器

将配置文件放置在指定的转发器目录中后,您可以启动转发器或升级到最新版本的 Google SecOps 容器。

如果您要升级容器,请通过以下命令清理之前运行过的所有 Docker: 执行以下命令。

      docker stop 'cfps'
    

      docker rm 'cfps'
    

在此示例中,Docker 容器名称为 cfps

启动转发器 或升级到 Google SecOps 容器,请执行以下操作:

  1. 从 Google Cloud 获取最新的 Docker 映像:

    Linux 系统:

        docker pull gcr.io/chronicle-container/cf_production_stable
    

    Windows 系统:

      docker pull gcr.io/chronicle-container/cf_production_stable_windows
    
  2. 从 Docker 容器启动转发器:

    Linux 系统:

      docker run \
        --detach \
        --name cfps \
        --restart=always \
        --log-opt max-size=100m \
        --log-opt max-file=10 \
        --net=host \
        -v /opt/chronicle/config:/opt/chronicle/external \
        gcr.io/chronicle-container/cf_production_stable
    

    Windows 系统:

      docker run `
        --detach `
        --name cfps `
        --restart=always `
        --log-opt max-size=100m `
        --log-opt max-file=10 `
        -p 0.0.0.0:10515-10520:10515-10520/udp `
        -v C:\config\:C:/opt/chronicle/external `
        gcr.io/chronicle-container/cf_production_stable_windows
    

--log-opt 选项自 Docker 1.13。这些选项可限制容器日志文件的大小, 使用的 Docker 版本支持它们。

管理转发器

以下部分介绍了如何管理转发器。

查看转发器日志

  • 如需查看转发器日志,请执行以下命令:

    docker logs cfps
    
  • 如需查看存储日志的文件的路径,请执行以下命令:

    docker inspect --format='{{.LogPath}}' CONTAINER_NAME
    
  • 如需查看实时运行日志,请执行以下命令:

    docker logs cfps -f
    
  • 如需将日志存储在文件中,请执行以下命令:

    docker logs cfps &> logs.txt
    

卸载转发器

以下 Docker 命令可帮助您停止、卸载或移除转发器。

  • 如需停止或卸载转发器容器,请执行以下命令:

    docker stop cfps
    
  • 如需移除转发器容器,请执行如下命令:

    docker rm cfps
    

更新转发器

转发器由两个组件组成,每个组件都有如下所示的更新过程:

  • Forwarder Bundle:该组件会自动更新,消除了 不需要重启

  • 转发器 Docker 映像:对此组件的更新是手动执行的。 您需要停止当前的转发器实例,然后启动一个新的转发器实例,如 如第 3b 步中所述。

适用于特定数据集的转发器提取指南

如需了解如何使用转发器提取特定数据集,请参阅以下内容: