遇到云服务器被黑很多人的第一反应是“完了数据全没了业务要停摆了”。但作为一个经历过无数次线上攻防的老兵我可以明确地告诉你能恢复但能不能“擦干净”并迅速恢复业务取决于你的备份机制和应对速度。服务器被黑就像是一场突如其来的火灾。有的只是“浓烟滚滚”被挂了垃圾页面、跳转到赌博网站有的是“烧成了灰烬”勒索病毒加密了所有数据或被黑客删库。下面这套“急救清理重建”实战指南将手把手带你度过这场危机最大限度降低损失。 第一步急诊室抢救 —— 紧急止血与隔离一旦发现服务器异常CPU飙升、出现陌生文件、网站被篡改你要做的第一件事是切断攻击者的控制链防止他继续破坏或当做肉鸡去攻击别人。断开公网物理隔离做法​ 在云厂商控制台直接将该服务器的公网IP解绑或者修改服务器密码后立即重启服务器。目的​ 踢出黑客当前的SSH/RDP远程连接阻止他继续下载恶意脚本或操作。快照备份保留案发现场做法​ 在断开公网后立刻对系统盘和数据盘做一次全量快照Snapshot。目的​ 这非常重要既是为了后续恢复数据也是为了保留黑客的入侵痕迹取证方便后续排查漏洞。排查并封禁内网通信做法​ 检查服务器上的iptables或安全组规则是否有恶意的iptables规则比如将流量转发到黑客的服务器。同时检查是否有恶意进程在监听端口。目的​ 防止服务器变成内网“毒瘤”横向感染同VPC下的其他机器。 第二步外科手术 —— 排查漏洞与清除后门服务器已经被攻克说明你的防线有缺口。在恢复业务前必须像外科医生一样精准找出“病因”并切除“肿瘤”。检查异常账号与权限Linux:​ 检查/etc/passwd和/etc/shadow看是否有新增的UID为0的超级用户。Windows:​ 检查本地用户和组看是否有陌生的管理员账号。排查定时任务Crontab与启动项黑客为了保持持久控制通常会在这里留“后门”。Linux:​ 检查/var/spool/cron/目录下的定时任务以及/etc/rc.local等开机启动项。Windows:​ 检查msconfig里的启动项以及任务计划程序。寻找恶意进程与文件使用top或htop查看CPU/内存占用极高的进程。检查/tmp/,/dev/shm/等临时目录以及/var/spool/mail/下是否有不明来历的脚本文件通常以.sh,.py结尾。使用netstat -tulnp查看是否有未知的外部IP连接。检查 Web 日志与源码如果是个网站重点查看访问日志Access Log寻找带有cmd、wget、curl等特征的恶意请求。检查网站根目录下是否有最近被修改的 PHP/ASP/JSP 文件特别是那些加了免杀壳的 Webshell。️ 第三步灾后重建 —— 数据恢复与业务还原清除后门后就到了最关键的恢复环节。这里有两条路你需要根据受损情况选择方案一完美还原法推荐前提是有干净备份如果在被黑前你有未被感染的离线备份注意要确认备份时系统已经是干净的格式化系统盘重新部署应用环境。恢复备份数据。立刻打上所有系统补丁和应用补丁。绑定公网IP恢复业务。方案二就地清理法高风险适用于无备份或必须保留现场的情况如果没有备份只能硬着头皮在原系统清理彻底删除所有发现的恶意文件、进程和账号。修改所有密码服务器系统密码、数据库密码、FTP密码、后台管理员密码统统换掉还原被篡改的文件如果你有版本控制系统如Git重新拉取一份干净的代码覆盖掉被篡改的文件。重新生成密钥如果你使用了 SSH Key删除authorized_keys里的可疑公钥重新生成新的密钥对。(注就地清理很难保证100%干净黑客可能留下了深层 rootkit最彻底的还是重装系统并重放数据。)️ 第四步修筑高墙 —— 亡羊补牢的安全加固业务恢复上线后绝不能回到以前那种“裸奔”状态必须立刻做以下加固关闭危险端口通过云平台的安全组防火墙拒绝所有流量只放行必要的端口如 80, 443, 以及你个人的运维IPSSH端口。数据库端口3306, 6379等绝对不能暴露在公网修补漏洞根据第二步的排查结果修补导致被入侵的漏洞。如果是 CMS如 WordPress、织梦等立刻升级到最新版如果是自定义代码修复 SQL 注入或文件上传漏洞。部署主机安全Agent安装云厂商提供的主机安全软件如阿里云云安全中心、腾讯云云镜开启防暴力破解和webshell查杀功能。开启操作审计开启云平台的实例操作审计日志以便未来发生异常时能快速溯源。 核心总结备份才是最后的底牌讲真无论多高超的急救技术都比不上“事前有个好备份”。在云时代最便宜、最有效的“防弹衣”就是定期快照和异地备份。建议大家在业务平稳期就设置好每天自动快照并将核心数据异地备份比如同步到另一台异地的服务器或对象存储中。有了干净、及时的备份哪怕明天服务器被核弹炸了或者被勒索病毒全军覆没你也能在半小时内心平气和地恢复如初。