惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
S
Securelist
T
Threat Research - Cisco Blogs
Forbes - Security
Forbes - Security
AI
AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Attack and Defense Labs
Attack and Defense Labs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Know Your Adversary
Know Your Adversary
P
Privacy International News Feed
W
WeLiveSecurity
P
Palo Alto Networks Blog
O
OpenAI News
V2EX - 技术
V2EX - 技术
H
Heimdal Security Blog
L
Lohrmann on Cybersecurity
NISL@THU
NISL@THU
T
Tor Project blog
T
Threatpost
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
A
Arctic Wolf
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Latest news
Latest news
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Tenable Blog
量子位
L
LINUX DO - 最新话题
Webroot Blog
Webroot Blog
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
Hacker News: Ask HN
Hacker News: Ask HN
U
Unit 42
T
Tailwind CSS Blog
WordPress大学
WordPress大学
N
News | PayPal Newsroom
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
Netflix TechBlog - Medium
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Stack Overflow Blog
Stack Overflow Blog
Cloudbric
Cloudbric
C
Check Point Blog
V
Visual Studio Blog
The GitHub Blog
The GitHub Blog
The Hacker News
The Hacker News
B
Blog

阿猪的博客

如何使用CNB构建Hexo项目并部署到腾讯云COS 好坑爹!派息后买入的股票怎么也扣股息税? 游哈尔滨 跨年往事 安装Ta-Lib时报错"Could not build wheels" 网站被恶意镜像了该怎么办 延迟退休正式到来!来看看有什么规定 我的基金怎么就被强制卖出了? Hexo-AlgoliaSearch插件报错“Error has occurred during indexing posts” 找工作避坑不完全指南 办理信用卡应该注意什么 华为Pad开启了“共享至电脑”,但是Windows下无法正常访问 webdriver-manager报错一例 Windows无法从环境变量中找到Python的正确位置 习大大2024年新年贺词 号外!号外!Twikoo可以直接屏蔽垃圾评论啦! 如何将Coding的代码仓同步到Github 华为Pad开启了“共享至电脑”,但是Ubuntu下无法正常访问 如何恢复Etcher刻录过的U盘 如何在Ubuntu下快速切换网络代理状态 在腾讯云函数中使用Pandas报错`No module named 'numpy.core._multiarray_umath'` 对空的DataFrame使用apply方法未得到预期结果 SQLite中使用关键字作为列名称导致报错 Logging模块重复输出内容的原因及解决方法 如何在Selenium中保持网站的登录状态 如何下载与Chrome浏览器的版本相匹配的ChromeDriver 如何下载旧版本Python的安装包 如何为不同的Python项目自动选择不同的解释器 使用腾讯云函数搭建Web站点 WordPress CORS问题一例 踩坑阿里云函数计算搭建WordPress 在AWS Amplify中部署Jekyll站点 让Chirpy主题支持折叠展示代码块 实现ChatGPT的文字输出效果 python中使用'''注释代码后引起报错 使用python自带的email模块解析邮件 使用pandas_bokeh在地图上显示数据 如何通过复权因子计算复权价格 国内量化平台不完全汇总
博客被攻击了
阿猪 · 2023-12-26 · via 阿猪的博客

博客被攻击了

发表于|更新于|misc

  本文记录博客遭受的一次攻击。

一、经过

  阿猪习惯睡前在被窝里玩会儿手机。但是昨晚在手机上访问自己的博客的时候,竟然发现网站报404无法访问。什么情况?!阿猪使用的可是腾讯云的COS+CDN,赫赫大厂不应该这么容易服务器出故障吧。一个不好的念头闪现,不会是网站被攻击了吧?

  阿猪赶忙关闭手机的飞行模式,果然收到了腾讯云发来的好几条提示短信。阿猪接着打开腾讯云小程序查看费用变动,还好没有产生扣费,暂时安下了一半的心(因为不确定费用结算是否有延迟)。因为阿猪事先在CDN中配置了IP访问频率限制和用量封顶规则,这说明网站无法访问是因为触发了规则自动下线了,而不是因为产生了大额的欠费被停止服务。

  从被窝里爬起来看了一下数据分析和日志,发现攻击主要来自172.233.66.140和172.233.131.234这两个美国IP,时间主要集中在23:27:36至23:29:23,一共请求了7.8万次,消耗了1.23GB流量。

二、应对措施

1、当晚临时修改了DNS解析记录,暂停了对境外访问请求的解析服务。

2、第二天在Vercel创建了镜像站点,并修改DNS解析记录,将境外的访问请求解析到Vercel的镜像站。镜像站会在国内站点的代码仓有更新时自动触发同步代码仓和部署,保持与国内站点的同步。

  这个方法暂时可以应对偶然的境外攻击。后续如果发现被针对的话(比如通过本地修改hosts表来绕过DNS解析规则),会考虑将域名完全托管到CloudFlare。

三、总结

1、要防患于未然

  国内的CDN服务商普遍采用后付费的结算模式,并且故意拉长流量使用量的统计和结算周期,导致没有防护措施的用户在欠费被停服时,普遍会有高额的欠费。虽然个人网站不常遭受攻击,但是当攻击降落的时候,几千甚至上万的欠费账单真的会让人欲哭无泪。

  例如这位叫做白雾茫茫的博友正好是阿里云的用户,分享了自己网站上周被攻击导致欠费四千余元的经历。(参考链接

2、防护规则的效果并没有用户认为的那么理想。

  阿猪设置的两条用量封顶限额(每小时100MB和每天500MB)虽然成功触发并执行了网站自动下线,但是3分钟内实际消耗了1.23GB流量,远大于预设值。而阿猪设置了另一条用量封顶限额(5分钟内100MB)并没有触发。

  阿猪设置的单链接下行速率限速为512KB/s,理论上3分钟内单个链接最多消耗90MB流量。然而虽然日志显示攻击者访问的URL主要集中在两三个资源文件,但是仍然消耗了1.23GB的流量,远大于理论数值。

  只有QPS限额看起来相对靠谱一些。阿猪设置了单IP每秒50次的QPS限额,两个攻击IP在约3分钟的时间内发起了7.8万次请求,实际只有1.13万条是200状态,其余的大部分是514状态。

  这说明防护规则的实际效果并没有用户认为的那样好,只能说聊胜于无吧。

后记:
  根据腾讯云技术支持人员的反馈,单链接下行限速仅针对单个客户端访问单个CDN节点。假如攻击者使用单个IP同时提交了多个请求,这些请求很有可能会被分配到不同的CDN节点,每个节点是单独限速的,而不是多个节点合并计算速率。这也是为什么阿猪虽然设置了限速,但是实际消耗的流量仍然远大于阿猪认为的理论数值的主要原因。

版权声明: 未经书面授权许可,任何个人和组织不得以任何形式转载、引用本站的任何内容。本站保留追究侵权者法律责任的权利。