网站被黑

记一次真实的网站被黑经历

https://www.cnblogs.com/smallSevens/p/9221002.html

前言
距离上次被DDOS攻击已经有10天左右的时间,距离上上次已经记不起具体那一天了,每一次都这么不了了只。然而近期一次相对持久的攻击,我觉得有必要静下心来,分享一下被黑的那段经历。

在叙述经历之前,先简单的介绍一下服务器配置情况:

ECS 1核2G内存1MB带宽,Linux系统
RDS 2核240MB内存,最大连接数60
Redis 256MB共享实例,搬家之后没用到
CDN 按量付费,缓存小文件
以上配置,对于一个日访问量几千的网站来说应该绰绰有余了,并发撑死十几个左右,以下是简单的网站部署情况:

经历
前段时间听说过互联网大佬阮一峰博客被DDOS的经历,可谓是持久啊,最终被迫转移服务器,据说还被勒索。然不知道为啥是哪个仙人板板居然盯上了我的小站?难道我比阮大神长得帅?

好吧,故事开始,2018年6月14日,凌晨两点三十收到了阿里云系统告警通知,告知网站无法访问,然而那会我还在睡梦中。

跟往常一样,差不多六点左右醒来,习惯性的翻看手机,恰好此时又发来了短信告警。要在平时的话是可以再睡两个小时的,然而此时一个激灵,瞬间困意全无,怎么说我也是有几千访问量的博主了。

于是,赶紧爬起来打开电脑,尝试访问下博客和论坛,果不其然浏览器在一直打转转。

问题排查
尝试远程登录服务器:

查看Nginx 和 PHP-FPM,ps -ef|grep xxxx

查看系统剩余内存 free -m

查看CPU使用情况 top

查看Nginx错误日志 tail -f error.log

查看日志容量 ll -h

查看并发连接数 netstat -nat|grep ESTABLISHED|wc -l

一顿骚操作之后,并没有什么异常,内存和CPU平稳,Nginx和PHP 进程没问题。然后分别重启了一下 PHP 和 Nginx,开始网站还可以访问,进入社区首页就被卡死。

查看错误日志,后台使劲的刷日志,随便查看了几个IP,有印度的,美国的,菲律宾的等等,当然大多数还是国内的IP。一晚上的时间居然刷了上百兆日志(上次被D我清理过一次),反正我觉得是不少了,对比网站平时的访问量来说。

之前有过几次攻击,但都是三三俩俩的过来,使用Nginx禁掉IP就是了。然而此次,显然不是禁掉IP可以解决问题的了,这么多IP收集是个问题(当然可以通过正则匹配获取),还有可能造成误伤。

上班途中
然而上班才是正事,心思着一时半会解决不了问题,瞄了一眼错误日志,还在使劲的刷着,然后顺手发了个朋友圈然后去洗漱:

路上一路嘟念,心想是不是到了9点,他们准时下夜班然后就可以正常访问了,自我开解一下。

上班中
到了公司,第一件事当然是远程登录下服务器,看了一下,错误日志还在使劲刷。正常来说这个是时间点是不会有用户来访问的。

重启了服务多次,访问一下首页就被卡死,然后瞬间瘫痪,整个网站(社区+博客)都不能访问了。既然这样,还是老实上班,坐等攻击停止吧。

期间群里的小伙伴们问网站怎么了,打不开了椰?将近中午的时候,查看了一下错误日志,还有那么几个IP再尝试请求不同的地址,一瞅就不是什么好东西,果断deny了一下。话说,现在请求没那么多了,重启了一些Nginx 和 PHP 进程,访问首页还是卡死?真是怪了个蛋。

心想是不是RDS数据库的问题,查看了监控报警面板,CPU和内存利用率和当前总连接数都正常,没有什么异常,凌晨两点-六点左右的确有波动,但是不至于被D死。既然都登录了,要不顺便把 ECS 和 RDS 都重启了吧。

果然,重启一下居然神奇的好了,吃午饭的时候还用手机访问了一下,正常,可以安心吃饭了。

问题解决
其实,最终问题怎么解决的,我并不清楚,说几个比较疑惑的点:

ECS 服务器 CPU 和内存也在正常阈值
Nginx 和 PHP-FPM 进程都分别重启过
RDS 数据库连接数尽管有所波动,但是并没有占满未释放
看错误日志请求都是来自上百个不同的IP,并且大多都是访问的社区URL
还有这些肉鸡为什么都是晚上?晚上便宜?还是说在西半球组织攻击
此次是有针对性的,还是随机的?但愿是随机的
中间停止过一次社区,博客是可以一直正常访问的,怀疑是首页数据库查询的问题,基于连接数应该不是这个问题,难道是Discuz的Bug?但是后来重启数据库后的确可以正常访问了。

其实阿里云有基础的DDOS防护,清洗触发值:

每秒请求流量:300M
每秒报文数量:70000
对于一般小站来说,是万万不可能达到300M的流量阈值的,博客的CDN峰值才3M而已。

