Ubuntu-x86_64服务器屡遭恶意攻击且被灰名单,求助排查解决
兄弟,你遇到的这种情况真的挺闹心的——明明做了常规加固还是被盯上,还进了灰名单,我之前帮几个运维朋友处理过类似的问题,咱们一步步来拆解搞定它:
第一步:排查服务器的入侵残留痕迹
先确认服务器里有没有潜伏的恶意程序或者后门:
- 检查异常进程与网络连接
用htop(比top更直观)查看CPU/内存占用异常的进程,尤其留意名字陌生、不带正常路径的进程;再用netstat -tulpn列出所有监听的端口和对应的进程,看看有没有陌生端口在对外通信。 - 深挖系统日志
重点看这几个日志文件:tail -50 /var/log/auth.log:排查有没有异常的SSH登录尝试、sudo操作记录tail -50 /var/log/syslog:找系统层面的异常命令执行、进程启动记录- 如果有Web服务,检查
/var/log/apache2/access.log或/var/log/nginx/access.log,看有没有批量扫描、注入请求
- 检查定时任务与自启动项
恶意程序常藏在定时任务里:- 查看当前用户定时任务:
crontab -l - 查看系统级定时任务:
ls -la /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/ - 检查开机自启动:
systemctl list-unit-files | grep enabled,找陌生的服务
- 查看当前用户定时任务:
- 扫描可疑文件
临时目录和用户家目录是重灾区:- 找临时目录的可执行文件:
find /tmp /var/tmp -type f -executable | head -30 - 检查root家目录的配置文件:
cat /root/.bashrc /root/.profile,看有没有被偷偷加的启动命令
- 找临时目录的可执行文件:
第二步:处理灰名单问题
先搞清楚灰名单的来源(比如Spamhaus、CBL、Google Safe Browsing等),再针对性解决:
- 确认灰名单原因
去对应的灰名单查询页面输入你的服务器IP,一般会明确说明原因:是发送垃圾邮件、被当作代理转发恶意流量,还是服务器对外发起扫描? - 针对性清理
- 如果是发垃圾邮件:查
/var/log/mail.log找异常发信记录,定位发信的进程/脚本,彻底删除并禁用相关服务 - 如果是被当作代理:用
iptables关闭不必要的端口,或者限制陌生IP访问敏感端口
- 如果是发垃圾邮件:查
- 申请移除灰名单
确认所有恶意痕迹清理干净后,去对应的灰名单网站提交移除申请,大部分平台会要求验证IP归属,按照流程操作即可,一般几小时到1天内会处理。
第三步:补充常规加固之外的防御手段
既然常规操作没拦住,再加几道防线:
- 强制SSH密钥登录(如果之后要重启SSH)
彻底关闭密码登录,修改/etc/ssh/sshd_config:
重启服务:PasswordAuthentication no PubkeyAuthentication yes PermitRootLogin no # 最好连root登录也禁用,用普通用户sudosystemctl restart sshd - 安装Rootkit检测工具
用rkhunter或chkrootkit检测深层恶意程序:apt install rkhunter -y rkhunter --check # 按提示完成检测,重点看红色警告项 - 启用AppArmor强制访问控制
Ubuntu默认自带AppArmor,确保它处于启用状态:
它能限制进程的权限,即使有恶意程序也很难大范围破坏。systemctl enable --now apparmor aa-status # 查看生效的规则 - 设置自动安全更新
避免遗漏关键补丁:
按提示开启自动安装安全更新。dpkg-reconfigure unattended-upgrades
内容的提问来源于stack exchange,提问作者newbie
相关产品推荐
相关产品推荐

