使用 Windows 上的本地 Docker 配置自动上传日志

可以使用 Windows 上的 Docker 为 Defender for Cloud Apps 中的连续报表配置自动上传日志。

先决条件

  • 体系结构规范

    规格 说明
    操作系统 以下项之一:
  • Windows 10 (Fall creators update)
  • Windows Server 版本 1709+ (SAC)
  • Windows Server 2019 (LTSC)
  • 磁盘空间 250 GB
    CPU 核心数 2
    CPU 体系结构 Intel 64 和 AMD 64
    RAM 4 GB

    有关受支持 Docker 体系结构的列表,请参阅 Docker 安装文档

  • 按需设置防火墙。 有关详细信息,请参阅网络要求

  • 必须使用 Hyper-V 对操作系统启用虚拟化

重要

  • 拥有超过 250 名用户或年收入超过 1000 万美元的企业客户需要付费订阅才能使用用于 Windows 的 Docker Desktop。 有关更多信息,请参阅 Docker 订阅概述
  • 用户必须登录才能让 Docker 收集日志。 我们建议 Docker 用户在不退出登录的情况下断开连接。
  • 用于 Windows 的 Docker 在 VMWare 虚拟化应用场景中不受官方支持。
  • 用于 Windows 的 Docker 在嵌套的虚拟化应用场景中不受官方支持。 如果仍打算使用嵌套虚拟化,请参阅 Docker 的官方指南
  • 有关用于 Windows 的 Docker 的其他配置和实施注意事项,请参阅在 Windows 上安装 Docker Desktop

删除现有日志收集器

如果有现有的日志收集器,并且想要在再次部署它之前将其移除,或者只是想移除它,请运行以下命令:

docker stop <collector_name>
docker rm <collector_name>

日志收集器性能

日志收集器可成功处理每小时最大 50 GB 的日志容量。 日志收集过程中的主要瓶颈是:

  • 网络带宽 - 网络带宽决定日志上传速度。

  • 虚拟机的 I/O 性能 - 确定日志收集器磁盘写入日志的速度。 日志收集器具有内置的安全机制,用于监视日志到达的速率,并将其与上载速度进行比较。 如果出现拥塞情况,日志收集器将开始删除日志文件。 如果设置通常超过每小时 50 GB,建议在多个日志收集器之间拆分流量。

步骤 1 – Web 门户配置

使用以下步骤来定义数据源并将其链接到日志收集器。 单个日志收集器可处理多个数据源。

  1. 在 Microsoft Defender 门户中,选择设置>Cloud Apps>Cloud Discovery>自动日志上传>数据源选项卡。

  2. 对于要从中上载日志的每个防火墙或代理服务器,创建匹配的数据源:

    1. 选择“+添加数据源”

      “添加数据源”按钮的屏幕截图。

    2. 命名代理服务器或防火墙。

      “添加数据源”对话框的屏幕截图

    3. 从“”列表中选择装置。 如果选择将自定义日志格式用于未列出的网络设备,请参阅使用自定义日志分析程序,以了解配置说明。

    4. 将日志与预期的日志格式示例进行比较。 如果你的日志文件格式与此示例不匹配,则应将你的数据源添加为“其他”

    5. 将“接收器类型”设置为“FTP”、“FTPS”、“Syslog – UDP”、“Syslog – TCP”或“Syslog – TLS”

      注意

      与安全传输协议(FTPS 和 Syslog – TLS)相集成通常需要防火墙/代理的其他设置。

    6. 对其日志可用于检测网络上流量的每个防火墙和代理服务器重复此过程。 建议按网络设备设置专用数据源,以便能完成以下操作:

      • 出于调查目的,单独监视每个设备的状态。
      • 如果每个设备由不同用户段使用,按设备浏览 Shadow IT Discovery。
  3. 在页面顶部,选择日志收集器选项卡,然后选择添加日志收集器

  4. 创建日志收集器对话框中:

    1. 名称字段中,为日志收集器输入一个有意义的名称。

    2. 为日志收集器命名,然后输入将用于部署 Docker 的计算机的主机 IP 地址(私有 IP 地址)。 如果有解析主机名的 DNS 服务器(或等同设备),计算机名称可以替换主机 IP 地址。

    3. 选择要连接到收集器的所有数据源,然后选择“更新”以保存配置。

      更多部署信息会显示在后续步骤部分,其中包括后续用于导入收集器配置的命令。 如果选择 Syslog,此信息则还包含 Syslog 侦听器要侦听的端口的相关数据。

    4. 使用 复制到剪贴板图标。 复制按钮将此命令复制到剪贴板,并将其保存到单独的位置。

    5. 使用 导出 导出按钮导出预期的数据源配置。 此配置介绍了应如何在设备中设置日志导出。

对于首次通过 FTP 发送日志数据的用户,我们建议更改 FTP 用户的密码。 有关详细信息,请参阅更改 FTP 密码

