首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
V2EX  ›  NGINX

nginx 防范 ddos 最佳实践有哪些?

  •  
  •   markocen · 2017-08-15 10:29:59 +08:00 · 4976 次点击
    这是一个创建于 818 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前能想到的有 rate limit 和 limit conn,还有哪些值得推荐?
    31 回复  |  直到 2017-08-16 11:16:29 +08:00
        1
    UnisandK   2017-08-15 10:31:59 +08:00
    Nginx 能防得住 DDoS ?
        2
    markocen   2017-08-15 10:36:20 +08:00 via Android
    @UnisandK 如果防不住还有其他推荐吗?目前我是用 nginx 放在前面做反向代理
        3
    UnisandK   2017-08-15 10:41:29 +08:00
    @markocen 软件对 DDoS 基本都没啥效果吧,防的话要么藏好,要么加钱。。
        4
    lsido   2017-08-15 10:41:44 +08:00 via Android
    最佳解决办法不应该是加硬防吗
        5
    wekw   2017-08-15 10:43:14 +08:00 via Android
    DDOS 理论上讲无法防止,解决办法只有一个:让自己能够承担超大流量
        6
    chinafeng   2017-08-15 10:44:09 +08:00
    你想表达的是 CC 吧 ?
        7
    liuminghao233   2017-08-15 10:47:58 +08:00 via iPhone
    你 100m 的网络改改 nginx 参数就能变成 1g 了?
        8
    markocen   2017-08-15 10:58:16 +08:00 via Android
    @UnisandK @Isido @wekw @chinafeng

    我在参考这篇文章设置 nginx

    https://www.nginx.com/blog/mitigating-ddos-attacks-with-nginx-and-nginx-plus/

    即使不能完全防住,也有些相对有效的防范措施吧?我就想问问在应用层除了文中提到的还有哪些?
        9
    est   2017-08-15 11:00:57 +08:00   ♥ 1
    很多人认为 DDoS 是进门的人太多。其实不是

    DDoS 是敲门铃的人多。nginx 只能控制进门人数,并不能控制敲门的人。
        10
    Zzzzzzzzz   2017-08-15 11:01:06 +08:00
    真 DDOS 关机都防不住
        11
    loveCoding   2017-08-15 11:13:43 +08:00
    ddos 是真实流量 , 普通人遇到真没啥办法..
        12
    rogerchen   2017-08-15 11:22:20 +08:00 via Android
    DDOS 无法防御难度不是常识。攻击者的带宽是分布式的,你的带宽是专有的,从技术层面怎么玩都是死。
        13
    u5f20u98de   2017-08-15 11:35:20 +08:00
    上 CDN,然后藏好真实的机器。
        14
    kn007   2017-08-15 11:41:56 +08:00 via Android
    CC 还有可能软防,但也不是 nginx 来防,最多拿来限制连接数。DDOS 的话,必须硬防
        15
    kmdgeek   2017-08-15 12:31:09 +08:00 via Android
    再怎么限制,DDOS 把带宽打满了也没办法啊。就像一堆人把家门口堵着,你 nginx 虽然可以检查身份不让他们进来,但是他们在门外会彻底把门口堵死了呀
        16
    skylancer   2017-08-15 12:39:45 +08:00
    DDoS 是堵死进你家门(NginX)的路(带宽),你有门(NginX)有什么用呢,客人又进不来
        17
    gamexg   2017-08-15 13:03:52 +08:00   ♥ 2
    @est #9 也可以理解为 DDOS 是车太多直接把你厂门口的公路给堵死了,给工厂增加更多接待员工,增加停车场、增加保安等等都没用,DDOS 堵塞的是公路,你没有权限去管理公路。

    除非联系公路局加宽到厂子的公路(交钱升级宽带)或者联系交警全国骨干道设卡(电信云堤),在车辆进入你厂公路前就拦截,不然没用。
        18
    noahzh   2017-08-15 13:13:45 +08:00
    花钱买平安
        19
    est   2017-08-15 13:31:53 +08:00
    @gamexg 对。
        20
    ixiaohei   2017-08-15 13:41:55 +08:00
    nginx 要是能防 ddos,估计 web 服务器第一份额了妥妥的。
        21
    rhwood   2017-08-15 13:44:11 +08:00
    nginx 能防 ddos 就见鬼了,建议不要浪费时间
        22
    qfdk   2017-08-15 13:49:12 +08:00 via iPhone
    租 ovh 的机器
        23
    jason19659   2017-08-15 14:43:47 +08:00
    换域名换 ip 就能防住了
        24
    Showfom   2017-08-15 17:52:44 +08:00
    DDoS 和服务器用啥软件没鸟关系,需要在硬件层面做防火墙
        25
    Admstor   2017-08-15 18:20:52 +08:00
    @Showfom 硬件防火墙也只是"门"而已...

    有钱就购买电信的近端清洗,效果非常好
    没钱就上 CDN,但是一般 CDN 也是有上限的
    而且根据网站的设计,被人抓到你真实地址其实并不算特别困难
        26
    Showfom   2017-08-15 18:27:44 +08:00
    @Admstor 做好措施以后,还真抓不到真实 IP 主要是屏蔽好发送邮件的模块,别暴露
        27
    visonnn   2017-08-15 20:52:34 +08:00
    nginx 面对 DDoS 时能做的不是很多,只能对七层攻击做些处理。除了频率控制,就是就行粗略判断,抛弃非人类的流量( UA、JS 控制跳转之类),但是误伤还是会有。
    四层的攻击只能通过前置清洗机器比如上 CDN 或硬件防火墙的方式,如果被机房拔网线就还是洗洗睡吧。

    借楼吐槽阿里云的黑洞策略,让 DDoS 的成本变得更低。
        28
    azuis   2017-08-15 21:29:46 +08:00
    @visonnn 这也怪不得阿里云。不多出钱的话人家也不能给你白抗 D。
        29
    xiz   2017-08-16 05:45:13 +08:00
    nginx 支持防 DDOS ?!你村断网了吧
        30
    owenk   2017-08-16 11:07:32 +08:00
    同志,直接用第三方防护吧,DDOS 攻击是流量型攻击,在 nginx 上面做配置防 CC 还是可以的。
    第三方防护推荐:
    1、知道创宇抗 D 保。一个面板,既能防 DDOS 攻击、也能防 CC 攻击(目前正在用)
    2、阿里云。一般的小攻击能抗,大攻击也能抗,但是得看你付费能力怎么样;
        31
    sofs   2017-08-16 11:16:29 +08:00
    cc 还可以说说
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   965 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 19:36 · PVG 03:36 · LAX 11:36 · JFK 14:36
    ♥ Do have faith in what you're doing.