判断高防服务器是否被植入木马(俗称“有马”),需要结合异常现象观察、系统排查、网络分析、安全工具检测等多维度手段。以下是具体步骤和方法,适用于Linux/Windows高防服务器:
### 一、先观察「异常现象」(最直观的信号)
木马运行通常会留下明显痕迹,优先通过以下现象初步判断:
#### 1. 资源占用异常
- CPU/内存/带宽突然飙升:
用 top(Linux)、htop(Linux)、任务管理器(Windows)查看进程,若有陌生进程占用过高资源(如未知python/perl脚本、无签名的.exe),需警惕。
例:挖矿木马常占满CPU,DDoS木马会消耗大量带宽。
- 磁盘IO异常:
用 iostat(Linux)、Resource Monitor(Windows)查看磁盘读写,若突然频繁读写(如大量生成临时文件、日志异常增长),可能是木马在传输数据或自我复制。
#### 2. 网络连接异常
- 陌生外连IP/端口:
Linux用 netstat -antlp 或 ss -antlp 查看所有TCP连接,重点看ESTABLISHED状态的外连IP(尤其是境外陌生IP、非常用端口如4444、8888等);Windows用 netstat -ano + 任务管理器对应PID。
例:木马C2服务器(命令控制端)通常会与服务器建立持久连接。
- 端口监听异常:
检查是否有陌生端口被监听(如netstat -tulnp查看UDP/TCP监听端口),尤其是非业务所需的端口(如22端口被非SSH进程占用)。
#### 3. 文件/权限异常
- 关键目录出现陌生文件:
Linux重点检查 /tmp、/var/tmp、/dev/shm(内存文件系统,易被写入临时木马)、/etc/init.d(启动项)、/root、/home;Windows检查 C:\Windows\Temp、C:\Users\Public、C:\ProgramData。
例:文件名随机(如x7f3d.tmp)、隐藏文件(Linux以.开头,Windows需开“显示隐藏文件”)、近期修改的文件。
- 文件权限被篡改:
Linux用 ls -l 查看关键文件(如/etc/passwd、/bin/bash)权限,若被改为777(所有人可读写执行)或所有者异常,可能被木马篡改。
- 系统配置被修改:
Linux检查 /etc/crontab(定时任务)、/etc/rc.local(开机启动)、~/.bashrc(用户环境变量);Windows检查“任务计划程序”、“启动”文件夹(shell:startup)、注册表启动项(regedit→HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run)。
例:定时任务中新增陌生脚本(如每分钟执行/tmp/xxx.sh),开机启动项多了未知程序。
#### 4. 服务/进程异常
- 陌生进程运行:
Linux用 ps aux 查看所有进程,对比业务正常进程列表,若有未知进程(如kworker、[kthreadd]是系统进程,但陌生名称如java -jar /tmp/xxx.jar需警惕);Windows用任务管理器“详细信息”标签,查看进程路径是否合法(如非C:\Windows\System32下的陌生.exe)。
技巧:用ls -l /proc/[PID]/exe(Linux)查看进程对应的可执行文件路径,若路径不存在或指向/tmp,大概率是木马。
- 服务异常停止/启动:
业务服务(如Nginx、MySQL)突然停止,或有陌生服务(如systemctl list-units --type=service)被启动,可能是木马干扰或伪装成服务。
#### 5. 日志异常
- 系统日志被删除/篡改:
Linux检查 /var/log/messages、/var/log/secure(登录日志)、/var/log/cron(定时任务日志),若日志突然为空、时间戳异常(如未来时间),或大量失败登录记录(暴力破解后植入木马);Windows检查“事件查看器”→“Windows日志”→“安全”(登录事件)、“系统”(服务启动/停止)。
例:日志中出现大量Failed password for root from [陌生IP],随后有Accepted password记录,可能是被暴力破解后植入木马。
- 业务日志异常:
网站访问日志(如Nginx的access.log)中出现大量异常请求(如扫描漏洞的URL、POST大流量数据),或数据库日志中有陌生查询(如SELECT * FROM users被批量导出)。
### 二、用「安全工具」深度检测
仅靠人工排查可能漏检,需借助专业工具:
#### 1. 杀毒/反木马工具
- Linux:
- ClamAV(开源杀毒):clamscan -r /(扫描根目录,需先yum install clamav或apt install clamav);
- rkhunter(Rootkit检测):rkhunter --check(检查Rootkit、后门、异常文件);
- chkrootkit:同样用于Rootkit检测,轻量快速。
- Windows:
- Windows Defender(系统自带,需更新病毒库后全盘扫描);
- 第三方工具:Malwarebytes、火绒安全、卡巴斯基等(注意:高防服务器若运行关键业务,避免用过于“激进”的工具误删系统文件)。
#### 2. 网络流量分析
- 抓包工具:Linux用tcpdump(如tcpdump -i eth0 host [可疑IP]抓取指定IP流量),Windows用Wireshark,分析是否有异常数据包(如加密传输、大量UDP包、陌生协议)。
- 防火墙/高防日志:查看高防服务商提供的流量日志,是否有异常 outbound 流量(如服务器主动向外发送大流量,可能是DDoS木马或数据泄露)。
#### 3. 进程/文件完整性检查
- Linux:用rpm -Va(针对RPM系系统,如CentOS)检查系统文件是否被篡改(输出中S表示文件大小变化,M表示权限变化,5表示MD5变化);或用aide(高级入侵检测环境)建立文件哈希基线,定期对比。
- Windows:用sigcheck(Sysinternals工具)检查进程/文件的数字签名(如sigcheck -s C:\Windows\System32扫描系统目录,无签名的文件需警惕)。
### 三、针对「高防服务器」的特殊排查点
高防服务器常被作为DDoS攻击的“肉鸡”或“跳板”,需额外关注:
1. DDoS相关进程/工具:检查是否有hping3、nmap、zmap、tfn2k等DDoS工具被安装(即使未运行,也可能是木马预留的攻击工具)。
2. 异常 outbound 流量:高防服务器通常入站流量大(防护攻击),但出站流量异常高需警惕(如被用作反射攻击的“源”,或向外传输攻击数据)。
3. C2服务器通信:木马常与C2服务器(控制端)通信,可通过whois查询陌生外连IP的归属(如境外小运营商、已知恶意IP段),或用virustotal.com查询IP/域名的恶意记录。
### 四、确认后如何处理?
若发现木马,需立即:
1. 隔离服务器:断开网络连接(避免继续被控制或传播攻击),但保留现场(不要直接重启,否则内存中的木马可能消失,难以溯源)。
2. 清除木马:
- 终止恶意进程(kill -9 [PID],Linux;任务管理器结束进程,Windows);
- 删除恶意文件(确认路径后rm -rf,Linux;Shift+Delete,Windows);
- 清理启动项/定时任务(删除陌生条目);
- 修复被篡改的系统配置(如恢复/etc/crontab、注册表启动项)。
3. 溯源加固:
- 查看日志找到入侵途径(如漏洞利用、弱密码、第三方软件后门);
- 修复漏洞(更新系统、打补丁,如yum update/apt upgrade);
- 强化密码(改用强密码+SSH密钥登录,禁用root远程登录);
- 配置防火墙(仅开放必要端口,如80/443/22,限制SSH登录IP);
- 安装入侵检测系统(如Linux的fail2ban防暴力破解,ossec主机入侵检测)。
4. 备份与恢复:若木马难以清除,可备份重要数据后重装系统(最彻底的方式),再恢复业务。
### 总结
判断高防服务器是否有马,核心是**“异常即可疑”**——资源、网络、文件、日志的异常变化都可能是木马信号。结合人工排查+工具检测,尤其注意高防服务器的“出站流量”和“DDoS相关痕迹”。日常需做好安全加固(漏洞修复、权限最小化、定期备份),降低被入侵风险。