面对DDOS攻击,有哪些解决办法
随着互联网带宽的持续增长以及DDOS黑客技术的发展,DDOS拒绝服务攻击的实施变得愈发容易。商业竞争、打击报复、网络敲诈等多种因素,各行各业的用户都曾受到DDOS攻击的威胁。
一旦遭受到DDOS攻击,随之而来的就是业务宕机,用户无法正常访问,用户流失,经济损失等一系列问题。为此,互联网从业人员须将保障网络安全问题作为需要解决的重要任务之一。德迅云安全作为云安全服务商,累计了多年攻防技术经验,今天就带大家了解下遇到DDOS攻击,常见的处理解决方案。
一、认识DDOS攻击
DDoS攻击(Distributed Denial of Service Attack),即分布式拒绝服务攻击,是一种网络攻击方式,其核心目的是阻止合法用户访问正常的网络资源。
攻击者利用分布式网络将大量恶意请求发送到目标服务器或网络上,造成目标服务器或网络资源的过载,从而导致无法正常处理请求,使目标系统瘫痪,无法正常提供服务。这种攻击方式通常涉及多个计算机或设备的协同攻击,攻击者常常使用Botnet(僵尸网络)等软件来感染并控制这些计算机或设备,这些被控制的计算机或设备被称为“僵尸机器”。
DDoS攻击的原理在于通过控制大量的计算机或设备,向目标服务器发送大量的请求,使其超出承受范围,导致服务器无法正常响应请求,从而使服务不可用。这种攻击方式可以严重影响目标服务器的正常运行,甚至导致服务中断。
DDoS攻击有多种类型,包括SYN攻击、DNS攻击、HTTP攻击和UDP攻击等。SYN攻击利用TCP/IP协议中的漏洞发送大量的SYN数据包;DNS攻击则利用DNS服务器漏洞发送大量的DNS请求;HTTP攻击和UDP攻击则是利用HTTP协议和UDP协议的漏洞发送大量请求来消耗目标系统的资源。
二、当前常见的DDOS攻击方式
1、SYN/ACK Flood攻击
SYN/ACK Flood攻击被视为经典且高效的DDOS攻击手段,其能够对付各种系统的网络服务。此攻击主要通过向受害主机发送大量伪造源IP和源端口的SYN或ACK包来实施。这些伪造的请求导致主机缓存资源被耗尽或使主机忙于回应这些请求,从而造成拒绝服务。由于源IP和端口都是伪造的,追踪攻击源头比较困难。
只需少量的SYN/ACK Flood攻击就可能导致主机服务器无法访问。若在服务器上执行Netstat -na命令时,会发现存在大量的SYN_RECEIVED状态。如果遭受大量的SYN攻击,会导致Ping失败、TCP/IP栈失效,并可能出现系统凝固现象,即键盘和鼠标无响应。重要的是,大部分普通防火墙难以抵御此种攻击。
2、TCP全连接攻击
TCP全连接攻击是设计来绕过常规防火墙的检查的。常规防火墙通常能过滤如TearDrop、Land等DOS攻击,但对于正常的TCP连接往往会放行。然而,许多网络服务程序(例如IIS、Apache等Web服务器)能接受的TCP连接数是有限的。当大量的TCP连接同时存在时,即便是正常的连接,也会导致网站访问变得非常缓慢或无法访问。
TCP全连接攻击通过众多僵尸主机不断地与受害服务器建立TCP连接,直到服务器资源如内存被耗尽,从而造成拒绝服务。这种攻击的特点是能绕过一般防火墙的防护,但其缺点是需要大量的僵尸主机,并且这些主机的IP是暴露的,因此容易被追踪。
3、刷Script脚本攻击
针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统,刷Script脚本攻击是一种常见的方法。攻击者与服务器建立正常的TCP连接后,不断向脚本程序提交查询、列表等大量耗费数据库资源的请求。这种攻击以较小的代价换取服务器资源的大量消耗。
对于服务器而言,处理这些请求可能会从数万条记录中查找某个记录,从而消耗大量资源。通常,数据库服务器很少能支持数百个查询指令同时执行,而这对于攻击者来说轻而易举。因此,攻击者只需通过Proxy代理向主机服务器大量递交查询指令,数分钟内即可耗尽服务器资源,导致拒绝服务。
常见现象包括网站响应缓慢、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高等。这种攻击可完全绕过普通防火墙,且只需简单寻找一些Proxy代理即可实施攻击。然而,其缺点是对于只有静态页面的网站效果有限,并且有些Proxy可能会暴露攻击者的IP地址。
三、判断网站是否受到DDOS攻击的方法
1、流量攻击判定:
使用Ping命令测试,如果发现Ping超时或丢包严重,服务器无法远程连接,而之前是正常的,突然出现无法ping通丢包情况,那么网站可能遭受了流量攻击。
2、资源耗尽攻击的判定:
若平时访问网站正常,突然网站访问变得非常缓慢或无法访问,但Ping仍然可以通,那么可能遭受了资源耗尽攻击。
在服务器上使用Netstat -na命令,如果观察到大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态,而ESTABLISHED状态很少,则可以判定为资源耗尽攻击。
四、如何有效抵御DDOS攻击
当前的DDoS攻击模式与过去相比更为复杂,单一的防护手段已无法应对,我们需要一个全面的、多层次的DDoS防护方案。想要完全杜绝DDOS攻击还是不可能的,但通过适当的安全策略、接入部署德迅云安全解决方案,抵挡住大部分DDOS攻击是可以实现的。
增加防御DDOS的能力,也就意味着提高了攻击者的攻击成本,使得大部分攻击者因成本过高或是攻击已经无法造成有效影响从而放弃攻击行为,这也就相当于成功地抵御了DDOS攻击。以下是日常一些常见的措施建议:
1、 实施速率限制
速率限制是一种防止DDoS攻击的技术,通过限制发送到网络或服务器的流量来实现。当达到限制时,多余的流量会被丢弃或延迟。谨慎配置速率限制以确保不会阻碍合法流量是至关重要。
2、避免NAT的使用
无论是路由器还是硬件防护墙,都应尽量避免使用网络地址转换(NAT)。因为NAT技术会大幅降低网络通信能力,原因在于NAT需要对地址进行来回转换,此过程中会产生额外的CPU开销,用于网络包的校验和计算。但在某些场景下,如果必须使用NAT,那么此建议可能不适用。
3、 利用黑洞路由
黑洞路由是一种防御技术,通过在恶意流量到达目标之前丢弃它们来阻止DDoS攻击。它配置路由器或交换机将流量发送到一个无效接口,即“黑洞”,从而消除恶意流量。尽管这是一种被动措施,但它可以有效减轻攻击的影响,可与其他主动防御措施结合使用。
4、网站静态化处理
将网站转化为静态页面不仅可以大大提高其抗攻击能力,还能给潜在的黑客入侵带来麻烦。到目前为止,HTML的溢出问题尚未出现。当然,如果需要数据库支持的脚本,应确保其安全性,并建议在脚本中拒绝使用代理的访问,因为经验表明,大部分使用代理访问的行为都是恶意的。
5、精简攻击面
通过最小化暴露给攻击者的攻击面,可以大大减少他们发动DDoS攻击的范围和可能性。因此,对于关键资产、应用程序和其他资源,如端口、协议、服务器和其他入口点,都应进行妥善保护,删除任何不相关或不必要的服务、功能等,减少攻击者可能利用的切入点,以减少攻击面。
6、构建多层DDoS防护体系
当前的DDoS攻击模式与过去相比更为复杂,单一的防护手段已无法应对。你需要一个全面的、多层次的DDoS防护方案,它应具有可扩展性,流量监控、攻击报警功能。
在面临复杂多变的网络攻击挑战时,上述措施可能无法满足全面防护的需求。那么,企业该如何选择安全方案,来构建适合自己的DDOS防护体系?
拥有多年网络安防经验的德迅云安全,推荐其安全加速SCDN、DDoS防护(IPnet)、抗D盾这三大抗DDOS网络安全解决方案。专注于提供游戏、电商、金融、门户等行业的网站/APP/API等业务的安全解决方案,使用户业务免受各种网络攻击的威胁,同时确保业务的安全稳定运行。
首先,相较于传统方案,德迅云安全的安全解决方案部署成本更低,且接入便捷,支持分钟级接入,只需简单配置即可一键接入,为业务部署安全防护。
在防御性能上,可应对任何网络攻击。对于网站类DDoS防护,可以通过别名解析将恶意攻击流量引至德迅高防节点进行拦截清洗;对于客户端类DDOS防护,新一代的智能分布式云接入系统,可为用户提供超大流量防护,用户连接状态在各机房之间实时同步,节点间切换过程中用户无感知,保持TCP连接不中断,轻松应对大型流量网络攻击。
其次,对于CC攻击防护,德迅云安全的解决方案通过支持从结果、交互,时间,地域等维度对流量进行画像,从而构建数千种可自定义拦截策略,同时防御不同业务、不同类型的CC攻击。
最后,与有限的安全措施相比,德迅云安全的安全解决方案在实际应用方面更为全面,可以解决Web应用、客户端程序、APP等有关业务的一系列安全问题,适配多种业务场景,并可隐藏服务器真实 IP,保障源机安全稳定。
有效的安全防护是企业稳定运营的关键。拥有一个适合自身业务的安全方案,可以避免因攻击而造成不必要的损失,也能对业务提供安全的运行环境。
相关文章:

