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

服务器遭受DDoS攻击后如何恢复运行?

当服务器遭受 DDoS(分布式拒绝服务)攻击 后,恢复运行需要快速采取应急措施来缓解攻击影响,并在恢复后加强防护以减少未来攻击的风险。以下是详细的分步指南:


一、应急处理步骤

1. 确认服务器是否正在遭受 DDoS 攻击

  • 典型症状
    • 网站或服务无法访问。
    • 网络流量异常激增。
    • CPU、内存或带宽资源被大量消耗。
    • 服务响应速度极慢。
如何确认:
  • 检查服务器流量:
    • 使用工具(如 iftopnetstat)监控实时流量,查看是否有大量异常请求。
  • 查看日志文件:
    • 检查 Web Server(如 Nginx、Apache)日志,是否有来自单一或少数来源 IP 的大量请求。
    • 示例:

      bash

      复制

      tail -f /var/log/nginx/access.log
      
  • 查看连接数:
    • 使用 netstat 查看是否有异常连接:

      bash

      复制

      netstat -an | grep :80 | wc -l
      
      如果连接数异常飙升,可判断为攻击。

2. 启用服务器的基本防护机制

(1)启用防火墙
  • 配置防火墙规则,限制恶意流量:

    bash

    复制

    # 阻止特定 IP
    iptables -A INPUT -s <攻击IP> -j DROP
    # 限制单 IP 每秒请求数
    iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/s --limit-burst 50 -j ACCEPT
    
    或使用 UFW(Ubuntu 防火墙):

    bash

    复制

    ufw deny from <攻击IP>
    
(2)启用 SYN Cookies
  • 针对 SYN Flood 攻击,可以启用 SYN Cookies 来缓解:

    bash

    复制

    echo 1 > /proc/sys/net/ipv4/tcp_syncookies
    
(3)限制连接数
  • 修改 sysctl.conf 来优化网络防护:

    bash

    复制

    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_max_syn_backlog = 2048
    net.ipv4.tcp_fin_timeout = 15
    net.ipv4.tcp_max_tw_buckets = 5000
    
    保存后,执行 sysctl -p 应用配置。

3. 启用服务商的 DDoS 防护

  • 联系服务器提供商
    • 大多数云服务商(如 阿里云腾讯云AWSAzure)提供 DDoS 防护服务,可能需要额外启用或升级套餐。
    • 如香港的服务器提供商,通常提供 高防 IP 或防护带宽(如 10Gbps 或更高)。
  • 免费防护
    • 如果使用香港或国际服务器,可以启用基础 DDoS 防护(一般能防御小规模攻击)。

4. 使用 CDN 或反向代理隐藏源站

  • 启用 CDN
    • CloudflareAkamai 等服务可以隐藏源站 IP,将攻击流量转发到 CDN 节点。
    • Cloudflare 的 "Under Attack Mode" 可有效过滤恶意流量。
  • 设置防护规则
    • 在 CDN 上配置访问速率限制、恶意 IP 阻止、浏览器验证等。
注意:隐藏源站 IP
  • 确保攻击者无法直接找到服务器的真实 IP,否则攻击可能绕过 CDN,直接打击源站。
  • 方法:
    • 修改 DNS 记录,让所有流量通过 CDN。
    • 配置服务器防火墙,仅允许特定的 CDN IP 段访问源站。

5. 关闭非必要服务

  • 暂时关闭不必要的服务和端口,减少攻击面:
    • 关闭未使用的端口:

      bash

      复制

      netstat -tuln
      
      然后关闭对应服务。
    • 停止非核心服务,优先保障主业务运行。

二、恢复运行的步骤

1. 检查服务器状态

  • 资源检查

    • 确认服务器的 CPU、内存、磁盘 I/O 是否恢复正常。
    • 使用工具:
      • Linux:tophtopvmstat
      • Windows:任务管理器 > 性能。
    • 确认网络带宽是否被释放。
  • 连接检查

    • 查看当前连接是否仍有恶意流量:

      bash

      复制

      netstat -an | grep ESTABLISHED
      

