如何处理攻击 IP 是比较高效节省资源的

查看 228|回复 18
opengps   
给你分享个案例,加深下理解:
我之前做的 gps 服务端,正常来讲就是服务器承载外边进来的上百万 tcp 连接,正常来说每个连接就是一台 gps 终端。
然而我需担心的场景是:我服务器集群全挂了,这时候我手动启动了 1 台,结果是这台必然很快就扛不住巨大的连接数挂掉。
这里最起码应该改成:在我完成整个后端几十台服务器的启动之后,再从防火墙一股脑的把连接放进来。
当然实际上的业务场景还有很多值得优化的地方,不到了具体问题面前甚至都讲不出来这些过程。
brader
OP
  
@opengps 额,我意思大概是这样,你有 100 万台肉鸡没问题,我就当 100 万正常用户,我要做的事情是,防止你单个设备高频发起的攻击,防止你 10 万台肉鸡,却发挥出 100 万台肉鸡的效果
Aloento   
一般都是直接丢弃请求的,不会返回
finab   
最好 TCP 那层就给拒绝掉,就算他疯狂的请求至少都比到应用层去处理强吧
opengps   
@brader 10 万台肉鸡,却发挥出 100 万台肉鸡的效果,也不过才每个肉鸡发起 10 个连接。
要知道你的根本在于,不能给对方回复,因为一旦接起连接,从接起开始就已经消耗了服务器端资源,连接的建立本身,可能已经比你发送的几个字节消耗资源更大了
brader
OP
  
@dqzcwxb 客户端确实可以不接收和等待响应,直接起 N 多进程或者直接切断,但是我感觉应该不是完全无意义的,如果完全无意义,为什么云防火墙都是做成那种保持住连接一直到响应超时呢
ppking   
攻击者的资源相比于服务提供者来讲肯定是更充裕的,要不然也没办法对你进行 dos 攻击。这就是一场资源的比拼,你要是能用更少的资源处理掉这些攻击,那你就建立了防御的优势。
我想表达的意思是,你都打算封 ip 了,那么丢数据包的行为越往前,肯定处理成本越小。在报文进入内核协议栈之前就把拉黑 ip 的报文丢掉不更爽嘛。
areless   
@brader 在瘫痪的正式环境下,通过日志很难排查这种低频率 dos 。而高频率 ddos 很容易被发现,也很容易被追究法律责任。几分钟一次的 dos ,基本很容易从法律层面圆过去
brader
OP
  
@finab
@opengps 那意思就是,如果围绕最节约服务器资源的技术角度研究下去,最终还是要回到 TCP 层来拒绝比较好,其实这个就是专门的高防服务器,就是做这个事情的?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部