• 【问卷调查奖励发放公告】

    感谢大家积极参与本次 MineBBS 社区问卷调查。200 金粒的参与奖励已完成发放。部分用户发放失败,请【点击此处】 查看详情。

运营维护 个人腐竹如何经济廉价的防御DDoS

SummerGoro

互通板块版主 | IMC.RE

管理成员
版主
组长
注册
2019/09/15
消息
221
金粒
44,894金粒
[MD]

# [原文链接](https://blog.smgoro.top/archives/305/)

## 如需搬运请联系作者取得授权,并标注原文链接.

> 因为近期很多腐竹都遭到了DDoS的攻击,本人也不例外。为了帮助广大公益服腐竹,本人总结了一些个人经验,希望能对大家有所帮助。

注:本文重点在于**“如何经济廉价的解决DDoS攻击所带来的影响”**,所以各大厂商高昂的DDoS防御服务不在本文的介绍范围内。

本文集中整理“方法列表”,而具体提及的一些方法的具体使用如果不懂请自行搜索。没有提到的一般都是网上都能搜索到的。

由于云环境多样复杂,本文提到的方法不一定对你都有帮助,请自行甄别有用的信息,灵活的去应对DDoS攻击。

# 要点该要:

1. 网站免费Cloudflare CDN服务
2. 高防内穿节点
3. 大厂服务器异地容灾
4. 家庭动态公网IP
5. 软件防火墙
6. 高防服务器
7. DNS均衡负载

----

## 认清DDoS本质


对于DDoS攻击的专业解释网上有很多,这里就不过多赘述了。通俗的来讲,DDoS就是由多台主机通过发送大流量的数据包,让你的服务器造成网络堵塞,从而达到让你的服务器无法正常访问的目的。

这是我在知乎上看到的一个比方:假如你的服务器是一个餐厅,一共能承载50个人,这时你的竞争对手突然拍出了几千号人,一拥而上来到你的餐厅,占着座位不点菜,坐一会就走,然后又来了一个同样的人,这样想来你餐厅吃饭的人就没法正常就餐了。

这是一个很通俗的解释,从中可以抓到这几个要点:
- **DDoS攻击具有时效性**。因为是占用带宽导致的网络堵塞,等待攻击结束后服务器自然也可以恢复正常。
- **DDoS需要具有一定的量才有效**,如果只是低流量的攻击,无法造成实际影响。**而这种“量”的说法是相对的**。
- **DDoS并非无成本攻击**。如果是小量的DDoS攻击,或许可以经过各种途径获取。但是如果想要打出百G级别的攻击,很多情况下并不是“免费”就可以搞定的。需要耗费一定的“资源”。而这种资源的表现有很多种,如:钱,服务器,肉鸡等。

## DDoS的认知

当你明白这三点后,你可能会意识到这是一场“资源战”。比的,就是你的资源和攻击者的资源,谁更有力,就是谁的胜利。

这就是为什么说“攻击量的说法是相对的”。如果他攻击的量对你的服务没有正常影响,那么就可以约等于“没有遭受到攻击”,无非就是餐厅多了几个闲的没事进来转悠的人而已。

而“DDoS的攻击具有时效性”和“DDoS攻击并非无成本”这两点,注定攻击者无法进行长时间的攻击。而这个时间有多长,要依据情况来判定。要清楚:**攻击者的目的是让你的服务无法正常访问**,所以比到最后,如果你的服务依旧正常运行,而他的资源告捷,就是你的胜利。

所以DDoS的攻击/防御很有可能会变成长时间的拉锯战,要做好心理准备,活到最后的,才是赢家。

## 1. 使用Cloudflare进行网站防护。

Cloudflare是一个十分知名的网络安全服务商。你应该在不少国内外网站都见过他的身影。本文依旧不会进行Cloudflare的对接教程说明,如果不懂请自行搜索。

如果你是没有很多钱的个人站长,却遭受了DDoS攻击,那么Cloudflare的免费套餐是你的不二之选。

使用Cloudflare免费套餐的优点:
1. **永久免费,不限流量**,Cloudflare的免费套餐可以说是独一无二的。不要小瞧了这点,这是迄今为止所有的国内CDN厂商都无法做到的。
2. 防火墙自定义规则,流量拦截,五秒盾,CC防护。这些很多功能放在国内CDN厂商/软件防御都是付费的功能,Cloudflare免费套餐一条龙备齐,一个不差。
3. 可以隐藏你的服务器源IP地址,让攻击者溯源攻击变得更加困难。
4. 如果你的服务器是国外被墙IP,国内无法正常访问,那么通过套Cloudflare免费套餐你的服务网站即可正常访问。

