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

一、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.rar,使用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对外发包引发服务器崩溃的终极解决方法这篇文章,希望可以给予你帮助

(0)

相关推荐

  • php对外发包引发服务器崩溃的终极解决方法分享[推荐]

    一.php对外发包分析 用php代码调用sockets,直接用服务器的网络攻击别的IP,常见代码如下: 复制代码 代码如下: $packets = 0; $ip = $_GET[\'ip\']; $rand = $_GET[\'port\']; set_time_limit(0); ignore_user_abort(FALSE); $exec_time = $_GET[\'time\']; $time = time(); print \"Flooded: $ip on port $rand \

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

    一.php对外发包问题 客户说自己的vps对外发包严重,我司机房人员查看监控,截图如下: 在这样下去客户的机器肯定会造成ping值不稳定,甚至服务器崩溃. 二.分析问题 经分析发现,这些发包的PHP程序都使用了fsockopen()这个函数.强烈建议您修改php.ini文件,关闭这个函数,95%以上的程序是不需要这个函数的,个别程序如淘宝客.Ucenter.部分API程序等才需要使用这个函数.如果关闭这个函数,发包程序彻底失效,极大的增强了服务器的安全级别. 1. 关闭这个函数的流程,编辑php

  • IIS6 w3wp.exe进程占用cpu和内存过多的解决方法

    在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢. 解决CPU占用过多:1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响.2.设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭. 根据w3wp取得是哪一个应用程序池:1.在任务管理器中增加显示pid字段(任务管理器>查看>选择列>PID(进程标识符)).就可以看到占用内存或者cpu最高的进程pid. 2.在命令提示符下运行iisapp

  • 服务器上w3wp.exe占用cpu过多有时候超过50%的原因分析

    解决CPU占用过多: 1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响. 2.设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭. 根据w3wp取得是哪一个应用程序池: 1.在任务管理器中增加显示pid字段.就可以看到占用内存或者cpu最高的进程pid 2.在命令提示符下运行iisapp -a.注意,第一次运行,会提示没有js支持,点击确定.然后再次运行就可以了.这样就可以看到pid对应的应用程序池.(iisapp实际上是存放在 C:win

  • 认识w3wp.exe进程,从根本上解决占用资源较大问题

    在windows server 2003中对于每一个web应用,iis 6.0都用一个独立的w3wp.exe的实例来运行它.w3wp.exe也称为工作进程(每一个主机头都会有一个) 直接在任务管理器中结束进程是不起作用的,结束后不久它会执行启动,要想结束它可以在iis中找到相应的应用程序池停止相应的应用程序池工作. 这些都不是解决办法,它的根本问题是你的那个网站程序有问题,在找到问题以前可以先打开iis找到应用程序池先用右键属性中设置"性能"把其中的cpu设成大于60%关闭应用程序池,

  • w3wp.exe进程占用内存过高解决方法

    w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行.这个进程用来分配大量的系统资 今天研究了一下,可以做以下配置: 1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响. 2.设置应用程序池的回收时间,默认为1720小时,可以根据情况修改.同时,设置同时运行的w3wp进程数目为1.再设置当内存或者cpu占用超过多少,就自动回收内存 一般来说,这样就可以解决了.但仍然会出现个别网站因为程序

  • w3wp.exe占用CPU和内存问题过高的解决方法

    今天研究了一下,可以做以下配置: 1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响. 2.设置应用程序池的回收时间,默认为1720小时,可以根据情况修改.同时,设置同时运行的w3wp进程数目为1.再设置当内存或者cpu占用超过多少,就自动回收内存 一般来说,这样就可以解决了.但仍然会出现个别网站因为程序问题,不能正确释放. 那么,怎么样才能找到是哪一个网站的? 1.在任务管理器中增加显示pid字段.就可以看到占用内存或者cpu最高的进程pid 2.在命令提示符下运行iisapp

  • win2003中的w3wp.exe进程大量占用cpu资源的各种问题解决方法

    1:使用 MicrosoftJet 数据库引擎 Web 应用程序可能停止响应负载,造成假死: 原因:发生此问题是因为 Jet 数据库引擎中存在缺陷. Microsoft Windows Server 2003 上只会出现此问题. 在 Windows Server 2003, COM+ 更改频率 CoFreeUnusedLibraries 函数被调用. 此更改导致 Jet 驱动程序以初始化频繁. 此行为可能导致死锁条件. Web 服务器负载时最常出现此问题. 补丁下载: chs:WindowsSe

  • 通过IIS自带工具Iisapp.vbs查询哪个w3wp.exe站点占用资源(cpu或内存)

    经过查找发现是因为w3wp.exe占用了100%的cpu导致80端口占用巨大,其它的操作都无法进行. 在任务管理器中看到的是w3wp.exe占用资源过多,那么就需要查看w3wp.exe的pid值. 下面是寻找出错网站的过程:要找到这个网站,必须把有问题的进程跟该网站的应用程序池联系起来.首先设置任务管理器的查看方式,加入PID的显示: 然后再命令行运行iisapp -a,可以看到PID跟应用程序池的对应关系: 再去iis中看该应用程序池对应的网站,有问题的网站就找到了,剩下的就是这个网站代码中的

  • w3wp.exe内存占用过高(网站打不开,应用程序池回收就正常)

    服务器cpu,内存正常, 部分网站打不开,应用程序池回收就正常,如何解决? 提问: 服务器\IIS和ASP问题请问下各位``网站最近每天要出现几次打不开很慢`只显示tile标题其它无,站点是ASP的,前台生成的html,今天看到的W3WP.exe占用最高达280M,一般都只有170M左右IIS管理里地址池回收一下就正常`是什么原因? 补充:服务器CPU占用极少`只有百分几点物理内存6G 内存占用量也极少.PS:主要问题就是这个程序池.网站出现慢或打不开,一回收就正常. WEB服务器高手--们在哪

随机推荐