2. 清理僵尸连接

  • 清除被攻击时遗留的半开连接或无效连接:

    bash

    复制

    tcpkill -i eth0 host <攻击IP>
    
    或直接重启网络服务:

    bash

    复制

    systemctl restart networking
    

3. 恢复业务服务

  • 启动核心服务:
    • 逐步恢复 Web 服务、数据库和其他应用服务,确保服务正常运行。
  • 检查日志:
    • 确认恢复后是否仍有恶意流量或攻击尝试。

4. 更新 DNS 缓存

如果更换了服务器 IP 或启用了 CDN,可能需要等待 DNS 缓存刷新。使用以下命令检查解析情况:

bash

复制

dig <域名>

确保用户访问的 IP 地址已经更新。


三、长期防护措施

1. 部署 Web 应用防火墙(WAF)

  • 功能
    • 过滤恶意请求(如 SQL 注入、跨站脚本)。
    • 限制每秒访问次数。
  • 推荐服务
    • Cloudflare WAF、阿里云 WAF、AWS WAF。

2. 改善网络架构

(1)使用高防服务器
  • 如果业务常受攻击,建议迁移到高防服务器或线路:
    • 高防 IP:通过专用 DDoS 防护带宽过滤恶意流量。
    • 高防 BGP:多线路接入,自动切换最优线路。
(2)分布式部署
  • 将服务分布到多个节点,分散攻击流量。
  • 使用负载均衡器(如 Nginx、HAProxy)在多节点之间分发流量。

3. 配置流量监控和报警

  • 实时监控流量:
    • 使用工具(如 ZabbixPrometheus)配置流量监控和报警规则。
    • 一旦发现异常流量,立即触发警报。

4. 限制访问速率

  • 在 Web Server 上配置访问速率限制,减少应用层攻击的影响:
    • Nginx 示例

      bash

      复制

      http {limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;server {location / {limit_req zone=one burst=20 nodelay;}}
      }
      

5. 定期更新和备份

  • 更新系统和软件
    • 修复安全漏洞,减少被攻击的可能性。
  • 备份数据
    • 定期备份服务器数据和配置,确保在攻击后可以快速恢复。

四、总结

当服务器遭受 DDoS 攻击后,恢复运行的关键步骤包括:

  1. 应急响应:快速启用防火墙、DDoS 防护、CDN,阻止恶意流量。
  2. 恢复服务:清理僵尸连接,检查服务器资源和网络状态,逐步恢复核心服务。
  3. 长期防护:部署 WAF、使用高防服务器、隐藏源站 IP,并优化网络架构。

通过上述措施,不仅能够快速应对攻击,还能显著提高服务器未来的抗攻击能力,从而保障业务的持续运行。

相关文章:

服务器遭受DDoS攻击后如何恢复运行?

当服务器遭受 DDoS&#xff08;分布式拒绝服务&#xff09;攻击 后&#xff0c;恢复运行需要快速采取应急措施来缓解攻击影响&#xff0c;并在恢复后加强防护以减少未来攻击的风险。以下是详细的分步指南&#xff1a; 一、应急处理步骤 1. 确认服务器是否正在遭受 DDoS 攻击 …...

MFC音视频播放器-支持电子放大等功能

前言 本播放器在VS2019下开发&#xff0c;使用ffmpegD3D实现视频播放渲染功能。同时本播放器支持录像功能、截图功能、音视频播放功能、码流信息显示、电子放大功能等。D3D的渲染同时支持surface和texture两种方式&#xff0c;电子放大功能是在D3D Texture方式下进行实现。以下…...

c语言编程1.17蓝桥杯历届试题-回文数字

题目描述 观察数字&#xff1a;12321&#xff0c;123321 都有一个共同的特征&#xff0c;无论从左到右读还是从右向左读&#xff0c;都是相同的。这样的数字叫做&#xff1a;回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求&#xff1a; 该数字的各个数位之…...

el-table 纵向 横向 多级表头

<el-table :data"tableData" class"diaTable":span-method"handleSpanMethod"border:header-cell-style"{background:#292929,color:#fff}"><!-- 纵向表头 --><el-table-column label"纵向表头" width"…...

