ssh登录到服务器的时候,频繁的延迟掉线,登陆到防火墙上面去看,发现防火墙的外网口子流量达到了800M/s,经检查发现有一台服务器的流量很大。流量如此之大会带来严重的后果:由于消耗了过多的网络资源,访问网站首页和上面的应用速度很慢,远程到服务器上频繁的掉线。必须立即处理。
在流量不大的时候赶紧登录到该服务器上(流量大的时候,根本无法ssh)抓包操作
1、cat /proc/net/bonding/bond0,首先查询是哪个网卡在用,因为服务器做的是eth0和eth1双网卡绑定。
2、/usr/sbin/tcpdump -i eth0 -s 0 -w package.cap,假如用的是网卡eth0,进行抓包操作。
将抓取的数据包进行分析,发现是服务器不停的向一个公网IP地址发送大量的7000端口的udp数据包,我们的服务器变成了DOS攻击的“肉鸡”了,不仅仅造成了自己的网络近乎瘫痪,而且还攻击了别人。
临时采取的防范措施就是:利用iptables阻止服务器向外发送udp数据包。然后再查找应用,查找漏洞清除木马文件。
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -P OUTPUT DROP
这个规则就是阻止了除了DNS要用到的53端口的其他一切udp端口,因为在此之前做了只是封掉7000端口,等会儿发现攻击改变了端口。
第二步就是要检查应用和服务器漏洞了。
在服务器流量很大的时候分析本地新增哪些udp端口
netstat -lpnut|grep udp
查找出了是1833端口,然后根据1833端口查找相关的进程
ps -ef|grep 1833
得出的进程为freebsd
然后根据进程查找所对应的应用的位置
lsof | grep -i freebsd
这个时候居然查找到的目录是tomcat下面运行的一个正常的应用。