在 Azure 中使用 Docker 配置自动日志上传

本文介绍如何使用 Azure 中的 Ubuntu 或 CentOS 上的 Docker 在 Defender for Cloud Apps 中为连续报表配置自动日志上传。

先决条件

在开始之前,请确保环境满足以下要求:

要求 说明
操作系统 以下各项之一:
- Ubuntu 14.04、16.04、18.04 和 20.04
- CentOS 7.2 或更高版本
磁盘空间 250 GB
CPU 内核 2
CPU 体系结构 Intel 64 和 AMD 64
RAM 4 GB
防火墙配置 网络要求中定义

按性能规划日志收集器

每个日志收集器可以成功处理每小时最多 50 GB 的日志容量,包括多达 10 个数据源。 日志收集过程中main瓶颈包括:

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

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

如果需要超过 10 个数据源,建议在多个日志收集器之间拆分数据源。

定义数据源

  1. 在Microsoft Defender门户中,选择“设置>”“云应用”“>云发现>自动日志上传”。

  2. 在“ 数据源 ”选项卡上,为要从中上传日志的每个防火墙或代理创建匹配的数据源:

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

    2. “添加数据源 ”对话框中,输入数据源的名称,然后选择源和接收方类型。

      在选择源之前,请选择“ 查看预期日志文件的示例 ”,并将日志与预期格式进行比较。 如果日志文件格式与此示例不匹配,请将数据源添加为 “其他”。

      若要使用未列出的网络设备,请选择“ 其他 > 客户日志格式 ”或“ 其他 (仅) 手动 ”。 有关详细信息,请参阅 使用自定义日志分析器

    注意

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

对日志可用于检测网络上流量的每个防火墙和代理重复此过程。

建议为每个网络设备设置一个专用数据源,以便单独监视每个设备的状态以进行调查,并在每个设备由其他用户段使用时浏览每个设备的影子 IT 发现。

创建日志收集器

  1. 在Microsoft Defender门户中,选择“设置>”“云应用”“>云发现>自动日志上传”。

  2. 在“ 日志收集器 ”选项卡上,选择“ 添加日志收集器”。

  3. “创建日志收集器 ”对话框中,输入以下详细信息:

    • 日志收集器的名称
    • 主机 IP 地址,它是用于部署 Docker 的计算机的专用 IP 地址。 如果存在解析主机名的 DNS 服务器或等效服务器,也可以将主机 IP 地址替换为计算机名称。

    然后选择“ 数据源 () ”框以选择要连接到收集器的数据源,然后选择“ 更新 ”以保存所做的更改。 每个日志收集器可以处理多个数据源。

    创建日志收集器 ”对话框显示进一步的部署详细信息,包括用于导入收集器配置的命令。 例如:

    要从“创建日志收集器”对话框复制的命令的屏幕截图。

  4. 选择“复制到剪贴板”图标。命令旁边的“复制”图标,以便将其复制到剪贴板。

    “创建日志收集器”对话框中显示的详细信息因所选源和接收方类型而异。 例如,如果选择了 Syslog,对话框将包含有关 syslog 侦听器侦听的端口的详细信息。

    复制屏幕内容并将其保存在本地,因为将日志收集器配置为与Defender for Cloud Apps通信时需要它们。

  5. 选择“ 导出 ”,将源配置导出到描述如何在设备中配置日志导出的 .CSV 文件。

提示

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

在 Azure 中部署计算机

此过程介绍如何使用 Ubuntu 部署计算机。 其他平台的部署步骤略有不同。

  1. 在 Azure 环境中创建新的 Ubuntu 计算机。

  2. 计算机启动后,打开端口:

    1. 在计算机视图中,转到 “网络 ”,通过双击选择相关界面。

    2. 转到 “网络安全组 ”,然后选择相关的网络安全组。

    3. 转到 “入站安全规则 ”,然后单击“ 添加”。

    4. 高级 模式) 中添加以下规则 (:

      名称 目标端口范围 协议 目标
      caslogcollector_ftp 21 TCP Your appliance's IP address's subnet 任何
      caslogcollector_ftp_passive 20000-20099 TCP Your appliance's IP address's subnet 任何
      caslogcollector_syslogs_tcp 601-700 TCP Your appliance's IP address's subnet 任何
      caslogcollector_syslogs_udp 514-600 UDP Your appliance's IP address's subnet 任何

    有关详细信息,请参阅 使用安全规则

  3. 返回计算机,然后单击“连接”打开计算机上的终端。

  4. 使用 sudo -i更改为根权限。

  5. 如果接受软件许可条款,请卸载旧版本并通过运行适用于你的环境的命令来安装 Docker CE:

    1. 删除旧版 Docker: yum erase docker docker-engine docker.io

    2. 安装 Docker 引擎先决条件: yum install -y yum-utils

    3. 添加 Docker 存储库:

      yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      yum makecache
      
    4. 安装 Docker 引擎: yum -y install docker-ce

    5. 启动 Docker

      systemctl start docker
      systemctl enable docker
      
    6. 测试 Docker 安装: docker run hello-world

  6. 运行之前从 “创建日志收集器 ”对话框复制的命令。 例如:

    (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
    
  7. 若要验证日志收集器是否正常运行,请运行以下命令: Docker logs <collector_name>。 应获得结果: 成功完成!

配置网络设备本地设置

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

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

在 Defender for Cloud Apps 中验证部署

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

例如:

已连接收集器状态的屏幕截图。

还可以转到 治理日志 ,并验证是否定期将日志上传到门户。

或者,可以使用以下命令从 docker 容器内检查日志收集器状态:

  1. 使用以下命令登录到容器: docker exec -it <Container Name> bash
  2. 使用以下命令验证日志收集器状态: collector_status -p

如果在部署过程中遇到问题,请参阅 云发现疑难解答

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

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

  1. 在Microsoft Defender门户中,选择“设置”。 然后选择“ 云应用”。

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

  3. 单击“ 创建报表 ”按钮并填写字段。

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

    注意

    对连续报表应用筛选器时,将包含所选内容,但不排除。 例如,如果对某个用户组应用筛选器,则报表中只会包含该用户组。

    自定义连续报表的屏幕截图。

删除日志收集器

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

docker stop <collector_name>
docker rm <collector_name>

后续步骤

如果你遇到任何问题,我们随时为你提供帮助。 若要获取有关产品问题的帮助或支持,请 开具支持票证