网络监测预警机制
去年冬天,网络一家中型电商平台的监测机制运维团队在凌晨两点收到一条告警:某台服务器在五分钟内向外发起了近三万次SSH连接尝试。值班工程师起初以为是网络误报,直到发现同一网段内另外七台机器也出现了类似行为——这是监测机制一次典型的横向移动攻击。从第一台机器被植入挖矿脚本到全机架沦陷,网络前后不到四十分钟。监测机制事后复盘,网络问题不在于防火墙没拦住,监测机制而在于监测系统只盯着CPU和内存,网络根本没把异常连接频率当回事。监测机制 这件事说明一个很朴素的网络道理:网络监测预警不是装个Zabbix看仪表盘就完事了。它本质上是监测机制一套“感知—判断—响应”的闭环。感知层负责采集数据,网络判断层负责识别异常,监测机制响应层负责在损失扩大前掐断链条。网络很多团队只做了第一层,后面两层靠人肉盯屏,结果就是告警疲劳——每天几千条通知,真正该看的被淹没在噪音里。 我见过一个做得比较扎实的案例。某金融公司把监测分成了三条线:流量线、主机线、用户行为线。流量线用NetFlow抓东西向通信,重点看内部主机之间有没有不该出现的端口访问;主机线用eBPF钩子监控进程创建和文件写入,特别关注/tmp目录下突然出现的可执行文件;用户行为线则记录登录时间、地理位置的突变。三条线各自有独立的阈值模型,但告警会做关联——比如某台主机同时出现异常外连和异常进程,才会触发高级别工单。这套机制上线半年后,他们拦截了一次供应链投毒:攻击者在合法更新包里夹带了后门,但后门回连的IP不在白名单里,流量线先报了警。 预警机制最怕的是“狼来了”效应。某运营商早期搞过全端口扫描检测,结果每天误报上千次,因为内部漏洞扫描器没加白名单。后来他们改成分级策略:低频扫描只记录不告警,高频且来自非管理网段的才推送。误报率从百分之七十降到百分之五以下。这说明阈值不能拍脑袋定,得根据自身业务流量基线来调。基线怎么来?至少观察两周的正常行为,把峰值和谷值都摸清楚。没有基线,任何阈值都是瞎猜。 另一个容易被忽略的点是预警的“可操作性”。很多系统只告诉你“有异常”,不告诉你“异常在哪台机器、哪个进程、该找谁”。理想的告警应该附带三样东西:受影响资产的责任人、最近一次变更记录、以及一条可执行的处置命令。比如“10.2.3.4 出现反弹Shell连接,责任人张三,建议立即隔离该主机并检查crontab”。这样值班的人不用翻CMDB就能动手。 监测预警不是越复杂越好。我见过小团队用开源工具拼了一套系统:Suricata抓包、Filebeat传日志、Elasticsearch做存储、ElastAlert写规则。总共不到五台机器,但覆盖了南北向和东西向流量。关键是规则写得细——比如“同一源IP在十秒内访问超过二十个不同目的端口”就触发告警。这套土办法帮他们发现过一次Redis未授权访问的批量扫描。工具是次要的,逻辑才是核心:你得知道自己的网络正常时长什么样,才能认出异常。 最后说个反直觉的观察。很多入侵检测系统把重点放在“已知威胁特征”上,但真正造成大损失的往往是“合法工具的异常使用”。比如PowerShell、WMI、PsExec,这些管理员天天用的东西,攻击者也在用。监测这类行为不能靠签名,得靠上下文——谁在什么时间、从哪台机器、对哪些目标执行了这些命令。这需要把日志、资产、身份三样数据打通。打通了,预警才不是盲人摸象。
-
上一篇
-
下一篇