应建立以资源瓶颈、异常流量、关键服务响应为核心的闭环防护机制,涵盖秒级监控告警、系统级防护策略、日志审计基线及定期验证联动四方面。

要防范拒绝服务(DoS)攻击引发的系统崩溃,性能监控与审计不能只看“CPU高不高”,而要围绕资源瓶颈、异常流量和关键服务响应建立可操作的闭环机制。核心是早发现、快识别、准拦截。
实时监控关键性能指标并设置分级告警
拒绝服务攻击常表现为资源被持续耗尽,需对以下四类指标做秒级采集与阈值联动:
-
CPU与内存使用率:连续5分钟超过85%需触发一级告警;若伴随大量
softirq或kswapd进程占用,提示可能遭遇SYN洪水或内存耗尽型攻击 -
网络连接数与新建连接速率:用
ss -s或netstat -ant | wc -l监控ESTABLISHED连接;每秒新建连接超2000(视业务而定)即启动二级分析 -
磁盘I/O等待时间与队列长度:
iostat -x 1中%util > 95且avgqu-sz > 10,可能正被慢速HTTP POST或日志刷写拖垮 - 应用层响应延迟与错误率:如Web服务平均响应时间突增3倍、5xx错误率超10%,优先排查是否为应用层DoS(如Slowloris、HTTP Flood)
建议使用Zabbix、Prometheus+Node Exporter或云平台原生监控工具,告警至少分三级:通知运维、自动限流、紧急隔离。
配置系统级防护策略,限制攻击面
监控只是眼睛,防护才是手脚。必须在操作系统和网络层部署主动控制措施:
-
启用SYN Cookie与连接队列调优(Windows/Linux均适用):
Linux执行echo 1 > /proc/sys/net/ipv4/tcp_syncookies;Windows注册表中设置SynAttackProtect=2、TcpMaxHalfOpen=100 -
限制单IP连接数与请求频率:用
iptables(Linux)或Windows防火墙高级安全规则,例如限制同一源IP每分钟新建连接≤60,或每秒HTTP请求数≤10 - 关闭非必要管理端口与协议:禁用Telnet、TFTP、SNMP v1/v2c等易被滥用的服务;路由器/交换机启用MPAC策略,仅允许OSPF、BGP等必需协议报文上送CPU
- 启用DEP与内核保护机制:Windows开启数据执行保护(DEP),Linux启用KASLR、SMAP/SMEP,防止攻击者利用内存漏洞构造DoS载荷
审计日志与行为基线,识别隐蔽DoS尝试
很多DoS攻击前期有试探行为,需通过日志审计提前预警:
-
集中采集并分析系统日志:重点关注
/var/log/messages(Linux)或Windows事件日志ID 4227(TCP连接失败)、ID 4226(连接限制触发)、ID 7045(异常服务启动) - 建立正常业务行为基线:用3–7天历史数据统计各时段的平均连接数、请求类型分布、API调用频次;当某IP的User-Agent为空、URI高度重复或Referer异常,标记为可疑
-
启用进程级资源审计:Linux使用
systemd-cgtop或cgroup监控各服务CPU/内存限额使用率;Windows用任务管理器“详细信息”页+“选择列”添加“句柄数”“线程数”,快速定位异常进程
定期验证与应急联动机制
再好的配置不验证就等于没配。需形成“测—调—存—演”的闭环:
- 每月用
hping3或slowhttptest对非生产环境做轻量压力测试,验证防护策略是否生效 - 所有监控告警必须绑定处置动作,例如:CPU持续超90%自动触发
killall -u nobody(清理低权限僵尸进程),或调用云API临时扩容带宽 - 保留至少7天的原始性能数据与完整日志,确保攻击复盘时可回溯时间线、定位首包特征
- 将DoS响应流程写入应急预案,明确谁负责关停服务、谁联系ISP清洗流量、谁同步客户公告











