怎么判断服务器是不是被DDoS恶意攻击?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么判断服务器是不是被DDoS恶意攻击?相关的知识,希望对你有一定的参考价值。

怀疑遇到攻击情况,首先要看看服务器上面的情况,首先top一下,看看服务器负载,如果负载不高,那么基本可以判断不是cc类型的攻击,再输入命令

netstat -n | awk '/^tcp/ ++S[$NF] END for(a in S) print a, S[a]'

查看下网络连接的情况,会得到下面这些结果:

TCP/IP协议使用三次握手来建立连接,过程如下:

1、第一次握手,客户端发送数据包syn到服务器,并进入SYN_SEND状态,等待回复

2、第二次握手,服务器发送数据报syn/ack,给客户机,并进入SYN_RECV状态,等待回复

3、第三次握手,客户端发送数据包ACK给客户机,发送完成后,客户端和服务器进入ESTABLISHED状态,链接建立完成

如果ESTABLISHED非常地高,那么可能是有人在恶意攻击,进一步判断,可以把下面命令保存为脚本执行一下:

for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk 'print $5' | cut -d : -f 1 | sort | uniq -c | awk 'if($1 > 50) print $2'`

do

echo $i

echo $i >> /tmp/evilip

done

如果输出了多个结果,那么可能表示有人在企图进行DDOS攻击,想用TCP连接来拖死你的服务器,输出的ip就是发出请求的服务器地址,并且保存在了/tmp/evilip里面。如果没有结果,可以调整一下阈值,把50改成40试一试,对策我们后面再说,这里只讲判断。如果SYN_RECV非常高,那么表示受到了SYN洪水攻击。

SYN洪水是利用TCP/IP协议的设计缺陷来进行攻击的,采用一些策略以及配置可以适当的降低攻击的影响,但并不能完全消除。

sysctl -w net.ipv4.tcp_syncookies=1

sysctl -w net.ipv4.tcp_syn_retries = 0

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

tcp_syncookies设置为1表示启用syncookie,可以大大降低SYN攻击的影响,但是会带来新的安全缺陷。

tcp_syn_retries 表示syn重试次数,重传次数设置为0,只要收不到客户端的响应,立即丢弃该连接,默认设置为5次。

tcp_max_syn_backlog表示syn等待队列,改小这个值,使得SYN等待队列变短,减少对系统以及网络资源的占用。

TCP连接攻击算是比较古老的了,防御起来也相对比较简单,主要是利用大量的TCP连接来消耗系统的网络资源,通常同一个IP会建立数量比较大的TCP连接,并且一直保持。应对方法也比较简单,可以将以下命令保存为脚本,定时ban掉那些傀儡机ip

for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk 'print $5' | cut -d : -f 1 | sort | uniq -c | awk 'if($1 > 50) print $2'`

do

echo $i

echo $i >> /tmp/banip

/sbin/iptables -A INPUT -p tcp -j DROP -s $i

done

banip文件里面记录了所有被ban的ip地址信息,方面进行反渗透以及证据保存等等。为了更好地加固系统,我们可以使用iptables来限制一下,单个ip的最大连接数。

当攻击者的资源非常的多,上面这些方法限制可能就没有什么防护效果了,面对大流量DDoS攻击还是要考虑采用多机负载或者选择墨者安全高防来应对了,一般来说多机负载的成本可能更高,所以大部分人还是选择墨者高防硬防产品来防御。

