站长经验
快来分享你的内容吧~
鱼皮大佬,我最近有一个网站要上鱼皮大佬,我最近有一个网站要上线了,我怕有别有用心的人攻击,之前看过您的网站被攻击的视频,但没有说要怎么解决这个问题,如何防DDoS攻击、刷DNS、刷对象存储的资源等以流量计费的产品。除了Web高防服务器,还有没有其它不花钱的解决方案?我前几天看了余胜军的直播,了解了一个方案,就是在资源后面拼接token+过期时间,这个方案我不知道要怎么实现,请鱼皮大佬赐教。...查看全文程序员鱼皮:1)DDOS 攻击没办法绝对防御,非盈利网站就别考虑了。不花钱要是能解决,那么 DDOS 攻击的危害也就不会那么严重了,花几十万都没办法完全解决。但是你可以通过给服务器添加 IP 黑白名单、或者防火墙来一定程度上增加安全性。2)刷 DNS 不需要你关注,一般直接用云服务商的 DNS 解析就行了,开发者一般更关注服务器和代码层面。3)想防刷对象存储资源,最好的方式就是不用。如果实在要用,一定要选择有
- 2023-12-01·后端1、没有域名,也能上线网站 上线网站的核心要求是有一台有公网 IP 的服务器,或者别人提供的网站部署服务(比如 vercel)。把我们开发好的网页文件或后端代码包放到服务器上,让别人通过 IP 地址或者域名找到这台服务器上的文件,从而实现访问。 所以没有域名,那就提供 IP 地址给别人访问即可。这是最快上线项目的方法了。 2、域名不备案,也能绑定服务器并正常访问 IP 是不好记忆的,不利于网站的访查看全文鱼友0412:如果想用阿里云的一套看看这个。服务器:大学生之前没在阿里云买过服务器的话,可以免费领七个月(免费送一个月,学习完入门课程再送六个月)。域名:有了服务器可以在阿里云有大学生的一块钱就能买的域名,很划算,我直接买了两个。备案:买完之后先不要着急使用,因为服务器在国内需要先备案,直接在阿里云备案(我是直接两个域名一起备案,整个流程走完不到一周时间,很快)。你需要做的就是填写基本信息,准备身份证要拍照上传4393分享
如何安全使用云服务?我被刷几万元的血泪经验
<html> <head></head> <body> <div class="content ql-editor"> <p>曾经有一个无辜的程序员,他想要上线自己的网站给别人用。</p> <p>他听说使用云服务可以很轻松地存储网站文件,于是他试了下,发现果真如此。</p> <p>从那天起,他仿佛发现了一个新世界,云服务器、对象存储、CDN,一个个开箱即用的云产品,让他如沐春风、开发效率嘎嘎倍增。</p> <p>他乐此不疲地用着各种云服务。直到有一天,记得那是一个风雨交加的夜晚,他收到了一条短信:“您的云账户已欠费 x 万元”。</p> <p>那一刻,他发如雨下,终于意识到了:世道险恶,人心不古啊!使用云服务,就意味着有被小人攻击的风险。</p> <p><img src="https://pic.code-nav.cn/planet_post_image/1601072287388278786/2ruvhl0o.jpeg" alt=""></p> <p>没错,这位无辜的程序员就是在下。</p> <p>我从大学开始做网站,至今 7 - 8 年了,经历过无数的网络攻击,也损失过数万元的米。但也正因如此,我积累了丰富的实战经验。</p> <p>这篇文章鱼皮会以最容易造成大额损失的、按量计费的云服务 —— 对象存储和 CDN 为例,给大家分享一些安全使用云服务的方法,希望能帮助更多的开发者避坑。</p> <p>友情提示:不要以为攻击不会发生在自己身上,建议读完这篇文章,不要让自己成为下一位 “无辜的程序员”。</p> <h2>如何安全使用云服务?</h2> <h4>1、能不用就不用!</h4> <p>一定要根据自己的需求和实际情况选用云服务,不要为了用技术而用技术。</p> <p>比如你做的是学习练手的项目或者免费网站,那么就慎用像对象存储、CDN 这种按量计费的服务。</p> <p>的确,对象存储是很方便、CDN 能给网站加速,但真的有必要么?你服务器的带宽不足以支撑那点儿用户了么?不用 CDN 网站就要违背 8 秒原则了么?</p> <blockquote> <p>8 秒原则是互联网的一个著名的原则:用户在访问网页时,如果时间超过 8 秒就会感到不耐烦;如果下载需要太长时间,他们就会放弃访问。</p> </blockquote> <p>其实再加一点点成本给服务器增大带宽,也能提高网站的加载速度。</p> <p>以前鱼皮就很喜欢用 CDN,觉得不给网站套 CDN 加速就浑身难受,但其实大多数网站没什么并发访问量,用了 CDN 也快不了多少,反而增加了成本和被攻击的风险。别跟我说什么 Cloudflare CDN,国内用免费版本堪称 “网站减速器”。</p> <p>之前也给大家推荐过一些免费的网站部署服务,像 Vercel、GitHub Pages、Railway 等等,都是省成本的好方法,可以试试。但是一旦部署到这些平台的网站被攻击,平台大概率会把你封号。毕竟他们没必要关注谁是攻击者,只要你的服务产生了流量,把你的服务和账号封了,也算是解决问题了。</p> <h4>2、保护好唯一标识!</h4> <p>唯一标识是一个比较广泛的定义,对于不同的云服务,唯一标识也不同。</p> <ol> <li data-list="bullet"><span class="ql-ui"></span>云服务器:服务器的 IP</li> <li data-list="bullet"><span class="ql-ui"></span>对象存储:对象存储的存储桶名称</li> <li data-list="bullet"><span class="ql-ui"></span>CDN:CDN 服务的域名</li> <li data-list="bullet"><span class="ql-ui"></span>开发者账号:accessKey</li> <li data-list="bullet"><span class="ql-ui"></span>应用:appId</li> </ol> <p>这点非常重要,因为大多数云服务的唯一标识是 <strong>不可更改的</strong> ,一旦暴露给攻击者,他就可以一直打你。</p> <p>比如知道了你的服务器 IP,就可以对服务器进行 DDOS 攻击;知道了对象存储的桶名,就能够拼接出对象存储的域名,然后刷你的流量。</p> <p><img src="https://pic.code-nav.cn/planet_post_image/1601072287388278786/2sa9z3fc.jpeg" alt=""></p> <p>有同学会问了,服务器的 IP 不是通过网站的请求或者 DNS 解析就能看到么?</p> <p><img src="https://pic.code-nav.cn/planet_post_image/1601072287388278786/ma3xfi6b.jpeg" alt=""></p> <p>如果你的网站部署在单台服务器,那的确是这样,但如果你背后接了负载均衡服务(服务器集群)或者 CDN,那么得到的 IP 可能是动态变化的,攻击者无法直接攻击到背后的某台服务器。</p> <p>所以,一定要保护好服务的唯一标识,不要主动暴露!</p> <h4>3、严格控制权限</h4> <p>尽量遵循 “最小权限原则”,默认关闭全部权限,然后根据需要逐个放开。</p> <p>比如使用对象存储服务,控制权限的方法有:存储桶访问权限设置、防盗链设置、按需分配权限等。</p> <p>1)在创建存储桶的时候,就要将权限设置为 “私有读写”。如果需要给团队成员开放权限,尽量使用子账号,不要直接把自己的主账号分享出去。</p> <p><img src="https://pic.code-nav.cn/planet_post_image/1601072287388278786/romplhav.jpeg" alt=""></p> <p>2)防盗链设置,拒绝空 Referer,并且只添加自己网站的域名到白名单中。</p> <p><img src="https://pic.code-nav.cn/planet_post_image/1601072287388278786/7vc8gywu.jpeg" alt=""></p> <p>3)按需配置权限。比如存储桶内有很多目录,可以只允许特定的用户公开读取其中一部分目录(比如公开的图片)。</p> <p><img src="https://pic.code-nav.cn/planet_post_image/1601072287388278786/jbz8rusf.jpeg" alt=""></p> <h4>4、配置监控告警</h4> <p>前面提到的策略是为了防止受到攻击,但如果真的出现了攻击,我们一定要在第一时间能够收到 “被攻击” 的通知,而不是直接收到 “欠费” 通知。</p> <p>所以每个云服务,都必须配置监控告警,而且一定要综合考虑多种维度和告警策略,不能随便配置一条就完事。</p> <p>比如可以配置多个指标的组合,服务错误、流量过大、或者客户端错误请求过多时,都会进行告警。</p> <p><img src="https://pic.code-nav.cn/planet_post_image/1601072287388278786/p9o5p0e4.jpeg" alt=""></p> <p>在之前我出了被刷量的那个事情后,给腾讯云官方提了不少改进建议,官方也是做出了改进,现在创建桶时就会提醒你告警,这点我觉得非常 nice~</p> <p>值得一提的是,官方还补充了一条公告,说对象存储已经自动支持流量防盗刷功能了:</p> <p><img src="https://pic.code-nav.cn/planet_post_image/1601072287388278786/1ewc25lo.jpeg" alt=""></p> <p>emmm,无论是真是假,还是建议大家手动配置下权限和告警吧,双保险。</p> <h4>5、紧急管控措施</h4> <p>如果我们通过告警发现云服务正在被攻击,其实可以采取一些紧急的措施来防止损失继续扩大。</p> <p>比如。。。关闭服务!</p> <p>别笑,如果你服务继续运行的收益还不如被攻击的损失,临时关闭服务可能是最好的选择,打不过就战术撤退~</p> <p>一般云服务平台都提供了限制或封禁攻击的手段,比如 IP 黑白名单、IP 访问限频、禁止某区域用户访问、禁止某些请求等。</p> <p><img src="https://pic.code-nav.cn/planet_post_image/1601072287388278786/gz80vtkn.jpeg" alt=""></p> <p>如果你要使用对象存储,一定不要直接使用对象存储的域名,而是使用 CDN 域名来访问存储桶。因为 CDN 不仅提供的能力更多,还可以保护对象存储(源站)的地址。</p> <p>当然了,CDN 本身一样可以被攻击,所以也要做好上述防护措施。其中,必须要配置 IP 访问限频,而且如果面向国内用户的项目,建议直接封禁国外地域的访问。</p> <h4>6、存储迁移</h4> <p>这一点我相信 90% 以上的同学没有经验。</p> <p>举一个之前我遇到的场景吧,有攻击者持续请求某个对象存储桶来刷流量。被我发现后,很快禁止了他的访问,他的所有请求都变成了 403 Forbidden(被服务器拒绝)。</p> <p>结果你猜怎么着?他依然持续不断地发送请求。</p> <p>天坑的是,对象存储服务的计费不仅有流量,也会按照请求数计费!也就是说,即使把攻击者的请求全部拒绝了,只要他继续请求,依然会对我造成损失!</p> <p>对了,还有个值得分享的经历,为了查询出攻击者的 IP,需要给对象存储开通日志记录功能。但你猜怎么着?日志文件是存储在你自己的对象存储桶内的,也就是说,攻击者的每次请求,都相当于在给你的存储桶写入文件!好家伙,被刷个几天,日志的数量比正常的文件都多!而且日志存储也是要计费的哦~</p> <p>我也咨询过客服,这种情况下怎么办?就让他一直刷?</p> <p>客服给出的解决方案是:存储迁移。</p> <p>也就是说,换一个新的桶名,不要让攻击者知道就可以了。</p> <p>嗯,的确是一种解决方案,虽然代价有点大。</p> <p>所以再次强调,对象存储的桶名不要泄露!保护好服务的唯一标识!</p> <h4>7、按需充值</h4> <p>大白话:不要一次性给云账户充太多!</p> <p>因为网络攻击这件事防不胜防,即使你配置了告警,但也不是完全可控的。假如凌晨 3 点给我发了短信告警,还是得第二天才能看到,说不定为时已晚。</p> <p>这个时候,如果账户还有余额,就会接着扣除;如果欠费了,就不会继续扣除了,能够更快地发现问题、及时止损。</p> <hr> <p>以上就是本期分享。最后再次强调,不要以为网络攻击不会发生在自己身上,90% 的 Bug 都来源于自信,攻击者盯上你根本不需要理由。</p> #技术# </div> </body> </html>
#教程# 几分钟、不写代码,带你做出自己的文档网站! 大家以后如果想做个人博客、或者想把自己的文档发布到网站上,直接使用我开源的 VuePress 网站模板,按这个教程来操作就好了,不用再自己折腾,预计能节省至少好几天的时间,可以把更多的精力放在技术学习和输出内容上~ 视频教程:https://www.bilibili.com/video/BV1LQ4y1V79r/(卑微求三连 ❤️) 开源模板:https://github.com/liyupi/codefather/tree/template #站长经验# #技术# #博客#
鱼皮大佬,我最近有一个网站要上
鱼皮大佬,我最近有一个网站要上线了,我怕有别有用心的人攻击,之前看过您的网站被攻击的视频,但没有说要怎么解决这个问题,如何防DDoS攻击、刷DNS、刷对象存储的资源等以流量计费的产品。除了Web高防服务器,还有没有其它不花钱的解决方案?我前几天看了余胜军的直播,了解了一个方案,就是在资源后面拼接token+过期时间,这个方案我不知道要怎么实现,请鱼皮大佬赐教。
给网站绑定域名,真不难!
<html> <head></head> <body> <div class="content ql-editor"> <h3>1、没有域名,也能上线网站</h3> <p><br></p> <p>上线网站的核心要求是有一台有公网 IP 的服务器,或者别人提供的网站部署服务(比如 vercel)。把我们开发好的网页文件或后端代码包放到服务器上,让别人通过 IP 地址或者域名找到这台服务器上的文件,从而实现访问。</p> <p><br></p> <p>所以没有域名,那就提供 IP 地址给别人访问即可。这是最快上线项目的方法了。</p> <p><br></p> <p><br></p> <h3>2、域名不备案,也能绑定服务器并正常访问</h3> <p><br></p> <p>IP 是不好记忆的,不利于网站的访问和传播,所以一般我们还是要给服务器绑定个域名。但有同学会觉得给域名备案麻烦,懒得搞。</p> <p><br></p> <p>一个错误的认识是:域名必须备案 ,才能让别人访问。其实不然,备案是国内的规矩 —— 想给大陆境内的服务器绑定域名就必须备案。解决方案也很简单,你只需要买一台非大陆境内的云服务器,就可以免备案绑定域名并支持访问了。</p> <p><br></p> <p>但是需要注意,境外服务器的访问速度会明显比国内服务器慢。而如果为了加速想绑定国内的 cdn,也是需要备案的。</p> <p><br></p> <p>所以如果你需要紧急上线一个新项目,那么最好的方式就是买台香港的云服务器,不用备案,并且访问速度也还可以。</p> <p><br></p> <p><br></p> <h3>3、域名备案,其实也很简单!</h3> <p><br></p> <p>对于大多数非盈利的健康网站,备案都能顺利通过,所以不要怂!</p> <p><br></p> <p>在哪个云服务商买的服务器,就在哪个平台备案。流程就是填个表单,包括个人信息、网站信息、身份核验啥的。我大学的时候还得用平台寄来的幕布拍照,现在打开小程序就能身份核验了,非常方便。</p> <p><br></p> <p>需要注意,填写网站介绍时尽量写“个人博客”,最容易过审。不过别担心,哪怕你信息填写有误,客服也会打电话努力帮你过审的(至少腾讯云是这样)~</p> <p><br></p> <p>之后就是注意接收云服务商的来电,手机注意接收备案核验码就好,大概 7 天左右,备案就通过啦~</p> <p><br></p> <p><br></p> <p>---</p> <p><br></p> <p><br></p> <p>我还是建议大家都去搞个域名并走个备案流程,给网站绑定个域名。实操过就知道域名解析、网站上线是怎么一回事儿了,印象更深刻!</p> </div> </body> </html>