所以说,这些小波流的攻击只能自身去默默承受,而机器配置不高,买不起带宽只能任攻击自由的撒欢,还不如直接关站,扔给他一个Nginx + 静态页面让它D去吧。

攻防策略
如果有人真D你的站点,你还真没有办法,当然我所说的群体是针对中小站长而言,你连DDOS基础防护的清洗阈值都达不到。

如果你只是一个默默无闻的小站,根本不需要想那么多。尽管现在DDOS成本很低,但谁不是无利不起早,除非你得罪了什么人。

当然对于一般的攻击我们也不能坐以待毙,这里总结了几个小技巧,分享给大家,反向代理使用的是openresty。

Nginx优化
Nginx号称最大并发5W,实际上对于中小站点来说几十或者上百个并发就不错了,最基本的参数就可以满足需求。但是为了安全期间,我们最好隐藏其版本号。

隐藏版本,防止已知漏洞被利用

server_tokens off; #在http 模块当中配置
PHP优化
在php渲染的网页header信息中,会包含php的版本号信息,比如: X-Powered-by: php/5.6.30,这有些不安全,有些黑客可能采用扫描的方式,批量寻找低版本的php服务器,利用php漏洞(比如hash冲突)来攻击服务器。

隐藏版本,防止已知漏洞被利用

php_admin_flag[expose_php] = off
IP黑名单
对付那种最low的攻击,加入黑名单的确是一个不错的选择,不然别人AB就能把你压死:

在Nginx的http模块添加以下配置即可

deny 61.136.197.xxx;

禁封IP段

deny 61.136.197.0/24;
IP日访问次数
限制单个IP的日访问次数,正常来说一个用户的访问深度很少超过10个,跳出率一般在50%-70%之间。其实我们要做的把单个IP的日访问量控制在100甚至50以内即可。

限制并发数
光限制访问次数还是不够的,攻击者可能瞬间涌入成百上千的请求,如果这些请求到后端服务,会打垮数据库服务的,所以我们还要基于我们自身网站访问情况设置并发数。

限制单个IP的并发数
限制总并发数
这里建议大家使用漏桶算法限流,来整形流量请求。

配置CDN
基于带宽以及正常用户访问速度的考量,建议配置CDN,以下是博客的流量使用情况,峰值3MB,对于我这1MB带宽的服务器肯定是抗不住啊,况且还有社区的访问。

配置缓存
数据库资源是宝贵的,所以尽量不要让请求直达后端。其实搬家之前,博客和社区都是配置过redis缓存的。由于之前购买的Redis服务是专有网络,新账号无法连接,然后就作罢了。

看来这次,需要在空闲服务器上配置一把了,反正闲着也是闲着,能起一丢丢作用也是好的。

阿里云Redis加速Discuz论坛访问

阿里云Redis加速Typecho博客访问

总结
前面也说了,对于攻击,小站真的无解,能做好基础的防护就可以了。但是对于那些肉鸡们或者即将成为肉鸡的人来说:

软件漏洞一定要及时打补丁,时刻关注互联网相关动态。

黑客利用被入侵的路由器获取网络流量,从而控制大量肉鸡。

大多数肉鸡是没有安全意识的,并且被长期利用,经发现,不少是云服务商主机、托管服务器主机,被黑客利用漏洞控制。

DDoS黑客攻击正在向产业化、平台服务化转变,如果有人想害你,一个按钮、几百块钱,就可以实现一整月的攻击,然后一首《凉凉》送给自己。

参考
各种限流脚本:从构建分布式秒杀系统聊聊限流特技

原文地址:https://www.cnblogs.com/Leo_wl/p/9251653.html

时间: 2024-10-12 17:40:43

网站被黑的相关文章

偷情网站被黑 无隐私的互联网下如何保护自己

         用户隐私信息被盗,似乎是自互联网诞生以来,一直盘旋在头顶挥散不去的阴影--最为普及的Windows系统自身存在的各种问题,网站被黑.数据被窃事件层出不穷.即使目前是目前最为火爆的移动互联网,安卓系统的病毒应用及各种堵之不及的漏洞,让人心塞.再加上并不称得上是万无一失的云服务,互联网的辉煌光环下,是用户隐私无情地赤裸裸地暴露于大众视线中. 近段时间,偷情网站被黑.魅族Flyme云服务的混乱等,让用户隐私问题再度站在舆论的风口浪尖上.面对严峻的形势,作为普通用户的我们,究竟该如何为

要学会冷静面对网站被黑

在这个水深火热的互联网战场上,很多站长都遇到同行业的恶意攻击,黑客入侵等等安全性受到威胁的问题吧.小编当然也不例外,做优化两年多,间间断断的也与黑客斗争了两年多,从最初的手无足策到现在的淡然处之,就让小编教你如何去冷静的对网站被黑吧. 首先,我们都知道,遇到了网站被黑,第一时间就是去先把别人恶意嵌入的代码什么的去掉,其次再来慢慢的寻找服务器或者空间的漏洞,来填补这些漏洞防止下一次再被攻击,而如何去寻找你服务器的漏洞呢,这就要查看黑客是如何进入到你的网站之中的,每一个服务器都会有一个网站的日志,一