面对DDOS攻击,有哪些解决办法
随着互联网带宽的持续增长以及DDOS黑客技术的发展,DDOS拒绝服务攻击的实施变得愈发容易。商业竞争、打击报复、网络敲诈等多种因素,各行各业的用户都曾受到DDOS攻击的威胁。 一旦遭受到DDOS攻击,随之而来的就是业务宕机,用户无法…...

C++ GDAL提取多时相遥感影像中像素随时间变化的数值数组
本文介绍基于C语言GDAL库,批量读取大量栅格遥感影像文件,并生成各像元数值的时间序列数组的方法。 首先,我们来明确一下本文所需实现的需求。现在有一个文件夹,其中包含了很多不同格式的文件,如下图所示。 其中&#x…...

免费-华为od-C卷-javascript-动态规划-贪心歌手.js
动态规划-贪心歌手 还有很多其他题,链接是github, 进去可以查看对应文件夹就行...

elementui 实现一个固定位置的Pagination(分页)组件
系列文章目录 一、elementui 导航菜单栏和Breadcrumb 面包屑关联 二、elementui 左侧导航菜单栏与main区域联动 三、elementui 中设置图片的高度并支持PC和手机自适应 四、 elementui 实现一个固定位置的Pagination(分页)组件 文章目录 系列文章目录…...

