网站被攻击了怎么办:黄金一小时的应急和恢复步骤

先止血、再查因、后加固
发布于
7

做网站的,迟早会遇到这么一天:早上起来发现网站打不开,或者打开后跳到一个不认识的页面,再不然就是搜索引擎里被标了“危险网站”。别慌,这种事有套路可循。按“先止血、再查因、后加固”的顺序走,大部分情况都能在一天内恢复。

一、先判断是什么类型的攻击

对症下药前得先看清楚症状:

现象 大概率是
带宽跑满、CPU内存飙升、整站卡死 DDoS或CC流量攻击
页面被改、挂了不明链接、跳转赌博色情站 程序被入侵、留了后门
域名解析被改、访问到了别人家服务器 DNS被劫持或域名被盗
后台能进但数据不对、订单丢失 数据库被拖或篡改

二、黄金一小时:先止血

这时候“快”比“准”重要。目标是先把损失摁住。

  1. 备份现场:别一上来就覆盖。先用 tar 打包网站目录、用 mysqldump 导出数据库,把被攻击时的样子留着,后面溯源要用。
  2. 切流量:如果是流量攻击,立刻把域名解析切到高防IP或者CDN节点,让清洗后的正常流量才回源站,同时把源站真实IP藏起来。
  3. 临时关非必要端口:在防火墙里把SSH、FTP这些用不着的端口先关掉,只留Web端口,缩小被咬的面。
  4. 有干净备份就回滚:要是确认是被改了程序,而且手里有没被污染的备份,直接还原最快。

三、止血之后:找准病根

不找到入口,恢复了也很快再被攻进来。重点看三处:

  • Web日志tail -f /var/log/nginx/access.log 看有没有某个IP疯狂请求,或者一堆异常的POST。
  • 近期改动的文件:用 find /var/www -mtime -1 找最近24小时被改过的文件,后门往往藏在这里。
  • 可疑账号和密钥:检查系统里有没有多出来的管理员账号,SSH的 authorized_keys 有没有被加陌生公钥。

四、把漏洞补上

找到原因后做这几件事:

动作 说明
更新程序和插件 WordPress、主题、插件全升到最新,老版本是最常见的入口
上WAF 用云WAF或者ModSecurity拦注入和XSS
改弱密码 后台、数据库、FTP一律换强密码,SSH禁用密码登录改密钥
限制上传目录 上传目录禁止执行脚本,防一句话木马

五、平时怎么防,少挨打

攻击防不住百分之百,但能做几件让对方嫌麻烦的事:

  • 藏好源站IP:业务前面套CDN或高防,源站IP不对外暴露,别人想直接打你都找不到地方。
  • 定期备份并异地存:备份别放同一台服务器,传到对象存储或者另一台机器,出问题一键还原。
  • 业务IP隔离:做多账号、多店铺的朋友,给不同业务配独立出口IP,比如极跃IP(jiyueip.com)的静态住宅IP,一个业务出问题不至于牵连其他。
  • 装监控:服务器资源、访问量设阈值告警,异常波动第一时间知道,不用等用户来投诉。

常见问题

被攻击时第一件事到底是先备份还是先恢复?

先备份现场再恢复。被改坏的页面是证据,覆盖了就没法查是谁从哪进来的,后面还可能再中招。备份完再动手还原。

没有高防也没有CDN,被DDoS了只能干瞪眼?

临时办法是联系机房或云厂商开启流量清洗,或者干脆换一个源站IP、把域名解析指过去。根本解法还是平时就把源站IP藏好,前面套一层防护。

网站被标“危险”后怎么解除?

先彻底清掉恶意代码、确认没后门,再去搜索引擎的安全中心提交申诉,说明已修复。过程要几天,期间保持站点干净别再中招。

最后提醒一句:这篇文章讲的是“怎么在被攻击时保护自己、怎么加固”。反过来,拿这些手段去打别人的网站是明确的违法行为,刑法里破坏计算机信息系统、非法控制计算机信息系统都是重罪。技术是用来守住自己资产的,不是用来伤人的。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600