大公司就不说了,付费CDN,防火墙,大流量,一般也会配置专门的安全问题响应团队。今天侧重讨论一下中小型网站如何(优雅)防范CC***。
先说说一般的中小站点安全问题通病:对安全问题不重视,不少iptables都是默认的,主要目标是网站能正常工作,当然也无专门的安全运维人员。(欢迎补充)
然后抛砖引玉,说下前段时间帮朋友网站应对CC***时的一些措施,希望各位坛友头脑风暴,看下还有没有更好的应对方案。

1.封IP。IP写到防火墙黑名单。

分析访问日志,封异常IP。
虽说显得被动,但简单粗暴有一定效果。不过一般现在***方都是拉一堆肉鸡和IP池做代理,而且动态IP也是变动的,流量特别大的几个IP封了还好说,所有***IP都封掉不现实。而且解封也有点麻烦,需要自己写脚本处理。

2.服务器限流。

(比如使用nginx做反向代理,可以增加设置限流)
limit_conn_zone
limit_req_zone
个人感觉还是有用的,相对优雅,nginx的漏桶算法还是不错的。但是还是容易误杀,需要对网站性能有充分理解再来设置。

3.根据请求特征拒绝访问。

比如User-Agent或者是refer,里面会有一些固定信息,可以作为nginx拦截的依据。作为被动防御还是挺有用的,拦截到疑似请求后nginx直接返回403,不过限制UA的时候用得多些,反爬虫比别。当然,现在已经有很多开源变化UA的方法了。对于refer特征一致的请求拦截效果意外的好。

4.请求跳转(转给***方)

就是nginx根据请求特征重定向到其它页面。建议别顺手写baidu.com,万一被百度判罚了就麻烦了。可以设置成***你的来源,给他打回去。操作虽说优雅,就是返回去的请求并不一定能给***方造成压力,不过个人觉得这样的处理压力应该会比直接返回403、404来得大。

5.用CDN带的CC防御功能

之前用过CDNbest效果还可以的,安利给各位,可以尝试使用

6.提高网站性能

如果是在限流情况下还能被CC***搞崩的网站,的确也需要性能自测一波,优化下代码了。