关于DDos防御...别在听别人瞎扯了.....

前言

无意间刷文章的时候看到一篇文章,写的是遇到ddos,怎么用iptables封IP.......

然后我就百度搜了一下,好多都是这么说的,但是我发现,大多数人只要遭受过长期Ddos的,就不会再信网上的文章

文笔不太好,各位师傅见谅,另外,本文仅为自己的见解,大佬请绕道走。

真实故事

上个月在开办”帕鲁杯“CTF比赛的时候,遇到了友商的DDos攻击,我们买了100G的防御,觉得应该差不多就够了,没想到攻击者的心眼子远远比我们想象中的坏。

于是我们就开始处理起来了事件。

像一些腾讯云、阿里云大厂的云服务器,都有免费解封机会,可是治标不治本。。。。

关于网上的文章

我粗略的看了一下,大多数人写的都是iptables封IP,直接就笑了。。。。

简单用对话的形式表述一下

假设”非法用户“被iptables封掉了IP

普通用户:开门

服务器:这位爷,里面请

非法用户:开门让我进去

服务器:不开

非法用户:开门

服务器:不开

实际上,服务器和用户还是进行了交互,那iptables你说说心里话。。。真的有用吗?

一些文章还正儿八经的教你

图片

误人子弟!!

DDos攻击要从上层解决,这里的上层,不单止防火墙、负载均衡等只要让流量到达主机前进行过滤就可以了,从主机上防,根本没用!

我是怎么防御的?

那么当我们知道了从主机上防御根本没用后,怎么来防御?

当时想了两种策略

第一种就是买高防,从好几个T的流量清洗,但是贵的要死,而且比赛就那么几天。

第二种策略我们就用到了,cdn,一个说贵不贵的,说便宜也不便宜的东西。

从网上找了张图片过来,大致就是这样。

图片

我们通过cdn技术,抵挡了一次攻击,可是,我们大意了,我们没有设置 仅域名访问,fofa不到12h就把我们ip地址扫到了,正常情况下不可能这么快,有知道原因的师傅,可以留言一起讨论。

然后我们团队一起探讨了大概10分钟,短时间内迁移服务器,套CDN,配置Nginx,成功抵挡了攻击。

到底应该如何防御?

下面我们区分一下用户:

1.小型网站:个人网站、流量比较小的网站,并且对速度要求不是很严格的

可以使用CloudFlare的免费cdn,通过优化速度,可以达到200毫秒左右,速度也还可以。

怎么优化?

可以百度一下笨牛网,这个平台可以对接CloudFlare,自动优化,教程也还挺简单

图片

2.中型网站

中小型企业,使用付费cdn,价格也不贵,把禁止国外IP访问就好了

像一些腾讯云、阿里云,等都有这种业务,还有一些小型的IDC公司,再次不做阐述。

3.大型网站

大型网站就意味着流量比较高了,就要从服务器开防,有钱上cdn也可以,推荐买一些高防服务器之类的。

总结:要么你的IP能抗打,要么你别人攻击者看到IP地址

最后

祝愿各位踏上信息高速路的师傅们,永不被DDos

蓝队应急响应工具箱:夸克网盘分享

蓝队工具箱:夸克网盘分享

原创应急响应靶场:夸克网盘分享

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

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

相关文章

微信小程序中页面显示时触发子组件的重新渲染