使用Cloudflare免费套餐的缺点:
1. Cloudflare免费套餐**只能对接网站服务**,如果你是开Minecraft服务器,游戏服务,内网穿透等服务,是无法使用Cloudflare免费服务的。付费服务似乎支持25565端口的使用,不过价格和门槛原因本文不再讨论,有兴趣可以自己搜索。
2. 由于Cloudflare是国外服务商,你的服务器又是国内服务器,所以不可避免的**会大幅增加访问延迟**,虽然可以通过自选IP等方式缓解,但速度肯定不如你国内服务器来的快。
3. **Cloudflare免费套餐的防护并非绝对的**,攻击者如果极其针对你,可以通过各种手段进行溯源,然后直接攻击源站IP,这样你的Cloudflare就跟没套没两样。

## 2. 使用高防内穿节点进行防护

如果说Cloudflare免费套餐只能对接网站服务,那么这个方法(内穿:内网穿透,反代:反向代理)可能是对已有服务器的其他服务的腐竹是不二之选。

这个方法支持的服务有很多,包括但不限于建站,Minecraft服务器,游戏服务器,个人网盘等服务。

使用反代后,玩家都将通过反代服务器进行连接,再由反代服务器发送数据到你的服务器。同理,攻击者的攻击流量也会被打到反代服务器上,并不会直接攻击到你的服务器,由于反代服务器拥有高防节点IP,所以对方的攻击无法对反代服务器造成影响,自然对你的服务也就没有影响。

使用本方法切忌:**不要再将源站IP公开!**,这样攻击者可以直接攻击你的源站IP,套了和每套没什么区别。

本方法的优点:
1. 反代可隐藏源站IP,转移攻击者攻击对象,从而达到减轻服务器负担的效果。
2. 节省自行另购高防IP/高防服务器的成本,部分内穿服务并不会很昂贵,是很有性价比的选择。

本方法的缺点:
1. 反代后所有连接服务都将显示反代服务器的IP,无法直接查询访问者的真实IP,具有一定的安全隐患。
2. 受限于内穿分配带宽,原本的带宽在实际使用体验中会有缩水。
3. 本方法需要花费一定资金才能实行。尽管也有免费的内穿服务,但是否合适还待商定。所以是否“经济廉价”,取决于你是怎么用的。

## 3. 大厂服务器“异地容灾”快速恢复。

这里的“大厂”指的是阿里云,腾讯云这种大规模,规范化的云服务厂家,其他云可参考是否有类似功能来判定本方法能否使用。

很多大厂服务器的用户都有一个这种烦恼:服务器不经打。一被DDoS攻击就会被拉入黑洞,长时间无法正常访问。因为大厂默认机器防御只有5Gbps,超出防御流量的攻击就会被拉入黑洞,黑洞属于“大厂的自行防卫措施”(简单来讲就是节省成本),时常2小时到1天不等。然而大厂提供的DDoS攻击防护套餐又贵的离谱,显然不是个人腐竹可以支撑的起的。而且往往一些服务器是无法自行接触黑洞状态的(如轻量应用服务器),黑洞状态下上述的两种方法又无法使用。那想要快速经济的解决黑洞问题,可以参考如下流程:

1. 服务器创建快照备份。快照备份会备份你云服务器内的所有数据,如果有数据丢失等情况使用备份快照可以轻易恢复。
2. 将备份快照创建为自定义镜像。我们都知道云服务器在选购时会让用户选择镜像。而通过快照创建的自定义镜像包含了你备份的所有数据。
3. 创建**小时计费服务器**,并选择自定义镜像。这样你新创建的服务器具有你被拉入黑洞的服务器的所有数据,开服即用,十分方便。而小时计费服务器是作为你的常用服务器的应急“异地容灾”,在常用服务器恢复正常后将数据导回常用服务器,再将小时计费服务器销毁即可。

按黑洞时间1天,小时计费服务器0.025元/时 来计算,一天下来的费用也就0.025*24=0.6元。即可做到快速从黑洞状态恢复。

