V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
sNullp
V2EX  ›  分享创造

分享一些防DDoS的经验,以及海盗VPN的设置教程

  •  
  •   sNullp ·
    sNullp · 2013-02-17 21:27:53 +08:00 · 5770 次点击
    这是一个创建于 4107 天前的主题,其中的信息可能已经有所发展或是发生改变。
    RT,这是一个技术分享主题。分享了 **即将到来** 的海盗VPN的教程,并且是海盗CDN的公告。还有我对防止DDoS的一些心得。很符合V2EX技术社区的定位。谁“删帖”谁傻逼。

    基于这么长时间的折腾我对防范DoS也有了一些心得,本来打算过一段时间发一个图文教程,但是因为一个原因(下面说)我就现在简单说说吧,有不明白的邮件问我。

    防DoS (CC):
    大部分DDoS其实都是来源于一个IP,或者一个内网。所以其实是DoS。然后大部分DoS都是CC攻击。
    CC攻击有2个目标:
    1. 服务器超载
    这个主要是让你的web服务器超载,不能正常响应。但在一些没有很好配置的vps上,由于web服务器吃光了内存导致整个服务器不可用。
    抵抗方案(仅对常见的中小型攻击有效):
    1) 配置web服务器的最大child个数,保证不会吃光内存导致thrash
    2) 在服务器层面部署防范措施,比如mod_security,以及可以在程序逻辑中恰当地返回403
    3) 在系统层面可以写一个脚本定期观察,比如 netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n ,之后用fail2ban还是iptables还是什么办法自行想象。

    2. 带宽超载
    这个没法根治。
    一个偏方是配合服务器模块(mod_invasive或者nginx的limit_req)和fail2ban在出现403多次后用iptables Drop掉该IP或网段所有访问包。
    这样在有的IDC处即使有很大的带宽(30m左右)打过来都不会null route

    防DoS (非CC,比如SYN Flood):
    现在这种Dos其实很少了,因为这种攻击不怎么消耗带宽,而对于一个比较小流量网站收益小、容易恢复。以及现在很多地方的路由在发现不合法来源后会直接丢包。
    如果说防范的话,在 sysctl.conf 里打开 SYN_COOKIE 可以抵挡中小型的General攻击。另外在fail2ban里也有这类DoS专门针对SSH等端口攻击的filter,可以打开。(不过目前真没人这么搞,就算是防范于未然吧)


    然后说一些海盗VPN和CDN的时间点:
    海盗VPN **下个礼拜** 会更新首页和服务器自动部署教程,之后就可以算一个相对能用的、能让大家明白是干嘛的系统了。届时大家可以根据教程了解我配置VPN的一些经验、VPN集群的搭建方法、VPN限速、限并发、限连接数、限P2P的一些方法。

    之后会在twitter上发邀请码。有兴趣的同学可以关注@pirate_vpn
    **下月初** 部分节点会支持L2TP,如果顺利的话也会顺带支持上Cisco/IPSec。并会在4月前支持pac。

    本来我不喜欢提前报时间点的,都是先做再宣传,免得被骂期货。不过因为同样原因我不得不提前说了。

    然后海盗CDN(只能做美国空间经由日本和香港节点对国内加速)在我压力测试过服务的稳定性后开始内测。需要的同学邮件我。

    好现在说一下我这么仓促发布的原因:
    是因为我心眼特别小。
    虽然有人说V2EX的价值在大家创造的氛围,但被上帝@livid莫名其妙一通撵真忍不过去。于是我瞬间从他的粉丝变成黑了:
    http://www.v2ex.com/t/60538#reply56 别看主题,我压根不想关心这些事。看下面上帝对我的回复。
    所以这应该是我在V2EX的最后一个分享贴,以后可能会套马甲在二手版收点pp。

    各位再见。
    9 条回复
    Livid
        1
    Livid  
    MOD
       2013-02-17 21:38:52 +08:00
    我最近被那些 hostloc 过来的极品搞得有点心烦,情绪不好,你别多想。

    你和他们是有些不同的。

    任何时候,都不要去攻击别人的网站,也不要觉得这么做是正确的。
    sNullp
        2
    sNullp  
    OP
       2013-02-17 21:41:19 +08:00
    @Livid 关于攻击这件事,我的海盗VPN也被攻击过,这个我和你站在同一条战线上。
    但是语言的威力在于几句话就能让一个人气得半死,说话至少先思考一下别人的感受吧?我很尊敬你的作品,但鉴于我现在的情绪别的我就先不说了。
    Livid
        3
    Livid  
    MOD
       2013-02-17 21:42:43 +08:00
    @sNullp 好,大家都沉默一下。最好忘掉这件事。:)
    zxy
        4
    zxy  
       2013-02-17 21:45:35 +08:00
    相互理解吧,我比较喜欢打字而不愿说话的原因之一是打字的过程中我在思考,值不值得发出也会在打完的时候决定好
    kindlepaper
        5
    kindlepaper  
       2013-02-17 21:59:32 +08:00   ❤️ 1
    @sNullp 是一个非常好的人,别的不说,我最早知道他,是看到他从美国回来说免费给大家带东西,然后我麻烦他代购vps,他也很爽快答应。然后Free 虚拟主机,VPN什么的,这些大家都有目共睹吧,有不懂得地方,他讲解也很耐心,别的不扯,这至少说明,他是个热心、乐于助人的人。


    看了@Livid 在那个帖子的回复,希望那个帖子里面的回复,真的只是一时气话,不然,对你的印象确实大打折扣了。V2EX做的越来越好,也是大家一起的贡献吧,现在对某些成员,说不欢迎,不管别人怎么想,我是不想被代表。欢不欢迎应该大家判断吧,至于删不删那就是livid作为V2EX站长自己的事了。
    随意删帖子,自己不喜欢的帖子,这一点不能接受。我是比较赞同v2ex不修改帖子的,但是既然站长可以删其他人的帖子(非恶意以及违反规则),那为什么普通人不可以删除自己的帖子呢。
    不能及时放web services,好好解释应该是很必要的吧,毕竟有些人就是冲这个去充的值。
    其实之前说PB3开源的时候,一直没有开源,然后就杳无音信了,给的理由个人觉得有些扯,不打算开源可以直接说的,相信很多人也可以理解,毕竟主要是livid你们这些人的付出,敷衍有需求的人个人觉得不太好(我本人不做站,所以对PB3没诉求)

    希望V2EX可以容纳更多不同的声音吧
    无耻的借用一句话,送给V2EX:能力越大,责任越大
    尽管有时候并非我们所愿
    Livid
        6
    Livid  
    MOD
       2013-02-17 22:04:06 +08:00
    @kindlepaper 我设想中的 2012 年的生活,和实际发生的,完全不同。而现在的一切,只是 2012 年那些开始的事情的延续。

    抱歉我们没有能够在 2012 年将 PB3 发布。
    sivacohan
        7
    sivacohan  
       2013-02-17 22:22:55 +08:00
    @Livid
    @sNullp

    是人都有脾气。生气的时候做点冲动的事。大家都别往心里去。
    有句话叫不打不相识,吵吵闹闹,等怒气消了,大家找个地方喝酒吃肉,这个事,也算吹牛的时候一个谈资。

    PS: 吃饭算我一个行不~我吃的不多~
    kindlepaper
        8
    kindlepaper  
       2013-02-17 22:29:37 +08:00
    @Livid 嗯,有时候沟通很重要的,新年快乐!
    diib
        9
    diib  
       2013-02-17 22:33:48 +08:00
    支持一下楼主吧。
    不过话又说回来,v2ex不是公共区域,而是其拥有者的私人地盘;所以不要期望在任何网站能得到公平,除非自己建个。
    (这一点可以用在任何一个有产权的地方。)

    另外ddos的应该是hostloc的debian,而不是@yuan007
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2508 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:36 · PVG 11:36 · LAX 20:36 · JFK 23:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.