2021-01-23 23:32:49
网站被DDoS/CC攻击后,可能出现服务器资源耗尽、服务中断、域名解析异常等问题,具体表现为CPU/带宽占用过高、服务器宕机、域名无法ping通、动态网站报错或程序崩溃、静态站点网络流量异常等;判断是否遭受CC攻击可通过观察服务器资源占用、动态网站错误提示、静态站点流量异常及间歇性访问受限等特征。
一、DDoS/CC攻击的典型问题服务器资源耗尽
CPU占用过高:DDoS攻击通过发送大量无效请求占用服务器计算资源,导致CPU利用率接近100%,正常进程无法执行,网站响应缓慢甚至崩溃。
带宽被占满:攻击者利用海量无效数据包填满服务器带宽,合法用户请求无法传输,表现为上行带宽占用率超90%,网站无法加载。
连接数激增:CC攻击模拟多用户持续访问高负载页面(如数据库查询接口),导致服务器连接队列耗尽,新请求被丢弃,表现为网站间歇性无法访问。
服务中断与不可用
服务器宕机或蓝屏:极端情况下,DDoS攻击可能导致服务器硬件过载(如内存耗尽、CPU过热),触发系统保护机制强制重启或死机,网站完全无法访问。
域名解析异常:若攻击目标为DNS服务器,用户无法通过域名访问网站(ping域名失败),但直接输入IP仍可连接(需排除DNS配置错误)。
动态网站特定表现
服务程序崩溃:使用IIS的网站会返回“SERVER IS TOO BUSY”错误;非IIS环境(如Apache、Nginx)可能因进程崩溃导致服务中断。
CPU飙升:即使攻击量较小,动态网站因需实时处理请求,CPU占用率仍可能突然升高,伴随响应延迟。
静态站点异常
网络流量异常:任务管理器显示网络发送数据占比极高(如达99%),但实际带宽未饱和,表明存在大量伪造请求。
大文件加载失败:CC攻击可能针对图片、CSS等静态资源,导致部分文件显示不全或加载超时。
间歇性访问受限
小规模CC攻击下,网站可能短暂可访问,但大文件(如视频)或动态内容(如搜索接口)无法正常使用,用户体验严重下降。
资源监控指标
CPU占用率:若服务器CPU持续处于高位(如>80%)且无业务高峰,可能遭受攻击。
带宽使用率:上行带宽占用率突增至90%以上,且无对应业务流量增长,需警惕DDoS。
连接数统计:通过命令(如netstat -an)查看活跃连接数,若远超正常值(如数千连接来自少量IP),可能为CC攻击。
动态网站错误日志
检查IIS日志或应用日志,若频繁出现“503 Service Unavailable”或“SERVER IS TOO BUSY”错误,且伴随高CPU占用,可初步判定为CC攻击。
非IIS环境需关注服务进程是否崩溃重启,如PHP-FPM、Tomcat等进程异常退出。
静态站点流量分析
使用任务管理器或网络监控工具(如Wireshark)观察网络流量,若发送数据占比异常高(如>90%),但实际业务无大文件上传需求,可能为攻击流量。
检查大文件(如图片、JS)的加载情况,若部分文件频繁超时,可能被攻击者针对。
访问行为特征
单一IP高频请求:通过日志分析工具(如AWStats、GoAccess)筛选高频访问IP,若单个IP每秒请求数远超正常用户(如>100次/秒),可能为攻击源。
特定URL激增:若某页面(如登录接口、搜索接口)的请求量突然增长数倍,且无对应业务推广,需警惕CC攻击。
Referer异常:攻击请求可能缺少Referer字段或包含恶意域名,可通过日志过滤识别。
代码优化
使用缓存(如Redis、Memcached)减少数据库查询,降低CPU负载。
及时释放资源(如数据库连接、文件句柄),避免空连接占用。
简化页面逻辑,减少复杂框架调用,降低单请求处理时间。
访问限制
对高风险接口(如登录、搜索)增加验证码、Token验证或IP限频。
禁止非常用User-Agent或缺失Referer的请求,过滤恶意爬虫。
限制单个IP的并发连接数(如Nginx的limit_conn模块)。
日志与监控
完整保留访问日志,定期分析异常IP、URL及请求频率。
部署实时监控系统(如Zabbix、Prometheus),设置CPU、带宽、连接数阈值告警。
第三方防护
使用云服务商的DDoS防护服务(如阿里云DDoS高防、AWS Shield),通过流量清洗中心过滤恶意流量。
部署CDN加速,隐藏源站IP,分散攻击流量至边缘节点。
通过以上方法,可有效识别并缓解DDoS/CC攻击对网站的影响,保障业务连续性。