zoukankan      html  css  js  c++  java
  • DDoS攻击及防御措施

    SYN flood

    伪造大量的源IP地址,分别向服务器端发送大量的SYN包,此时服务器端会返回SYN/ACK 包,因为伪造的IP并不会答应,服务器端并没有收到伪造的IP的回应,会重试3~5次并等待一个SYN的时间(30s-2min),如果超时则丢弃。

    1、应用层DDos

    CC攻击

    对一些消耗资源较大的应用页面不断发起正常的请求,已达到消耗服务器资源的目的。

    1)爬虫爬死

    2)入侵一个流量很大的网站,通过篡改页面,将巨大的用户流量分流道目标网站

    措施:

    1)在应用程序中为每个“客户端”做一个请求频率限制

    如果IP地址不断发生变化(使用代理服务器),就不能有效防御

    2)代码性能优化,数据库压力转到内存中,及时释放资源;网络架构上做好优化;实现对抗手段:显示每个IP地址的请求频率

    2、验证码:

    阻止自动化的重放行为

    不是万能的,有识别软件,用户体验不好

    3、预防应用层DDoS

    让客户端解析一段JavaScript,并给出正确的运行结果

    4、资源耗尽攻击

    Slowloris:以极低的速度速度网服务器发送HTTP请求,由于Webserver对于并发的连接数都有一定的上限,当恶意地占用在这些资源不释放时,所有连接将被恶意占用,从而无法接受新的请求,导致拒绝服务。

    HTTP Post DOS:类似于Slowloris,发送HTTP Post包

    Server Limit DOS:Apache所能接受的最大的HTTP包头大小为8192字节(Request Header,若是Request Body默认大小是2GB),如果客户端发送的的HTTP包头超过这个大小,服务器就会返回一个错误4xx。

    假如攻击者通过XSS攻击,恶意往客户端写入一个超长的Cookie。由于Cookie也是放在HTTP包头里发送的,二Web Server默认会认为这是一个长长的非正常请求,从而导致客户端的拒绝服务。

    5、正则:ReDos

    代码缺陷,遍历消耗

  • 相关阅读:
    BZOJ4896 THUSC2016补退选(trie)
    BZOJ4892 Tjoi2017dna(后缀数组)
    BZOJ4890 Tjoi2017城市
    BZOJ4888 Tjoi2017异或和(树状数组)
    BZOJ4887 Tjoi2017可乐(动态规划+矩阵快速幂)
    BZOJ4883 棋盘上的守卫(环套树+最小生成树)
    BZOJ4881 线段游戏(二分图+树状数组/动态规划+线段树)
    BZOJ4878 挑战NP-Hard(dfs树)
    BZOJ5466 NOIP2018保卫王国(倍增+树形dp)
    BZOJ4873 Shoi2017寿司餐厅(最小割)
  • 原文地址:https://www.cnblogs.com/rnanprince/p/10787350.html
Copyright © 2011-2022 走看看