这个方法在很多DDoS攻击应对相关文章中并没有提及,也很容易被人忽略。这也是本人大厂服务器被DDoS后通过各路道友的指点,最终发现的解决方法。其特点就是**快速且经济廉价的从黑洞状态恢复**。

“异地容灾”往往需要用到多台服务器同时工作,而部分个人腐竹可能无法支撑起长时间多台服务器的费用开销,所以我认为将小时计费服务器作为常用服务器黑洞状态时的“异地容灾”服务器,是个很好的方法。

当然,并不是小时计费服务器就抗打了,所以要结合上述两种方法,进行源站IP隐藏,才能起到防护作用。简单来说,这个方法可以让你的服务器快速“活”起来,但是没法保证他一会又“死”掉。不过死掉了也很简单,释放掉重新再来一台就是了(笑)

## 4. 家庭动态公网IP

这个方法**具有一定的门槛和危险性**,因为未知的情况太多,无法保证对你家的网络会造成什么影响,请慎重选择。

为什么说家庭动态公网IP可以防御DDoS?因为不像云服务器,上层还有云厂商的网关监控流量,会把你拉入黑洞。家庭公网IP上层就直接是网络服务运营商,没有黑洞这一说,被打后撑死网络阻塞,不需要多久即可自动恢复正常。手动进行重新拨号跟没事人一样()原理类似于弹性公网IP。这是我个人目前认为防御DDoS最低成本的选择,公网IP是可以免费申请的,路由器重新拨号也只是动动手的事。但是据说过大流量的攻击会让服务商关闭你的公网,甚至可能造成范围内断网,所以还是谨慎使用为好。

如果想要用这个方法,你首先要确认你家的带宽服务商是哪家。电信大概率可以通过拨打客服电话申请到公网IP,联通看脸,移动大内网移不动,从网络架构来讲就没法给你公网,基本就无望了。

如果不知道自己家里有没有公网IP,可通过如下方法验证:

1. 通过ipip.net查询自己的**外网IP地址**,注意是外网IP,不是内网。
2. 路由器使用DMZ映射指向你的局域网内的电脑IP。
3. 被映射电脑开放防火墙,随便搭建一个外网服务(MC服务器,网站一类的都可以)
4. 通过查询到的外网IP访问服务,访问成功即可表明外网IP已开通。

内网DMZ映射设备其实已经可以作为一个“服务器”看待,这也是诸多家里云运营的基础条件。其最大优点就在于没有上级网关会莫名其妙的给你拉黑洞,尽管被DDoS依旧会造成短时间的无法访问,但是这种状态过不了多久就会自动恢复,心放宽点说就约等于没打。

这个方案也是本人长期使用的方案,亲历证明小流量攻击(100G以内)是可以视作无效的。但是也不排除出现上述弊端的可能性,所以本人不是非常推荐使用。

## 5.软件防火墙

软件防火墙也不为失是一种可以选择的防御措施。个人常用的软件防火墙为[安全狗][1],安全狗支持Windows Server/linux等多种服务器系统,可以在一定程度上拦截**已攻击的流量**进行清洗,从而达到加速缓解DDoS攻击带来网络阻塞的效果。

当然,这个方法**并不是一个有效的防护DDoS的措施**,如果你的服务器是大厂服务器,在受到攻击后会立刻被拉入黑洞,服务器根本没有多余的时间去清理流量就已经死掉了),所以这个方案适合搭配“家庭动态IP”去结合使用,可能会更加有效。

## 6. 高防服务器

这应该是最简单粗暴的解决方式了:直接购买高防服务器,从物理层面可以抵挡一定程度的DDoS流量攻击。就像之前打比方的一样,DDoS是一场资源战,既然你拍出了千人来阻塞,那我就把餐厅扩建到可以承载万人,也就相当于没被打)

但是和第二条高防内穿节点同理,这点是否“经济廉价”,取决于你如何选择。网上的IDC什么样的,什么价格的都有,要考虑到防御,稳定性,安全性,性能还有性价比等因素综合考虑。

## 7. DNS均衡负载

这个功能需要用到域名,并且需要你的DNS服务器支持不同线路的解析,看情况还需要用到多台服务器或者高防内穿节点,可以视作第二条和第五条的进阶版。

