两种免费防御DDoS攻击的实战攻略,详细教程演示

为什么说DDoS攻击恶心又无解?因为黑客只需要投入极少的成本,就可以发起海量的攻击流量。而小网站往往无力承担这高额的防护费用。这是国内某云服务器厂商的DDoS高防IP的套餐价格,这些昂贵的套餐甚至还有流量限制。一旦攻击流量超过套餐限制,那就得加钱。

本期视频分享两种零成本防御DDoS攻击的思路,特别适合个人开发者与小型企业。本期视频主要侧重于实战,会详细演示每一个配置步骤,还有具体的注意事项。

CDN

CDN即内容分发网络。CDN服务商通过遍布全球的数据中心,缓存网站的静态资源。网站的访客可以直接从CDN网络的缓存读取这些数据,加快网站的加载速度,并且减少服务器压力。网站开启了CDN以后,就隐藏了网站真实的IP地址。攻击者的DDoS攻击最多也只能攻击到CDN节点。CDN服务商首推的是互联网大善人Cloudflare。我之前看过一个报道,Cloudflare曾经为免费客户阻止了有史以来最大的DDoS攻击,攻击的峰值高达每秒2,600万次。如果客户使用的是其他网络供应商提供的按流量计费的CDN,估计已经一夜破产了。可能有的观众会问,用了Cloudflare的CDN以后,国内的访问速度会变慢?爬爬虾想说的是,速度变慢总归比网站被攻击到掉线要好。如果对速度有更高要求,Cloudflare的企业级产品里面也提供了专门的中国线路优化。本期视频我们还是以个人网站使用免费套餐为例,进行演示。

实战演示

好,我们进入实战环节。这是我的一台云服务器,然后我在上面安装了一个nginx。我使用nginx部署了一个页面,我们在浏览器输入服务器的IP地址,就可以访问到我这个最基础的小网站。

图片

接下来,我们使用Cloudflare配置CDN来保护我的网站。我们进入到Cloudflare的官网,

https://dash.cloudflare.com/

这里需要准备一个域名,

图片

并且把域名托管到Cloudflare上面。爬爬虾之前有详细视频介绍如何购买一个域名、如何获得免费域名,并且托管到Cloudflare上。对这块不熟悉的观众朋友们,可以看一下往期视频。

我们有了域名以后,这里点击DNS记录。接下来我们配置一个DNS解析,把我的域名指向我的网站。这里点击添加记录,名称的话我填@,指的是把我的域名解析到这个IP地址。IP地址就填服务器的IP地址。好,这一步是重点,我们要把这个代理状态,也就是这个小黄云开启。

图片

接下来我们保存一下,然后我们在浏览器访问这个域名,这样成功访问到了我的网站。

图片

如果想使用CDN抗DDoS攻击的话,我们记得要把这个IP地址保密,不要与其他人分享。一旦网站的真实IP地址被泄露,黑客就可以很容易的攻击到网站。

除了我们主动泄露IP地址,还有一个风险,就是黑客利用网络测绘工具在互联网上扫描到了我们的IP地址。比如,黑客使用fofa这种网络空间测绘引擎,24小时的探测一切暴露在互联网上的信息。

图片

黑客通过网络测绘工具暴力的扫描所有的IP地址,他可以发现这个IP地址与我这个域名对应的网站是一样的,从而就知道了我网站的真实IP地址。

为了避免这个风险,我们还需要进行一步设置,就是在云服务器厂商那里设置一个IP白名单。我们只允许Cloudflare的CDN节点来访问我们的网站,屏蔽掉其他的一切无关访问,特别是要屏蔽掉这种网络空间测绘等的访问。

好,接下来我来演示一下。我在国内的一家云服务器厂商购置了一台服务器,我们来看如何配置他的IP白名单这里。

图片

我们点击安全组,然后点击创建安全组,这里我起个名字叫做Cloudflare CDN。我们把允许所有端口访问的关掉,接下来我们添加入站规则。我们添加一条规则,类型的话IPv4只允许TCP协议端口,就是80端口。

图片

我们只需要Cloudflare的CDN节点通过80端口访问到我们的服务器,其他一切无关IP全部屏蔽掉。所以这里IP来源,我们需要填写Cloudflare的CDN节点的IP。

我们进入这个地址, https://www.cloudflare.com/ips/ 这里面的IP地址就是Cloudflare所有的CDN节点的IP地址。

图片

我们把这些IP地址作为白名单,填写到刚才的安全组里面。这里我先选择第一条填上,备注的话我就写CF1,然后确定。

