DDoS攻击方式有哪些?
DDoS攻击通过大量的无用请求占用网络资源,从而造成网络堵塞、服务器瘫痪等目的。DDoS攻击的方式有很多种,大致上可以分为以下几种:
①通过使网络过载来干扰甚至阻断正常的网络通信
②通过向服务器提交大量请求,使服务器超负荷
③阻断某一用户访问服务器
④阻断某服务与特定系统或个人的通讯
DDoS攻击现象分为几种?
DDoS攻击是最常见也是危害极大的一种网络攻击方式,当出现DDoS攻击时,往往会出现以下特征:
①带宽被大量占用:占用带宽资源是DDoS攻击的主要手段,如果发现网络带宽被大量无用数据所占据,正常请求难以被处理,那么网站可能出现被DDoS攻击的可能。
②服务器CPU被大量占用:DDoS攻击利用肉鸡或攻击软件对目标服务器发送大量无效请求,导致服务器资源被大量占用,因此如果服务器某段时间出现CPU占用率过高那么就可能是网站受到DDoS攻击影响。
③域名ping不出:当攻击者所针对的攻击目标是网站的DNS域名服务器时,ping服务器的IP是正常联通的,但是网站就是不能正常打开,并且在ping域名时会出现无法正常ping通的情况。
④服务器连接不到:如果网站服务器被大量DDoS攻击,有可能造成服务器蓝屏或死机,这时就意味着服务器已经连接不上了,网站出现连接错误的情况。
DDoS攻击的危害是什么?
①业务受损:如果服务器因DDoS攻击造成无法访问,会导致客流量的严重流失,进而对整个平台和企业的业务造成严重影响。如游戏平台、在线教育、电商平台、金融行业等需要业务驱动的网站,受DDoS攻击影响最大。
②形象受损:服务器无法访问会导致用户体验下降、用户投诉增多等问题,不但会影响潜在客户的转化率和成交率,现有用户也会对企业的安全性和稳定性进行重新评估,企业的品牌形象和市场声誉将受到严重影响。
③数据泄露:如今使用DDoS作为其他网络犯罪活动掩护的情况越来越多,当网站被打到快瘫痪时,维护人员的全部精力都在抗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攻击还是要考虑采用多机负载或者选择墨者安全高防来应对了,一般来说多机负载的成本可能更高,所以大部分人还是选择墨者高防硬防产品来防御。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)