网络世界从来都不太平,即时你人畜无害,也会受到莫名其妙的攻击,或服务器被黑,或网站被DDos无法打开。本站近期发生了几例安全事件,其中有本人误操作造成的,导致影响到了用户正常访问本站。

本文简要介绍近期发生的安全事件,并简要介绍本人的解决办法。

2020.04.13:CC攻击

事件经过:这天傍晚时分,收到服务器CPU占用过高的邮件提醒。登录服务器查看,Nginx和MySQL进程占用大量的CPU资源。当时并没有想到被攻击了,简单认为是缓存的问题。期间还尝试重启过MySQL进程,还是没能解决问题。

于是查看Nginx日志,发现某个IP大量持续请求后台资源。攻击者应该研究过本站,所以采用针对WordPress的CC攻击,单ip多线程请求就导致服务器CPU使用率飙升。

事件影响:正常用户访问本站应该没受到影响。

解决办法:使用firewalld封禁掉攻击者IP,同时限制消耗型资源的请求频率。

2020.04.14:带宽攻击

事件经过:中午收到服务器流量异常的短信通知,登录服务器管理后台查看数据,发现从凌晨开始,攻击者使用多线程下载本站的某个大文件,期间服务器带宽一直被占满,持续了好几个小时。从攻击手法和间隔时间看,和昨天CC攻击应该是同一个人。近期本人未收到能联系到这两起事件的邮件或留言,暂不清楚攻击者目的。

事件影响:正常用户访问可能会觉得有点慢。

解决办法firewalld封禁掉攻击者IP;删除会占满带宽的附件;Nginx限制下载速度。

2020.04.18:404错误

事件经过:本人中午整理服务器上的文件,修改了网站的Nginx配置文件。下午三点收到Google邮件提醒有4040页面,自己检查发现除了首页、管理后台、下载页等特定页面正常访问,文章页全部提示404错误。

事件影响:中午十二点到下午三点,网友到本站的 Shadowsocks/SS客户端ShadowsocksR/SSR客户端V2ray客户端trojan客户端 几个页面下载软件或查看文章,点进来会显示Nginx 404错误页。

解决办法:修改Nginx配置错误,重新加载Nginx。

2020.04.19:DDoS攻击

事件经过:下午4点左右收到服务器被udp流量攻击的提醒,因为流量过大,服务器进入黑洞状态。

事件影响:期间本站访客无法打开页面,或者打开页面缓慢,过程持续两小时。

解决办法:本站使用 WordPress备份方案和备份脚本 所说方法进行了备份,发现有DDoS攻击后,立即在另一台VPS上还原网站。同时开启Cloudflare防护服务,防止攻击者继续攻击新ip。两个小时后攻击暂停,撤掉缓慢的Cloudflare CDN,用户又可以很快打开本站了。

总结

这些安全事故带来的教训:

1. 开启异常监控和提醒很重要,能第一时间收到通知;

2. 一定要做好备份,有问题先让服务恢复正常再说;

3. 关键资源做好频率限制;

4. 适当 隐藏网站真实ip

参考

1. WordPress 应对 CC 攻击经验谈

2. Cloudflare 回源ip