紧急备考全攻略,如何短期通过PMP考试?
今年身边有很多同事朋友都要考PMP,而我属于这些人里”第一个吃螃蟹“的人,一次拿下5A,下面分享一下我自己备考PMP的经验。 我是根据自己的学习计划复习的,不能说这些方法适合所有人,但对备考的伙伴们来说,…...

python开发poc,fofa爬虫批量化扫洞
学习使用python做到批量化的漏洞脚本 1.通过fofa搜索结果来采集脚本 2.批量化扫描漏洞 ---glassfish存在任意文件读取在默认48484端口,漏洞验证的poc为: "glassfish" && port"4848" && country"CN" http://loca…...

适用于 Windows 10 的 10 大免费数据恢复软件
数据丢失可能是一场噩梦,尤其是在涉及重要文件和文档时。无论是由于意外删除、系统崩溃还是病毒攻击,找到适合 Windows 10 的文件夹恢复软件都可以在恢复丢失的数据方面发挥重要作用。在本指南中,我们将探索适用于 Windows 10 用户的 10 大免…...

zabbix企业级监控平台
zabbix部署 安装源 重新创建纯净环境,利用base克隆一台虚拟机server1 给server1做快照,方便下次实验恢复使用 进入zabbix官网https://www.zabbix.com rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm …...

