作为一名资深的运维大表哥。每天上班摸鱼是我一贯的工作作风。自服务上线的那一刻起,我心中每天都在对服务器祈祷,千万不要挂!可……
老板娘
@逍遥子大表哥 公司官网打不开了,你看下。
逍遥子大表哥
没事,重启下就好。
当我看到这条消息,心中一万字已过。 那么如何溯源这次攻击的源头呢?
原因分析
如果正常上线的服务,异常掉线。八成是被DD了。正式环境运行的程序和服务一般是没多大问题的,除非受到了DOS攻击。带着猜想我们尝试登录服务器。居然没法登录,这就进一步验证了我的猜想。因为公网IP此刻正在接受大量的dos数据。我们正常请求肯定没法登录。
解决方案
在公网IP没法登录的情况。我们只能通过内网IP进行登录。只需登录阿里云或者腾讯云控制台,选择我们的服务器,登录即可!
服务器排查
首先查找可以进程,查找当前服务器中,是那个进程占用了大量的服务器资源。我们只需用系统自带的命令top
即可。如下:
命令详解
首先来看第一行返回的结果
命令 | 详解 |
---|---|
15:20:41 | 当前系统的时间 |
up 3:07 | 系统运行时常 |
1 user | 当前登录用户个数 |
load average: 0.00, 0.00, 0.00 | 系统在之前 1 分钟、5 分钟、15 分钟的平均负载。如果 CPU 是单核的,则这个数值超过 1 就是高负载 |
第二行命令
命令 | 详解 |
---|---|
Tasks: 126 total | 系统中的进程总数 |
1 running | 正在运行的进程数 |
94 sleeping | 睡眠的进程数 |
0 stopped | 正在停止的进程数 |
0 zombie | 僵尸进程数。如果不是 0,则需要手工检查僵尸进程 |
第三行为 CPU 信息
命令 | 详解 |
---|---|
Cpu(s): 0.1 %us | 用户模式占用的 CPU 百分比 |
0.3%sy | 系统模式占用的 CPU 百分比 |
0.7%ni | 改变过优先级的用户进程占用的 CPU 百分比 |
99.7%id | 空闲 CPU 占用的 CPU 百分比 |
0.1%wa | 等待输入/输出的进程占用的 CPU 百分比 |
0.0%hi | 硬中断请求服务占用的 CPU 百分比 |
0.1%si | 软中断请求服务占用的 CPU 百分比 |
0.0%st st | (steal time)意为虚拟时间百分比,就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比 |
第四行为物理内存信息
命令 | 详解 |
---|---|
Mem: 1817.1 total | 物理内存的总量,单位为KB |
474.8 free | 己经使用的物理内存数量 |
769.0 used | 空闲的物理内存数量。 |
573.3 buff/cache | 作为缓冲的内存数量 |
通过查看,我们发现是httpd
服务占用的资源比较大。这可以排除挖矿木马。既然是http服务,那就意味着遭受到了dos攻击。亦或者对方在用漏洞扫描工具在扫描网站。从而造成服务器拥堵。
检查异常带宽
在上面,我们排除了挖矿木马的可能性。现在来检查是哪个IP对我们的服务区进行了攻击。我们需要对此IP来屏蔽,从而来解决网站不能访问的局面。我们只需执行下面的命令。
iftop
命令详解
-
<=、=>
表示流量的方向 -
TX
表示发送流量 -
RX
表示接收流量 -
TOTAL
表示总流量 -
Cum
表示运行 iftop 到目前时间的总流量 -
peak
表示流量峰值 -
rates
分别表示过去2s、10s和40s的平均流量
如上,我们找到占用网速最高的IP。将其在防火墙规则中屏蔽。
iptables -I INPUT -p tcp –dport 80 -s 攻击者IP -j DROP
在屏蔽攻击者IP后。我们便可以顺利登录服务区和我们的web服务了。
溯源查找
我们的web服务,会记录访问者访问网站的操作。因此我们查看该IP在这段时间内进行了哪些操作。
查看web日志
很明显,这个对我们的网站进行了目录扫描。而攻击者IP就是我们在上一步屏蔽的IP。当然,除了查看web日志外,也可以在程序日志中查看。如我们的
dz
论坛。
好了,这次攻击溯源就完成了。而攻击者IP必须曝光!
总结
表哥在这里奉劝各位。闲着没事干,切莫乱扫(尤其的zf网站,一般都有安全审计系统的)。不是不管,而是人家懒得管。一旦追责下来,后果自能自负!
更多精彩文章 欢迎关注我们
原文始发于微信公众号(kali黑客笔记):是谁搞了我的服务器?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论