一次真实的DDoS攻击防御实战

2024-06-17 09:58

本文主要是介绍一次真实的DDoS攻击防御实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 摘要:一次真实的DDoS攻击防御实战
  • 标签:DoS攻击

第一轮进攻:

时间:下午15点30左右

突然发现公司的web server无法访问,尝试远程登录,无法连接,呼叫idc重启服务器。启动后立即登录察看,发现攻击还在继续,并且apache所有230个进程全部处于工作状态。由于服务器较老,内存只有512m,于是系统开始用swap,系统进入停顿状态。于是杀掉所有httpd,稍后服务器恢复正常,load从140降回正常值。

开始抓包,发现流量很小,似乎攻击已经停止,尝试启动httpd,系统正常。察看httpd日志,发现来自五湖四海的IP在尝试login.php,但是它给错了url,那里没有login.php,其他日志基本正常,除limit RST ....之类较多,由于在攻击中连接数很大,出现该日志也属正常。

观察10分钟,攻击停止。

第二轮进攻:

时间:下午17点50分

由于有了前次攻击经验,我开始注意观察web server的状态,刚好17点50分,机器load急剧升高,基本可以确定,又一轮攻击开始。

首先停掉了httpd,因为已经动弹不得,没办法。然后抓包,tcpdump -c 10000 -i em0 -n dst port 80 > /root/pkts发现大量数据报涌入,过滤其中IP,没有非常集中的IP,于是怀疑属于DDoS接下来根据上次从日志中过滤得到的可疑地址,比较本次抓包结果,发现很多重复记录。

分析:

这不是简单的DDoS,因为所有httpd进程都被启动,并且留下日志,而且根据抓包记录,每个地址都有完整的三次握手,于是确定,所有攻击源都是真实存在的,不是虚假的IP。

这样的可疑IP一共有265个,基本上都是国外的,欧洲居多,尤其西班牙。公司客户在欧洲的可为凤毛麟角,只有丢卒保车了。

采取的措施:

把所有265个IP,统统加入_blank">防火墙,全部过滤ipfw add 550 deny tcp from % to me 80,重新启动httpd。

观察了3个小时,ipfw列表中所有ACL的数据报量仍旧持续增长,但是公司的web server已经工作正常。

至此,此次攻击暂告一段落,不排除稍后继续发生,但是由于攻击者使用的都是真实肉鸡,同时掌握超过300个肉鸡实属罕见,因此基本上他不能够在短期内重新发动进攻。

这篇关于一次真实的DDoS攻击防御实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069130

相关文章

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

剑指offer(C++)--数组中只出现一次的数字

题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 class Solution {public:void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {int len = data.size();if(len<2)return;int one = 0;for(int i

剑指offer(C++)--第一个只出现一次的字符

题目 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). class Solution {public:int FirstNotRepeatingChar(string str) {map<char, int> mp;for(int i = 0; i < str.size(); ++i)m

PyTorch模型_trace实战:深入理解与应用

pytorch使用trace模型 1、使用trace生成torchscript模型2、使用trace的模型预测 1、使用trace生成torchscript模型 def save_trace(model, input, save_path):traced_script_model = torch.jit.trace(model, input)<

LeetCode —— 只出现一次的数字

只出现一次的数字 I  本题依靠异或运算符的特性,两个相同数据异或等于0,数字与0异或为本身即可解答。代码如下: class Solution {public:int singleNumber(vector<int>& nums) {int ret = 0;for (auto e : nums){ret ^= e;}return ret;}};  只出现一次的数字 II

MyBatis-Plus常用注解详解与实战应用

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了大量的常用注解,使得开发者能够更方便地进行数据库操作。 MyBatis-Plus 提供的注解可以帮我们解决一些数据库与实体之间相互映射的问题。 @TableName @TableName 用来指定表名 在使用 MyBatis-Plus 实现基本的 C

[大师C语言(第三十六篇)]C语言信号处理:深入解析与实战

引言 在计算机科学中,信号是一种软件中断,它允许进程之间或进程与内核之间进行通信。信号处理是操作系统中的一个重要概念,它允许程序对各种事件做出响应,例如用户中断、硬件异常和系统调用。C语言作为一门接近硬件的编程语言,提供了强大的信号处理能力。本文将深入探讨C语言信号处理的技术和方法,帮助读者掌握C语言处理信号的高级技巧。 第一部分:C语言信号处理基础 1.1 信号的概念 在Unix-lik

MATLAB算法实战应用案例精讲-【数模应用】三因素方差

目录 算法原理 SPSSAU 三因素方差案例 1、背景 2、理论 3、操作 4、SPSSAU输出结果 5、文字分析 6、剖析 疑难解惑 均方平方和类型? 事后多重比较的类型选择说明? 事后多重比较与‘单独进行事后多重比较’结果不一致? 简单效应是指什么? 边际估计均值EMMEANS是什么? 简单简单效应? 关于方差分析时的效应量? SPSSAU-案例 一、案例

[最全]设计模式实战(一)UML六大原则

UML类图 UML类图是学习设计模式的基础,学习设计模式,主要关注六种关系。即:继承、实现、组合、聚合、依赖和关联。 UML类图基本用法 继承关系用空心三角形+实线来表示。实现接口用空心三角形+虚线来表示。eg:大雁是最能飞的,它实现了飞翔接口。 关联关系用实线箭头来表示。当一个类"知道"另一个类时,可以用关联。eg:企鹅需要"知道"气候的变化,需要"了解"气候规律。 聚合关

B站大模型指令微调入门实战(完整代码),一键打造你的数字分身

前两天,想导出微信聊天记录,于是搞了个小工具。 感兴趣的小伙伴,可以回看: 微信聊天记录导出为电脑文件实操教程(附代码) 一键获取所有微信聊天记录(附PyQT6入门实战) 拿到这些数据都有什么用? 突发奇想:如果把微信上,所有和我相关的聊天对话提取出来,再结合大语言模型 LLM,是不是就可以打造我的数字分身了? 选择一个基座大模型,通过指令微调的方式,打造个性化AI Bot,不失为