ITPub博客

首页 > 大数据 > Hadoop > 自建CDN应对大流量DDOS的解决方案

自建CDN应对大流量DDOS的解决方案

Hadoop 作者:wangwanggis 时间:2013-11-02 16:21:00 0 删除 编辑

DDoS主要攻击类型

延缓性的CC攻击

致命的流量攻击

延缓性的CC攻击

方法/步骤

  1. 1

    流量有个逐步增加的过程(通过脚本监控incoming异常流量,从监控图上也可以看出)

    触发启动日志分析机制,尽量在第一时间和无人工参与找出异常IP,URL,特征码,从内核层(iptables/ip),应用层(nginx/444)拦截

    攻击特点:成本低,现成软件多,对方比较”温柔谨慎”,目的是让网站变慢。

    适用: 主机性能和带宽有盈余,硬件强劲,可用于文本抽取和正则匹配,攻击持续时间短,次数少

    缺点: 治标不治本

    致命的流量攻击

    流量陡增(IDC机房也会察觉,直接拔线,或者IP入黑自杀)

    系统根本来不及消化和响应过来,甚至连求救包都发不出

    攻击特点:成本高,对方下手”快狠准”,目的是让网站死亡

    适用: 硬防,高防节点,外围CDN分散目标

    缺点: 防御成本高,没人真心帮你,花钱也只是苟延残喘

    自建CDN的考量

    硬件成本

    双子星服务器(1U机身+支持双路CPU+《48G内存+双网口+H3C S1208八口千兆)= 1.5W

    带宽成本

    电信、联通单线资源,独享100M,8个IP,基本在1.6~2.5W之间

    架构设计

    为什么这里没有提LVS,因为LVS是个重量级,高效稳定的四层转发,但它不能作七层http协议的识别,但完全可以架设在七层之前,所以,LVS的使用并不会影响网络结构,后续想上就上。

    反向代理(路由加速,隐藏主节点)   haproxy > nginx > varnish > ats > squid

    缓存加速(静态加速,节省带宽,边缘推送) ats > varnish > squid > nginx > haproxy

    防御功能(快速解析,过滤匹配) haproxy > nginx > ats > squid > varnish

    支持读取文件匹配,支持热加载,可插拔式的缓存组件灵活应对业务

    Haproxy+Varnish的组合:防御型反向代理缓存方案

    设计要素

    参数配置注意点

            option  forwardfor

            option  httplog

            option  dontlognull

            option  accept-invalid-http-request

            #option  nolinger # reduce FIN_WAIT1

            option  http-server-close

            timeout client 15s

            timeout connect 15s

            timeout server 15s

            timeout http-keep-alive 15s

            timeout http-request 15s

    listen Web_FB 0.0.0.0:80

            acl invalid_referer hdr_sub(referer) -i -f /opt/etc/bad_ref.conf

            acl invalid_url url_reg -i -f /opt/etc/bad_url.conf

            acl invalid_methods method -i -f /opt/etc/bad_method.conf

            block if invalid_referer || invalid_url || invalid_methods

            acl dyn_host hdr(host) -i -f /opt/etc/notcache_host.conf

            acl static_req path_end -i -f /opt/etc/cache_file.conf

            use_backend img_srv if static_req !dyn_host

    backend img_srv

            mode http

            option tcpka

            server img_srv 127.0.0.1:88 maxconn 30000 weight 8

    降低磁盘IO

    把Haproxy日志刷到内存中,间隔时间内清空,从而保证cpu的高效运行和内存控制。

    智能脚本

    PROXY_HOST="

    53kf.com@127.0.0.1:81:3&127.0.0.1:82:1@w_53kf_com@www|chat|kf

    "

    架构改进

    配置DNS就近匹配CDN

    Bind view+脚本分析分拣中国大区

    大规模日志分析

    Haproxy+rsyslog+nosql+hadoop

    后端管理不直观

    OpenCDN前端控制

    END

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21502761/viewspace-1108682/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-04-27