Linux 服务器挖矿木马防护实战:快速切断、清理与加固
引言
挖矿木马作为一种常见的恶意软件,对服务器资源和安全构成严重威胁。据安全机构统计,2023 年全球约 45%的 Linux 服务器遭受过挖矿木马攻击,平均每台被感染服务器每月造成 300-500 美元的额外电费支出。
本文将围绕三个核心环节,详细讲解应对挖矿木马的完整防护方案:
快速响应:第一时间切断攻击路径 全面清理:系统性清除感染源 系统加固:建立长效防护机制一、快速响应:切断攻击路径
1.1 网络层面阻断首要任务是切断攻击者的通信渠道,防止进一步的数据泄露和控制指令。
netstat -antp | grep -E \”:(3333|14444|14433|3357)\”
iptables -A INPUT -s <攻击IP> -j DROP
iptables -A OUTPUT -d <攻击IP> -j DROP
iptables-save > /etc/iptables/rules.v4
清理受感染账户的访问权限,防止攻击者重新登录。
passwd <用户名>
find / -name \”authorized_keys\” -exec rm -f {
} \\;
echo \”sshd: 192.168.1.0/24\” >> /etc/hosts.allow
echo \”sshd: ALL\” >> /etc/hosts.deny
⚡ 快速终止可疑进程,为后续深入清理争取时间。
cat > /tmp/quick_clean.sh <<\’EOF\’
#!/bin/bash
# 清理常见挖矿进程
ps aux | grep -i \”kswapd0\\|kdevtmpfsi\\|cryptonight\\|minerd\” | \\
awk \'{print $2}\’ | xargs -I {} kill -9 {}
# 清理可疑网络连接
netstat -antp | grep -E \”:(3333|14444|14433|3357)\” | \\
awk \'{print $7}\’ | cut -d\’/\’ -f1 | xargs -I {} kill -9 {}
EOF
bash /tmp/quick_clean.sh
二、全面清理:系统性清除感染源
2.1 深度进程清理通过多维度分析,确保不遗漏任何可疑进程。
ps aux –sort=-%cpu | head -10
for pid in $(ps aux | awk \’$3>80.0{print $2}\’); do
echo \”=== PID $pid ===\”
ls -l /proc/$pid/exe
ls -l /proc/$pid/cwd
strings /proc/$pid/cmdline
done
⏰ 攻击者常用定时任务实现持久化,必须彻底清理。
cat > /usr/local/bin/cron_clean.sh <<\’EOF\’
#!/bin/bash
# 1. 清理用户定时任务
for user in $(cut -f1 -d: /etc/passwd); do
crontab -u $user -l 2>/dev/null | grep -v \”wget\\|curl\” | crontab -u $user –
done
# 2. 检查系统定时任务
for cronfile in /etc/cron.d/* /etc/crontab /var/spool/cron/*; do
if [ -f \”$cronfile\” ]; then
cp \”$cronfile\” \”$cronfile.bak\”
sed -i \’/wget\\|curl/d\’ \”$cronfile\”
fi
done
EOF
chmod +x /usr/local/bin/cron_clean.sh
三、多服务器场景应急处理
3.1 通用应急脚本设计面对多台服务器同时被攻击的情况,需要自动化工具提高响应效率。 malware_cleanup.sh
#!/bin/bash
set -euo pipefail
LOGFILE=\”$HOME/malware_cleanup_$(date +%Y%m%d%H%M%S).log\”
log() {
echo \”[INFO] $1\” | tee