预防DDOS攻击方法

时间:2022-09-02 17:49:18

          分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

      

       测试工具: webbench,  ab命令:做压力测试的工具和性能的监控工具。

       webbench软件官网:http://home.tiscali.cz/~cz210552/webbench.html

        依赖包: yum   -y   install   gcc*    ctags

         解压webbench,  编译,并安装。

       使用方法:

                webbench  -c     客户端(个数)     -t   运行测试时间      URL

                例如:webbench    -c    100    -t   10   http://IP/index.html

         ab命令用法:

                 ab命令是Apache的Web服务器的性能测试工具,它可以测试安装Web服务器每秒种处理的HTTP请求.

               ab  -n   指定的请求数  -c  指定一次向服务器发出的请求数   URL

                例如: ab  -n  1000   -c  10   http://IP/index.html

      

         如何检查服务器受到DDOS攻击:

                 用netstat  查看网络连接数。

                例如: netstat   -ntu  |  awk  '{print $5}'  |  cut  -d:  -f |  sort  |  uniq  -c  | sort  -n


        预防DDOS攻击方法:

                           (1)  使用硬件防火墙。(高防服务器)
                           (2)  定期扫描安全漏洞。
                           (3)  在骨干节点配置防火墙。
                           (4)  用足够的机器承受黑客攻击
                           (5)  充分利用网络设备保护网络资源。路由器,防火墙等负载均衡设备,
                           (6)  过滤不必要的服务和端口。
                           (7)  检查访问者的来源。
                           (8)过滤所有RFC1918 IP地址。是内部网的IP地址, 是internet内部保留的区域性IP地址。此方法是将攻击时伪造的大量虚假内部IP过滤,减轻DDOS攻击。
                          (9)  限制SYN/ICMP流量,在路由器上配置SYN/ICMP的最大流量来限制SYN/ICMP封包所能占有的最高频宽。

           

            rhel6.5和centos6.5自带了iptables防火墙,rhel7和centos7自带了iptables和firewalld防火墙, 可手动写入iptables规则,也可以使用脚本来检测访问次数较多的IP地址,可自动添加iptables规则。例如:fail2ban或 linux+DDos  deflate.

         

            DDos deflate 用来防御和减轻DDos攻击的脚本,通过netstat监测跟踪创建网络连接的IP地址看,当超过预设的限制时,该程序通过apf或iptables禁止或阻挡这些IP访问。
              安装DDos  deflate :

                        linux需要联网下载:

                        网站获取:#wget     http://www.inetbase.com/scripts/ddos/install.sh

                       添加权限:#chmod  777   install.sh

                        执行脚本:#./install.sh

                          安装不成功,卸载后,请再安装一次即可。

                         安装成功后,按q键退出。

                           查看: # ls /usr/local/ddos/

                         主配置文件:ddos.conf   

                        IP地址白名单:# cat /usr/local/ddos/ignore.ip.list
                        

                         # cat /usr/local/ddos/ddos.conf

                                PROG="/usr/local/ddos/ddos.sh"        //要执行的DDOS脚本。

                                IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list"       //IP地址白名单。

                                CRON="/etc/cron.d/ddos.cron"            //定时执行程序。

                       

                          查看定时任务:

                                [root@www ~]# cat /etc/cron.d/ddos.cron
                                 SHELL=/bin/sh
                                 0-59/1 * * * * root   /usr/local/ddos/ddos.sh >/dev/null 2>&1
                                注:每分钟查看一下,有DDOS攻击,发现就拒绝。

                        install.sh   #DDOS  deflate 安装脚本的功能:

                              (1)  自动下载文件进行安装。

                              (2)  自动执行。  计划任务,外人无法查到。

          

                           主配置文件参数详解(ddos.conf) :

                                FREQ=1       //  检查时间间隔,默认1分钟。

                                NO_OF_CONNECTIONS=150      //最大连接数,超过这个数,IP就会被屏蔽。一般默认即可。

                                APF_BAN=1        //使用APF还是iptables, 推荐使用iptables,将APF_BAN的值改为0即可。


                                KILL=1            //是否屏蔽IP, 默认即可。

                                EMAIL_TO="root"       //当IP被屏蔽时给指定邮箱发送邮件报警,换成自己的邮箱即可。

                                BAN_PERIOD=600      //禁用IP时间,默认600秒,可根据情况调整。


                          安装后,不需要手动运行任何软件,crontab计划任务,每过一分钟,会自动执行一次。 检查是否有不正常的访问。

                           

                             # vim /usr/local/ddos/ddos.sh   默认脚本里有,需要将f1改为f4即可。

                               netstat -ntu | awk '{print $5}' | cut -d: -f4  | sort | uniq -c | sort -nr > $BAD_IP_LIST


                       如果要测试,模拟DDOS攻击:

                          客户端: 使用ab命令: ab  -n  请求数   -c   一次的请求数   URL(服务端)

                          服务端:查看防火墙规则,

                                   设置一条客户端访问服务器的规则:

                                                           iptables  -I   INPUT   -p  TCP   --dport   80   -j    ACCEPT

                         在客户端使用ab再测试,发现已经不能执行了。

       

                        卸载ddos  deflate   :

                              # wget http://www.inetbase.com/scripts/ddos/uninstall.ddos

                              # chmod  +x  uninstall.ddos      //赋予执行权限。

                              # ./uninstall.ddos                       //执行脚本。

                        

本文出自 “安然一笑” 博客,请务必保留此出处http://liyuanjie.blog.51cto.com/12877605/1957752