针对最近php程序突发性对外发包的问题,我司特提出php对外发包解决方案,希望可以帮助服务器托管用户和vps主机用户解决疑难
一、php对外发包问题
客户说自己的vps对外发包严重,我司机房人员查看监控,截图如下:
在这样下去客户的机器肯定会造成ping值不稳定,甚至服务器崩溃。
二、分析问题
经分析发现,这些发包的PHP程序都使用了fsockopen()这个函数。强烈建议您修改php.ini文件,关闭这个函数,95%以上的程序是不需要这个函数的,个别程序如淘宝客、Ucenter、部分API程序等才需要使用这个函数。如果关闭这个函数,发包程序彻底失效,极大的增强了服务器的安全级别。如何起名 - 关闭这个函数的流程,编辑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对外发包引发服务器崩溃的终极解决方法这篇文章,希望可以给予你帮助
|