近来玄天端被滥用的龙腾和数据库后门使得不少服都被删数据,滥发龙腾广告
使得无法正常游戏
还有不少CC的攻击
最近收到不少朋友的要求 这里就简单的分析下原理和防御方法
1.龙腾
查出来是服务端处理线程对账号登录请求的账号判断
如果是xuantian_send 就发送龙腾
心机哎 不得不说 又想赚钱 又不让你们开 就是这样
操作这个后门很简单 随便拿个客户端往服务端发 23 50 账号为xuantian_send就可以驱动这个
办法就是外部对进入的数据流过滤掉这个
2.数据库
目前来看用的后门跟上面类似 代码是xiantian_shujuku
这样之后就可以得到数据库账号密码
然后默认的数据库配置文件里bind的IP是0.0.0.0
然后就可以远程访问你的数据库把表删的一干二净了
但是之前有个朋友遇到的被删的是表格文件 我通过干净的frm文件覆盖后 发现数据还是在的
所以我怀疑端里还有直接删除文件导致数据库丢失的后门
要防御也很简单
对数据库用户权限限制 不授权drop命令 这样表就无法删除了
但是因为数据库设计的原因 一些记录需要用上delete命令
本来可以给服务端分配的用户不授权delete就无法弄掉数据了
不过这些都治标不治本 搞点脏数据进去一样开不了
最好的就是吧bind去了
然后防火墙把所有端口都禁用了
3.CC攻击
之前遇上的是单IP的
就是无限客户连接 然后把你的服务端处理线程全部挤爆 本来E的数组就有问题 太大了直接越界
昨晚遇上了多IP的 导致我之前写的一套防御全无效了
我又写了个进入验证 终于解决了目前的问题
现在稳定吞吐无压力
解决方法也不是很麻烦 就是对外来IP先做审核 不存储 存储必崩 审核通过加入白名单
然后对来的IP白名单审核 不在白名单直接拒绝
白名单之后进行黑名单审核
就存在破解了白名单验证 或者单机通过白名单之后 多个请求的问题
所以这里就可以直接再进行一次黑名单审核
判断一定时间内连接次数是否超过限制 超过了直接拒绝
然后上面的两个漏洞也可以在这里一起审核
目前完整程序已经写出来了
单机部署+防御 1000/台 - 抵抗各种CC 封堵后门支持更新
数据找回 600/次
(哈哈 还是被发现了打广告的嫌疑,不过动手能力强的可以自己写啦!!!)