当前位置: 首页 > news >正文

浅谈几种网络攻击及攻防原理

HTTP Flood攻击

https://zhuanlan.zhihu.com/p/337399808

HTTP Flood攻击是针对Web服务在第七层协议发起的攻击。第七层主要是应用层,是一些终端的应用,比如(各种文件下载)、浏览器、QQ等,可以将其理解为在电脑屏幕上可以看到的东西,也就是我们常说的终端应用。

攻击

攻击者通过代理或僵尸主机向目标服务器发起大量的HTTP报文,请求涉及数据库操作的URI(Universal Resource Identifier)或其它消耗系统资源的URI,造成服务器资源耗尽,无法响应正常请求。例如门户网站经常受到的HTTP Flood攻击,攻击的最大特征就是选择消耗服务器CPU或内存资源的URI,如具有数据库操作的URI。

防御

  1. URI监测
    URI监测是HTTP源认证防御的补充功能,当通过HTTP源认证的流量还是超过阈值时,可以启用URI监测。Anti-DDoS设备对HTTP源认证过程中加入白名单的源IP也会进行URI监测。

在指定的时间内,某一个URI的访问量要是过高,Anti-DDoS就会针对这种情况启动URI行为检测,如果检测出来的访问数超过规定的阈值,超出的IP访问数就会被判定加入动态黑名单。所以在配置URI监测时,可将消耗内存或计算资源多、容易受攻击的URI加入“重点监测URI”列表。

  1. URI源指纹学习功能
    适用于攻击源访问的URI比较固定。因为如果要形成攻击效果,攻击者一般都事先探测,找到容易消耗系统资源的URI作为攻击目标,然后一个攻击源的一个会话上会有多个针对该URI的请求,最终呈现为该源对选定的URI发送大量的请求报文。动态指纹学习正是基于这个原理,Anti-DDoS设备对源访问的URI进行指纹学习,找到攻击目标URI指纹,如果对该URI指纹的命中次数高于设置的阈值就将该源加入黑名单。

  2. HTTP Flood源认证
    源认证防御方式是防御HTTP Flood最常用的手段,这种防御方式适用于客户端为浏览器的HTTP服务器场景,因为浏览器支持完整的HTTP协议,可以正常回应重定向报文或者是验证码。源认证防御主要包含以下三种方式:基本模式(META刷新)、增强模式(验证码认证)、302重定向模式。

  3. HTTP源统计
    HTTP源统计是在基于目的IP流量异常的基础上,再启动针对源IP流量进行统计。Anti-DDoS设备首先对到达目的IP的流量进行统计,当目的IP流量触发告警阈值时,再启动到达这个目的IP的每个源的流量进行统计,判定具体某个源流量异常,并对源IP的流量进行限速。HTTP源统计功能可以更准确的定位异常源,并对异常源发出的流量进行限速。

DDoS攻击

Distributed Denial of Service 分布式拒绝服务。 攻击者利用“肉鸡”对目标网站在较短的时间内发起大量请求,大规模消耗目标网站的主机资源,让它无法正常服务。在线游戏、互联网金融等领域是 DDoS 攻击的高发行业。

攻击

  1. 通过使网络过载来干扰甚至阻断正常的网络通讯;
  2. 通过向服务器提交大量请求,使服务器超负荷;
  3. 阻断某一用户访问服务器;
  4. 阻断某服务与特定系统或个人的通讯。

防御

  1. 高防服务器
    指能独立硬防御 50Gbps 以上的服务器,能够帮助网站拒绝服务攻击,定期扫描网络主节点等
  2. 黑名单
    设置黑名单,此方法秉承的就是“错杀一千,也不放一百”的原则,会封锁正常流量,影响到正常业务。
  3. DDoS 清洗
    DDoS 清洗会对用户请求数据进行实时监控,及时发现DOS攻击等异常流量,在不影响正常业务开展的情况下清洗掉这些异常流量。
  4. CDN加速
    CDN 服务将网站访问流量分配到了各个节点中,这样一方面隐藏网站的真实 IP,另一方面即使遭遇 DDoS 攻击,也可以将流量分散到各个节点中,防止源站崩溃。
  5. IP黑洞
    当某些IP或某些IP段流量达到一定程度,当某些IP的PPS达到一定程度,我们可以认为发往这个(些)IP的流量是异常流量,是DDOS攻击流量。 为DDOS攻击的主机(如:202.96.134.133/32)创建一个指向黑洞的主机路由,把这条路由打上一个特殊的BGP blackhole community(如4134:65535)后通告到上游ISP,因此,上游ISP可以根据BGP blackhole community把攻击流量路由到黑洞。监控到流量恢复正常后,我们把这条(段)路由的BGP blackhole community标签除去。
http://www.lryc.cn/news/34829.html

相关文章:

  • Kafka消息中间件(Kafka与MQTT区别)
  • Go垃圾回收原理
  • Coredump-N: stack 空间被临时变量吃满,导致内存访问出现问题
  • GO中使用viper读取配置文件
  • webpack dll 提升构建速度
  • C++面向对象编程之三:初始化列表、类对象作为类成员、静态成员
  • 跨域问题解决方案
  • Vue3电商项目实战-购物车模块7【20-登录后-批量删除、21-登录后-选中状态修改数量、22-登录后-全选反选、23-登录后-修改规格、24-下单结算】
  • 软件测试之快速熟悉项目
  • 软考高级信息系统项目管理师系列之二十一:项目风险管理
  • 打包成JAR文件和WAR文件,到底有什么区别?
  • STM32 OTA应用开发——通过串口/RS485实现OTA升级(方式1)
  • 在教学中常被问到的几个vue3.x与typescript的问题,统一解答
  • 纯css实现超炫酷的星空背景按钮
  • openpnp - 贴片前, 放入一块新板子后, 对板子的坐标矫正
  • 计及需求响应的改进灰狼优化算法求解风、光、柴、储容量优化配置(Matlab代码实现)
  • Elasticsearch使用——高级篇
  • Java网络爬虫-HttpClient工具类
  • LeetCode203_203. 移除链表元素
  • 【洛谷 P1443】马的遍历 题解(广度优先搜索)
  • 为什么gpt输出有随机性?
  • 配置Clion用于STM23开发(Makefile)
  • 如何在 Istio 中使用 SkyWalking 进行分布式追踪
  • HBase高手之路1-Hbase简介
  • 计算机视觉手指甲标注案例
  • linux 字符串截取(cut)
  • 003+limou+HTML——(3)HTML列表
  • 设计模式---工厂模式
  • C++基础了解-13-C++ 数组
  • ICC2:限制LVT比例