经历DOS攻击的一些小感触

有这样一个小场景,前端时间,公司的服务器被同行盯上了并遭受了DOS攻击
直接的影响就是服务器单位时间内TCP访问链接过多,导致服务器CPU占用率接近90,负载过大,网站几乎不能打开

我们简单的分析下过程
当服务器出现这种现象我的第一感觉就是遭到了DOS工具,那么怎么确定是DOS呢
首先看下当前服务器的负载情况

[root@guest ~]# uptime
 16:27:39 up 2 days,  7:33,  1 user,  load average: 0.32, 0.23, 0.17
[root@guest ~]# 

load average后面三个值过高,服务器肯定是有问题

我们看看服务器资源的占用情况

[root@guest ~]# top
top - 16:29:22 up 2 days,  7:34,  1 user,  load average: 0.24, 0.23, 0.18
Tasks: 190 total,   3 running, 187 sleeping,   0 stopped,   0 zombie
%Cpu(s): 10.0 us,  1.0 sy,  0.0 ni, 88.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 32601396 total,  6148028 free,  5945992 used, 20507376 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 26148388 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                           
 1377 www       20   0  413264  71852  10616 S  27.3  0.2  16:03.70 php-fpm                                                                           
 1565 mysql     20   0 5760808 1.774g  10336 S  20.0  5.7 128:36.58 mysqld                                                                            
 1369 www       20   0  431820  90372  10572 R  14.7  0.3  13:27.90 php-fpm                                                                           
 1382 www       20   0  413668  72060  10672 S  13.0  0.2  14:00.82 php-fpm                                                                           
 1367 www       20   0  417008  75876  10588 S   4.3  0.2  14:22.98 php-fpm                                                                           
 1356 www       20   0  412808  71712  10588 R   2.3  0.2  13:46.19 php-fpm                                                                           
 1354 www       20   0  398852  56060   9332 S   2.0  0.2  16:15.64 php-fpm                                                                           
 1388 www       20   0  396060  54912  10580 S   1.7  0.2  13:27.21 php-fpm                                                                           
 1389 www       20   0  414840  73700  10612 S   1.7  0.2  13:31.04 php-fpm                                                                           
 1395 www       20   0  414980  73908  10592 S   1.0  0.2  14:38.73 php-fpm                                                                           
  990 www       20   0   62736  31864   2456 S   0.3  0.1   2:38.54 nginx                                                                             
  992 www       20   0   62612  31880   2460 S   0.3  0.1   2:27.75 nginx                                                                             
    1 root      20   0   43704   4156   2516 S   0.0  0.0   0:02.99 systemd                                                                           
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd                                                                          
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.13 ksoftirqd/0                                                                       
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                      
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.06 migration/0                                                                       
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh  

这个地方我们可以清楚的看到服务器资源的占用情况 CPU,内存这是两个重要的指标
如果CPU或者内存的占用过高了,你就要检查你的服务器的状态了

当服务器CPU占用过高,接下来我们来看下TCP的链接情况

[root@guest ~]# netstat -ntu | awk '{print $5}' | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | sort | uniq -c | sort -nr
     10 119.96.131.0
      5 47.221.160.57
      3 98.155.146.130
      2 95.179.130.62
      2 174.47.165.2
      2 162.158.89.78
      1 66.249.70.15
      1 66.249.64.220
      1 66.249.64.216
      1 66.249.64.209
      1 66.249.64.207
      1 54.36.149.70
      1 54.36.148.95
      1 54.36.148.183
      1 54.36.148.105
      1 5.196.87.9
      1 5.196.87.49
      1 216.244.66.196
      1 207.46.13.109
      1 180.76.15.147
      1 180.76.15.142
      1 180.76.15.137
      1 180.76.15.134
      1 162.158.90.221
      1 162.158.111.54
      1 158.148.77.201
      1 151.80.39.148
      1 149.154.208.237
[root@guest ~]# 

第一栏如果值高的有点异常,那就要当心了
如果异常的高,我们可以采集暂时的屏蔽IP举措

iptables -I INPUT -s 172.104.68.143 -j DROP

以上是运维过程中的一些小经验,希望对大家有所帮助…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值