穿裤衩的大鲨鱼 發表於 2023-7-27 00:00:00

预防PHPDDOS的发包攻击别人的方法(iis+linux)

<p>
        <strong>说下防止PHPDDOS发包的方法 </strong></p>
<p class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</p>
<p class="codebody">
        <br>
        if (eregi("ddos-udp",$read)) {<br>
        fputs($verbinden,"privmsg $Channel :ddos-udp – started udp flood – $read2 ");<br>
        $fp = fsockopen("udp://$read2", 500, $errno, $errstr, 30);<br>
        if (!$fp)<br>
        {<br>
        $fp = fsockopen("udp://$read2", 500, $errno, $errstr, 30);</p>
<p>
        <br>
        既然是用fsockopen()函数请求外部,那就不让他请求<br><br>
        php.ini里设置<br>
        allow_url_fopen = Off<br>
        如果这样他还是能发包<br><br>
        extension=php_sockets.dll<br>
        改成<br>
        ;extension=php_sockets.dll<br><br>
        重启APACHE、IIS、NGINX<br><br>
        这样就可以防止PHP DDOS发包了<br><br><strong>对这种攻击的处罚政策是,</strong><br><br>
        Further violations will proceed with these following actions:<br><br>
          1st violation - Warning and shutdown of server. We will allow 24 hours for you to rectify the problem. 第一次是警告+关机,给24小时的时间来解决问题<br><br>
          2nd violation - Immediate reformat of server. 第二次是立即格式化服务器<br><br>
          3rd violation - Cancellation with no refund. 第三次是取消服务并不给退款<br><br>
          针对这个问题,给一个简单的描述,<br><br>
          表现特征:一打开IIS,服务器的流出带宽就用光-----就是说服务器不断向别人发包,这个情况和受到ddos攻击是不同的,Ddos是不断收到大量数据包.<br><br>
          解决办法:<br><br>
          先停止IIS,这样就暂时没法对外攻击了,然后<br><br>
          禁止上述的代码:<br><br>
          在c:windowsphp.ini里设置:<br><br>
          disable_functions =gzinflate,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen<br><br>
          在c:windowsphp.ini里设其值为Off<br><br>
          allow_url_fopen = Off<br><br>
          并且:<br><br>
          ;extension=php_sockets.dll<br><br>
          前面的;号一定要有,意思就是限制用sockets.dll<br><br>
          前面的;号要保留<br><br>
          然后启动IIS<br><br>
          在IP策略,或防火墙中,禁止所有udp向外发送<br><br><strong>linux下解决办法 </strong><br><br>
          一、禁止本机对外发送UDP包<br><br>
          iptables -A OUTPUT -p udp -j DROP<br><br>
          二、允许需要UDP服务的端口(如DNS)<br><br>
          iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT<br><br>
          绿色“53”,为DNS所需要的UDP端口,黄色“8.8.8.8”部分为DNS IP,根据您服务器的设定来定,若您不知您当前服务器使用的DNS IP,可在SSH中执行以下命令获取:<br><br>
          cat /etc/resolv.conf |grep nameserver |awk 'NR==1{print $2 }'<br><br>
          附完整iptables规则</p>
<p class="codetitle">
        <span><u>复制代码</u></span> 代码如下:</p>
<p class="codebody">
        <br>
          #iptables -A INPUT -p tcp -m tcp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT<br><br>
          #iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT<br><br>
          #iptables -A OUTPUT -p tcp -m tcp --sport 1024:65535 -d 8.8.4.4 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT<br><br>
          #iptables -A OUTPUT -p udp -m udp --sport 1024:65535 -d 8.8.8.8 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT<br><br>
          #iptables -A OUTPUT -p udp -j REJECT<br><br>
          #/etc/rc.d/init.d/iptables save<br><br>
          # service iptables restart<br><br>
          #chkconfig iptables on</p>
<p>
        <br>
          开放 对外 以及对内的 DNS端口 53<br><br>
          禁止其他全部出站的UDP 协议<br><br>
          开机启动iptables<br><br>
          另外要说明的是,上面的代码是因为我服务器使用的是谷歌的DNS来解析,我服务器端对外的访问(在服务器端上网,就需要,如果只是单纯的服务器,不进行 yum安装也可以不用),因此我开放对8.8.4.4和8.8.8.8的访问,如果你不是设置为谷歌的DNS,那么这里要自行修改成你的DNS。使用的 DNS是什么可以用下面方法查询<br><br>
        利用IP安全策略 下载 phpddos.rar<br>
        使用方法:<br>
        首先 开始 - 运行 - gpedit.msc 找到IP安全策略<br>
        鼠标右键 - 所有任务 - 选择导入策略<br>
        最后指派策略即可</p>
頁: [1]
查看完整版本: 预防PHPDDOS的发包攻击别人的方法(iis+linux)