秦绪文:网站被黑的判断、应对及防御

网站安全是一直是我们做网站的重中之重,网站服务是否稳定,对用户.站方和搜索引擎来说都非常重要.目前国内网站的安全问题十分严峻,众多网站由第三方代建,维护人员缺乏足够的知识,大量的网站都存在不同程度的安全和管理漏洞. 对于我们站长而言网站安全一直就是站长的六大天敌之一,我操作过的网站也有被黑的经历,也深深的体会到因为网站被黑而带来的后果的严重性,对于小站而言虽然被黑不会有太大的损失,但对于大型站点来说就不容小视了,比如导致用户资料泄露,甚至个人信息被拿来买卖等,因此网站安全绝对是网站运营的一个重要

判断网站被黑表现以及解决方法

在我们对一个网站优化维护的过程中,网站安全是一直是我们做网站的重中之重,网站服务是否稳定,对用户.站方和搜索引擎来说都非常重要.深圳鹏程医院灰指甲科 目前国内网站的安全问题十分严峻,众多网站由第三方代建,维护人员缺乏足够的知识,大量的网站都存在不同程度的安全和管理漏洞. 对于我们站长而言,网站安全一直就是站长的六大天敌之一,我操作过的网站也有被黑的经历,也深深的体会到因为网站被黑而带来的后果的严重性. 对于小站而言虽然被黑不会有太大的损失,但对于大型站点来说就不容小视了,比如导致用户资料泄露,甚

个人总结:网站被黑有哪些表现形式

[导读]站长们都知道,新站刚建设不久,经常会出现网站被黑的情况,张玉淦博客前几个月也被黑,页面底部挂了很多垃圾链接,这些链接是通过script来完成,自己也不知道要从哪里删除,后来还是之前一个同事帮忙处理掉,我相信很多站长也有相同经历,那么,网站被黑到底有哪几种表现呢? 网站被黑的几种表现形式: 1. 挂链接 即所谓的黑链,大多会设置成用户用浏览器打开页面看不到,但搜索引擎的蜘蛛程序抓取的时候可以抓到,这是黑客们获取大量高权重的单向链接手段,以此牟利. 此类情况站长们不注意的话很难发现.说明下隐

为了打击网站被黑作弊行为,360搜索上线悟空算法2.0

我们在搜索浏览网页的时候,经常会出现正常网页跳转至含有色情,博彩等信息的恶意站点上去.这样严重影响到了用户的搜索体验,为了打击此类行为,360搜索正式上线了:"悟空算法2.0" 网站被黑是一种较为常见的现象,很多人通过黑客手段代码劫持,对正常的站点进行了恶意行为,现在这种现象更加的明显,这次上线的悟空算法在公告中显示:能更加准确快速地识别各种网站被黑客攻击的行为,降低恶意网站在搜索引擎中的不良展现和对用户的影响,严厉打击此类针对360搜索的作弊行为. 同时360搜索页提供了多种查杀工具

网站被黑了被挂马篡改后我是如何解决网站被挂马!

1.发现被黑,网站被黑的症状       两年前自己用wordpress搭了一个网站,平时没事写写文章玩玩.但是前些日子,突然发现网站的流量突然变小,site了一下百度收录,发现出了大问题,网站被黑了.大多数百度抓取收录的页面title和description被篡改,如下图,title标题被改成xx友情链接,描述description是一些广告网址.但是点进去以后,访问正常,页面显示正常,页面源代码也正常,丝毫没有被篡改的痕迹.但是,为什么百度爬虫会抓取到这些广告文字呢,这些文字哪里来的?  

网站被黑了,网站首页也被黑客改的处理解决办法

今天360网站管家 接到一位客户反映自己的网站被黑了,网站首页也被黑客改了, 网站首页被加了一些与网站不相符的内容与加密的代码, 导致百度网址安全中心提醒您:该页面可能存在木马病毒! 网站在百度的收录与快照也被劫持成什么世界杯投注,以及博彩,赌博等等的内容,根据以上客户给我们反映的网站被黑的问题,360网站管家 技术人员对客户网站被黑的情况进行了详细的网站安全检测与代码的人工安全审计,发现客户网站首页之前是经常的被篡改 一.网站被黑的状况分析 1.客户的网站采用的是,织梦DEDECMS系统(PH

网站被黑——bugku

刚刚做了bugku的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!! Challenge 177 Solves 网站被黑 60 http://120.24.86.145:8002/webshell/ 这个题没技术含量但是实战中经常遇到 解题思路:关于这一题,如果能够想到方法还是比较简单的 我在网上搜索了一下,发现没有人写这个的wp 我就简单的写一下大致思路,可能不是太好.