通过DNS域名的线路设置,你可以使同一域名下不同线路解析到不同的服务器/节点,以此达到负载均衡的作用。如阿里的DNS,免费版即可设置*默认/中国电信/中国联通/中国移动/中国教育网/境外*等线路。如果有条件可以每个线路设置不同的服务器,那样对应线路的访问就会被分配到你解析的对应服务器上,即可做到负载均衡的效果。

另一个好处是,通过DNS均衡负载,即使是很多免费提供但是带宽极小的内穿节点,只要申请多个节点,并使用DNS均衡负载,即可实现理论上的“带宽叠加”的效果,对于服务器节点也是同理。

这样做可以分流来自不同线路的DDoS攻击,不过相对的成本要更加昂贵一些。如dnspod免费版并不支持线路解析,需要升级才可进行。但是升级版本的dnspod解析更加细致,细致到每个省每个市都能给你分配一条解析线路出来。如何使用,请各位自行定夺。

同样,使用这个方法**不要透露源站IP**,只有保护源站IP不被泄露,不要裸奔,才是DDoS低成本防御的第一步。


# 结语

本文提供的几个方法并不一定对所有服务器都适用,请结合自身的条件选择合理的防护解决方案,是作为一个腐竹所必修的科目。当然,这些方案可以合理组合使用,比如家庭带宽+软件防火墙,高防服务器+高防反代+DNS均衡负载,网站国外走Cloudflare/国内走国内厂商CDN等等,合理搭配防护解决方案可以有效增加服务器的防御力度,且**可有效节省成本**,从而实现“经济廉价的防护服务器”的目的。

DDoS攻击尽管是对各大腐竹很强有力的报复手段,近期甚至有多个公益服务器遭受攻击,包括本人的服务器在7月份也遭受了近一个月的攻击。很多公益服腐竹都会因为碍于DDoS防护高昂的费用而被迫放弃开服活动,殊不知这样正中攻击者的下怀。我希望我提供的这些方案能够帮助到一些腐竹渡过难关,也祝愿各大DDoS攻击者早日超生,不要祸害人间()


[1]: https://www.safedog.cn/
[/MD]
 
可以拿高防面板服转发流量,面板服便宜带宽大,效果也挺好的:evil:
 