使用生命周期函数: 在页面的 onShow 或 onLoad 生命周期函数中,调用子组件的方法或者改变子组件的数据,从而触发子组件的重新渲染。 例如,在页面的 js 文件中: Page({onShow: function() {// 调用子组件的方法this.sel…

Python内置函数ord()详解

在Python编程中,ord()函数是一个非常实用的内置函数,它用于返回一个字符的Unicode码点,即该字符在Unicode编码表中的数值。这个功能在处理文本数据和国际化应用程序时尤其重要。 函数功能 ord()函数的主要功能是将单个字符转换为其对应的Un…

在64位程序中调用SetWindowLong指定窗口处理过程失效问题排查(附C++编译器数据模型)

C软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/125529931C/C基础与进阶(专栏文章,持续更新中...)https://blog.csdn…

剖析vue中nextTick源码

代码逻辑梳理: callbacks 数组用于存储待执行的回调函数,waiting 变量用于标记是否有待执行的回调函数。 flushCallbacks 函数用于执行所有存储在 callbacks 数组中的回调函数,并在执行完成后将 waiting 设置为 false。 timer 函数根据环境…

手把手实现AVL——二叉平衡搜索树

概述:本文介绍AVL树的实现,从零构建一颗AVL树,以及对应的插入、删除、旋转操作 什么是AVL树? AVL树是带有平衡条件的二叉查找树,二叉查找树又区别于二叉树:保证有序 这个平衡条件是每个节点的左右子树高…

[数据集][目标检测]红外人狗检测数据集VOC+YOLO格式185张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):185 标注数量(xml文件个数):185 标注数量(txt文件个数):185 标注类别…

Python数据分析常用函数

Python基础 数字处理函数 Python提供了用于数字处理的内置函数和内置模块(math),使用内置模块,需要先导入 import math。 内置函数math模块abs(-5)返回绝对值math.ceil(2.3)返回不小于x的最小整数divmod(9,4)返回商和余数math.floor(2.3)返回不大于x的…

第十三章:C# 封装

第十三章:C# 封装 封装是面向对象编程(OOP)的四大基本原则之一,它强调将数据和行为封装在对象内部,通过访问控制来保护数据的完整性和安全性。封装使得类的实现细节对外部隐藏,只暴露必要的接口,从而提高代码的可维护性和可重用性。 1. 封装的基本概念 封装的核心思想…

xrdp连接ubuntu

要通过xrdp连接Ubuntu,您需要在Ubuntu上安装xrdp服务,并且可能还需要配置一个桌面环境,如GNOME或XFCE。以下是安装和配置xrdp的步骤: 打开终端。 更新软件包列表: sudo apt update安装xrdp服务: sudo ap…

GLCM 特征和LBP特征提取

GLCM 特征 GLCM(灰度共生矩阵)特征用于描述图像中像素灰度级之间的空间关系,常用于纹理分析。GLCM特征通过统计图像中各个灰度级对之间的出现频率来描述图像的纹理特征。GLCM特征包括能量(ASM)、对比度(Co…

Host头攻击-禁止空主机头请求

1. 原理 空主机头请求:在某些情况下,HTTP请求可能没有包含Host头字段,或者Host头字段的值为空。这可能是由于客户端的错误配置、旧版本的HTTP客户端或恶意攻击导致的。安全风险:服务器在处理没有Host头字段或Host头字段为空的请求…

AutoCAD许可证服务器

在工程设计与仿真领域,AutoCAD软件已成为行业内的标准。然而,随着企业规模的不断扩大和项目复杂性的增加,AutoCAD许可证的管理和分配也变得越来越重要。本文将为您揭示AutoCAD许可证服务器的价值,以及如何通过合理的配置和管理实现…

linux定时清理docker日志脚本

Linux 定时清理 Docker 日志的脚本与配置指南 在使用 Docker 容器化应用程序时,日志文件可能会迅速增长,占用大量磁盘空间。为了保持系统的稳定性和高效运行,定期清理 Docker 日志文件是必要的。本文将介绍如何编写一个 Linux 脚本来清理 Docker 日志文件,并通过 cron 定时…

对于创建相关项目时,项目出现红色感叹号,且无jre环境显示,应该怎么解决?

首先,假设你已经下载好了相关你的jre环境,注意:如果你的jre不想用之前用的默认的话,你应该新建一个新的文件路径来存储你的新的jre环境下的项目文件。 先直接new->project->javaproject 点击next: 显示如下:&…

docker 目录overlay2

overlay2 是 Docker 存储驱动程序之一,它用于在 Linux 主机上管理 Docker 容器的文件系统层。overlay2 是 overlay 存储驱动程序的改进版本,提供了更好的性能和更多的特性。 当你在 Docker 中使用 overlay2 作为存储驱动程序时,你会在 Docke…

JavaScript表达式语句二

异常处理语句 异常标识一种非中正常得信息,它提示程序在运行过程中发生了意外或错误,然后JavaScript通过一定的方式把它暴露出来,这叫做抛出异常。抛出异常操作表示系统告诉我们当前程序出现了问题,JavaScript使用异常处理语句来…

以一道简单的例题计算灵敏性分析

在例1.1中,全部的变量包括:猪的重量w(磅),从现在到出售猪期间经历的时间t(天),t天内饲养猪的花费C(美元),猪的市场价格p(美元/磅),售出生猪所获得的收益R(美元),我们最终获得的净收益P(美元).这里还有一些其他的有关量,如猪的初始重量(200磅)…

Python 全栈体系【四阶】(五十四)

第五章 深度学习 十二、光学字符识别(OCR) 3. 文字识别技术 3.1 CRNNCTC(2015) CRNN(Convolutional Recurrent Neural Network)即卷积递归神经网络,是DCNN和RNN的组合,专门用于识别图像中的序列式对象。…

掌握常用的域信息收集的方法和域控制器攻击的方法(渗透课程)

域信息收集 【实验目的】 通过利用PsExec命令远程连接内网主机,分别收集查询域用户信息和域控制器相关信息,了解并掌握如何收集域内的信息命令。 【知识点】 域信息收集 【实验原理】 NET命令是功能强大的以命令行方式执行的工具。它包含了管理网络…

Nginx企业级负载均衡:技术详解系列(11)—— 实战一机多站部署技巧

你好,我是赵兴晨,97年文科程序员。 工作中你是否遇到过这种情况:公司业务拓展,新增一个域名,但服务器资源有限,只能跟原有的网站共用同一台Nginx服务器。 也就是说两个网站的域名都指向同一台Nginx服务器…