当前位置: 首页 » 产品 » 微商货源 » 正文

linux下防DDOS攻击软件及使用方法详解

放大字体  缩小字体 发布日期: 2024-09-25 10:31   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:21
核心提示:  互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事。在没有硬防的情况下,寻找软件代替是最直接的方法,

  互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事。在没有硬防的情况下,寻找软件代替是最直接的方法,比如用 iptables,但是iptables不能在自动屏蔽,只能手动屏蔽。

  一、什么是DDOS攻击?

  DDoS也就是分布式拒绝服务攻击。它使用与普通的拒绝服务攻击同样的方法,但是发起攻击的源是多个。通常攻击者使用下载的工具渗透无保护的主机,当获得该主机的适当的访问权限后,攻击者在主机中安装软件的服务或进程(以下简侈怔理)。这些代理保持睡眠状态,直到从它们的主控端得到指令,对指定的目标发起拒绝服务攻击。

  二、如何确认自己受到DDOS攻击?

  在系统上执行:

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

  执行后,将会显示服务器上所有的每个IP多少个连接数。

  以下是我自己用VPS测试的结果:

  li88-99:~# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

  1 114.226.9.132

  1 174.129.237.157

  1 58.60.118.142

  1 Address

  1 servers)

  2 118.26.131.78

  3 123.125.1.202

  3 220.248.43.119

  4 117.36.231.253

  4 119.162.46.124

  6 219.140.232.128

  8 220.181.61.31

  2311 67.215.242.196

  每个IP几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常了。

  三、防范DDOS攻击的方法:

  一些常用的防DDOS攻击的方法,罗列如下:

  1.增加硬件防火墙和增加硬件设备来承载和抵御DDOS攻击,最基本的方法,但成本比较高。

  2.修改SYN设置抵御SYN攻击:

  SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。

  Linux内核提供了若干SYN相关设置,使用命令:

  sysctl -a | grep syn

  看到:

  net.ipv4.tcp_max_syn_backlog=1024

  net.ipv4.tcp_syncookies=0

  net.ipv4.tcp_synack_retries=5

  net.ipv4.tcp_syn_retries=5

  tcp_max_syn_backlog是SYN队列的长度,tcp_syncookies是一个开关,是否打开SYN cookie

  功能,该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN

  的重试次数。

  加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN cookie功能可以阻止部分

  SYN攻击,降低重试次数也有一定效果。

  调整上述设置的方法是:

  增加SYN队列长度到2048:

  sysctl -w net.ipv4.tcp_max_syn_backlog=2048

  打开SYN cookie功能:

  sysctl -w net.ipv4.tcp_syncookies=1

  降低重试次数:

  sysctl -w net.ipv4.tcp_synack_retries=3

  sysctl -w net.ipv4.tcp_syn_retries=3

  为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc.d/rc.local文件中。

  3.安装iptables对特定ip进行屏蔽。

  A.安装iptables和系统内核版本对应的内核模块kernel-smp-modules-connlimit

  B. 配置相应的iptables规则

  示例如下:

  (1)控制单个IP的最大并发连接数

  iptables -I INPUT -p tcp –dport 80 -m connlimit –connlimit-above 50 -j REJECT

  #允许单个IP的最大连接数为 30

  (2)控制单个IP在一定的时间(比如60秒)内允许新建立的连接数

  iptables -A INPUT -p tcp –dport 80 -m recent –name BAD_HTTP_ACCESS –update –seconds 60

  –hitcount 30 -j REJECT

  iptables -A INPUT -p tcp –dport 80 -m recent –name BAD_HTTP_ACCESS –set -j ACCEPT

  #单个IP在60秒内只允许最多新建30个连接

  (3)用iptables屏蔽IP

  iptables -I RH-Lokkit-0-50-INPUT 1 -p tcp -m tcp -s 213.8.166.227 --dport 80 --syn -j REJECT

  指定端口的参数是--dport 80;多了--syn参数,可以自动检测sync攻击

  (4)使用iptables禁止ping:

  iptables -A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 6/min --limit-burst 2 -j ACCEPT-A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT --reject-with icmp-port-unreachable

  (5)允许某ip连接

  iptables -I RH-Firewall-1-INPUT 1 -p tcp -m tcp -s 192.168.0.51 --syn -j ACCEPT

  C. 验证

  (1)工具:flood_connect.c(用来模拟攻击)

  (2)查看效果:

  使用

  watch ‘netstat -an | grep:21 | grep< 模拟攻击客户机的IP>| wc -l’

  实时查看模拟攻击客户机建立起来的连接数,

  使用

  watch ‘iptables -L -n -v | grep< 模拟攻击客户机的IP>’

  查看模拟攻击客户机被 DROP 的数据包数。

  D.注意

  为了增强iptables防止CC攻击的能力,最好调整一下ipt_recent的参数如下:

  #cat/etc/modprobe.conf

  options ipt_recent ip_list_tot=1000 ip_pkt_list_tot=60

  #记录1000个IP地址,每个地址记录60个数据包

  #modprobe ipt_recent

  E.可编写脚本自动提娶攻击ip然后自动屏蔽:

  */2 * * * * /usr/local/nginx/var/log/drop.sh

  #!/bin/sh

  cd /usr/local/nginx/var/log

  tail access.log -n 1000 |grep vote.php | |sort |uniq -c |sort -nr |awk '{if ($2!=null && $1>50)}' > drop_ip.txt

  for i in `cat drop_ip.txt`

  do

  /sbin/iptables -I INPUT -s $i -j DROP;

  done

  这shell 每几分钟执行一次,就可自动屏蔽那些不正常IP,相信大家都看的懂,下面是针对连接数屏蔽代码

  #!/bin/sh

  /bin/netstat -ant |grep 80 |awk '{print $5}' |awk -F : '{print $1}' |sort |uniq -c |sort -rn |grep -v -E '192.168|127.0' |awk '{if ($2!=null && $1>50)}' > drop_ip.txt

  for i in `cat drop_ip.txt`

  do

  /sbin/iptables -I INPUT -s $i -j DROP;

  done

  说下,grep -v -E '192.168|127.0' 也就是排除内网IP,免得把自己给屏蔽了,当然还可以加些自己的IP。

  4.安装DDoS deflate自动抵御DDOS攻击:

 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
推荐图文
推荐产品
点击排行
    行业协会  备案信息  可信网站