随后的一天里,网站遭到了流量攻击,nagios报警只提示系统负载过大,然后打开流量图看了一下,哎,尼玛,卧槽,怎么能这样呢流量简直爆表!

  然后连接网站服务器,连接了半天才连上去,连上去之后,随手打了个ls命令这个纯属习惯然后就卡着了,等了好一会才反应过来然后top了一下,同样也是等了好一会系统负载爆表。Load飙到了100多,nagios都获取不到状态了因为系统负载过大,nrpe信息已经发不出去了!

  随后犹豫都不带犹豫的,直接把apachejava进程停止掉,然后在启动释放一下程序所占用的空间系统进程负载100多,还指望怎么排错处理???打了ls反应半天才过来,在给上级说要停止服务???等回复过来,指不定服务器都挂个蛋了

  然后就看apache访问日志,当时直接看的是apache访问的IP! 看到许多带有后缀访问过来的例如1.1.1.1.ha-dc  1.1.1.1.index-bn-spind-cn什么乱起八糟的IP

  随后直接就防火墙匹配关键字来封杀掉!

iptables -I INPUT -m string --algo bm --string "1.1.1.1.ha-dc" -j DROP

  直接丢弃,设置为拒绝的话系统还要给那边一个回复值。

  然后这么着的把那几个IP给封掉了。

  随后又盯着top看了一会,发现java程序不太正常,显示的cpu占用经常在500%-800%  左右波动。我们那的环境是用的weblogic做的中间件。Java程序一般在100%-200%是很正常的范围。但是这么高肯定就不太正常了。

  随后直接 top -H来看占用资源最大的,果不其然,都是java然后找了个运行时间最长的线程,发现没有什么异常,并没有像网上说的那种要转换为16进制的!

   ulimit -a来看了一下允许的java最大的线程。发现设置的有点低

网站被刷流量简单处理的一次_防火墙 

只允许同事65535个,有可能是这个的问题!

  然后就把线程数设置到了最大

   ulimit -n 102400   

 java允许设置的最大线程!

然后过了少过了一会,java稳定下来了!

额,(⊙o⊙)…(⊙o⊙)…java还能出现异常了! 我也是醉了。

  然后到此,程序异常解决了。但是网站被刷流量的还没有解决!系统负载固定在6左右,在看apache访问日志。发现有他们那些IP有的还能过了!额,

(⊙o⊙)…(⊙o⊙)…(⊙o⊙)…

  因为IP访问次数过于巨大,iptables也不能全部挡住,问老大要了硬件防火墙。

然后在硬防里边设置了一下。到此,问题解决!