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

 更新时间:2012年04月21日 22:22:57   作者:  
最近很多美国VPS客户被人通过dedecms漏洞等等入侵.导致phpddos 很猖狂,占用大量带宽,影响网站,浪费流量
说下防止PHPDDOS发包的方法
复制代码 代码如下:

if (eregi("ddos-udp",$read)) {
fputs($verbinden,"privmsg $Channel :ddos-udp – started udp flood – $read2[4]\n\n");
$fp = fsockopen("udp://$read2[4]", 500, $errno, $errstr, 30);
if (!$fp)
{
$fp = fsockopen("udp://$read2[4]", 500, $errno, $errstr, 30);

既然是用fsockopen()函数请求外部,那就不让他请求

php.ini里设置
allow_url_fopen = Off
如果这样他还是能发包

extension=php_sockets.dll
改成
;extension=php_sockets.dll

重启APACHE、IIS、NGINX

这样就可以防止PHP DDOS发包了

对这种攻击的处罚政策是,

Further violations will proceed with these following actions:

  1st violation - Warning and shutdown of server. We will allow 24 hours for you to rectify the problem. 第一次是警告+关机,给24小时的时间来解决问题

  2nd violation - Immediate reformat of server. 第二次是立即格式化服务器

  3rd violation - Cancellation with no refund. 第三次是取消服务并不给退款

  针对这个问题,给一个简单的描述,

  表现特征:一打开IIS,服务器的流出带宽就用光-----就是说服务器不断向别人发包,这个情况和受到ddos攻击是不同的,Ddos是不断收到大量数据包.

  解决办法:

  先停止IIS,这样就暂时没法对外攻击了,然后

  禁止上述的代码:

  在c:\windows\php.ini里设置:

  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

  在c:\windows\php.ini里设其值为Off

  allow_url_fopen = Off

  并且:

  ;extension=php_sockets.dll

  前面的;号一定要有,意思就是限制用sockets.dll

  前面的;号要保留

  然后启动IIS

  在IP策略,或防火墙中,禁止所有udp向外发送

linux下解决办法

  一、禁止本机对外发送UDP包

  iptables -A OUTPUT -p udp -j DROP

  二、允许需要UDP服务的端口(如DNS)

  iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT

  绿色“53”,为DNS所需要的UDP端口,黄色“8.8.8.8”部分为DNS IP,根据您服务器的设定来定,若您不知您当前服务器使用的DNS IP,可在SSH中执行以下命令获取:

  cat /etc/resolv.conf |grep nameserver |awk 'NR==1{print $2 }'

  附完整iptables规则
复制代码 代码如下:

  #iptables -A INPUT -p tcp -m tcp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

  #iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

  #iptables -A OUTPUT -p tcp -m tcp --sport 1024:65535 -d 8.8.4.4 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT

  #iptables -A OUTPUT -p udp -m udp --sport 1024:65535 -d 8.8.8.8 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT

  #iptables -A OUTPUT -p udp -j REJECT

  #/etc/rc.d/init.d/iptables save

  # service iptables restart

  #chkconfig iptables on

  开放 对外 以及对内的 DNS端口 53

  禁止其他全部出站的UDP 协议

  开机启动iptables

  另外要说明的是,上面的代码是因为我服务器使用的是谷歌的DNS来解析,我服务器端对外的访问(在服务器端上网,就需要,如果只是单纯的服务器,不进行 yum安装也可以不用),因此我开放对8.8.4.4和8.8.8.8的访问,如果你不是设置为谷歌的DNS,那么这里要自行修改成你的DNS。使用的 DNS是什么可以用下面方法查询

利用IP安全策略 下载 phpddos_jb51.rar
使用方法:
首先 开始 - 运行 - gpedit.msc 找到IP安全策略
鼠标右键 - 所有任务 - 选择导入策略
最后指派策略即可

相关文章

  • VMWare中CentOS ifcfg-eth0配置方法(亲测直接可用)

    VMWare中CentOS ifcfg-eth0配置方法(亲测直接可用)

    本篇文章主要介绍了VMWare中CentOS ifcfg-eth0配置,这些配置是基于VMware Network Adapter VMnet8,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • Linux  ProFTPd安装与卸载详细介绍

    Linux ProFTPd安装与卸载详细介绍

    这篇文章主要介绍了Linux ProFTPd安装与卸载详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • Ubuntu16.04安装Jenkins的方法图文详解

    Ubuntu16.04安装Jenkins的方法图文详解

    这篇文章主要介绍了Ubuntu16.04安装Jenkins,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Linux 中的文件复制cp命令和scp命令详解

    Linux 中的文件复制cp命令和scp命令详解

    这篇文章主要介绍了Linux 中的文件复制cp命令和scp命令详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • php扩展memcached和memcache的安装配置方法

    php扩展memcached和memcache的安装配置方法

    这篇文章主要介绍了php扩展memcached和memcache的安装配置方法,需要的朋友可以参考下
    2014-11-11
  • Linux 单个tomcat多实例部署shell脚本详解

    Linux 单个tomcat多实例部署shell脚本详解

    这篇文章主要介绍了Linux 单个tomcat多实例部署shell脚本详解的相关资料,需要的朋友可以参考下
    2017-02-02
  • Linux下yum常用命令汇总

    Linux下yum常用命令汇总

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
    2014-11-11
  • Linux通过匿名管道进行进程间通信

    Linux通过匿名管道进行进程间通信

    这篇文章主要介绍了Linux通过匿名管道进行进程间通信,介绍了什么是管道,popen函数,pipe调用等相关内容,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • linux系统文件共享samba配置教程

    linux系统文件共享samba配置教程

    大家好,本篇文章主要讲的是linux系统文件共享samba配置教程,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • CentOS 8安装ZABBIX4.4的指南

    CentOS 8安装ZABBIX4.4的指南

    这篇文章主要介绍了CentOS 8安装ZABBIX4.4的指南,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10

最新评论