图片

接下来我们填写第二条规则,还是TCP协议80端口,我们把第2条也填写过来,备注的话我叫CF2。总共15条规则,我全部填写到这里。然后我再添加一个规则,这里我需要把22端口开放,因为等下我还要操作服务器。

图片

图片

来源的话就是所有。15条Cloudflare的白名单规则,还有一条22端口的SSH规则,最后我们保存一下这个规则。

把这个规则添加到服务器上面,这里找到我的云服务器,我们点击进来服务器设置。这里有一个安全组,

图片

现在使用的是默认安全组,我们点击这个加号关联安全组,我把Cloudflare CDN安全组选中,

然后把默认安全组取消掉,在这里点击确定。好,我图片们来试一下,这里我们直接使用IP地址看看还能不能访问到,可以看到访问不到了。也就是说,我的网站现在只允许Cloudflare的CDN节点来连接,这些奇奇怪怪的网络测绘工具以后再也扫描不到我的服务器了。我们来试一下使用域名能不能连接到服务器,域名还是可以访问的。好,到现在为止,我们已经可以扛住网络层还有传输层的DDoS攻击了。

Cloudflare防火墙

接下来,我们来看使用Cloudflare的免费防火墙为我们的应用层增加抗DDoS攻击的能力。这里我们找到自己的域名,找到这里的安全性,我们进入这里的WAF。进来以后我们点击自定义规则,免费用户可以自定义5个防火墙规则,我们来看几个比较有用的。

图片

这里点击创建规则,规则名称我叫做恶意请求,我们找到威胁分数改成大于等于5,接下来的操作我们选择这个托管质询。这里的意思是,Cloudflare会为我们分析每一个入站请求,如果发现入站请求的威胁等级大于5,他就会弹出一个Turnstile的5秒盾进行一个人机验证。

图片

我们还可以再添加规则,比如这里我添加一个规则叫做屏蔽国外,然后客户的地址只要是不等于中国,我们还可以采取措施,比如这里阻止。这里指的是所有国外的请求都会被Cloudflare的规则阻止。我们可以通过分析黑客的DDoS攻击的来源,使用防火墙规则挡住大部分DDoS攻击。具体规则如何配置,可以参考Cloudflare的文档。

图片

另一个很有用的规则限制是这里的速率规则限制。

图片

我们来点击创建规则,这里我叫IP访问限制,这里我们填URL路径,然后来一个通配符,这里我直接星号,指的是保护整个网站。接下来具有相同特征,那就是IP地址,免费版是没法改的,然后这里可以填写一个自定义的速率,比如这里我填写1,然后选择10秒钟,指的是同IP每10秒钟只能请求一次,然后采取措施,这里直接阻止,最后时间是10秒。

图片

接下来我来访问一下我的网站,可以看到第一次访问成功的,然后我再刷新一下,这里显示error,因为我触发了Cloudflare的速率限制。我们可以通过配置一个合理的数值来控制每个IP的最大访问速率,这里我建议填个100或者150类似的值。

Cloudflare的安全性设置里面还有一个大招,就是这里的安全级别,可以把这个安全级别调成最高,叫做I’m under attack。

图片

访问网站的所有请求必须全部通过Cloudflare的人机验证才能到达你的网站。好,我们来试一下,这里弹出了人机验证,必须打上对勾以后才能访问到网站。这个大招一开,基本上所有的DDoS攻击全部拒之门外。

使用静态网站

对于一些企业宣传页、个人博客等等的网站,其实没有必要使用传统的服务器部署,

图片

我们可以考虑使用免费的静态网站托管服务。静态网站指的是由纯HTML、CSS还有Javascript组成的网站,所有的页面都是预先生成好的,不需要后台服务器的支持,也不需要数据库查询。

图片

市面上有很多免费的静态网站托管服务,比如Github Pages还有Cloudflare。使用静态网站就从根本上杜绝了DDoS攻击,因为我们连服务器都没有,黑客也就没法攻击了。这就叫无招胜有招。

爬爬虾之前有很多视频介绍使用Github Pages部署免费的静态网站,比如我之前讲过这个表白代码收藏馆的项目,还有这个18秒部署一个个人博客。这个博客目录导航栏、图片表格这些功能一应俱全,甚至访客来还能发表评论,只需要登录一下Github账号,就可以在博客里面发表评论。黑客能耐再大,也不可能把Github攻克。

今天的视频就到这里,希望给大家提供一些防御DDoS攻击的思路。感谢大家,我们下期再见。

学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