跳到主要内容
VM Ops Manager
下载
文档目录

告警与配置漂移检测

资源阈值、磁盘用量预测、可疑配置变更以及登录日志审查。


贯穿本节的指导原则是:一份没人信任的告警列表,比完全没有告警更糟糕。 因此规则数量保持精简,只有在状态发生转变时才会产生事件 —— 磁盘使用率卡在 91% 一整周只算一个事件,而不是一万个。

三种事件类型

类型触发时机
threshold(阈值)某项资源指标超过了您设置的阈值。
drift(配置漂移)与安全相关的配置相较上一次轮询发生了变化。
reachability(可达性)VM 停止响应,或恢复响应。

每个事件都有 info、warning 或 critical 三种级别之一, 并附带简短标题和详细描述。

资源阈值

在 设置 中配置。共四个阈值: 磁盘警告、磁盘严重、内存、CPU。

磁盘一旦超过阈值会立即告警。内存和 CPU 必须连续多次轮询超标才会告警 —— 备份过程中持续一分钟的 CPU 峰值,不值得半夜把人叫醒。

磁盘用量预测

静态阈值本身很难反映紧迫程度。一年都没变过的 80%,不需要任何人关注; 一周内暴涨十个百分点的 60%,则需要有人今天就采取行动。

应用会为每个挂载点,基于最近七天的数据拟合一条线性回归, 并推算出何时会被填满。结果会显示为“大约还剩 N 天”。

在以下情况下,这项推算会拒绝给出结论,而不是随意猜测:

  • 样本数少于 6 个,或数据跨度不足 6 小时;
  • 趋势持平或呈下降趋势(挂载点正在被清理);
  • 结果超过 365 天 —— “它迟早会被填满”并不是什么有用的信息。

预测每个 VM 最多每小时重新计算一次,因为每次都需要读取一整周的历史数据。

该模型假设增长速度保持恒定。对于日志轮转,或一夜之间数据翻倍的数据库, 这个假设是不成立的。请把它当作优先级参考,而不是承诺。

配置漂移检测

有四项内容会与上一次轮询进行比对。这些正是攻击者留下的真实痕迹:

项目检测的变化
keysauthorized_keys —— SSH 密钥的新增或删除
users/etc/passwd —— 新增账户、shell 变更
ports监听端口 —— 新对外暴露的服务
sudoers/etc/sudoers 和 /etc/sudoers.d/*

大多数变化都是合法的:同事添加了自己的密钥,部署了新服务。 这项功能的价值在于让您知道变化发生了以及发生的时间 —— 而不是六个月后才发现。

SSH 登录审查

当轮询账户可以读取登录日志时,应用会汇总以下内容:

  • 成功登录 —— 用户、IP、认证方式、时间戳。
  • 按 IP 统计的失败次数 —— 按次数排序,最多的排在最前面。
  • 被封禁的 IP —— 如果存在 fail2ban,则从中读取。
  • 常用网络 —— 每个用户通常登录所使用的子网。

“常用网络”这部分是这里最有价值的功能:来自陌生子网的一次成功登录, 远比来自互联网的成千上万次失败尝试更值得关注 —— 对于任何暴露在公网的服务器而言,失败尝试都是家常便饭。

非工作时间的登录会被标记出来,但不会仅凭这一点就生成告警。 很多合法的工作确实是在夜间进行的。

确认告警

告警中心按时间倒序列出事件。可以逐条标记为已确认,也可以一次性全部确认; 状态栏中的计数只统计尚未确认的事件。

事件在被确认后永远不会被删除,也不受 14 天指标数据保留期的清理影响 —— 它们会被长期保留,并用于 月度报告。

系统通知

critical 级别的事件会推送一条操作系统通知,即使应用窗口被遮挡也能看到。 可在您操作系统自身的通知设置中启用或关闭该功能。