“网站页面被篡改了,多了一些奇怪的链接”“百度搜索结果显示‘该网站可能含有恶意内容’”“用户反馈打开网站自动跳转到菠菜页面”——你被入侵了。很多站长第一反应是“赶紧删掉那些页面,改密码”。但这样做往往会让你丢失最重要的证据,也找不到入侵的入口。被入侵后最核心的一件事是:在动手清理之前,先做好完整的取证。
第一步:立即切断对外服务。 修改nginx配置返回503状态码。关掉网站的对外访问,防止黑客继续利用你的服务器攻击其他网站。如果你用的是云服务器,直接在控制台“安全组”里关掉80和443端口。
第二步:完整备份现场(这一步千万不能跳过)。 打包整个网站目录:tar -czvf hacked_site_backup.tar.gz /www/wwwroot/your_site/。导出数据库:mysqldump -u root -p your_database > hacked_db_backup.sql。备份Web服务器日志:cp /var/log/nginx/access.log ./access_backup.log。备份系统登录日志:cp /var/log/auth.log ./auth_backup.log。
有了这些备份,你可以安心分析了——即使把文件删错了,也能从备份里找回来。
第三步:分析入侵入口。 查看access.log中异常时间段的请求——有没有大量POST请求指向某个特定文件?有没有请求带有?cmd=或?eval=参数?这些都是典型的攻击特征。查看auth.log——有没有大量SSH登录失败记录?有没有来自陌生IP的成功登录?如果有,说明密码被暴力破解了。
第四步:找到后门文件。 用find命令查找最近修改的PHP文件:find /www/wwwroot/your_site/ -name “*.php” -mtime -7。检查uploads目录——这是一个高频后门藏匿点:find /www/wwwroot/your_site/uploads/ -name “*.php”。检查是否有非网站本身的用户(如nobody、www-data)创建的文件——正常用户应该是www或admin。
第五步:清理+修复+监控。 用干净的源码覆盖被篡改的文件。删除所有不认识的管理员账号。修改SSH端口(改成非22端口)、禁用root远程登录、启用密钥登录。安装fail2ban,自动封禁暴力破解IP。修复网站应用的漏洞——升级CMS到最新版、删除不再使用的插件、修复文件上传漏洞。
被入侵不可怕,处理不当才可怕。 备份现场、分析日志、找到入口、清理后门、修复漏洞——五步走完,你才能真正睡得着觉。下次再被入侵,你至少知道“它从哪进来的”。
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!


