常见的DDoS攻击方式和预防方法

news2025/1/16 12:50:07

DDoS攻击指分布式拒绝服务攻击,即处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。以下是三种常见的DDoS攻击方式:
在这里插入图片描述

1.TCP洪水攻击(SYN Flood)
TCP洪水攻击是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,常用假冒的IP或IP号段发来海量的请求连接的第一个握手包(SYN包),被攻击服务器回应第二个握手包(SYN+ACK包),因为对方是假冒IP,对方永远收不到包且不会回应第三个握手包。导致被攻击服务器保持大量SYN_RECV状态的“半连接”,并且会重试默认5次回应第二个握手包,塞满TCP等待连接队列,资源耗尽(CPU满负荷或内存不足),让正常的业务请求连接不进来。

2.DNS Flood攻击
利用DNS请求不需要三次握手确认,大量请求DNS业务,造成DNS服务器中断。攻击者利用伪造的ip地址大量发起dns查询的请求,造成递归dns服务器存储了大量的dns、ip的映射信息,造成正常DNS请求失效。DNS Flood也属于资源消耗型的攻击。
DNS攻击也可以造成反射攻击。攻击者发起小流量 4M的伪造ip地址(某网吧的真实地址),DNS将查询到的DNS信息发送给该伪造ip地址,流量可能达到100M,造成某网吧接受到大量的流量,影响正常网吧业务。

3.CC攻击(HTTP Flood)
CC攻击(Challenge Collapsar)是DDoS攻击的一种,是利用不断对网站发送连接请求致使形成拒绝服务的攻击。相比其它的DDoS攻击,CC攻击是应用层的,主要针对网站。CC主要是用来攻击页面的,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。

普通服务器也能预防DDoS攻击

1.定期扫描漏洞
要定期扫描现有的网络主节点,清查可能存在的安全漏洞,对新出现的漏洞及时进行清理。骨干节点的计算机因为具有较高的带宽,是黑客利用的最佳位置,因此对这些服务器本身加强主机安全是非常重要的。而且连接到网络主节点的都是服务器级别的计算机,所以定期扫描漏洞就变得更加重要了。

2.配置防火墙
防火墙本身能抵御DDoS攻击和其他一些攻击。在发现受到攻击的时候,可以将攻击导向一些牺牲主机,这样可以保护真正的主机不被攻击。当然导向的这些牺牲主机可以选择不重要的,或者是linux以及unix等漏洞少和天生防范攻击优秀的系统。

3.采用高性能网络设备
所谓网络设备是指路由器、防火墙等负载均衡设备,它们可将网络有效地保护起来。因此,选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量制来对抗某些种类的DDoS攻击是非常有效的。

4.准备充足的网络带宽
网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M ,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。

5.检查访问者的来源
使用Unicast Reverse Path Forwarding等通过反向路由器查询的方法检查访问者的IP地址是否是真,如果是假的,它将予以屏蔽。许多黑客攻击常采用假IP地址方式迷惑用户,很难查出它来自何处。因此,利用Unicast Reverse Path Forwarding可减少假IP地址的出现,有助于提高网络安全性

6.关闭一些服务和端口
在服务器防火墙中,只开启使用的端口,比如:网站web服务的80端口、数据库的3306端口、SSH服务的22端口等。关掉、屏蔽服务器不必要的服务和端口,在路由器上过滤假的IP地址,也能在一定程度上有效地防御DDoS攻击。

7.过滤所有RFC1918 IP地址
RFC1918 IP地址是内部网的IP地址,像10.0.0.0、192.168.0.0 和172.16.0.0,它们不是某个网段的固定的IP地址,而是Internet内部保留的区域性IP地址,应该把它们过滤掉。此方法并不是过滤内部员工的访问,而是将攻击时伪造的大量虚假内部IP过滤,这样也可以减轻DDoS的攻击。

8.限制SYN/ICMP流量
用户应在路由器上配置SYN/ICMP的最大流量来限制SYN/ICMP封包所能占有的最高频宽,这样,当出现大量的超过所限定的SYN /ICMP流量时,说明不是正常的网络访问,而是有黑客入侵。早期通过限制SYN/ICMP流量是最好的防范DDoS的方法,虽然目前该方法对于DDoS效果不太明显了,不过仍然能够起到一定的作用。

9.使用第三方防御
例如,购买云服务商或CDN服务商的“CDN(内容分发网络)”,加速网络服务,隐藏网站源服务器的IP地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/106870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ADI Blackfin DSP处理器-BF533的开发详解65:JPEG解码(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 代码实现功能 代码实现了将 480*272 尺寸的 JPEG 数据解码为 RGB888 数据功能,调用了 JPEG 解码库函数。 JPEG 图像数据以.dat 文件…

FineReport报表工具制作图表-JS实现下拉框选择后复选框默认全选

1. 概述 1.1 预期效果 参数联动查询时,希望下拉框选择后,复选框可以跟着选中全部所有参数值,效果如下图所示: 1.2 实现思路 参数联动查询时,希望下拉框选择后,复选框可以跟着选中全部所有参数值给下拉框添…

六、http模块

HTTP —— 超文本传输协议,用于规范客户端浏览器和服务端以何种格式进行通信和数据交互;HTTP由请求和响应构成的,是一个标准的客服端服务器模型。 HTTP请求响应过程 先简单的来了解以下HTTP的请求响应过程:1.地址解析&#xff1a…

深度学习实验(四)——卷积神经网络编程

深度学习实验四:卷积神经网络编程 本次实验练习使用torch.nn中的类设计一个卷积神经网络进行MNIST手写体数字图像分类。 name x#填写你的姓名 sid B02014152#填写你的学号print(姓名:%s, 学号:%s%(name, sid))姓名:x, 学号:B02014152import torch import torch.nn as nn im…

完全背包问题(超级详细地讲解优化过程)

完全背包问题一、问题描述二、思路分析1、状态转移方程2、循环设计三、代码模板1、朴素版2、优化版(1)时间优化(2)空间优化一、问题描述 二、思路分析 完全背包和01背包的区别就在于01背包中,每个物品只能选择一次&am…

Java架构师大厂面试致命十连问,你接得住吗?

1.什么是缓存雪崩?怎么解决? ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) 通常,我们会使用缓存用于缓冲对 DB 的冲击,如果缓存宕机,所有请求将直接打在 DB,造…