如何关闭WordPress的自动更新功能
Wordpress为什么自动更新 WordPress自动更新是为了提供更好的安全性和稳定性。 安全性:WordPress是一个广泛使用的内容管理系统,因此成为恶意攻击的目标。WordPress的自动更新功能确保你的网站及时获得最新的安全补丁和修复程序,以保护你的网…...

【分析 GClog 的吞吐量和停顿时间、heapdump 内存泄漏分析】
文章目录 🔊博主介绍🥤本文内容GClog分析以优化吞吐量和停顿时间步骤1: 收集GClog步骤2: 分析GClog步骤3: 优化建议步骤4: 实施优化 Heapdump内存泄漏分析步骤1: 获取Heapdump步骤2: 分析Heapdump步骤3: 定位泄漏对象步骤4: 分析泄漏原因步骤5: 修复泄漏…...

[STL-list]介绍、与vector的对比、模拟实现的迭代器问题
一、list使用介绍 list的底层是带头双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行…...

代码随想录-035期-算法训练营【博客笔记汇总表】
ヾ(◍∇◍)ノ゙加油~ 目录 00、说明 01、刷题网址 02、每日打卡任务 03、博客打卡笔记 01、数组 02、链表 03、哈希表 04、字符串 05、双指针法 06、栈与队列 07、二叉树 08、回溯算法 09、贪心算法 10、动态规划 11、单调栈 12、图论 04…...

postgresql数据库|数据整合的好工具--Oracle-fdw的部署和使用
概述 Oracle_fdw 是一种postgresql外部表插件,可以读取到Oracle上面的数据。是一种非常方便且常见的pg与Oracle的同步数据的方法 Oracle_fdw 适用场景: Oracle_fdw 是一个开源的 Foreign Data Wrapper (FDW),主要用于在 PostgreSQL 数据库中…...

让php开发更优雅-Laravel篇
前言 随着开发经验的增加,也伴随团队开发的积累,规范开发显得越来越重要,本文给大家提供一些laravel开发的进阶思路和经验,让大家开发更加统一规范,代码看起来更加优雅。 1.更多使用第三方库。团队开发的时候…...

自动化测试之httprunner框架hook函数实操
本篇介绍httprunner中hook函数的使用,以及通过编程能力实现建设自动化测试更全面的场景覆盖 前置: 互联网时代让我们更快的学习到什么是Httprunner 正文: 经过上文了解到这个框架怎么使用之后,我们开始来探讨一下我们为什么要用…...

物联网实战--入门篇之(七)嵌入式-MQTT
目录 一、MQTT简介 二、MQTT使用方法 三、MQTT驱动设计 四、代码解析 五、使用过程 六、总结 一、MQTT简介 MQTT因为其轻量、高效和稳定的特点,特别适合作为物联网系统的数据传输协议,已经成为物联网事实上的通信标准了。关于协议的具体内容看看这…...

跑模型——labelme的json文件转成yolo使用的txt文件(语义分割)
前言 将labelme多边形标注的json文件转换成yolo使用的txt文件 import os import json import numpy as np from tqdm import tqdm#实现函数 def json2txt(path_json, path_txt): # 可修改生成格式with open(path_json, r) as path_json:jsonx json.load(path_json)with open…...

一个项目仿京东商场代码
git clone http://git.itcast.cn/heimaqianduan/erabbit-uni-app-vue3-ts.git...

计算机网络——WEB服务器编程实验
实验目的 1. 处理一个 http 请求 2. 接收并解析 http 请求 3. 从服务器文件系统中获得被请求的文件 4. 创建一个包括被请求的文件的 http 响应信息 5. 直接发送该信息到客户端 具体内容 一、C 程序来实现 web 服务器功能。 二、用 HTML 语言编写两个 HTML文件,并…...

