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

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

先决条件

  • 体系结构规范

    • 操作系统:以下项之一:

      • Windows 10 (Fall Creators update)

      • Windows Sever 版本 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. 在 Microsoft Defender 门户中,选择“设置”。 然后选择“Cloud Apps”

  2. 在“Cloud Discovery”下,选择“自动上传日志”。 然后选择“数据源”选项卡。

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

    1. 选择“+添加数据源”
      Add a data source.
    2. 命名代理服务器或防火墙。
      Add name for data source.
    3. 从“”列表中选择装置。 如果选择将“自定义日志格式”用于未列出的网络设备,请参阅使用自定义日志分析程序,以了解配置说明
    4. 将日志与预期的日志格式示例进行比较。 如果你的日志文件格式与此示例不匹配,则应将你的数据源添加为“其他”
    5. 将“接收器类型”设置为“FTP”、“FTPS”、“Syslog – UDP”、“Syslog – TCP”或“Syslog – TLS”

    注意

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

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

    • 出于调查目的,单独监视每个设备的状态。
    • 如果每个设备由不同用户段使用,按设备浏览 Shadow IT Discovery。
  4. 转到顶部的“日志收集器”选项卡。

    1. 选择“添加日志收集器”
    2. 为日志收集器指定名称
    3. 输入要用于部署此 Docker 的计算机的主机 IP 地址(专用 IP 地址)。 如果有解析主机名的 DNS 服务器(或等同设备),计算机名称可以替换主机 IP 地址。
    4. 选择要连接到收集器的所有数据源,然后选择“更新”以保存配置。 Select data source to connect.
  5. 将出现进一步的部署信息。 复制对话框中的运行命令。 可以使用复制到剪贴板图标,copy to clipboard icon.。 稍后会需要它。

  6. 导出所需的数据源配置。 此配置介绍了应如何在设备中设置日志导出。

    Create log collector.

    注意

    • 单个日志收集器可以处理多个数据源。
    • 复制屏幕上的内容,因为配置日志收集器与 Defender for Cloud Apps 通信时会用到此信息。 如果选择了 Syslog,此信息将包含 Syslog 侦听器正在侦听的端口信息。
    • 对于首次通过 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. 运行:& (Join-Path $Env:Temp LogCollectorInstaller.ps1) 这将在计算机上安装 Docker 客户端。

    Docker is installed.

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

  5. 当计算机再次启动并运行时,请在 PowerShell 中运行相同的命令:& (Join-Path $Env:Temp LogCollectorInstaller.ps1)

    Run PowerShell command again.

  6. 运行 Docker 安装程序。 选择“使用 WSL 2 而不是 Hyper-V(建议)”

    Installing Docker desktop.

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

  7. 重启完成后,请打开 Docker 客户端并仔细阅读 Docker 订阅协议:

    Accept Docker service agreement.

  8. 如果未完成 WSL2 安装,将会显示以下弹出消息:

    WSL 2 installation is incomplete.

  9. 按照下载 Linux 内核更新包中所述下载包,以完成安装。

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

    Open the Docker Desktop client.

  11. 以管理员身份运行 CMD,然后键入在门户中生成的运行命令。 如果需要配置代理,请添加代理 IP 地址和端口号。 例如,如果代理详细信息是 192.168.10.1:8080,则更新的运行命令为:

    (echo db3a7c73eb7e91a0db53566c50bab7ed3a755607d90bb348c875825a7d1b2fce) | docker run --name MyLogCollector -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='192.168.1.1'" -e "PROXY=192.168.10.1: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
    

    Create log collector.

  12. 使用以下命令验证收集器是否正常工作:docker logs <collector_name>

应看到消息:“成功完成!”

Verify that collector is running properly.

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

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

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

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

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

Verify that the collector status is Connected.

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

或者,你也可以使用以下命令从 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”

  2. 在“Cloud Discovery”下,选择“连续报表”

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

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

    注意

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

    Custom continuous report.

可选 - 验证安装程序签名

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

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

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

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

    Digital signature valid.

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

    Digital signature not valid.

后续步骤

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