故事分享|27岁的Leader:要成为别人的灯塔,自己得先会“发光”

学习编程的年龄跨度很大,有还在读小学的10后小朋友,也有子孙满堂的八十岁老太太,但主力军,当属90后。 很多年前,90后还是许多人口中“垮掉的一代”。 许多年过去了,当90后逐渐摘掉不成熟的标签&#xff0…

ssh前置代理

ssh前置代理ssh前置代理Linux和mac配置ssh前置proxyUbuntu和mac的ncCentos的ncWindows的ssh前置proxyssh前置代理 适用于服务器无法直接连接过去,需要用proxy才可以连接的场景. Linux和mac配置ssh前置proxy nc属命令属于nmap-ncat包 Centos的nmap-ncat版本太低了,需要到https:…

学习笔记 - MapStruct 映射工具

学习笔记 - MapStruct 映射工具简介Maven 依赖实体类 Entity数据传输对象 DTO映射接口测试类IDEA 插件与 Lombok 一起使用参考资料简介 MapStruct是一个代码生成器,它基于约定优于配置的方法,极大地简化了Java bean类型之间映射的实现。 生成的映射代码使…

第8章 关系数据库设计

第8章 关系数据库设计 考试范围: 8.1-8.5,8.8,8.9 考试题型: 模式分解 考试内容: INF概念 非规范化设计的问题:数据冗余,插入/删除/更新异常 函数依赖的概念 平凡函数依赖 函数依赖集 最小(正则)覆…

数据结构和算法学习笔记之 03.单向双向链表和环形链表构建

5.单向链表 把一个节点Node当做是一个对象,改对象里面包含了数据和指向下一个节点的引用指针 5.1 链表的添加和遍历 5.1.1 思路分析 添加 创建一个head头节点表示链表的头节点,里面的存放数据的data null每添加一个元素就直接添加到链表的最后(尾插法…

Practise test day9

另类加法_牛客网 解题思路:位运算符 1 0001 2 0010 按位与&:如果两个二进制位都为1,则返回1,否则返回0 按位异或:两个二进制位相同返回0,不同返回1。 1.二进制位异或的结果,是两个数对应相加…

https-OPenSSL证书生成及自签名证书

目录 SSL/TLS 1、搭建OPenssl服务器 1.1、下载 1.2、安装下载好的exe程序 2、服务器端证书-生成key、CSR、CRT 2.1、进入如下目录,执行cmd 2.2、生成一个私钥key 2.3、由生成的私钥key生成一个待签名的CSR证书文件(公钥) 2.4、查看证书内容 3、自建CA证书 3.1…

跨境电商卖家如何创建客户参与的 Facebook 广告?

关键词:跨境电商卖家、客户参与、Facebook广告 想要从您的 Facebook 广告中获得更多潜在客户或转化?正在寻找为您自己的广告建模的成功秘诀? 在本文中,您将了解创建消费者响应的 Facebook 广告的八个技巧。 将您现有的 Facebook 受…

零基础能否转行做程序员,那些半路出家的程序员大神给你做了榜样

这些年,随着中国互联网产业的高速发展,对程序员这个职业的需求越来越大。而相对较高的薪水、简单的人际关系、入行不需要靠拼爹这些优点,也让越来越多的年轻人选择了这个职业。甚至很多本来已经从事了其他行业的年轻人,也都想转行…

Promise(三) promise自定义封装25-35

1.初始结构搭建 2.resolve和reject结构搭建 3.throw抛出异常改变状态 4.promise对象状态只能修改一次 5.then方法执行回调 6.指定多个回调的实现 7.同步修改状态then方法结果返回 8.异步修改状态then方法结果返回 9.then方法完善与优化 10.catch方法——异常穿透与值管…

网络技术基础复习——计算机网络基本概念七层模型

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 前言 本章将会复习网络技术的一些知识,了解网络基础概念&#x…

如何学习python?python该怎么学?如何高效率学习python?分享python的学习资料和网站

如何学习python? 1、学好python的第一步,就是马上到网站上下载一个python版本。我建议初学者,不要下载具有IDE功能的集成开发环境,比如Eclipse插件等。 2、下载完毕后,就可以开始学习了。学习过程中,我建议…

商业报表工具-FineReport JS 实现动态隐藏参数以及控制参数面板高度

1. 概述 1.1 版本 报表服务器版本 功能变更 11.0 -- 1.2 预期效果 开发报表的时,经常会遇到使用的参数控件较多的情况,这时候可以对一些不常用、不需要展现出来的的控件进行隐藏,当需要展示的时候再使其展示出来,如下图所示&…

数字化信道

数字化信道 数字化信道主要包括多相滤波和DFT两个模块。 多相滤波 多相滤波,就是将滤波器系数按照相数进行重排。在D倍抽取后,整个频带的频谱将混叠在0频附近[−Fs2D,Fs2D)[-\frac{F_s}{2D} ,\frac{F_s}{2D})[−2DFs​​,2DFs​​)。因此,…