分享一个家宽已被打的经验:
发现流量异常别硬抗
马上重新拨号
打多了运营商可能会封你所有UDP端口(解封时间不定)
-------如果是仅开Java服这一点倒无所谓,但狐狸开的是Java+基岩-------
我这里的情况是有两条宽带入户,一条电信(有公网IP)、一条移动(无公网IP)
我的操作是
一台服务器两种连接方式,直接公网连接和端口映射连接
用ForceBindIP可以限制端口映射软件走指定网卡/IP
设电信宽带被打了,端口映射不受影响
其次是防止“社会工程学”
如果你公网IP换解析就被打
不要想,肯定是服务器内交流群出”鬼“了
(狐狸的遭遇是这样的-
其他提示:
①SRV解析仅防笨蛋,不防聪明笨蛋,通过一些手段可以获取到真实IP,没用
②看起来便宜(如百度云、腾讯云、阿里云CDN)CDN,这种东西是网站用的、网站用的、网站用的不是给Minecraft游戏用的,尽管都是TCP协议但给mc套的CDN肯定连不上,如果仅用于mc,别买
(问:CDN为什么是tcp?因为网站中的HTTP协议是基于TCP/IP的-高级-协议)
③不要听取某些神奇操作,如:把域名解析到gov.cn之类的,请去喝茶的可能是你自己....
④(不重要)告诉笨蛋攻击者,别有事没事找事干。有闲置的设备可以跑 ”王鑫晕“ (不亏算我输)
 
最后编辑:
我认为我们只需要1个open FRP账号和1台手机即可
 
不,你需要流量清洗设备:evil:加上足够大的带宽,而且软件防御对于DDOS基本是没太大作用的
 
1. Cloudflare免费套餐**只能对接网站服务**,如果你是开Minecraft服务器,游戏服务,内网穿透等服务,是无法使用Cloudflare免费服务的。付费服务似乎支持25565端口的使用,不过价格和门槛原因本文不再讨论,有兴趣可以自己搜索。
补充一下:
CloudFlare有两种服务可以对TCP/UDP业务提供保护
第一种叫Cloudflare Spectrum
官方描述是“为 TCP和UDP应用提供不计量的DDoS防护和流量加速

eb4df9daf6e63f272e02576d345c7373.png
大名鼎鼎的Hypixel就使用了这项服务 虽然这项服务描述上面写着全球流量加速
但他在中国大陆内的表现并不怎么样 从Hypixel的延迟上就可见一斑

这项服务是实打实的收费服务
至少需要开通Pro才可以使用Spectrum 如果直接通过Cloudflare仪表板购买
每个月的售价高达20 USD 针对Minecraft提供5 GB回源传输
如果你的本月回源传输流量超过了5 GB需要额外付费 超出部分每GB/1 USD 月底结账


另:Spectrum其实提供中国大陆节点 要有已备案的域名并且进行额外认证 并且只支持Enterprise订阅客户(5000 USD/月)年底结账

由于相对个人腐竹极高昂的售价和在中国大陆内远配不上售价的连接质量 永远不推荐任何人使用这项服务(土豪随意)

现在说第二种:CloudFlare Agro Tunnel or CloudFlare One Tunnel
这也是一项服务
官方描述是“在CloudFlare的边缘和您的基础设施之间建立安全连接
简单而言就是一个内网穿透服务 可以将流量通过一个轻量级的应用程序安全的连接到CloudFlare边缘
那为什么要把他的两个名字都放在这儿呢 因为他的上一个名字里面有"Agro"
在上一个产品Spectrum的介绍中 有这么一段话
1719826539962.png
这两项服务虽然名字 or 定价完全不同 但实际上系出同源 都是基于CloudFlare Agro Network的产品
这也就意味着CloudFlare One Tunnel也可以发送TCP and UDP流量
并且他的上级产品CloudFlare One是提供免费额度的 不过由于太多人使用Tunnel这项服务来
[数据删除]
CloudFlare对这项服务添加了信用卡认证(银联卡也可以过)
因此部分人可能会无法使用
且作为免费产品 他有一个至关重要的限制
对于非HTTP(S)业务 需要连接进游戏的玩家电脑也安装CloudFlared

或者安装一个模组(
Modflared)
才可以正常使用
这项产品最大优势在于

  • 免费
  • 在正确配置的情况下 提供和Spectrum基本相同的体验
 
PCDN现在很多地方运营商不让开会被封宽带qwp
分享一个家宽已被打的经验:
发现流量异常别硬抗
马上重新拨号
打多了运营商可能会封你所有UDP端口(解封时间不定)
-------如果是仅开Java服这一点倒无所谓,但狐狸开的是Java+基岩-------
我这里的情况是有两条宽带入户,一条电信(有公网IP)、一条移动(无公网IP)
我的操作是
一台服务器两种连接方式,直接公网连接和端口映射连接
用ForceBindIP可以限制端口映射软件走指定网卡/IP
设电信宽带被打了,端口映射不受影响
其次是防止“社会工程学”
如果你公网IP换解析就被打
不要想,肯定是服务器内交流群出”鬼“了
(狐狸的遭遇是这样的-
其他提示:
①SRV解析仅防笨蛋,不防聪明笨蛋,通过一些手段可以获取到真实IP,没用
②看起来便宜(如百度云、腾讯云、阿里云CDN)CDN,这种东西是网站用的、网站用的、网站用的不是给Minecraft游戏用的,尽管都是TCP协议但给mc套的CDN肯定连不上,如果仅用于mc,别买
(问:CDN为什么是tcp?因为网站中的HTTP协议是基于TCP/IP的-高级-协议)
③不要听取某些神奇操作,如:把域名解析到gov.cn之类的,请去喝茶的可能是你自己....
④(不重要)告诉笨蛋攻击者,别有事没事找事干。有闲置的设备可以跑 ”王鑫晕“ (不亏算我输)
 

在线会员

  • 澄闪澄闪澄澄闪
  • 云端a
  • zjy86173
  • 能量
  • Stinger
  • 苦苦力怕
  • FoRever_
  • 南客18
  • 3131600887
  • 10_27
  • 夏长乐
  • 上课时间
  • yyhhkk
  • MeowcoQAQ
  • SnappyRex42224
  • linghun91
  • kl2544kd
  • Sh1roCu
  • JMWYQWQ
  • MoMing
  • PuddingKC
...和 37 更多。
后退
顶部 底部