转载请注明地址:http://blog.csdn.net/chenxu6/article/details/50943058

这篇教程解释了在从DigitalOcean接收消息说你的Droplet正在发送后一个外向洪范或DDoS攻击后,你需要去做的步骤。
本文的内容是基于DigitalOcean的支持团队写的一篇好文章。本教程侧重于事后受损的Droplet的恢复,同时也提供了一个良好的概述去全面复苏所需的所有步骤。

为什么我得到这个消息?

你收到这个信息,因为你 的Droplet 是发出异常大量的流量。在大多数情况下,这表明你 Droplet 的安全已经受到威胁,有人用它来发送垃圾邮件或恶意流量。
为了保护他人不被伤害,你的 Droplet 正常上网 功能 被禁用,但你仍然可以通过控制面板控制台访问它。

下一步我该怎么办?

我们建议您创建一个计划来恢复您的内容,把它重新联机,并解决当前和未来的安全问题。

每个服务器安装程序是唯一的但在许多情况下,这些都是你应该遵循的一般步骤 ︰

从受损的Droplet中恢复内容

部署新的Droplet

保护您新的Droplet

将内容部署到新Droplet

进行您老的Droplet事后处理

进行定期备份

第 1 步 — — 恢复内容

首先,您需要通过在 DigitalOcean 的控制面板控制台访问您的服务器。链接看起来像这样 ︰

https://cloud.digitalocean.com/droplets/XXXXX/console

XXXXX 是你Droplet id。

您可以访问到您的服务器后,您可以从它恢复内容。

你需要一个root用户密码,所以如果你没有请联络支持人员寻求进一步意见。

你可以读一篇关于如何执行此操作的详细的文章 ︰

从使用 ISO 恢复受损的Droplet中恢复文件

第 2 步 — — 部署新Droplet

在大多数情况下,移动到一个新的可信的Droplet是很快的。

有关如何启动一个新的Droplet的详细说明,请阅读本教程 ︰

如何创建你的第一个 DigitalOcean Droplet虚拟服务器

第 3步 — — 确保你Droplet

接下来,确保您新的Droplet。你会想要确保您新的Droplet不让黑客攻击你老的那个一样。

一些好的安全做法包括 ︰

禁用 root 用户

使用 SSH 密钥

更新您的软件

使用强密码

保持您的防火墙设置应尽可能严格

你可以阅读整篇文章就在这里安全最佳做法 ︰

确保你的 Linux VPS 简介

第 4 步 — — 将内容部署到新Droplet

现在,你有新的安全的Droplet去设置,是时候去重新部署您的内容了。在这种情况下您的个人设置将是唯一的。

当你安装您的软件,并上传您的内容,在每个步骤做一个好的检查是一个好的主意。需要牢记的一些最佳做法 ︰

运行最新版本的软件

作为非特权用户运行应用程序

使用强密码

尽可能使用证书和密钥

从来不使用 777 权限

删除安装文件和未使用的窗体

第 5 步 — — 进行事后处理

现在,您的任务是重新联机,你有一些喘息的空间去想出第一次出了什么错。这些步骤可以帮助你找到你旧的服务器上的病毒和木马的证据。

登录到您旧的服务器,在控制面板中使用控制台。

注意 ︰ 如果您在此步骤中发现任何可疑问题,可能导致你新的Droplet出现类似的问题,采取步骤以防止问题再次发生。

查找进程

一旦你登录从控制台,请使用以下命令之一,试图找到一个陌生的过程运行 ︰

此命令中,如果安装了,显示的程序持有的网络套接字 ︰

Lsof -i

此命令将显示所有正在运行的进程 ︰

ps-ef

向输出分页程序添加管道可能帮助长时间输出。例子 ︰

lsof-i |less

ps-ef |less

在这一点上,你可能想要去调查一个或者两个进程。记住每个进程 ID的数字。

查找文件

接下来,我们想要找到您的系统上的恶意文件。

可以使用此命令来查找特定进程的起源是可执行文件。替换进程 ID (PID) 用你早些时候发现的 XXXX:

ls-al /proc/XXXX/exe

你可以为你前面提到的任何可疑进程重复此命令。

您还可以自行搜索可疑文件。常见的地方个木马隐藏是 ︰

/ 启动

/tmp

/ 运行

/root

您可以使用此命令列出特定文件夹,包括 dot 文件中的所有内容。此示例为 /boot目录 ︰

ls-al/启动

进一步侦查

如果您发现外国的东西,检查提示上什么用户安装恶意代码所使用的文件的所有权。

查看日志文件,试图找出如何安装代码,您就可以防止它再次发生。

如果你需要任何建议,无论你需要什么只要你用得着,那就给 DigitalOcean 发送信息,他们会尝试指点你在正确的方向前进。最好的办法是把控制台显示的数据截图,你不能确定的数据,上 传到文件共享服务 (imgur.com、 dropbox.com 等) 在ticket里面写上 URL地址。

一些可能的程序是︰

rkhunter

chkrootkit

maldet

clamscan

如果你找不到任何东西,通过咨询支持ticket寻求支持。

总结

现在你可以杀死任何的恶意进程和删除的文件。

请仔细检查您新的Droplet,以确保任何可疑的东西被复制。如果你确定了用户或程序第一次遭受攻击的原因,应该采取额外的措施来保护新服务器上的用户或程序。

如果您有成功查找恶意进程和文件,在帮助其他人的评论发布您的结果。额外的恢复技巧,也欢迎 !

