部署在腾讯云的公益网站遭受了一次CC攻击
版权声明:本文由黄希彤 原创文章,转载请注明出处:
文章原文链接:https://www.qcloud.com/community/article/651089001483090830
来源:腾云阁 https://www.qcloud.com/community
12月30日下午,宝贝回家论坛一台服务器(server4)开始出现异常的高负载情况。首先是自动触发了自动扩容机制,增加了新服务器进来分担压力,保障了服务的持续可用,给问题解决争取了时间窗口。
随后手机收到告警短信,登录腾讯云控制台,首先排除了DDOS,因为外网入带宽和出带宽都正常。异常的是内网出带宽和入带宽。难道有内网的服务器发起攻击? 登录到服务器上来看,top没有看出什么异常,没有特别高的进程,php-fpm进程确实多了一些,每个进程的cpu时间也确实长了一些,但是也不说明什么问题。看access_log也没有看到ip聚集的请求。
怀疑服务器本身有异常,把服务器重启了一下,问题没解决。
把出现问题的服务器(server4)从负载均衡中踢出,问题立刻消失。加回到负载均衡集群中,问题没有再出现了。
随后发现,另一台原来没有问题的服务器(server1)现在变成高负载了。一样从负载均衡中踢出来再加回去,这下两台都高负载了。
没有什么头绪,只好继续分析access_log。这次看出来问题了。
有一批来自世界各地的肉鸡(也可能是伪造的ip)在根据用户ip一个一个的访问用户资料。这些ip都来自哪里的呢?
所以问题很清晰了,这是一个CC攻击,并且攻击ip是分散的,不能通过封ip来化解。
对于CC攻击,discuz是有对应的设计的,可以在config_global.php中配置,不过对抗手段都会或多或少的影响到正常访问。针对这次攻击我启用了 $_config['security']['attackevasive']=4
也就是要求每个用户第一次访问的时候都要看一个2秒的等候页面,然后自动进入原来的访问地址,这是目前对于用户访问体验伤害最小的方式(用户什么都不用做,只要第一次等2秒就一切正常了)。如果CC攻击没有继续升级对抗这个策略的话,这次攻击应该就到此为止了。
这是一个公益网站,全国最大的寻亲论坛,不知道这黑客攻击它干啥呢?不怕报应在自己孩子身上吗?不过还好他选择了放假前三个小时而不是放假的时候攻击,希望能过个安心的假期。
部署在腾讯云的公益网站遭受了一次CC攻击的更多相关文章
- 怎样将本地web数据库项目部署到腾讯云服务器上?
怎样将本地web数据库项目 部署到腾讯云服务器上? 1.本地计算机的工作: 1.1用eclipse或者myeclipse做好一个web项目,可以只做一个数据库的增删改查,本地部署到Tomcat服务器, ...
- 怎样将本地web项目部署到腾讯云服务器上?
怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...
- 创建Django项目并将其部署在腾讯云上
这段时间在做scrapy爬虫,对爬出来的数据基于Django做了统计与可视化,本想部署在腾讯云上玩玩,但是因为以前没有经验遇到了一些问题,在这里记录一下: 首先说下Django的创建与配置: 1. 创 ...
- Hexo博客部署到腾讯云服务器全过程(Nginx,证书,HTTPS),你要的这里都有
背景 说来也惭愧,博客已经搭建很久了,一直免费的部署在 Coding 和 Github Pages 上,前者迁移到腾讯云 Serverless,导致原有的配置始终有问题,没时间仔细研究,刚好腾讯服务器 ...
- war包部署到腾讯云中报404的排错经历
项目完成了部分功能,需要把项目放到公网上,方便演示讨论.本来以为挺简单的,直接将war包放到腾讯云服务器tomcat中,结果报错404,第一次碰到这种情况,于是想办法解决,花了一天的时间,终于解决了问 ...
- 将禅道部署到腾讯云linux 上
部署环境 :linux(腾讯云),用到了 xshell FileZilla 使用禅道集成环境lampp直接部署 1.首先下载 lampp j集成环境包.https://sourceforge.ne ...
- React项目的打包与部署到腾讯云
腾讯云送了30天的免费试用,于是有了把react项目部署到上面的想法.项目是默认生成的,只是一个页面,但是这个过程中也遇到了不少麻烦与问题.下面来具体梳理下: create-react-app 来自F ...
- 把 nodejs koa2 制作的后台接口 部署到 腾讯云服务器
我 使用 nodejs koa2框架 制作后端接口, 现在将nodejs koa2 部署到服务器 koa2项目 实现 接口 可以看我的 这篇文章: 简单实现 nodejs koa2 mysql 增删改 ...
- 采用flask+uwsgi+nginx架构将flask应用程序部署在腾讯云
最近一星期加班为学校做了一个教师发展中心平台,在此总结一下部署经验 环境:Centos7.0 python2.7.5 1.安装nginx 命令行输入指令:sudo yum install nginx ...
随机推荐
- Entity Framework with MySQL 学习笔记一(查询)
参考 : http://msdn.microsoft.com/en-us/data/jj574232.aspx EF 查询基本上有3中 默认是 Lazy Loading 特色是只有在需要数据的时候EF ...
- js 中比较 undefined
// x has not been declared before if (typeof x === 'undefined') { // evaluates to true without error ...
- SQL-Delete Duplicate Emails
Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique ...
- mac ssd开启trim
输入以下指令: 为了安全,此步为备份驱动 (可能需要输入密码) sudo cp -r /System/Library/Extensions/IOAHCIFamily.kext/Contents/Plu ...
- fuel部署openStack
https://code.launchpad.net/fuel [fuel项目] http://www.imgburn.com/ [各种镜像制作工具]
- Git分支学习总结
思维导图: 总结: Git分支:分为2类合计为5种分支. 第一类:主分支和开发分支. 第二类:特性分支,热补丁分支,版本分支.
- Linux 系统下查看硬件信息命令大全
有许多命令可以用来查看 Linux 系统上的硬件信息.有些命令只能够打印出像 CPU 和内存这一特定的硬件组件信息,另外一些命令可以查看多种硬件组件的信息. 这个教程可以带大家快速了解一下查看各种硬件 ...
- 接上一篇博客(解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match. )
解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variabl ...
- 在Debian Wheezy 7.3.0上编译安装3.12.14内核
最近需要对Linux的一个内核模块进行调整实验,故决定先在虚拟机中完成编译调试工作,最后再在真实的系统上进行测试.为了防止遗忘,把过程记录于此. 1. 准备系统环境 首先从官网下载最新版的Virtua ...
- jquery源码阅读笔记一
1. jquery无new的构造函数. 无new的构造函数是怎么实现的.比如我们一般这么用jQuery. $(".test").text(); 但是我们一般是这么写的. var t ...