参考技术A 可通过Ping命令来测试,若发现Ping超时或丢包严重(假定平时是正常的),则可能遭受了流量攻击,此时若发现和你的主机接在同一交换机上的服务器也访问不了了,基本可以确定是遭受了流量攻击。
当然,这样测试的前提是你到服务器主机之间的ICMP协议没有被路由器和防火墙等设备屏蔽,否则可采取Telnet主机服务器的网络服务端口来测试,效果是一样的。
不过有一点可以肯定,假如平时Ping你的主机服务器和接在同一交换机上的主机服务器都是正常的,突然都Ping不通了或者是严重丢包,那么假如可以排除网络故障因素的话则肯定是遭受了流量攻击,再一个流量攻击的典型现象是,一旦遭受流量攻击,会发现用远程终端连接网站服务器会失败。
参考技术B 无法远程连接,网站无法打开,ping也不通,任何一样都表明是。 参考技术C 网站受到DDoS的表现
1.服务器CPU被大量占用
DDoS攻击其实是一种恶意性的资源占用攻击,攻击者利用肉鸡或者攻击软件对目标服务器发送大量的无效请求,导致服务器的资源被大量的占用,因而正常的进程没有得到有效的处理,这样网站就会出现打开缓慢的情况。如果服务器某段时期能突然出现CPU占用率过高,那么就可能是网站受到CC攻击影响。
2.带宽被大量占用
占用带宽资源通常是DDoS攻击的一个主要手段,毕竟对很多小型企业或者个人网站来说,带宽的资源可以说非常有限,网络的带宽被大量无效数据给占据时,正常流量数据请求很很难被服务器进行处理。如果服务器上行带宽占用率达到90%以上时,那么你的网站通常出现被DDoS攻击的可能。
3服务器连接不到,网站也打不开
如果网站服务器被大量DDoS攻击时,有可能会造成服务器蓝屏或者死机,这时就意味着服务器已经连接不上了,网站出现连接错误的情况。当然出现这种请求时我们最好是确认一下服务器是否是硬件故障等所导致出现的问题,否者在进行服务器连接时就要做好相关的防御首段。
4.域名ping不出IP
可能这种情况站长们可能会比较少考虑到,这其实也是DDoS攻击的一种表现,只是攻击着所针对的攻击目标是网站的DNS域名服务器。在出现这种攻击时,ping服务器的IP是正常联通的,但是网站就是不能正常打开,并且在ping域名时会出现无法正常ping通的情况。
其实在生活中,DNS域名服务器被攻击的案例非常常见,例如我们在进行网络访问时,发现所有网站都不能正常打开,但是QQ等网络应用依然可以正常运行。

游戏网站如果被DDOS攻击怎么办?服务器防御怎么处理?

游戏网站如果被DDOS攻击怎么办?网站刚刚上线就有DDOS攻击怎么处理呢?

(木木TEL:18092671655QQ:293433603)

技术分享

游戏网站如果被DDOS攻击攻击怎么办?冷静,分析攻击手段,对症下药。找到(木木18092671655)不会让你坐视不理,常见的攻击手段有两种,一种是DDOS流量攻击堵塞服务器端口,一种是利用源码漏洞破坏网站程序。

游戏网站被如果被DDOS攻击怎么办?利用源码漏洞攻击技术含量较高,需要用户定期更新源码确保网站程序安全性。包括操作系统更新,漏洞修复,安全策略。最简单的可以安装软件防火墙,比如安全狗。

游戏网站如果被DDOS攻击怎么办?真正棘手的是DDOS / CC / SYN / ACKFlood流量攻击,通杀各种系统的网络服务。而要解决此类攻击,需要高昂的费用,一般中小型企业都难以满足。完全杜绝更是可望不可即,不过通过适当的措施抵御90%以上的DDoS攻击还是可以的。

那么对于抵御攻击的核心要求是什么?

1.高性能网络设备数据清洗

硬件防火墙是抵御攻击的核心设备,防火墙的处理能力决定了服务器的防御能力。防火墙价格昂贵,能够对网络中恶意流量进行智能识别和控制,将攻击流量和业务流量进行区分,保证业务正常运行。

2.充足的带宽是绝对的前提

当巨额的垃圾流量降临,没有充足的带宽一切都是空谈。举个例子,整个机房只有100G的骨干网带宽,当200G流量打过来,整个机房都会挂掉,谈何清洗。好比洪水超过了水坝的承受能力,整个水坝都会受到牵连。所以只有机房荣誉带宽拥有超过200G才有能力接收并清洗流量。


以上是关于怎么判断服务器是不是被DDoS恶意攻击?的主要内容,如果未能解决你的问题,请参考以下文章

如何辨别是不是是网络DDoS攻击?

DDOS的攻击原理和如何防护网站和游戏恶意攻击

如何防范ddos攻击

Bashlite IoT恶意软件更新

网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击

什么是 XSS攻击?