公司服务器半夜弹出一条“高危IPS告警:检测到SQL注入尝试”,运维小张立刻从被窝里爬起来,连袜子都来不及穿,一边查日志一边猛灌咖啡——结果发现是市场部同事用测试账号在后台试填表单,把单引号直接敲进搜索框里,触发了规则误报。
报警不是故障,是系统在说话
入侵防御系统(IPS)不像杀毒软件那样默默干活,它会主动拦、会喊话、会亮红灯。但红灯不等于着火,得先听清它喊的是啥。常见报警类型有三类:
• 规则匹配型:比如检测到 union select、1=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报警积压几百条没人理,不是因为忙,而是规则太“毛躁”。建议每月做一次清理:
• 关闭长期零命中率的规则(比如针对某款已下线软件的漏洞检测);
• 把内网管理网段加入信任列表,避免扫描工具自检也报出来;
• 对高频误报的业务接口,单独写白名单规则,而不是一刀关掉整个模块。
报警处理的核心,不是消灭所有红灯,而是让每一盏灯亮得明白、灭得踏实。