ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Fleet 4.47.0 深度解读:跨平台远程擦除、漏洞总览页面与脚本执行能力升级

2026/9/18 10:13:32 拓冰建站 浏览量
Fleet 4.47.0 深度解读:跨平台远程擦除、漏洞总览页面与脚本执行能力升级 Fleet 4.47.0 深度解读跨平台远程擦除、漏洞总览页面与脚本执行能力升级【免费下载链接】fleetOpen device management项目地址: https://gitcode.com/GitHub_Trending/fl/fleetFleet 4.47.0 是一次聚焦安全防护与运维效率的版本发布核心亮点包括面向 macOS、Windows、Linux 的跨平台远程擦除Remote Wipe、Software 页面内新增的漏洞CVE总览页、更灵活的远程脚本执行支持按脚本名执行与更大的脚本体积以及团队级主机状态 Webhook、Windows 配置描述文件Add元素支持和GET /hostsAPI 内联策略数据等能力。本文以官方发布说明 articles/fleet-4.47.0.md 为主体结合仓库源码给出实现层面的印证帮助管理员完整掌握本次升级的每一项能力与升级注意事项。Highlights 总览Fleet 4.47.0发布于 2024-03-12共带来以下 7 项核心改进跨平台远程擦除支持对 macOS、Windows、Linux 主机执行远程擦除漏洞页面在 Software 页面中新增独立的漏洞CVE总览并可导出受特定 CVE 影响的主机列表脚本能力增强支持在 Fleet 平台内保存更长的脚本并可通过fleetctl按脚本名称执行脚本Windows 配置描述文件增强支持在 Windows MDM 描述文件中使用Add元素团队级主机状态 Webhook可按团队配置主机离线告警阈值DEP 描述文件下发流程改进对 ADE原 DEP描述文件下发失败引入智能重试机制/hostsAPI 内联策略数据GET /hosts响应可一次性携带主机策略数据。跨平台远程擦除macOS / Windows / Linux远程擦除是本次发布最重要的安全能力。当设备丢失、被盗或可能已被入侵时IT 与安全人员可以直接从 Fleet 触发远端数据擦除阻止敏感数据泄露为抵御未授权访问增加一道防线。在实现层面Fleet 在 server/api_endpoints/api_endpoints.yml 中注册了 Premium API 端点- method: POST path: /api/v1/fleet/hosts/:id/wipe display_name: Wipe host该端点与既有的 Lock/Unlock 端点POST /api/v1/fleet/hosts/:id/lock、POST /api/v1/fleet/hosts/:id/unlock并列共同构成主机的远程管控命令集。除 REST API 外fleetctl 也新增了wipe命令且 Web UI 中已实现针对 Fleet MDM 管理主机的擦除入口Added UI for wiping a host with Fleet MDM管理员可以通过三种途径发起擦除Fleet Web UI 的主机详情页fleetctlCLIfleetctl wipe相关子命令直接调用POST /api/v1/fleet/hosts/:id/wipe。从该端点的定位/api/v1/fleet/...为 Premium 功能命名空间可以看出远程擦除属于 Fleet Premium 能力使用时需要对应的许可证并且主机需处于 Fleet MDM 纳管状态才能接收擦除指令。Software 页面内的漏洞Vulnerabilities总览页4.47.0 在 Software 页面中新增了一个专门的漏洞页面集中展示跨所有主机的漏洞CVE全貌帮助安全工程师快速定位、评估并排定修复优先级。该页面的核心价值点有两个集中视图不再需要逐个主机或逐个软件去翻找 CVE所有已识别漏洞在一个页面内汇总可导出受影响主机针对某个具体 CVE可以导出受其影响的主机列表直接交给负责修复的工程师打通发现漏洞 → 定位影响范围 → 派发修复的闭环。这与 Fleet 一贯的可操作性优先理念一致不仅展示漏洞更提供推动修复行动所需的数据。结合本次 Vulnerability management 类目的修复减少漏洞字典分组处理耗时、修复非 ASCII 软件名的漏洞处理、修复mdm.enable_disk_encryption的 JSON null 值问题4.47.0 在漏洞数据的处理速度与准确性上都有同步提升。脚本执行能力增强更长脚本 按名称执行远程脚本执行在 4.47.0 中获得两项关键升级直接回应了管理员对复杂诊断、维护与安全任务的诉求1. 支持更长的脚本内容此前 Fleet 对脚本长度有限制4.47.0 在平台内提升了可保存脚本的长度上限Added backend functionality for the new way of storing script contents and updated the script character limit.Updated the database schema to support the increase in script size.即后端引入了新的脚本内容存储方式并通过数据库 schema 变更server/datastore/mysql/schema.sql支撑更大体积的脚本。这意味着管理员可以保存并运行更长的自动化脚本而无需拆分或外部托管。2. 通过名称执行脚本fleetctl run-script新增了相关 flag同时POST /scripts/run/syncAPI 也接收新的参数允许管理员直接以脚本名称script name触发执行无需再携带完整脚本内容减少重复传参带来的出错风险。从 server/service/client_scripts.go 的客户端实现可以看到执行请求的载荷结构req : fleet.HostScriptRequestPayload{ HostID: hostID, ScriptName: scriptName, TeamID: teamID, } if len(scriptContents) 0 { req.ScriptContents string(scriptContents) }HostScriptRequestPayload同时支持ScriptName与ScriptContents两种指定方式传入脚本名即可执行平台上已保存的脚本而客户端提供的同步方法RunHostScriptSync会在提交后以 5 秒为间隔轮询执行结果const pollWaitTime 5 * time.Second直到拿到ExecutionID对应的最终结果便于在自动化管线中直接获取脚本输出。Windows 配置描述文件支持Add元素对 Windows MDM 管理员而言本次最值得关注的是描述文件对Add元素的支持。Windows 配置描述文件此前主要依赖Replace元素但在某些场景如追加 Wi-Fi 配置下Replace并不适用——Add允许在保留既有配置的基础上新增配置项从而实现更细粒度的 OS 设置控制。从变更列表可以确认对应的后台改动Enabled usage ofAddnodes in Windows MDM profiles.Fixed Windows MDM profile command Type column display.修复了描述文件命令 Type 列的展示这意味着管理员可以针对 Windows 设备下发更符合实际需求的描述文件例如为设备增量添加 Wi-Fi 配置而不必整体替换既有 profile。团队级主机状态 Webhook主机离线告警此前是全局配置4.47.0 将其下沉到团队级别Webhook 可以在团队维度配置当该团队指定比例的主机离线时触发告警。这一设计的典型用法是分级告警对关键团队设置较低的离线阈值如 20%第一时间感知异常对非关键团队设置较高的阈值如 60%避免告警噪音。配置途径有三种Web UI支持标准配置Implemented UI for team-specific host status webhooksREST API团队级主机状态 Webhook 可通过 API 设置Enabled setting host status webhook at the team level via REST API and fleetctl配置文件支持更定制化的选项Supported custom options set via CLI in the UI可通过fleetctl或 GitOps 配置文件精确控制。ADE原 DEP描述文件下发流程改进macOS 主机在 Device Enrollment ProgramDEP现称 Automatic Device Enrollment / ADE描述文件下发过程中可能因 MDM API 的速率限制rate limit而偶发失败。4.47.0 实现了智能重试机制当描述文件应用到主机失败时任务会超时并在一小时内重新调度绝大多数失败的 DEP 描述文件下发都会在该时间窗口内自动解决同时Prevented redundant ADE profile assignment避免重复下发减少无谓的 API 调用。配合 Added functionality to surface MDM devices where DEP assignment failed在 UI 中呈现 DEP 下发失败的主机管理员可以快速识别长期失败的主机并人工介入显著降低手动处理 enrollment 故障的运维负担。此外Fixed an issue with macOS ADE enrollments getting a method not allowed error 修复了 ADE 注册过程中的一个报错问题。GET /hostsAPI 内联策略数据对于希望用单一接口聚合全量主机策略数据、再自行构建报表与看板的用户4.47.0 在GET /hosts响应中直接加入了策略数据通过populate_policiestrue查询参数开启GET /api/latest/fleet/hosts?populate_policiestrue对应的参数解析逻辑位于 server/service/transport.gopopulatePolicies : r.URL.Query().Get(populate_policies) if populatePolicies ! { pp, err : strconv.ParseBool(populatePolicies) if err ! nil { return hopt, ctxerr.Wrap( r.Context(), badRequest(fmt.Sprintf(Invalid boolean parameter populate_policies: %s, populateSoftware)), ) } hopt.PopulatePolicies pp }参数只接受合法的布尔值传入非法值会返回 400。开启后一次请求即可拿到所有主机的策略达标情况方便导出到外部数据库做定制化看板与合规分析无需再逐个主机查询策略结果。其他值得关注的变化Endpoint operations端点与界面Unicode 与 emoji 支持策略名与团队名现在支持 Unicode 和 emoji 字符GitOps 用户权限扩展允许 GitOps 用户访问特定端点含 MDM hosts 与 profiles 端点软件清单软件清单中开始展示 VS Code 扩展实时查询UI 执行实时查询时可选择 No team无团队选项Bug 修复修复跨多页批量转移主机到团队、策略删除后策略计数不更新、fleetd-chrome 的 RuntimeError、导出主机的筛选器异常等问题。Device management (MDM)新增 fleetctlwipe命令与POST /api/v1/fleet/hosts/:id/wipePremium API见上文防止 SCEP 续期时误执行清理任务与重新入队命令改进用于 MDM 检测的 osquery 查询GitOps 模式下未定义的 MDM 配置默认取默认值macOS 磁盘加密状态在验证 escrow 密钥可解密期间显示为 verifyingDashboard 的 MDM 卡片按名称聚合各 MDM 解决方案修复 MDM 描述文件安装错误不可见、Windows MDM 描述文件 Type 列显示、按 bootstrap package 状态过滤时混入 Windows 主机等问题。Vulnerability management漏洞管理优化漏洞字典分组缩短漏洞处理时间修复mdm.enable_disk_encryption配置中 JSON null 值引发的问题修复非 ASCII 软件名的漏洞处理问题。Bug fixes and improvementsGo 版本升级到 1.21.7更新页面描述、修正关键策略复选框的对齐调整设置页 tooltip 字号以符合设计规范修复添加主机弹窗 Done 按钮可能被遮挡的问题修复实时查询/策略主机搜索图标位置与 UI 加载态改进 Sentry 错误捕获的精度与覆盖范围。版本回顾4.46.2 与 4.46.1 的修复本发布说明还附带了前两个补丁版本的关键修复升级前值得一并了解Fleet 4.46.22024-03-04修复编辑查询名称/描述字段铅笔图标间距不一致的问题修复PATCH /api/v1/fleet/config中mdm.enable_disk_encryption为 JSON null 值时导致 MDM 描述文件异常的问题macOS 磁盘加密状态在验证 escrow 密钥可解密期间显示为 verifying修复自动 enrollment 设置页的加载态样式。Fleet 4.46.12024-02-27修复 API 运行查询时超时后 Redis 中查询 campaign 未清除的问题Redis 连接长时间阻塞等待实时查询结果时增加日志redis.conn_wait_timeout配置现也支持 Redis standalone此前仅支持 Redis cluster通过 cron job 清理 Redis 中的非活跃查询避免临时性 Redis 故障导致实时查询残留修复客户端断开连接时 Redis 中的孤儿实时查询涉及POST /api/latest/fleet/queries/{id}/run、GET /api/latest/fleet/queries/run、POST /api/latest/fleet/hosts/identifier/{identifier}/query、POST /api/latest/fleet/hosts/{id}/query新增--server_frequent_cleanups_enabled环境变量FLEET_SERVER_FREQUENT_CLEANUPS_ENABLEDflag用于启用每 15 分钟清理过期数据的 cron job默认关闭。升级建议升级到 Fleet 4.47.0 前请关注以下几点若计划使用远程擦除请确认许可证为 Fleet Premium且目标主机已完成 Fleet MDM 纳管脚本长度上限提升涉及数据库 schema 变更升级时请按官方升级流程执行数据库迁移团队级主机状态 Webhook 与populate_policies参数均为向后兼容的新增能力旧配置不受影响4.46.1 的 Redis 清理 cron 默认关闭如需启用可通过--server_frequent_cleanups_enabled或FLEET_SERVER_FREQUENT_CLEANUPS_ENABLED打开。完整的逐项变更可查阅仓库根目录的 CHANGELOG.md 与版本发布说明 articles/fleet-4.47.0.md升级部署方式可参考仓库内 docs 目录下的部署与升级文档。【免费下载链接】fleetOpen device management项目地址: https://gitcode.com/GitHub_Trending/fl/fleet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考