uniapp开发微信小程序笔记8-uniapp使用vant框架

前言&#xff1a;其实用uni-app开发微信小程序的首选不应该是vant&#xff0c;因为vant没有专门给uni-app设置专栏&#xff0c;可以看到目前Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本&#xff0c;并由社区团队维护 React 版本和支付宝小程序版本。 但是vant的优…...

分布式项目使用Redis实现数据库对象自增主键ID

hello。大家好&#xff0c;我是灰小猿&#xff0c;一个超会写bug的程序猿&#xff01; 在分布式项目中&#xff0c;数据表的主键ID一般可能存在于UUID或自增ID这两种形式&#xff0c;UUID好理解而且实现起来也最容易&#xff0c;但是缺点就是数据表中的主键ID是32位的字符串&a…...

npm-运行项目报错:A complete log of this run can be found .......npm-cache_logs\

1.问题 没有找到对应的某种依赖&#xff0c;node_modules出现问题。 2.解决 (1)查看对应依赖是否引入或者是由于合并分支错误 引入js或依赖不存在。谨慎删除依赖包 (2)查找对应引入依赖进行安装最后解决方法-删除依赖包清除缓存 npm cache clean --force (2)重新向同事引入…...

SolarCube: 高分辨率太阳辐照预测基准数据集

太阳能作为清洁能源在减缓气候变化中的作用日益凸显&#xff0c;其稳定的供应对电网管理至关重要。然而&#xff0c;太阳辐照受云层和天气变化的影响波动较大&#xff0c;给光伏电力的管理带来挑战&#xff0c;尤其是在调度、储能和备用系统管理方面。因此&#xff0c;精确的太…...

华为小米苹果三星移动设备访问windows共享文件夹windows11

如果移动设备和windows电脑都在同一个局域网内&#xff0c;可以用移动设备访问windows11的共享文件夹 1、设置共享文件夹 2、添加everyone用户即可 3、查看ip地址 4、在华为手机上点击文件管理&#xff0c;里面有个网上邻居 5、正常情况下&#xff0c;华为手机会扫描到同一局域…...

网络安全三防指南:只防病毒不安全

5月17日&#xff0c;瑞星全球反病毒监测网截获一个恶性病毒&#xff0c;由于该病毒的破坏能力和当年著名的CIH病毒几乎完全一样&#xff0c;因此瑞星将该病毒命名为“新CIH”病毒。被“新CIH”感染的电脑&#xff0c;主板和硬盘数据将被破坏&#xff0c;致使电脑无法启动&#…...

论文概览 |《Urban Analytics and City Science》2023.05 Vol.50 Issue.4

本次给大家整理的是《Environment and Planning B: Urban Analytics and City Science》杂志2023年5月第50卷第4期的论文的题目和摘要&#xff0c;一共包括19篇SCI论文&#xff01; 论文1 Data analytics and sustainable urban development in global cities 全球城市的数据…...

【ROS2】ROS2 C++版本 与 Python版本比较

ROS 系列学习教程(总目录) ROS2 系列学习教程(总目录) 目录 一、功能包的构建方式二、功能包组织结构三、代码编写四、性能与效率五、兼容性六、应用场景 目前ROS开发主要使用 C 和 Python 语言&#xff0c;这里会分别实现并讲解。 相较于ROS1&#xff0c;ROS2的 C 和 Python …...

物联网射频识别和RFID开发(一):RFID基础—概念、应用

一、RFID的发展历史 二、RFID与物联网 &#xff08;一&#xff09;物联网与RFID的关系 物联网的基本思想是美国麻省理工学院在1999年提出的&#xff0c;其核心思想是为全球每个物品提供唯一的电子标识符。这种电子标识符就是现在经常提到的“电子产品编码(Electronic Product …...

JVM:即时编译器,C2 Compiler,堆外内存排查

1&#xff0c;即时编译器 1.1&#xff0c;基本概念 常见的编译型语言如C&#xff0c;通常会把代码直接编译成CPU所能理解的机器码来运行。而Java为了实现“一次编译&#xff0c;处处运行”的特性&#xff0c;把编译的过程分成两部分&#xff0c;首先它会先由javac编译成通用的…...

