监控和告警 | 网站被攻击了?

news/2024/5/17 12:04:24/文章来源:https://blog.csdn.net/TCB_CloudBase/article/details/116939963

前段时间,我的网站疑似被攻击了,今天带大家一起来事故现场看看,并且分享事故分析思路和事后防控手段。

孽起

先看看我是怎么发现网站被攻击的吧。

通常,为了保证线上网站和后台服务的稳定运行,我们需要给项目添加监控告警功能,出现意外情况时,系统会第一时间向管理员发送通知。

由于我的项目使用 腾讯云云开发 来部署,默认提供了额度监控和告警,可以防止资源消耗过多,非常方便。

但光有告警还不够,真出了问题,靠什么去分析呢?必须给故障排查提供一些线索。

腾讯云云开发默认为云函数、云托管等提供了监控和日志记录,一行代码都不用写,就能够看到资源的运行信息和详细日志,比如请求时间、IP 地址、请求头信息等,非常方便。

此外,我还在开发时,给服务添加了一些日志和数据上报,比如哪位用户在哪个时间执行了什么操作。记录的越详细,排查问题就越方便。当然,无意义的内容就不用记录了,否则看日志的时候密密麻麻的,伤眼又低效!

我一直把项目当成自己的孩子(虽然我还没有孩子),因此,我每天都会看一下监控和日志,来了解下 “孩子” 的身体状况。

我最常看的监控指标是服务的 调用次数,它很大程度上反映了用户流量的访问情况。

正常情况下,调用次数随时间的曲线图应该是下面这样的,夜里没人看,白天流量还算平稳,偶尔会有一些小高峰:

但有一天,我突然看到了下面这个曲线图,大家看看这个曲线有什么特点?

没错,地中海上偏偏长了一根长毛!在 25 分附近,调用次数突然飙升,我们一般把这种现象称为 “流量突刺”,把监控图上这一枝独秀称为 “毛刺”。

大多数情况下,有毛刺可不是什么好事。看到这个曲线,我的第一反应不是 “卧槽,项目火了?”,而是 “卧槽,被攻击了!”

到底是不是被攻击了?是谁攻击我了呢?不会我真的火了吧(还带有一丝幻想)?

带着这些疑问,赶紧来分析一下。

分析

光看上面的曲线图,是分析不出来的,必须要从事故现场找找线索。

还好云开发帮我们记录了访问日志,选择事故发生的时间段(以 25 分钟为基准,前后各空 5 分钟),然后就筛选出了对应日志。

为了更灵活地分析,我们将日志导出到本地,使用 Excel 等表格软件打开它。

然后,我们来分析下日志,先看 日志生产时间 这列,即案发时间:

大家发现了么?日志生产时间非常均匀!每秒大概 3 - 4 条。

从这点就说明了,大概率不是人工访问服务,而是机器自动按照某个频率发送请求。

再看下日志的内容,每条日志的结构如下:

// 请求时间
2021-04-29T04:22:05.937752445Z
// 发起请求的 IP
stdout F 169.254.128.20
// 请求头
HEAD /webroot.bak HTTP/1.1\
// 响应状态码
200 0 
// 请求地址
http://www.code-nav.cn/webroot.bak
// 请求浏览器身份
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

其中,请求时间、请求 IP、请求地址是关键信息。时间刚刚已经分析过了,再看看请求 IP 和地址。

我直接在表格中全局搜索上述 IP,发现所有的 IP 地址都是相同的!
图片
这下我松了口气,应该只是一个人在小打小闹吧。

然后我看了几条连续日志的请求地址,大概是这样:

http://www.code-nav.cn/111.gz
http://www.code-nav.cn/111.tar.bz2
http://www.code-nav.cn/111.dat
http://www.code-nav.cn/111.bz2
http://www.code-nav.cn/222.tgz
http://www.code-nav.cn/222.gz
http://www.code-nav.cn/333.zip
...

看到 “111”、“222”、“333” 我大致明白了,这位攻击者应该是在用字典枚举的方式扫描我的网站,企图找出网站的后台地址。

攻击的原理很简单,就根小时候我们尝试破解别人密码一样,一个一个疯狂乱试。只不过攻击者通常会使用一些网站扫描工具,将可能的密码作为一本字典,交给机器,代替人工来试而已。试的次数和频率高了,就被称为 “爆破”。

