网站被黑这件事,没遇到过的觉得离自己很远,遇到过的才知道多崩溃。下面是一套经过实战验证的恢复流程,尽量少走弯路。
Q:我发现网站跳转到赌博网站了,怎么办?
第一步:立刻在宝塔面板里点"关站",或者临时把nginx指向一个静态页面。不要让攻击继续扩散。用户打不开比看到菠菜页面好得多。
第二步:别急着删文件。先用 find 命令查最近24小时内被修改的文件:
find /www/wwwroot/站点目录 -type f -mtime -1 -ls
这个命令会列出所有最近24小时被修改的文件。重点看 .php、.js、.htaccess 和 wp-config.php。黑客最喜欢在这些文件里塞恶意代码。
Q:怎么判断是哪个漏洞被利用了?
看三个地方:
① Nginx/Apache访问日志
grep -i "POST" /www/wwwlogs/域名.log | grep -v "wp-admin/admin-ajax" | tail -50
排除正常的Ajax请求,找异常的POST请求。特别留意对 xmlrpc.php、wp-json/wp/v2/users、未登录状态对wp-admin的直接请求。
② WordPress的插件/主题版本
被黑的站,80%是因为用了有漏洞的老版本插件。进/wp-admin/plugins.php查看每个插件的版本,然后Google搜"插件名+version+CVE",看有没有已知漏洞。
③ 陌生管理员账号
在数据库里查:SELECT * FROM wp_users; 看看有没有不认识的邮箱和管理员账号。
Q:找到后门文件了,删掉就完事了吗?
不够。黑客一般放的是一句话木马,删了它,留下了一个webshell或者定时任务还在继续往里写。
所以要做这几步:
① 检查定时任务:crontab -l 看看有没有陌生任务(比如 wget 某个URL)
② 检查所有PHP文件里的 eval、base64_decode、shell_exec、preg_replace /e ——这几个是木马关键词
③ 用 find + grep 批量扫:grep -rl "eval(base64_decode" /www/wwwroot/站点目录/
④ 换掉所有密码:数据库密码、FTP密码、WordPress管理员密码、SSH密码
Q:恢复了网站怎么防止再次被黑?
① 装个安全插件:Wordfence(免费)或 iThemes Security
② 禁止xmlrpc.php访问(Nginx里直接返回403)
③ 改掉默认的/wp-admin路径(用WPS Hide Login插件)
④ 所有插件和主题设置成自动更新
⑤ 文件权限设置:目录755,文件644,wp-config.php设为600
⑥ 每三天备份一次数据库,每周备份一次全站文件,备份存到异地
记住一条:没有绝对安全的网站,只有恢复速度的区别。备份是你最后的保命符。
标签: 网站安全 WordPress安全 网站被黑 应急处理 木马清理
还木有评论哦,快来抢沙发吧~