php对外发包导致w3wp.exe很占cpu解决方案

2011-12-28 11:37:07 来源:本站原创,请勿转载 浏览:325
php对外发包导致w3wp.exe很占cpu解决方案

针对最近php程序突发性对外发包的问题,我司特提出php对外发包解决方案,希望可以帮助服务器托管用户和vps主机用户解决疑难
一、php对外发包问题
客户说自己的vps对外发包严重,我司机房人员查看监控,截图如下:
在这样下去客户的机器肯定会造成ping值不稳定,甚至服务器崩溃。
二、分析问题
经分析发现,这些发包的PHP程序都使用了fsockopen()这个函数。强烈建议您修改php.ini文件,关闭这个函数,95%以上的程序是不需要这个函数的,个别程序如淘宝客、Ucenter、部分API程序等才需要使用这个函数。如果关闭这个函数,发包程序彻底失效,极大的增强了服务器的安全级别。
1. 关闭这个函数的流程,编辑php.ini文件搜索这个文件中的“disable_functions =”,如果这行前面有;符号的就删除这个符号,然后把这行修改为:

以下是代码片段:
disable_functions = popen,exec,passthru,system,fsockopen,pfsockopen
修改完成后保存退出,并重启 IIS或apache服务即可生效 。
2. 如果您的服务器上有DedeCMS程序,请特别注意检查:
以下是代码片段:
/plus/config_s.php
/plus/index.php
/data/cache/t.php
/data/cache/x.php

这些一般是木马程序,要及时删除!
3. 请下载udpdeny.zip,使用ip策略来阻止服务器对外发包;
4. 在星外最新版本的安全包中,已带有4.0版本的IP策略【下载safe包】,您导入后就直接可以限制了外发的UDP包。下载这个包,之后导入安全策略。但这个策略并没有关闭DNS端口,部分攻击还是有效. 为了解决这个问题,你也可以调整IP策略,限制udp只能访问特定的DNS服务器IP,如8.8.8.8,除非黑客攻击这个IP,不然攻击也是无效的,你可以在网卡DNS中设置一个你才知道的DNS IP,并且不要公开,然后调用IP策略中的udp open部分就可以解决.(打开IP策略的属性,双击open,将open中的两条udp记录删除任意一条,在保留的这条中,双击,改成 地址 从源地址 任何地址 到目标地址 '特定IP 这个IP就是设置为你自己的DNS IP,如8.8.8.8' 保存后就行了 )
以前我司写过一个较全面的文章,你可以参考php对外发包引发服务器崩溃的终极解决方法这篇文章,希望可以给予你帮助。
5.封端口解决此问题可能会导致CPU占用100%,目前最好的办法是安装护卫神、入侵防护系统,它可以实时监控网页木马,实时查杀php对外发包的木马,从而完美杜绝这类不良程序带来的危害。

注:以上文字部分转载与星外主页,文中“我司”、“我们”不一定是“护卫神”的代指,请注意。

(0)
(0)