当前位置:首页 > 云服务器 > 正文

如何判断服务器被攻破

若服务器出现异常流量骤升、资源占用率飙升、大量异常连接请求、日志报错频繁、响应延迟或服务中断,则可能正遭受网络

核心判断依据及典型表现

(一)网络层异常特征

现象类型 具体表现 潜在风险
突发流量暴涨 入站/出站带宽长期接近上限(>90%),且无业务增长支撑 分布洪水攻破、cc攻破
异常流量来源 单一IP/IP段贡献超50%流量,或存在大量杜撰源IP(Private/Reserved地址) IP杜撰攻破、僵尸网络控制
协议占比失衡 HTTP/HTTPS占比异常降低,ICMP/UDP等非常用协议占比突增 PING泛洪、UDP反射放大攻破
连接状态异常 TCP半开连接(SYN_RECV)堆积,或大量FIN_WAIT/CLOSE_WAIT状态持久化 SYN Flood攻破、慢速攻破

(二)系统资源消耗异常

资源类型 异常指标 关联攻破类型 检测命令示例
CPU 单核/总体使用率持续>80%,伴随陌生进程运行 生产木码、病度扩散 top, ps aux --sort=-%cpu
内存 RSS内存占用率>90%,SWAP交换区频繁触发 内存溢出攻破、蠕虫病度 free -m, vmstat
磁盘IO %util接近100%,且非数据库/日志文件主导 扫描类攻破、数据擦除操作 iostat -x 1 3, df -h
网络收发包 rx/tx速率差异过大(如发送远大于接收) C&C回连、数据外传 ifconfig, nload

(三)日志文件关键线索

日志类别 危险特征 示例关键词
Web访问日志 短时间内同一页面被重复请求数百次,或访问不存在的高危路径(如/phpmyadmin) “404 Not Found”, “/wp-login.php”
系统认证日志 连续多次SSH登录失败后成功(Brute Force典型模式),或root账户异地登录 “Failed password”, “accepted password”
应用错误日志 SQL载入报错(如You have an error in your SQL syntax near…)、XSS尝试痕迹 “UNION SELECT”, ”

防火墙日志 高频阻断同一IP的规则匹配(如PORT SCAN),或放行异常协议(如Cobalt Strike默认端口) “DROP”, “ACCEPT”

专项检测技术手段

(一)实时流量分析

操作步骤

如何判断服务器被攻破 第1张

  1. 使用tcpdump -i eth0 -w attack.pcap捕获可疑时段流量
  2. 通过Wireshark过滤显示http.request.method == "GET"且http.host包含异常域名的流量
  3. 统计各IP的请求频率:editcap attack.pcap new_file.pcap后导入Bro/Zeek进行分析

(二)进程快照比对

实施方法

如何判断服务器被攻破 第2张

重点关注新增的/dev/shm内存盘进程、计划任务(cronjob)及隐藏进程(ps -efl查看)

如何判断服务器被攻破 第3张

(三)文件完整性校验

关键操作

# 建立基线哈希库(需提前执行) find /usr/bin /usr/sbin -type f -exec sha256sum {} ; > system_hashes.sha256 # 定期验证 sha256sum -c system_hashes.sha256 | grep -v OK

特别注意动态链接库(.so)、内核模块(/lib/modules/$(uname -r)/)的改动

常见攻破场景对照表

攻破类型 主要特征 应急响应
分布/cc攻破 页面加载缓慢/超时,Nginx出现503错误 启用CDN加速,配置iptables限速规则
SQL载入 数据库报错含hex编码字符,Web日志出现长URL参数 立即备份数据库,启用WAF规则拦截
暴力免费 SSH/FTP登录失败日志密集,源IP跨多地区 修改默认端口,部署Fail2ban封禁策略
网站挂码 网页源代码出现不明

0