最新消息:

一次遭受DDOS入侵后的VPS急救与数据恢复

linux admin 2495浏览 0评论

对于使用VPS服务的人来说,数据就是生命。除了日常进行数据备份外,掌握一些数据抢救的方法,也能在很大程度上减少损失。
本人某一台VPS在不久前受到了DDOS攻击,随后马上收到来自DNSPOD的报警短信。VPS服务提供商在几分钟内将IP进行了null空路由。
Your server was suspended due to high ddos attack on the host node and it affected our host node performance heavily.
Our upstream engineers have null routed your server IP address to bring back the host node stable.
As it is related to the performance issue on our host node we cant do anything for the next 24 hours. If the connections to the server gets compromised then we would unsuspend it for you.
Please get back to us with the reason for this DDOS attack .
Thanks.
由于这台机器并没有运行可能受到攻击的服务,仅仅是作为一台后端备份服务器,实在找不到受到攻击的理由。。。郁闷。。随后,立即通过SolusVM的VNC控制台登陆服务器,花了几个小时,也均没有发现任何受到攻击的迹象。由于服务器已经与整个网络断开连接,因此也无法下载chkrootkit等工具。
继续与VPS服务提供商沟通,要求打开网络取消空路由。得到的答复是,在恢复网络后几分钟内,继续出现“DDOS”的情况。这时我差不多明白了,可能是这台服务器被入侵,向其它网络进行DDOS攻击,而不是被其它网络DDOS。
继续向VPS进一步询问,果然如此。现在首当其冲的任务是取回数据。只要取回数据,什么事情都好办(大不了Reinstall)。
重启机器,在Grub中的启动命令行中加入参数“single”,以单用户模式启动Linux。进行了一些检查,同时重设了iptables防火墙,将所有的入站INPUT禁止掉,允许部分出站链接。
重启机器,发Ticket,再次要求Unull IP。此时已经过去了40多个小时(VPS提供商会在出现DDOS的情况后无条件禁用你的网络至少24小时!!!)。 www.2cto.com
随后又得到回复,告知DDOS在连接网络后依然存在。登陆VNC,检查iptables,发现iptables已经down掉。看来这台肉鸡已经沦陷不浅。无解。
这时,由于没找到入侵的途径,整个系统也因为入侵变得不可信,因此取回数据、重装系统便成了最好的解决方案。但是由于无法联网,而一旦联网,系统又会立即被null IP,所以如何在能够取回数据的情况下重装系统,是需要马上解决的难题。
这时,突然想到了VPS提供商提供了一些其它的CD-ROM(如Gparted、Rescue CD),可以启动其它的系统,然后取出数据。
于是立即引导到了一个Linux急救系统下,把所有需要备份的数据打包。设置好网络。向VPS提供商发个Ticket,要求unnull IP。
执行
scp -P 9999 ~/backup.tar.gz root@x.x.x.x:/root/backup/
得到数据。立即重装系统。搞定。
至于分析之前受到入侵系统的日志,是后来的事了。

 

ps:scp命令是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。scp /home/daisy/full.tar.gz     root@172.19.2.75:/home/root。然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。scp root@/full.tar.gz     172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz

linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;

==================
scp 命令
==================
scp 可以在 2个 linux 主机间复制文件;

命令基本格式:
scp [可选参数] file_source   file_target

======

从 本地 复制到 远程

======
* 复制文件:
* 命令格式:
scp local_file        remote_username@remote_ip:remote_folder
或者
scp local_file        remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
* 例子:
scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3

* 复制目录:
* 命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder

第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;
* 例子:
scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/
scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录

======

从 远程 复制到 本地

======
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;

例如:
scp root@www.cumt.edu.cn:/home/root/others/music    /home/space/music/1.mp3
scp -r www.cumt.edu.cn:/home/root/others/      /home/space/music/

最简单的应用如下 :

scp 本地用户名 @IP 地址 : 文件名 1    远程用户名 @IP 地址 : 文件名 2

[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .

可能有用的几个参数 :

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .

-C 使能压缩选项 .

-P 选择端口 . 注意 -p 已经被 rcp 使用 .

-4 强行使用 IPV4 地址 .

-6 强行使用 IPV6 地址 .

 

注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。

转载请注明:jinglingshu的博客 » 一次遭受DDOS入侵后的VPS急救与数据恢复

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址