web服务器连续两次出现CPU达到100%的情况,第一次还想着是升级时,哪个地方写错了,有死循环,最后重启了三次服务器才好。

但事后分析代码,没有死循环的可能,于是在第二次又出现CPU达100%时,仔细检查了一下。

w3wp.exe的CPU占用率达到65%,sql server的CPU占用率达到35%,站点是aspx,服务器上装的是sql server2008,在活动分析器里很快就看出了有三条语句一直在执行,每分钟能达14万次。

这个量显然是不正常的,根据语句分析,可能问题出在某两个页面上面,于是把这个页面先重命名,CPU使用率果然降下来了,在平常的6%~15%之间。

IIS里面站点没有加日志,跟踪不出来,于是加上日志记录后,又把页面名字改成之前的,在CPU100%的情况下,坚持了10分钟,有了记录以后,再次把页面重命名,让站点能正常访问。

把日志下载到本地,用离线日志分析软件一看,有个美国的ip一直在访问那个页面,10分钟之内达到141万次之多。因为这个页面相当于统计用的,一次请求数据库的量比较大,所以它这么一直访问,造成了程序一直调用sql server。

再一看他使用的浏览器类型是webbench1.5,说实话,我还是第一次看到这个东西,百度了一下,才知道原来个是服务器压力测试软件,只需要一条命令就可以同时N个并发访问,并一直持续任意时间。

webbench1.5是在Linux下下用的,公司没有环境,在网上又找到windows版本webbench5.0,但试了一下,发现效果和webbench1.5不是太一样。

最后直接在这两个页面上加了,只要请求头包括webbench的,直接阻断,另外加了防刷新功能,一段时间内频繁访问达到一定次数,加入黑名单,限制10分钟以后再允许访问。

采用防御措施后,那个家伙还一直没有动静,也不知道管用不管用,但相信能起到一点作用的,真的还不行,只有对这个ip限制访问站点了

C# web服务器被webbench攻击及目现采用的防御措施的更多相关文章

  1. [阿里云部署] Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器

    部署地址:123.56.7.181 Ubuntu+Flask+Nginx+uWSGI+Mysql搭建阿里云Web服务器 这个标题就比之前的"ECS服务器配置Web环境的全过程及参考资料&qu ...

  2. IIS Web服务器日志、日志服务器分析

    IIS Web服务器日志.日志服务器分析 EventLog Analyzer是一款全面的工具,用于审计.管理和跟踪您的Microsoft Internet Information Services(I ...

  3. 企业级Web服务器安全主动防御措施

    篇一 : 企业级Web服务器安全主动防御措施 Web服务器现在已经成为了病毒.木马的重灾区.不但企业的门户网站被篡改.资料被窃取,而且还成为了病毒与木马的传播者.有些Web管理员采取了一些措施,虽然可 ...

  4. 使用java基础实现一个简陋的web服务器软件

    使用java基础实现一个简陋的web服务器软件 1.写在前面 大学已经过了一年半了,从接触各种web服务器软件已经有一年多了,从大一上最开始折腾Windows电脑自带的IIS开始,上手了自己的第一个静 ...

  5. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...

  6. Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 - VPS侦探

    Web服务器性能/压力测试工具http_load.webbench.ab.Siege使用教程 - VPS侦探 http://soft.vpser.net/test/http_load/http_loa ...

  7. Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程

    一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工 具,它可以以一个单一的进程运行,一般 ...

  8. Web服务器性能压力测试工具http_load、webbench、ab、Siege使用教程

    Web服务器性能压力测试工具http_load.webbench.ab.Siege使用教程 作者: feng 日期: 2012/07/25 发表评论 (0) 查看评论   一.http_load 程序 ...

  9. Web服务器性能/压力测试工具http_load、webbench、ab、Siege、loadrunner

    回头看看 Web服务器性能/压力测试工具http_load.webbench.ab.Siege.loadrunner

随机推荐

  1. getElementsByTagName

    1.getElementsByTagName * document.getelementByID(id名称)* 通过id名称获取元素,它只有一个主语,docment(整个文档)** getElemne ...

  2. Oracle Oracle数据库 迁移到 SQL Server上

    原地址:https://blog.csdn.net/LongtengGensSupreme/article/details/81355181

  3. 学JS的心路历程-JS支持面向对象?(一)

    昨天在看Prototype看到JS支持面向对象,被前辈问到说那什么是面向对象?JS是面向对象语言吗? 便开始了一连串艰辛爬文过程,今天就来看一下两者有什么差异吧(rgwyjc)! 首先面向对象有三大特 ...

  4. 提升系统的QPS和吞吐量

    简单而言通过增加集群来提升qps和吞吐量 实际上要比这个要复杂 首先我们需要知道系统的瓶颈 我们所知道的系统拓扑架构 对于rest接口而言 系统设施依次是: dns nginx tomcat db/s ...

  5. Node KeyNote

    [Node KeyNote] 1.实际上,.node文件在windows下它是一个.dll文件,在*nix下则是一个.so文件. 2.默认变量 function(exports, require, m ...

  6. IN_ITEMBOMROUTING中的数据被过滤 到IN_ITEMBOMROUTING_TEMP

    ' ; 解决方法: 检查如下数据是否存在就可以知道为什么被过滤 掉 ' ) ' )

  7. pytest 学习笔记一:参数化与组织分层

    组织分层: 1.普通方式,和unittest分层类似: setup_module()  # 通常放在类外 setup_class(cls) setup(self) teardown(self) tea ...

  8. jquery不能实时获取CKEDITOR值的解决方法

    不用传统的获取值的方法: var ckeditor = document.getElementById("ckeditor").value; 换成: var ckeditor =  ...

  9. WDlinux 修改后台默认8080端口的方法

    修改8080端口正确方法 新版本: 方法一: apache sed -i 's/8080/8088/' /www/wdlinux/wdapache/conf/httpd.conf 然后记得修改防火墙i ...

  10. zabbix监控常见系统报错

    CPU触发器:1)Processor load is too high on {HOST.NAME} {HOST.NAME}上处理器负载太高触发器表达式:{Zabbix server:system.c ...