提醒:本文最后更新于 3418 天前,文中所描述的信息可能已发生改变,请仔细核实。

作为一个被D经历超过两年的博主(好悲催)。。。如何防D防C,一直是辛酸史。
博客目前配置:4G RAM、3核QEMU Virtual CPU。由PaulHost提供服务,已经使用Paulhost近3年了。
简单介绍个各应用内存占用情况:
1.MySQL是内存大户,最低1G,最高1.8G内存。目前1.09G。
2.Varnish内存使用是在150+M到1G。峰值是不到500M。
3.PHP静态进程50个,每个占用5~100M,含共享内存。按照内存统计,目前占用了4.16G。。。实际占用是1.1G左右。
4.Memcache最高是256M可被占用。目前一直在135.43M,一般就是20M~170M的范围波动。
5.Redis占用23.22 MB,相对固定。因为存储的数据原因,每月会固定增加0.5~4M。
6.Nginx占用也比较稳定,一直在100M左右,目前92.43M。
7.其他杂七杂八,几百M吧。
服务器一般我都是禁用Swap的。因为硬盘I/O不行,可能是因为服务器虚拟化是KVM有关。
当内存到一定值,会自动启用Swap(通过脚本)。一般也就被ddos或cc时,会出现各应用占用高峰,这时SWAP就会打开,来应付攻击。
同时自己写的流量清洗(其实就是连接数和并发量检测),就会起作用。各种ip被ban(通过iptables),可能会误伤,但这是必要的。
如果SWAP来不及打开,怎么办?这时可能会触发到OOM Killer。
PHP虽然占用多,但是极为分散,平均20+M,所以首当其冲的就是MySQL了。
而作为数据库,崩溃是不能容忍的。所以我把MySQL的OOM触发Killer等级降低了。
也就是内存占用突增时,Varnish会被杀掉。
为什么这样做呢,没有Varnish不是不能访问网站么?
没错,但却预留了至多1分钟的时间,来进行流量清洗。
1分钟后web_keepalived被触发,Varnish满血复活。
因为大部分流量的ip已经被ban,这时候就不怕攻击了。
web_keepalived详见上篇文章:《再说博客服务器的KeepAlive》。
上面一切都是在同一组脚本执行的,一定程度上减少减缓被攻击形势,也保证了服务器应用的稳定性。
文章结束,睡觉。
转载请注明转自: kn007的个人博客 的《简单谈下怎么防御DDOS或CC攻击》


土豪配置
@小怪物: 别,我不是。。。人家土豪都是直接拿内存当硬盘用的,不能比
@kn007: 你这系统信息怎么检测的
@小怪物: 自己基于别人的脚本写的
系统检测信息 怎么生成的?
@不给力的面条: 写的shell生成的
最近文章更新的真勤快哈
博主是不是打了鸡血了

你这服务器是linode的吗?啥配置?是2048还是4096?
@World: 是保罗啦,文章开头不是写了么。。。
都是定时文章啦,提前略微修改就好了。
@kn007: 我又没有认真看文章了 抱歉
我是看到你底部那里挂了一个linode还以为是呢
对了 问一下 你现在用的发邮件是sendmail还是postfix还是说是别的??
@World: 底部也有保罗啊。
看到博客的菜单栏没有,把鼠标悬停在archives上。。。有篇《进阶的Postfix小结》。。。so,我用的是postfix。
@World: 博客发给你通知邮件,你可以查看邮件头,也写着postfix
话说sendmail不能忍啊,大并发很慢
@World: 看了下,你用SMTP
虚拟主机?
@kn007: 不是 Linode 我还没配置全 有点乱 过段时间在配置配置就OK了 3Q 多谢了
@World:
不谢~珍惜速度,远离sendmail
@kn007: 哈哈 你有没有觉得你的头像缩小了像个狮子 看不出原图是个人物了
@World: 哈,是有点
我从小喜欢狮子王啊~
@World: 话说把鼠标悬停在评论主楼头像上,会有duang~效果
@kn007: 刚发现这个效果

@kn007: 不奇怪,有专业的SMTP服务,mailgun,sendcloud
@敏: 如果是这些,邮件头我看得出来。他的是直接邮箱转发。sendcloud不错
你这配置,让一只用虚拟空间的情何以堪~~没看懂防D的措施,只是限制资源占用?
@夜枫: 首先资源用多少是定量的,而正常使用有个范围值,当被攻击时,资源使用到特定值,会触发流量清洗。即便不触发,每分钟也会检测是否有异常流量。这个时候就防了。
@kn007: 到服务器之前异常流量已经触发防薇墙了
@敏: 不是土豪,没有防火墙。。。求薇真相、、、
-v- 噢~ 屌屌屌~~

@Sheep:
比赛怎么样了
@kn007: 对了 等我update了网站 给你看~ 一切都不错~ 我要去吃饭咯
@Sheep: 去吧
以前玩过CC攻击,攻击自己的网站~
@Meekdai: 我也是
测试一下有时
4G内存的VPS,真土豪
@master: 哪有
@kn007: 太有了啊,一般的商业站也没这么豪吧,话说,这个vps上应该有不少搭了不少站或者服务吧
@master: 没有。。。没站。。可以说就博客。。
@kn007: 我能感慨一下吗,好浪费!!!!!!!!!!
@master: 这是为了实验。。
@kn007: 哈哈,我当然明白啦,和你开玩笑的。好了,不潜水了。之前在V2上提过想让你更新防范攻击的内容,然后就看到了这篇文章,高兴,握爪。
@尘世的孩子: 服了你了,也难为你了,没评论邮件还总过来看。
欢迎你,来自V2EX的伙计~文章说的就是我防御的流程啦。握爪。
@kn007: 即使有邮件通知,对于没装邮件客户端的娃来说,一样不能及时知道回复啊,所以,还好啦,没事的时候就多跑跑,锻炼身体撒
@尘世的孩子:
好吧。
这个VPS配置得多少钱一个月啊。
@灵尘子: 你的头像呢
几百块一个月
@kn007: 早上输错了邮箱啊
@灵尘子: 额
几百块一个月,真土豪,一年几百块就觉得吃不消了····
@佐瞌:
一年上千块。。。。。。
这也不容易啊。这么复杂。
@土木坛子: 稀客
不算复杂
也还好吧。。。