webpack5 的五大核心配置(二)

webpack主要构成部分&#xff1a; entry 入口output 出口loaders 转化器plugins 插件mode 模式devServer 开发服务器 webpack.config.js 配置文件基本格式 module.exports{//入口文件entry:{},//出口文件output:{},//module rules loadersmodule{};//插件plugins:[],//开发…...

【查询基础】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…...

git push使用

推送指定分支 将当前分支推送远程 git push origin HEAD:<branch-name> 这里的 HEAD 是一个特殊的指针&#xff0c;它指向当前分支的最新提交。这条命令会将当前分支的更改推送到远程的 master 分支。 示例 git push origin HEAD:main 当前分支是test&#xff0c;远…...

【iOS】多线程基础

【iOS】多线程基础 文章目录 【iOS】多线程基础前言进程与线程进程进程的状态进程的一个控制结构进程的上下文切换 线程为什么要用线程什么是线程线程和进程的关系线程的上下文切换 线程和进程的优缺点 小结 前言 笔者由于对于GCD不是很了解&#xff0c;导致了项目中网络请求哪…...

常用网站网址

目录 1.docker hub2.csdn 1.docker hub https://image.cgdcgd.cc/ 2.csdn https://www.csdn.net/ ​...

go语言切片

切片 切片是一种数据结构&#xff0c;这种数据结构便于使用和管理数据集合。切片是围绕动态数组的概念构建的&#xff0c;可以按需自动增长和缩小。切片的动态增长是通过内置函数 append 来实现的。这个函数可以快速且高效地增长切片。还可以通过对切片再次切片来缩小一个切片的…...

鸿蒙NEXT元服务:利用App Linking实现无缝跳转与二维码拉起

【效果】 元服务链接格式&#xff08;API>12适用&#xff09;&#xff1a;https://hoas.drcn.agconnect.link/ggMRM 【参考网址】 使用App Linking实现元服务跳转&#xff1a;文档中心 草料二维码&#xff1a;草料二维码生成器 【引言】 本文将详细介绍如何使用App Lin…...

网络药理学之薛定谔Schrödinge Maestro:6、分子对接(Glide、Ligand docking)和可视化

本人是win11&#xff0c;薛定谔版本是12.9。 官网&#xff1a;https://www.schrodinger.com/ 本篇文章的示例大分子蛋白PDB ID为4KNN&#xff0c;小分子配体的MOL ID为MOL004004。 本文部分图源来自知乎https://zhuanlan.zhihu.com/p/416698194&#xff0c;推荐为原作者贡献阅读…...

已解决ModuleNotFoundError: No module named ‘selenium‘

1. 错误提示 ModuleNotFoundError: No module named selenium&#xff0c;这意味着你试图导入一个名为 selenium 的模块&#xff0c;但Python找不到这个模块 2. 解决方案 安装缺失的模块: 如果你确定模块名称正确但仍然收到这个错误&#xff0c;那么可能是你没有安装这个模块…...

【Maven】依赖冲突如何解决?

准备工作 1、创建一个空工程 maven_dependency_conflict_demo&#xff0c;在 maven_dependency_conflict_demo 创建不同的 Maven 工程模块&#xff0c;用于演示本文的一些点。 什么是依赖冲突&#xff1f; 当引入同一个依赖的多个不同版本时&#xff0c;就会发生依赖冲突。…...

什么是EMS

EMS是能量管理系统&#xff08;Energy Management System&#xff09;的缩写&#xff0c;是一种集成的技术解决方案&#xff0c;旨在帮助企业和组织更有效地管理和优化其能源使用。EMS通过收集、分析和报告能源数据来识别节能机会&#xff0c;并提供工具以实施改进措施。 主要…...

26页PDF | 数据中台能力框架及评估体系解读(限免下载)

一、前言 这份报告详细解读了数据中台的发展历程、核心概念、能力框架及成熟度评估体系。它从阿里巴巴的“大中台&#xff0c;小前台”战略出发&#xff0c;探讨了数据中台如何通过整合企业内部的数据资源和能力&#xff0c;加速业务迭代、降低成本&#xff0c;并推动业务增长…...