步骤 2 – 计算机的本地部署

以下步骤介绍了 Windows 中的部署。 其他平台的部署步骤略有不同。

  1. 以管理员身份在 Windows 计算机上打开 PowerShell 终端。

  2. 运行以下命令下载 Windows Docker 安装程序 PowerShell 脚本文件:

    Invoke-WebRequest https://adaprodconsole.blob.core.windows.net/public-files/LogCollectorInstaller.ps1 -OutFile (Join-Path $Env:Temp LogCollectorInstaller.ps1)
    

    要验证安装程序是否由 Microsoft 签名,请参阅验证安装程序签名

  3. 若要启用 PowerShell 脚本执行,请运行:

    Set-ExecutionPolicy RemoteSigned`
    
  4. 若要在计算机上安装 Docker 客户端,请运行:

    & (Join-Path $Env:Temp LogCollectorInstaller.ps1)`
    

    运行该命令后,计算机会自动重新启动。

  5. 当计算机再次启动并运行时,请再次运行同一命令:

    & (Join-Path $Env:Temp LogCollectorInstaller.ps1)`
    
  6. 运行 Docker 安装程序,以便选择使用 WSL 2 而不是 Hyper-V。

    安装完成后,计算机会再次自动重启。

  7. 重启完成后,请打开 Docker 客户端并接受 Docker 订阅协议。

  8. 如果未完成 WSL2 安装,则会显示一条消息,其中指出 WSL 2 Linux 内核是使用单独的 MSI 更新包来安装的。

  9. 通过下载此包来完成安装。 有关详细信息,请参阅下载 Linux 内核更新包

  10. 再次打开 Docker Desktop 客户端,并确保该客户端已启动。

  11. 以管理员身份打开命令提示符,然后在步骤 1 – Web 门户配置中输入之前从门户复制的运行命令。

    如果需要配置代理,请添加代理 IP 地址和端口号。 例如,如果代理详细信息是 172.31.255.255:8080,则更新的运行命令为:

    (echo db3a7c73eb7e91a0db53566c50bab7ed3a755607d90bb348c875825a7d1b2fce) | docker run --name MyLogCollector -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.255.255.255'" -e "PROXY=172.31.255.255:8080" -e "CONSOLE=mod244533.us.portal.cloudappsecurity.com" -e "COLLECTOR=MyLogCollector" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    
  12. 若要验证收集器是否正常运行,请运行:

    docker logs <collector_name>
    

    应能看到消息:已成功完成! 例如:

    验证收集器是否正常运行的命令的屏幕截图。

步骤 3 - 网络设备的本地配置

配置网络防火墙和代理,根据对话框指示定期将日志导出到 FTP 目录的专用 Syslog 端口。 例如:

BlueCoat_HQ - Destination path: \<<machine_name>>\BlueCoat_HQ\

步骤 4 - 在门户中验证成功的部署

检查日志收集器表中的收集器状态,确保状态为已连接。 如果状态为“已创建”,则可能表示未完成日志收集器的连接和分析

验证收集器状态是否为“已连接”。

也可以转到“治理日志”并验证日志是否会定期上传到门户。

或者,你也可以使用以下命令从 Docker 容器中检查日志收集器状态:

  1. 登录到容器:

    docker exec -it <Container Name> bash
    
  2. 验证日志收集器状态:

    collector_status -p
    

如果在部署期间遇到问题,请参阅 Cloud Discovery 疑难解答

可选 - 创建自定义连续报表

验证日志是否将上传到 Defender for Cloud Apps,并且是否已生成了报表。 验证之后,创建自定义报表。 你可以基于 Microsoft Entra 用户组创建自定义发现报表。 例如,如果要查看市场营销部门的云使用情况,则使用导入用户组功能导入市场营销组。 然后创建此组的自定义报表。 还可以基于 IP 地址标记或 IP 地址范围自定义报表。

  1. 在 Microsoft Defender 门户中,选择设置>Cloud Apps>Cloud Discovery>连续报表

  2. 选择“创建报表”按钮,然后填写各字段。

  3. 在“筛选器”下,可以按数据源、导入的用户组IP 地址标记和范围筛选数据。

    注意

    在连续报表上应用筛选器时,将包括所选内容,而不是排除。 例如,如果对特定用户组应用筛选器,则报表中仅包含该用户组。

    创建连续报表。

可选 - 验证安装程序签名

确保 Docker 安装程序由 Microsoft 签名:

  1. 右键单击文件并选择“属性”

  2. 选择“数字签名”,确保其显示“此数字签名正常”

  3. 确保“微软公司”作为唯一条目列在“签名者名称”下。

    数字签名有效。

    如果数字签名无效,将显示“此数字签名无效”

    数字签名无效。

后续步骤

如果遇到任何问题,我们可以提供帮助。 要获取产品问题的帮助或支持,请开立支持票证