专栏首页TLingC's Zone防御Source Engine Query泛洪攻击(二)

防御Source Engine Query泛洪攻击(二)

上一篇文章《防御Source Engine Query泛洪攻击(一)》提到使用限速模块对单IP进行请求限速,但若攻击者使用伪造的IP发送数据包,那么限速模块就不能很好地起到作用了。 在没有很好的方法防御的情况下,可以使用主动丢弃被攻击的端口的查询包(即类似于封禁端口)的方法来防止查询包到达游戏服务器,防止产生反射流量影响服务器的上行带宽,同时已在游戏内的玩家也不会受到影响。但这样也会导致被攻击时其它玩家无法搜索到服务器,需要配合其它方法加入白名单访问。

  1. 首先添加标记查询包的规则。 iptables -t raw -A PREROUTING -p udp -m string --hex-string '|ff ff ff ff 54 53 6f 75 72 63 65 20|' --algo kmp -j MARK --set-mark 1
  2. 然后用ipset新建一个集合,用于存储封禁的端口。timeout 超时时间代表集合内的元素在多少时间后会被清除,可根据个人需求修改。 ipset create SourceEngineQuery_BanPort hash:ip,port timeout 5 如果没有安装ipset,可以先安装(以ubuntu下apt安装方式为例)。 apt-get install ipset
  3. 然后添加端口封禁规则,封禁在上述集合中的端口。 iptables -t raw -A PREROUTING -p udp -m mark --mark 1 -m set --match-set SourceEngineQuery_BanPort dst,dst -j DROP
  4. 添加速度检测规则,把超过设定速度的端口加入集合。 其中 hashlimit-abovehashlimit-burst 可根据个人情况调整。 iptables -t raw -A PREROUTING -p udp -m mark --mark 1 -m hashlimit --hashlimit-name SourceEngineQuery_BanPort --hashlimit-mode dstip,dstport --hashlimit-above 1500/second --hashlimit-burst 2 --hashlimit-htable-expire 10000 -j SET --add-set SourceEngineQuery_BanPort dst,dst
  5. 这样一来封禁被攻击端口的查询的规则就完成了,可以使用以下命令查看ipset的情况。 ipset list SourceEngineQuery_BanPort

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 防御Source Engine Query泛洪攻击(一)

    Source Engine Query泛洪是使用Source引擎游戏服务器的查询协议来进行的攻击,攻击者只需要发送一小段数据包,服务端会返回几倍的数据,形成反射...

    TLingC
  • framework7框架中tab页面下拉刷新方案

    最近在使用framework7框架开发web app,发现在tab页面中直接定义多个ptr-content会导致异常。最后绑定用户点击tab的事件,动态解绑/绑...

    TLingC
  • 用itchat做一个简单的关键词回复微信机器人

    itchat组件:https://github.com/littlecodersh/ItChat 下载后根据安装教程

    TLingC
  • 【一周简报】智齿沙龙:风头正盛的互联网金融,如何寻求良性生长路径

    智选SDK一周资讯大事记,将会为您呈现过去一周最受欢迎的SDK资讯、投融资、企业活动、人物访谈和创业故事等信息,让您在最短的时间内了解最火爆的前沿信息。 智齿沙...

    BestSDK
  • Kafka重置消费的OffsetKafka源码分析-汇总

    扫帚的影子
  • tomcat请求处理分析(一) 启动container实例

    1.1.1  启动container实例 其主要是进行了生命周期中一系列的操作之后调用StandardEngine中的 startInternal方法,不难看出...

    cfs
  • 轻松玩转 Scikit-Learn 系列 —— 线性回归及 ML 相关评价标准

    线性回归可能是机器学习中最简单、最基础的算法了。但一定不要因为它简单就轻视它的存在,因为它也是很多更高级机器学习算法的基础,比如多项式回归、岭回归、 LASSO...

    小小詹同学
  • 创业公司的股权分配

    导读:创业公司应该如何分配股权?一般标准是谁最重要谁就该最多股份。比如:产品型团队,工程师拿最多股份。业务型,销售合伙人拿最多。商业模式型,那会融资的就应该拿最...

    阳光岛主
  • 使用 RestTemplate 进行第三方Rest服务调用

    RestTemplate 是 Spring 提供的一个调用 Restful 服务的抽象层,它简化的同 Restful 服务的通信方式,隐藏了不必要的一些细节,让...

    码农小胖哥
  • Enterprise Library 4.1学习笔记1----配置应用程序块(c/s和b/s均适用)

    园子里TerryLee的Enterprise Library系列文章回顾与总结 http://www.cnblogs.com/Terrylee/archive/...

    菩提树下的杨过

扫码关注云+社区

领取腾讯云代金券