当前位置:主页 > DDOS防御 > 正文

ddos防御多少钱_游戏_抗ddos防护

03-30 DDOS防御

ddos防御多少钱_游戏_<a href='http://www.ddosgb.com/' target='_blank'><u>抗ddos</u></a>防护

问题陈述在最近一次去伦敦参加Incapsula深度潜水日(D3)的演讲时,我发现我正在开发的一个小应用程序的加载时间很慢。这并不是一个完全出乎意料的问题,因为服务器托管在美国西部地区的AWS中,因此每个HTTP请求和响应都必须在全球范围内运行,但它让我想到了如何利用隐囊来减少这种潜伏期。发行在进一步调试了这个问题之后,我注意到,由于应用程序的API托管在一个域中,因此需要支持跨源资源共享(CORS)预燃请求,从而加剧了延迟(api.example.com网站)客户机从一个完全不同的域(app1)与API通信。example.com网站,附录2。example.com网站等等)。在可能对用户数据有影响的情况下,cc攻击原理与防御,web浏览器使用preflight请求首先使用OPTIONS方法向另一个域上的资源发送HTTP请求,以确定实际请求是否可以安全地发送。CORS规范(https://www.w3.org/TR/cors/)规定,如果客户必须在飞行前提出请求,前提是满足以下任何条件:请求使用PUT、DELETE或PATCH方法(以及其他方法)请求发送W3C Fetch规范中未定义的自定义头格式为www-a-application/urlx格式以外的纯文本或url-x格式的内容或者其他条件都满足了长话短说,每次对API的调用都会导致四次往返全球。如果每个web请求需要大约250毫秒,这意味着用户每次操作都要等待500毫秒。如果他们的本地互联网连接或移动网络连接缓慢,这会很快成为一种令人沮丧的体验,用户需要快速加载应用程序。潜在解决方案选项1-缓存一开始我以为解决这个问题的办法就是简单的缓存选项响应,然后就这么做了,但是我很快意识到当CORS请求包含"Access Control Allow Credentials"头时,"Access Control Allow Origin"标头不能是通配符"*",而必须是单个域名。这一问题尤其突出,因为API需要能够支持来自app1的跨源请求。example.com网站以及附录2。example.com网站.选项2-附加服务器我想到的下一个解决方案是简单地增加额外的服务器来服务欧盟的用户,但是当新加坡或巴西的用户想要访问这个网站并遇到同样的问题时,会发生什么呢?不幸的是,所讨论的应用程序没有足够大的用户基础来证明构建多区域体系结构的额外成本和复杂性,所以我很快就放弃了这个想法。选项3(获胜者)-Incapsula应用程序交付规则+AWS边缘处的Lambda后来我想起了AWS最近推出的边缘处的Lambda,一个正是为此目的而设计的解决方案。通过使用Incapsula应用程序交付规则(ADR),我可以分割HTTP选项请求,只将这些单独的请求转发给全球托管的AWS Lambda函数当然满足了我的预算。实施AWS配置首先,ddos国外防御比较好的,我们需要在AWS中配置三个主要内容:一个S3存储桶(除了CloudFront发行版所需之外,它不会用于任何其他用途)一种新的云锋分布这个边缘处的Lambda功能步骤1:配置S3作为第一步,我们需要创建一个新的S3 bucket,ddos防御与入侵防护区别,实际上,由于Lambda函数将返回响应,所以实际上永远不会使用该bucket,但我们需要将CloudFront分布映射到后端资源,因此为了简单起见,域名高防cdn,我们将使用S3。只需给bucket一个名称,以表明它将返回响应用于您的CORS请求,例如CORS lambda-edge.example.com网站并使用其余的默认属性。步骤2:创建CloudFront分发接下来,我们将创建一个CloudFront web发行版,它将触发边缘处的Lambda功能。在设置方面,我们需要将CloudFront发行版指向新创建的s3bucket,并启用httpoptions方法。我们还需要确保将域名作为CNAME添加到"备用域名"部分下。这将与您在Incapsula中保护的站点的名称相匹配,并确保CloudFront分发将响应主机标头中包含网站名称的请求。步骤3:配置边缘处的Lambda现在有趣的是,编写Lambda函数来响应CORS请求。Lambda函数相当简单,我们只想看看传入的请求是否使用HTTP OPTIONS方法,如果是,我们要验证源域名是否在白名单域名列表中。如果它在白名单域名中,我们会在响应标头中反映该值。如果该域不在白名单中,则我们将使用默认值进行响应。此外,为了调试目的,如果请求是httpget请求,我们将只在消息体中反映请求头。一旦我们保存并发布了Lambda函数,我们接下来需要添加一个触发器来确保它被调用。为此,只需选择Lambda函数的"Triggers"部分并为"Viewer Request"添加一个新的触发器,这将确保Lambda函数在对CloudFront发行版的每个请求上都运行。可选:验证Lambda函数作为将其集成到站点之前的可选步骤,您可以验证lambda函数是否正常工作。您可以使用许多工具来测试这一点,但为了简单起见,我们可以使用一个cURL命令,该命令在origin头中传递,并验证响应是否包含反射的back origin值。这是个好主意测试所有白名单中的源代码以验证它们是否有效,并测试不在白名单中的源代码头,以确保我们不会无意中将应用程序暴露到不应该出现的请求中。Incapsula应用程序交付规则这个过程中我最喜欢的部分就是使用Incapsula应用程序交付规则测试和实现这个特性是多么容易。步骤1:为边缘处的Lambda分布在Incapsula中,我们需要做的第一件事是创建一个可以与应用程序交付规则一起使用的新数据中心,只需使用CloudFront发行版的CNAME,使其成为活动服务器,并确保选中"仅支持转发规则"复选框,该复选框将使服务器能够与ADR一起使用。步骤2:创建新的应用程序传递规则我们的应用程序交付规则实际上非常简单,我们只想将所有HTTP选项请求定向到边缘处的Lambda当你实现这个规则的时候,你甚至可以通过选中"在我的IP上测试"复选框来验证一切是否正常工作。就这样!一旦我们启用了该规则,所有传入的HTTP选项请求都将自动发送到CloudFront发行版/边缘处的Lambda功能,而不是我们正常的源服务器。结果那么,我所做的更改是否对应用程序的整体性能产生了显著的影响?嗯,很难说,因为我回到西雅图之前,我有机会做一个前后性能测试。但我可以说的是,高防cdn什么意思,在一周的时间内,监测了Lambda作业的执行情况后,Lambda作业都在20毫秒内完成(尽管第一个请求有一个延迟,因为Lambda需要将函数重新加载回内存)。不用说,我正在积极游说我的经理们,让他们再回伦敦一趟,这样我就可以亲自验证结果了!工具书类https://developer.mozilla.org/en-US/docs/Web/HTTP/CORShttps://aws.amazon.com/lambda/edge/https://www.w3.org/TR/cors/

版权保护: 本文由 DDOS防御专家 原创,转载请保留链接: /ddos1/39288.html

DDoS防御专家简介孤之剑
国内资深白帽子二十人组成员,前BAT资深网络安全工程师,知名网络安全站点板块大神,每年提交Google及微软漏洞,原sina微博负载插件开发者,现在整体防御复合攻击长期接受1-4.7T攻击,CC防护自主开发指纹识别系统,可以做到99.9999%的无敌防御。
  • 文章总数
  • 5420104访问次数
  • 建站天数

    DDOS防御

    ddos防御

    cc防护

    web安全

    高防服务器

    高防cdn


    QQ客服

    400-0797-119

    X