入侵防御系统报警处理:别一看到红灯就手忙脚乱

公司服务器半夜弹出一条“高危IPS告警:检测到SQL注入尝试”,运维小张立刻从被窝里爬起来,连袜子都来不及穿,一边查日志一边猛灌咖啡——结果发现是市场部同事用测试账号在后台试填表单,把单引号直接敲进搜索框里,触发了规则误报。

报警不是故障,是系统在说话

入侵防御系统(IPS)不像杀毒软件那样默默干活,它会主动拦、会喊话、会亮红灯。但红灯不等于着火,得先听清它喊的是啥。常见报警类型有三类:
• 规则匹配型:比如检测到 union select1=1 这类典型攻击特征;
• 行为异常型:某台办公电脑凌晨3点突然向500个IP发SYN包;
• 信誉拦截型:访问的域名刚被安全平台标记为钓鱼站。

三步快速响应法

第一步:看源、看目标、看时间
别急着点“忽略”或“封IP”。打开报警详情,重点盯三个字段:
• 源IP:是内网员工电脑?还是境外某个VPS?
• 目标IP和端口:被扫的是OA系统80端口,还是数据库3306?
• 时间戳:是不是和某次上线、某次批量操作完全重合?

第二步:交叉验证
拿源IP去查防火墙会话表:

show conn address 192.168.5.22

再翻对应时间段的Web服务器access.log:
grep '192.168.5.22' /var/log/nginx/access.log | tail -20

如果日志里全是 GET /search?q=test%27 这种带单引号的请求,基本可断定是开发或测试行为误触规则。

第三步:该放就放,该堵就堵
确认是误报?临时把这条规则对这个IP段静默5分钟:

ips rule disable id 2048 src 192.168.5.0/24 duration 300

确认是真实攻击?立刻在边界防火墙上加阻断策略:
firewall add deny tcp from 203.124.88.17 to any port 3306

别让报警堆成山

有些单位的IPS报警积压几百条没人理,不是因为忙,而是规则太“毛躁”。建议每月做一次清理:
• 关闭长期零命中率的规则(比如针对某款已下线软件的漏洞检测);
• 把内网管理网段加入信任列表,避免扫描工具自检也报出来;
• 对高频误报的业务接口,单独写白名单规则,而不是一刀关掉整个模块。

报警处理的核心,不是消灭所有红灯,而是让每一盏灯亮得明白、灭得踏实。