第 6 步 — — 制作备份

安全是重要的并因此正在准备。应该你Droplet曾经成为再次妥协在将来,备份会让你恢复过程容易得多。我们推荐自己熟悉的备份策略,并选择一种适合您 ︰

如何为你的 VPS 选择有效的备份策略

结论

有一个受损的Droplet是没有乐趣,但很好的恢复计划可以让你很快恢复。抽出时间来做你受损的Droplet的检查,可以帮助您避免走入同一问题两次。

英文原文地址:https://www.digitalocean.com/community/tutorials/how-to-recover-from-a-compromised-droplet-sending-an-outgoing-flood-or-ddos

如何让一个受损的,并且发送一个外向洪范攻击或DDoS攻击的Droplet恢复相关推荐

  1. ddos攻击发送端 接收端_什么是DDOS攻击?

    DDoS是Distributed Denial of Service的简称,中文是分布式拒绝服务.DDoS的前身DoS(Denial of Service),即拒绝服务. 最基本的DoS攻击就是攻击者 ...

  2. 利用WebClient发送一个简单的HTTP GET请求并且取回响应

    问题 如何发送一个简单的HTTP GET请求并且取回相应的HTTP响应. 设计 创建一个WebClient类的实例,然后使用它的DownloadData()方法. 方案 string uri = &q ...

  3. python同时同步发送多个请求_python如何实现“发送一个请求,等待多个响应”的同步?...

    我正在写一些代码通过串行口与单片机通信. MCU端基本上是一个请求/响应服务器. 一个或多个MCU发送我的请求. 然而,响应可以异步到达并且具有随机延迟,但是响应的顺序将保持不变. 另外,我的应用程序 ...

  4. requests(一): 发送一个json格式的post请求

    今天给一位同学解决post发送数据格式为json格式的请求,顺便确认一下问题归属. 背景: 用postman工具发送一个数据格式为json的请求,得到了服务器的响应. 用python的requests ...

  5. Boost:构造一个流对象,任何发送到此流将标准输出

    Boost:构造一个流对象,任何发送到此流将标准输出 实现功能 C++实现代码 实现功能 构造一个流对象,任何发送到此流将标准输出 C++实现代码 #include "zfstream.h& ...

  6. android http通过post请求发送一个xml

    今天,简单讲讲android如何在网络请求时通过post方式发送xml数据. 其实也很简单,不过我之前对网络请求这一块不太熟悉,当需要做这个发送xml数据时,居然不知道怎么做.后来,在网上查找资料,最 ...

  7. Redis一个命令请求从发送到完成的步骤以及初始化服务器步骤

    一个命令请求从发送到完成的步骤 如下: 1.客户端将命令请求发送给服务器 当用户在客户端中键入一个命令请求时,客户端会将这个命令请求转换成协议格式,然后通过连接到服务器的套接字,将协议格式的命令请求发 ...

  8. 用java的socket来发送一个类

    用socket可以简单的发送一些文本信息,太复杂的可能发送不了,比如图片音频可能要用到http来发送和接收了.最基本的使用socket来发送一个字符串,但有的时候我们希望能够发送一个类,这样serve ...

  9. af_packet_C语言中利用AF_PACKET 原始套接字发送一个任意以太网帧 (一)

    目标 利用AF_PACKET 套接字发送一个任意的以太网帧 背景 以太网是一个链路层协议.大多数网络程序员关注网络栈的传输层及以上,所以不需要直接处理以太网帧,但是某些场景下关注传输层以下也是有必要的 ...

最新文章

  1. hive 使用技巧笔记
  2. ITK:使用多线程过滤图像
  3. python中get函数作用_python get函数有什么作用?示例解析
  4. vins中imu融合_视觉和imu融合的算法研究
  5. Python中sort()和sorted()的区别
  6. Java for LintCode 验证二叉查找树
  7. JUnit测试框架使用介绍
  8. 钩子怎么画_画男生校服有什么技巧?该注意什么?
  9. Microsoft Visio 专业版 2019
  10. 雷神笔记本关闭跳出垃圾游戏广告
  11. 一个专门下载全球气象站数据的网站(包括中国700多个站)
  12. p1 p 0xf在c语言中啥意思,单片机控制1位共阴极数码管,控制端P1=0x76;则数码管显示的内容是 答案:H...
  13. 开源建站系统的开源组件风险
  14. excel小数不同的取整数的方法
  15. linux服务器503怎么解决,宝塔linux面板apache网站访问报错503 Service Unavailable怎么解决...
  16. 使用Cydia Impactor免越狱安装ipa
  17. 统计学python是什么方向的_python--统计学理论基础
  18. 简单几步实现钉钉多次自动打卡
  19. 开一个水果店如何进货呢,水果店进货多少
  20. finalcut剪切快捷键_Final Cut Pro 中的键盘快捷键

热门文章

  1. spring学习笔记(狂神说Java笔记)
  2. 中国无线电池监控系统市场趋势报告、技术动态创新及市场预测
  3. Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)
  4. “智慧交通”向“智慧出行”转变
  5. requests-html快速入门
  6. 推荐8款不错的HTML5文本编辑器
  7. 位运算总结,我的世界里只有 0 和 1
  8. 基于STM32的汽车防碰撞系统设计
  9. LGame性能改进,并增加TMX地图支持(0 2 96版)
  10. 数学建模学习笔记(一)美赛的基本认知