蓝桥杯算法题:最大比例
题目描述: X星球的某个大奖赛设了 M 级奖励。 每个级别的奖金是一个正整数。 并且,相邻的两个级别间的比例是个固定值。 也就是说:所有级别的奖金数构成了一个等比数列。 比如:16,24,36,54,其等比值为:3/2。…...

【堡垒机】堡垒机的介绍
目前,常用的堡垒机有收费和开源两类。 收费的有行云管家、纽盾堡垒机; 开源的有jumpserver; 这几种各有各的优缺点,如何选择,大家可以根据实际场景来判断 什么是堡垒机 堡垒机,即在一个特定的网络环境下&…...

通过 ffmpeg命令行 调节视频播放速度
1. 仅调整视频速率 视频调速原理:修改视频的pts,dts # 可能会丢帧 ffmpeg -i input.mkv -an -filter:v "setpts0.5*PTS" output.mkv # 可用-r参数指定输出视频FPS以防止丢帧 ffmpeg -i input.mkv -an -r 60 -filter:v "setpts2.0*PTS&q…...

SQLite数据库在Linux系统上的使用
SQLite是一个轻量级的数据库解决方案,它是一个嵌入式的数据库管理系统。SQLite的特点是无需独立的服务器进程,可以直接嵌入到使用它的应用程序中。由于其配置简单、支持跨平台、服务器零管理,以及不需要复杂的设置和操作,SQLite非…...

Spring中依赖注入的方法有几种,分别是什么?
依赖注入的目的: 都是为了减少对象之间的紧密耦合 1. 构造函数注入:通过在类的构造函数中接受依赖对象作为参数,Spring在创建对象时将依赖注入。 2. Setter方法注入:在类中提供setter方法,Spring通过调用这些setter方法…...

【面试精讲】MyBatis设计模式及源码分析,MyBatis设计模式实现原理
【面试精讲】MyBatis设计模式及源码分析,MyBatis设计模式实现原理 目录 本文导读 一、MyBatis中运用的设计模式详解 1. 工厂模式(Factory Pattern) 2. 单例模式(Singleton Pattern) 3. 建造者模式(Bu…...

Acrel-1000DP光伏监控系统在尚雷仕(湖北)健康科技有限公司5.98MW分布式光伏10KV并网系统的应用
摘 要:分布式光伏发电特指在用户场地附近建设,运行方式多为自发自用,余电上网,部分项目采用全额上网模式。分布式光伏全额上网的优点是可以充分利用分布式光伏发电系统的发电量,提高分布式光伏发电系统的利用率。发展分…...

电脑远程控制esp32上的LED
1、思路整理 首先esp32需要连接上wifi 然后创建udp socket 接受udp数据 最后解析数据,控制LED 2、micropython代码实现 import network from socket import * from machine import Pin p2Pin(2,Pin.OUT)def do_connect(): #连接wifi wlan network.WLAN(network.…...

ARXML处理 - C#的解析代码(一)
目的 本文介绍通过AUTOSAR组织提供的xsd文件,自动生成对应的C#解析代码的框架。 自动生成方法:Microsoft SDKs\Windows\v7.0A\bin\xsd.exe 命令:xsd.exe AUTOSAR_4-0-3.xsd /c /l:CS /n:AUTOSAR4 AUTOSAR_4-0-3.xsd 是需要生成代码的xsd文…...

OJ 栓奶牛【C】【Python】【二分算法】
题目 算法思路 要求的距离在最近木桩与最远木桩相隔距离到零之间,所以是二分法 先取一个中间值,看按照这个中间值可以栓多少奶牛,再与输入奶牛数比较,如果大于等于,则增大距离,注意这里等于也是增大距离…...

Spring6-单元测试:JUnit
1. 概念 在进行单元测试时,特别是针对使用了Spring框架的应用程序,我们通常需要与Spring容器交互以获取被测试对象及其依赖。传统做法是在每个测试方法中手动创建Spring容器并从中获取所需的Bean。以下面的两行常见代码为例: ApplicationCo…...