【Vue3】【Naive UI】< a >标签

【Vue3】【Naive UI】< a >标签 超链接及相关属性其他属性 【VUE3】【Naive UI】&#xff1c;NCard&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c;n-button&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c;a&#xff1e; 标签 <a> 标签HTML中的一个锚&…...

分页查询日期格式不对

方式一:在属性上加入注解&#xff0c;对日期进行格式化 方式二:在 WebMvcConfiguration 中扩展Spring MVC的消息转换器&#xff0c;统一对日期类型进行格式化处理 /*** 统一转换处理扩展spring mvc* 后端返回前端的进行统一转化处理* param converters*/Overrideprotected voi…...

DAY140权限提升-Linux系统权限提升篇VulnhubPATH变量NFS服务Cron任务配合SUID

一、演示案例-Linux系统提权-Web&普通用户-SUID-NFS安全 NFS是一种基于TCP/IP 传输的网络文件系统协议&#xff0c;通过使用NFS协议&#xff0c;客户机可以像访问本地目录一样访问远程服务器中的共享资源。 https://www.virtualbox.org/wiki/Downloads https://www.vuln…...

HTTPS 的应用数据是如何保证完整性的?

在 HTTPS 中&#xff0c;确保 应用数据的完整性 是通过以下几个关键机制来实现的&#xff1a; 消息认证码&#xff08;MAC&#xff09;&#xff1a;用于确保数据在传输过程中未被篡改。加密&#xff1a;通过加密数据防止数据被窃取&#xff0c;并与 MAC 配合使用&#xff0c;确…...

怎么样在网站做产品推广/佛山seo技术

导读 BesLyric 可以将 ncm格式转MP3 了&#xff01; 前几天有网友到我的博客下评论说现在会员才能下载下来的音乐发现后缀是 ncm&#xff0c; 没法使用 Beslyric 来制作歌词&#xff0c;昨天升级了一下软件&#xff0c;将 ncm 文件在软件内 “转” 成mp3, 现在软件可以直接选…...

五台网站建设/seo优化方法网站快速排名推广渠道

**前情提要&#xff1a;已可将模型载入gazebo与rviz&#xff0c;且可用按键控制 **《教程 Re:Zero ROS &#xff08;五&#xff09;—— 导入模型&#xff0c;关节控制器》 https://blog.csdn.net/Lovely_him/article/details/107806662 教程 Re:Zero ROS &#xff08;六&#…...

学校网站管理与建设办法/阿里指数官网

# 默认localhost和2181 sh zkCli.sh# 指定服务和端口 sh zkCli.sh -server localhost:12181 # 创建节点 create [-s] [-e] path data acl-s 创建有序节点-e 创建临时节点create /node1 node1data# 创建持久节点 create -s /node localhost# 创建临时节点 create -e /nodetmp lo…...

东莞市手机网站建设/2345浏览器网站进入

一&#xff1a;什么是Ajax? Ajax&#xff1a;异步的JavaScript和XML&#xff0c;用于完成网页局部刷新功能&#xff08;修改少量数据只用局部刷新&#xff0c;不用再整个网页重新加载&#xff09;&#xff1b; XML的作用&#xff1a;1.是用于数据传输&#xff0c;但现在都在使…...

东莞科技网站建设/网站seo推广

借鉴文章&#xff1a; 用vector实现普通平衡树&#xff01;_致上-CSDN博客_vector平衡树 您需要写一种数据结构&#xff08;可参考题目标题&#xff09;&#xff0c;来维护一些数&#xff0c;其中需要提供以下操作&#xff1a; 1.插入数值 x 2.删除数值 x (若有多个相同的数…...

建网站的公司广州排名/企业培训系统app

nginx代理天地图做缓存解决跨域问题参考文章&#xff1a; &#xff08;1&#xff09;nginx代理天地图做缓存解决跨域问题 &#xff08;2&#xff09;https://www.cnblogs.com/zhang90030/p/9429649.html 备忘一下。...