又回想起了大学时被网络安全课支配的恐惧。。。

基于以上的分析,这位 “攻击者” 应该只是拿我的网站来练练手,毕竟扫描频率不高、持续时间不长,当然,我希望如此。

防控

这件事虽然伤害不大,侮辱性极强!让我充分意识到自己的网站在安全性上是缺斤少两的。最起码应该在异常流量出现的是否给我告警,发个短信啥的吧!

如果是自己搭建服务器来部署网站项目,需要自行接入或开发一个业务监控告警系统,虽然网上的这类第三方系统很多,比如 Zabbix、Prometheus(AlertManager)、Grafana 等,但都需要自己来部署和维护,需要一定的人力物力成本。

但使用腾讯云云开发,除了上面提到的基础资源额度告警外,还可以灵活自定义各种高级的告警策略。

比如给点赞功能添加调用次数限制告警,先选择告警对象为 “云函数”:

再配置触发条件,比如 5 分钟内调用次数超过 100 次则告警:

再配置下告警接收人、告警方式、时间段等,支持邮件、短信、微信等,选择很多样:

这样就大功告成了,如法炮制,可以给每个最小粒度的函数都添加上告警,出了事儿在第一时间就能感知到了。

产品介绍

云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等serverless化能力,可用于云端一体化开发多种端应用(小程序,公众号,Web 应用,Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
开通云开发:https://console.cloud.tencent.com/tcb?tdl_anchor=techsite
产品文档:https://cloud.tencent.com/product/tcb?from=12763
技术文档:https://cloudbase.net?from=10004
技术交流群、最新资讯关注微信公众号【腾讯云云开发】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_816647.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用云开发Webify,5分钟上线新网站!

用最简单的方式,带你上线自己的网站! 大家好,我是鱼皮。 相信每位学编程的同学都想要拥有一个自己的网站,比如个人博客,可以拿来记录自己的学习过程、分享自己的文章、展示作品等,从而激励自己持续学习和总…

Webify个人网站扶持计划:免费托管你的网站

再小的网站都有自己的价值,Webify 致力于帮助有情怀的站点先跑起来。 为了让更多开发者聚焦于网站本身的内容建设,而无需操心部署流程以及访问量与托管费用不对等的情况。 Webify 特别推出个人站点扶持计划: 将博客/论坛/官网等任意形式的个…

Next.js + 云开发Webify 打造绝佳网站

Next.js酷在哪里? 之前使用 Next.js strapi 做了一个简单博客站点也顺道写了一篇 Next.js 简明教程,之后 Next 本身一直在迅猛发展。利用代 js 能力来说做到了: 极佳的开发体验极佳的网站最佳的”动“,“静”平衡 从特性上来说…

十年老站长心声:我为什么选择把 Hexo 网站迁移到 Webify

前 言 我的这个博客站点大约始建于2010年以前,使用过 dlog、pjblog、zblog 等博客程序,也手动建立使用过纯静态 HTML 页面,大约2010年开始使用 WordPress。最近几年有感于 WordPress 过于臃肿复杂,而我的目的只是想写点什么&…

不套用模版,用微搭低代码开发企业门户网站

移动互联网时代,要快速打造企业品牌形象,越来越多企业选择小程序、H5等移动端形态构建门户网站。 如果拥有自己的门户网站,就意味着企业能够覆盖用户的更多碎片时间,使自己的品牌更加深入人心,使客户咨询等服务更加便…

内蒙古包钢钢管:用腾讯云微搭搭建企业门户网站,开启传统企业数字化转型之路

包钢钢管厂研发负责人: 作为一个国有的钢管厂企业,我们需要一个简单便捷、快速高效的搭建工具,联通我们的员工和客户,而微搭就是这样一款工具,它与微信和企业微信原生地互相结合。 企业背景 在我国行业数字化浪潮的趋…

php 企业网站 mail_花都新零售企业管理系统价位

花都新零售企业管理系统价位 ewttre花都新零售企业管理系统价位 实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。如今的短视频,沦为抄袭的重灾区。一些优质的短视频,未经允许被“搬运工”和“…

网站无法连接mysql_nacos无法连接mysql的解决方法

原因nacos的pom依赖的mysql版本与mysql版本不一致导致步骤1:修改pom文件中mysql为对应版本依赖mysqlmysql-connector-java8.0.19步骤2:building项目解决编译报错(删除旧依赖)步骤3:重新打包 mvn -Prelease-nacos -Dmaven.test.skiptrue clean…

iis服务器怎么部署php网站,iis服务器怎么部署php网站

iis服务器怎么部署php网站 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。PHPWind(简称:PW)是一个基于PHP和MySQL的开源…

html5标签seo的作用,seo标签是什么意思,简述seo网站标签的作用

在HTML代码中,能适当布局一些优化标签,会给网站带来意想不到的结果。那么关于SEO优化标签的用处你真的知晓么? 跟随赢客互动小编的脚步一起认识下以下这些seo标签吧!1.标题标签在网页html代码中标签是定义在最重要的标题&#xff…

linux国产操作系统下载网站,三分钟快速安装国产操作系统Ylmf OS

雨林木风旗下国产操作系统Ylmf OS 4.0已经发布,(具体见http://www.linuxidc.com/Linux/2011-06/36739.htm)靓丽清爽的系统界面和丰富的系统应用立刻引起广大网友的热烈关注。但是不少网友对Linux操作系统有天生的恐惧感,担心其复杂的分区操作和安装方法对…

王者荣耀测试自己本命英雄软件,王者荣耀本命英雄测试网站分享 2021本命英雄测试入口...

王者荣耀本命英雄测试网站在其中还是非常的有用的,根据我们的性格能够给我们带来不同的选择,每个在面对相同的情况都是会做出不同的选择的,根据这些选择,我们能够找到最适合我们的英雄,下面就是具体的王者荣耀本命英雄…

让搜索引擎快速收录网站

让搜索引擎快速收录网站或许很多朋友面临这样的窘境,网站刚上线,提交完搜索引擎,可是搜索引擎并没有马上收录网站,而是过了很长一段时间才收录网站的首页。这是一个可能让人发疯的问题,如果每一个新站都等很长一段时间…

针对Seoer提出的争议性问题进行解答

很多东西都没有唯一、没有绝对,seo技术和知识同样也是如此,可能适合自己的优化方法和套路,对别人不会起到多少的效果,因为seo是一个综合性的评判,它跟行业的不同、网站的不同、甚至细节的不同都会有截然不同的结果&…

边玩边学,15个学习Python 的编程游戏网站!

经常听到有朋友说,学习编程是一件非常枯燥无味的事情。其实,大家有没有认真想过,可能是我们的学习方法不对? 比方说,你有没有想过,可以通过打游戏来学编程? 今天我想跟大家分享几个网站&#…

关于下载cuda和cudnn官方网站访问不了的替代方案

一、背景 最近一段时间在做深度学习Tensorflow2.x的项目,由于涉及到了docker环境下的tensorfow的GPU加速,于是我就在电脑(飞行堡垒)装双系统win10ubuntu,后改成了win10上面装WSL(Win10的linux子系统)。由于前边装双系统的过程中系统出了一些…

url后面的参数是什么_网络运营之SEO优化:如何做网站URL优化

网站URL链接是组成一个完整网站不可缺少的重要部分,在日常工作和生活中,我们几乎脱离不了URL链接。当前主流搜索引擎的存在也是依靠海量的URL链接才能正常运作,网站SEO优化工作同样需要考虑URL链接的优化。今天就跟大家聊聊“SEO优化之如何做…

6月第4周国内B2B类网站排名Top15:阿里巴巴居首

IDC评述网(idcps.com)07月03日报道:根据国际统计机构Alexa公布的最新数据显示,6月第4周(2013-06-24至2013-06-30),我国B2B类网站中,阿里巴巴以100538的周均用户覆盖数摇摇领先于其他网站,持续稳…

读后小结:《大型网站技术架构:核心原理与案例分析》

浏览《大型网站技术架构:核心原理与案例分析》,然后作了一个小结(下图),作为知识结构梳理,分享大家,并以备参考。 PS:需要在新窗口/标签打开,或下载,才可查看原图。 於霄云中心 20…

linux文字命令窗口怎样截图,命令行程序创建网站截图(在Linux上)

慕森卡更多细节可能有用......在控制台上或使用vncserver在X会话中启动firefox(或其他浏览器)。您可以使用--height和--width选项将窗口大小设置为全屏。另一个firefox命令可用于设置第一个firefox窗口中显示的URL。现在,您可以使用以下几个命令之一来获取屏幕图像&…