【导语】“EE”通过精心收集,向本站投稿了6篇Linux防DDOS攻击一些方法总结linux操作系统,下面是小编为大家整理后的Linux防DDOS攻击一些方法总结linux操作系统,欢迎阅读与收藏。
- 目录
篇1:Linux防DDOS攻击一些方法总结linux操作系统
在linux中要防ddos攻击我们最常用的办法就是安装DDoS deflate来防止或减轻ddos攻击了,但还有使用其它方法,下面我来介绍一下,
DDoS deflate介绍
DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限 制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP.
DDoS deflate :deflate.medialayer.com/
如何确认是否受到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几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常了。
1、安装DDoS deflate123 wget www.inetbase.com/scripts/ddos/install.sh //下载DDoS deflate
代码如下复制代码chmod 0700 install.sh //添加权限./install.sh //执行
2、配置DDoS deflate下面是DDoS deflate的默认配置位于/usr/local/ddos/ddos.conf ,内容如下:
代码如下复制代码##### Paths of the script. and other filesPROGDIR=“/usr/local/ddos”
PROG=“/usr/local/ddos/ddos.sh”
IGNORE_IP_LIST=“/usr/local/ddos/ignore.ip.list” //IP地址白名单
CRON=“/etc/cron.d/ddos.cron” //定时执行程序
APF=“/etc/apf/apf”
IPT=“/sbin/iptables”
##### frequency in minutes for running the script
##### Caution: Every time this setting is changed, run the script. with --cron
##### option so that the new frequency takes effect
FREQ=1 //检查时间间隔,默认1分钟
##### How many connections define a bad IP? Indicate that below.
NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可
##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
APF_BAN=1 //使用APF还是iptables,
推荐使用iptables,将APF_BAN的值改为0即可。
##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1 //是否屏蔽IP,默认即可
##### An email is sent to the following address when an IP is banned.
##### Blank would suppress sending of mails
EMAIL_TO=“root” //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可
##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整
用户可根据给默认配置文件加上的注释提示内容,修改配置文件。
查看/usr/local/ddos/ddos.sh文件的第117行 (部分需要个性,当发现默认的无效时再修改此处)
代码如下复制代码netstat -ntu | awk `{print $5}` | cut -d: -f1 | sort | uniq -c | sort -nr >$BAD_IP_LIST
修改为以下代码即可!
代码如下复制代码netstat -ntu | awk `{print $5}` | cut -d: -f1 | sed -n `/[0-9]/p` | sort | uniq -c | sort -nr >$BAD_IP_LIST
喜欢折腾的可以用Web压力测试软件测试一下效果,相信DDoS deflate还是能给你的VPS或服务器抵御一部分DDOS攻击,给你的网站更多的保护。
除了这种办法我们再推荐自己使用的一种防ddos攻击的方法
脚本
代码如下复制代码wget www.inetbase.com/scripts/ddos/install.sh
chmod +x install.sh
./install.sh
如需卸载则
代码如下复制代码wget www.inetbase.com/scripts/ddos/uninstall.sh
chmod +x uninstall.sh
./uninstall.sh
然后就安装成功了.对于一般的ddos应该没问题了.
篇2:Linux防止ARP攻击一些方法总结linux操作系统
Linux防止ARP攻击我主要总结了三种,分别是:直接绑定网关方法,使用相关软件如Libnet与arpoison ,还有一种是利用arptables防arp攻击,最后自己写的shell脚本了,下面我们一起来看看,
方法一,最常用的绑定网关
一般服务器的网关是不会变动的,且vps也适用。
一、查看当前网关
[root@local@xiaohuai ~]# arp -a
? (218.65.22.122) at 80:fb:06:f2:4a:f4 [ether] on eth0
SSH执行以上命令,可查看到网关主机名、网关IP、网关MAC地址和对应的网卡。
二、绑定网关MAC
1)绑定
[root@local@xiaohuai ~]# echo “218.65.22.122 80:fb:06:f2:4a:f4” >/etc/safe
#ip、mac部分请根据实情修改。格式:网关IP(空格)MAC地址
2)激活使其生效
[root@local@xiaohuai ~]# arp -f /etc/safe
SSH执行以上命令,使其生效。
三、检查是否生效
[root@local@xiaohuai ~]# arp -a
? (218.65.22.122) at 80:fb:06:f2:4a:f4 [ether] PERM on eth0
再次执行arp -a命令,如下图,若句尾多了一个:PERM,则表示手动绑定生效
方法二,利用软件Libnet与arpoison
备软件
Libnet 自己去
arpoison 自己去
安装方法(FC下成功,其他发行版可参考):
先安装libnet
tar -xvzf libnet.tar.gz
cd libnet
./configure
make
make install
安装arpoison
tar -xvzf arpoison-0.6.tar.gz
cd arpoison
gcc arpoison.c /usr/lib/libnet.a -o arpoison
mv arpoison /usr/sbin
用法:
Usage: -i device -d dest_IP -s src_IP -t target_MAC -r src_MAC [-a] [-w time between packets] [-n number to send]
示例:
arpoison -i eth0 -d 172.16.18.254 -s 172.16.18.19 -t ff:ff:ff:ff:ff:ff -r 00:11:09:E8:78:DD
解释:
-i eth0 指定发送arp包的网卡接口eth0
-d 172.16.18.254 指定目的ip为172.16.18.254
-s 172.16.18.19 指定源ip为172.16.18.19
-t ff:ff:ff:ff:ff:ff 指定目的mac地址为ff:ff:ff:ff:ff:ff(arp广播地址)
-r 00:11:09:E8:C8:ED 指定源mac地址为00:11:09:E8:C8:ED
写了一个小脚本,根据注释,相信聪明智慧的各位可以搞定linux下的arp攻击了:
#!bash
#arpDefend.sh
#######
#yk103#
#######
#网关mac地址
GATEWAY_MAC=00:D0:F8:FF:4A:23
#目的mac地址
DEST_MAC=ff:ff:ff:ff:ff:ff
#目的ip地址
DEST_IP=172.16.18.254
#本地网卡接口
INTERFACE=eth0
#$INTERFACE的mac地址
MY_MAC=00:11:09:E8:78:DD
#$INTERFACE的ip地址
MY_IP=172.16.18.19
#在本机建立静态ip/mac入口 $DEST_IP–$GATEWAY_MAC
arp -s $DEST_IP $GATEWAY_MAC
#发送arp reply ,使$DEST_IP更新$MY_IP的mac地址为$MY_MAC
arpoison -i $INTERFACE -d $DEST_IP -s $MY_IP -t $DEST_MAC -r $MY_MAC 1>/dev/null &
方法三,arptables防arp攻击
Centos5安装:
#www.111cn.net
wget superb-sea2.dl.sourceforge.net/project/ebtables/arptables/arptables-v0.0.3/arptables-v0.0.3-4.tar.gz
tar zxvf arptables-v0.0.3-4.tar.gz
cd arptables-v0.0.3-4
make
make install
arptables规则设置:
arptables -F
arptables -P INPUT ACCEPT
#默认策略
arptables -A INPUT --src-ip 192.168.1.1 --src-mac 7A:31:14:42:10:01 -j ACCEPT
#允许本网段特定MAC可进入,且IP与MAC相符
arptables -A INPUT --src-mac ! 74:8E:F8:53:DC:C0 -j DROP
#拒绝非网关MAC
arptables -A INPUT --src-ip ! 192.168.1.1 -j DROP
#拒绝非网关IP
保存规则并开机加载:
iptables-save >/etc/sysconfig/arptables
/etc/init.d/arptables save
chkconfig arptables on
规则保存后重新加载会出错,去除以下文件内-o any字段,
/etc/sysconfig/arptables
方法四,shell脚本防arp攻击
代码如下复制代码#!/bin/bash
declare gw=`route -n | grep -e '^0.0.0.0'`
declare gwname=`echo $gw | grep -oe 'w*$'`
declare gwip=`echo $gw | grep -oe '[0-9]{2,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'`
declare gwmac=`arp -n | grep -e $gwip | grep -oe '[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-
F]{2}:[0-9A-F]{2}:[0-9A-F]{2}'`
echo “switch $gwname arp: $gwip - $gwmac to static”
arp -s $gwip $gwmac
echo “done, off arp reuqest ..”
ifconfig $gwname -arp
echo “all done.”
篇3:linux 防御小规模DDOS攻击配置方法linux操作系统
本文章来给大家介绍linux 防御小规模DDOS攻击配置方法,这里我们介绍一个ddos工具,DDoS deflate是一款运行于Linux下,专门用于防止/减轻类DDOS攻击的程序,下面大家可参考,
防御原理
DDoS deflate的原理是通过netstat命令找出 发出过量连接的单个IP,并使用iptables防火墙将这些IP进行拒绝。由于iptables防火墙拒绝IP的连接远比从Apache层面上来得高效,因此iptables便成了运行在Apache前端的“过滤器”。同样的,DDoS deflate也可以设置采用APF(高级防火墙)进行IP阻止。
如何确定DDOS攻击?
执行:
Shell
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
每个IP几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常了。
1、安装DDoS deflate
代码如下复制代码wget www.inetbase.com/scripts/ddos/install.sh //下载DDoS deflate
chmod 0700 install.sh //添加权限
./install.sh //执行
2、配置DDoS deflate
下面是DDoS deflate的默认配置位于/usr/local/ddos/ddos.conf ,内容如下:
代码如下复制代码##### Paths of the script. and other files
PROGDIR=“/usr/local/ddos”
PROG=“/usr/local/ddos/ddos.sh”
IGNORE_IP_LIST=“/usr/local/ddos/ignore.ip.list” //IP地址白名单
CRON=“/etc/cron.d/ddos.cron” //定时执行程序
APF=“/etc/apf/apf”
IPT=“/sbin/iptables”
##### frequency in minutes for running the script
##### Caution: Every time this setting is changed, run the script. with --cron
##### option so that the new frequency takes effect
FREQ=1 //检查时间间隔,默认1分钟
##### How many connections define a bad IP? Indicate that below.
NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可
##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
APF_BAN=1 //使用APF还是iptables,
推荐使用iptables,将APF_BAN的值改为0即可。
##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1 //是否屏蔽IP,默认即可
##### An email is sent to the following address when an IP is banned.
##### Blank would suppress sending of mails
EMAIL_TO=“root” //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可
##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整
用户可根据给默认配置文件加上的注释提示内容,修改配置文件。
卸载
代码如下复制代码wget www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos
/usr/local/ddos/ddos.sh -k 30 强行屏蔽连接数大于30的IP
更多使用说明,请直接 more /usr/local/ddos/ddos.sh 查看
篇4:linux中Iptables限制同一IP连接数防CC/DDOS攻击方法linux操作系统
本文章来给大家介绍linux中Iptables限制同一IP连接数防CC/DDOS攻击方法,这个只是最基于的防止方法,如果真正的攻击我们还是需要硬件耿防止哦,
1.限制与80端口连接的IP最大连接数为10,可自定义修改。
代码如下复制代码iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP
2.使用recent模块限制同IP时间内新请求连接数,recent更多功能请参考:Iptables模块recent应用。
代码如下复制代码iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j LOG --log-prefix 'DDOS:' --log-ip-options
#60秒10个新连接,超过记录日志。
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP
#60秒10个新连接,超过丢弃数据包。
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --set -j ACCEPT
#范围内允许通过。
上面的相对比较简单,下面我来分析更具体的配置方法。CentOS/Redhat/Fedora
在服务器执行
代码如下复制代码vi /etc/sysconfig/iptables删除原来的内容输入如下内容 保存
# Generated by iptables-save v1.3.5 on Sun Dec 12 23:55:59 2010
*filter
:INPUT DROP [385263:27864079]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4367656:3514692346]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -s 127.0.0.1 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 80 -m state –state NEW -m recent –set –name WEB –rsource
-A INPUT -p tcp -m tcp –dport 80 -m state –state NEW -m recent –update –seconds 5 –hitcount 20 –rttl –name WEB –rsource -j DROP
-A INPUT -p tcp -m multiport –ports 21,22,80 -j ACCEPT
-A INPUT -p tcp -m tcp –tcp-flags SYN,RST,ACK SYN -m ttl –ttl-eq 117 -j DROP
-A INPUT -p tcp -m tcp –tcp-flags SYN,RST,ACK SYN -m length –length 0:40 -j DROP
-A INPUT -p tcp -m tcp ! –tcp-flags SYN,RST,ACK SYN -m state –state NEW -j DROP
COMMIT
# Completed on Sun Dec 12 23:55:59 2010
说明此设定仅对外开放21(FTP),22(SSH),80(http网站)三个TCP端口,
设置80端口5秒内20个连接
重启iptables服务 /etc/init.d/iptables restart
设定iptables随机启动chkconfig iptables on
篇5:linux下利用iptables防Ddos攻击配置linux操作系统
在linux中iptables防火墙比windows防火墙要强大我了,iptables可以直接防ddos攻击哦,下面我来给大家介绍几种在linux中利用防火墙防ddons攻击脚本,
使用iptables 设定单个客户机的指定时间内发起最大连接数请求,超过限制的直接DROP
代码如下复制代码iptables -A INPUT -p tcp –dport 80 -m state –state NEW -m recent –set –name WEB
iptables -A INPUT -p tcp –dport 80 -m state –state NEW -m recent –update –seconds 30 –hitcount 20 –rttl –name WEB -j DROP
上例??0秒内20次
配置相应的iptables脚本
代码如下复制代码#!/bin/sh
## define some vars
MAX_TOTAL_SYN_RECV=“1000”
MAX_PER_IP_SYN_RECV=“20”
MARK=“SYN_RECV”
PORT=“80”
LOGFILE=“/var/log/netstat_$MARK-$PORT”
LOGFILE_IP=“/var/log/netstat_connect_ip.log”
DROP_IP_LOG=“/var/log/netstat_syn_drop_ip.log”
## iptables default rules: accept normailly packages and drop baleful SYN* packages
iptables -F -t filter
iptables -A INPUT -p TCP ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p ALL -m state --state INVALID -j DROP
iptables -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT
## initialize
if [ -z $MARK ];then
MARK=“LISTEN”
fi
if [ -z $PORT ];then
SPORT=“tcp”
else
SPORT=“:$PORT”
fi
######################## end
## save the results of command netstat to specifal file
netstat -atun|grep $MARK|grep $SPORT 2>/dev/null >$LOGFILE
REPEAT_CONNECT_IP=`less $LOGFILE|awk '{print $5}'|cut -f1 -d ':'|sort|uniq -d |tee >$LOGFILE_IP`
if [ -f $DROP_IP_LOG ];then
for i in `less $DROP_IP_LOG`;do
iptables -A INPUT -p ALL -s $i -j DROP
done
fi
for i in `less $LOGFILE_IP`;do
REPEAT_CONNECT_NUM=`grep $i $LOGFILE|wc -l`
## count repeat connections ,if the accout is large than default number,then drop packages
if [ $REPEAT_CONNECT_NUM -gt $MAX_PER_IP_SYN_RECV ];then
echo “$i####$REPEAT_CONNECT_NUM” >>$DROP_IP_LOG
iptables -A INPUT -p ALL -s $i -j DROP
fi
done
ALL_CONNECT=`uniq -u $LOGFILE|wc -l`
#echo $ALL_CONNECT
## count repeat connections ,if the accout is large than default number,then drop packages
if [ $ALL_CONNECT -gt $MAX_TOTAL_SYN_RECV ];then
#echo $ALL_CONNECT
exit
fi
3.利用shell脚本
1、Shell脚本
代码如下复制代码#!/bin/bash
/bin/netstat -na |grep ESTABLISHED |awk ‘{print $5}’ |awk -F : ‘{print $1}’ | sed ‘/^$/d’ |sort|uniq -c|sort -rn|head -n 10|grep -v -E ’192.168|127.0′ |sed ‘/^$/d’ |awk ‘{if ($2!=null && $1>10);{print $2}}’>/tmp/dropip
for i in $(cat /tmp/dropip)
do
/sbin/iptables -A INPUT -s $i -j DROP
echo “$i kill at `date`”>>/var/log/ddos
done
2.增加执行权限
代码如下复制代码chmod +x /root/bin/dropip.sh3.添加到计划任务,每分钟执行一次
代码如下复制代码crontab -e*/1 * * * * /root/bin/dropip.sh
说明:
以上脚本比较简单,但很实用,最重要的是第二行,获取ESTABLISHED连接数最多的前10个ip并写入临时文件/tmp/dropip,排除了内部ip段192.168|127.0开头的.通过for循环将dropip里面的ip通过iptables全部drop掉,然后写到日志文件/var/log/ddos
篇6:Windows系统防ARP攻击的几种方法总结Windows服务器操作系统
我想很多朋友都碰到过ARP攻击这种情况,导致流量大增或网站电脑打不开,下面我来给大家总结了常用见的解决ARP攻击的方法,有需要的朋友可参考,
防止ARP攻击方法一 设置权限文件方法
一、常规方式:
开始——运行,输入“regedit”,回车,通过“注册表——查找”,输入“AntiARP”,一个一个删除“AntiARP”注册表信息。
二、非常规方式(通过“安全模式”进入系统,关闭网络连接,拔掉网线):
根据ARP攻击原理:删除调用系统里的npptools.dll文件。如果你把这个DLL文件删除了,之后随便弄个DLL改名为npptools.dll即可。
防攻击文件:C:/WINDOWS/system32/ npptools.dll
处理方法:新建一个空文本文档,改名为npptools.dll然后把它复制到system32文件夹里,覆盖原有的npptools.dll,如果没关闭文件保护,先关闭。再把system32/dllcache里的npptools.dll也覆盖了,然后把它们的属性改为只读、隐藏,最后再把它们的everyone权限都去掉,即可!
npptools.dll文件的属性改为只读、隐藏后,再把它们的everyone的权限去掉,病毒就不能替换也不能使用它了,arp就不会起作用,从而达到防范ARP的目的。
如果C盘是NTFS分区格式就把权限都去掉,如果是FAT格式弄个只读就可以了
防止ARP攻击方法二 网关绑定方法
1.在预装好操作系统后成功远程连接后,可以发现在桌面上有贝壳ARP防火墙,安装防火墙是一个非常有效的方法建议用户第一时间安装
2.可以使用CMD命令对网关进行绑定。
在开始→运行→输入CMD后首先输入arp -a如图 dynamic “动态”
接下来我们输入arp -s对网关进行绑定 如图
最后我们来查看一下绑定状态 已经变为 static “静态”
当电脑上做绑定网关之后,就不会收到ARP欺骗攻击,向伪造的网关的 IP/MAC发送消息
Windows 7下修改网卡Mac地址,可以轻松防御ARP攻击
第一步:建立拨号连接
我们新建一个宽带连接(开始->控制面板->网络和Internet->查看网络状态和任务》设置新的连接或网络->连接到 Internet->接下来一步一步做就行了),我这儿建的名为“宽带连接 2”,然后在属性里找到选项,把里面的连接时显示进度和提示名称,密码和证书等前的对号都去掉,确定,
第二步:修改注册表
然后,Win+R(调出运行对话框),我们输入regedit,确定,这样就打开了注册表,注册表打开后,找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 然后在右边的窗口中新建一个字符串键,名字任取,双击此键输入键值为c:\Windows\System32\rasphone -d “宽带连接 2”(注:我的宽带连接名为“宽带连接 2”,这儿要输入你的宽带连接的名称哦),这样你可以在运行里输入msconfig找启动项看一下是不是加入了一个Windows启动项,而它的命令里就是我们的c:\Windows\System32\rasphone -d \"宽带连接 2”
最后给大家总结一下防止方法
1)病毒源,对病毒源头的机器进行处理,杀毒或重新装系统。
(2)网吧管理员检查局域网病毒,安装杀毒软件。
(3)给系统安装补丁程序。
(4)给系统管理员帐户设置足够复杂的强密码。
(5)经常更新杀毒软件,安装并使用网络防火墙软件。
(6)关闭一些不需要的服务,条件允许的可关闭一些没有必要的共享,也包括C$、D$等管理共享。完全单机的用户也可直接关闭Server服务
(7)建议用户不要随便点击打开QQ、MSN等聊天工具上发来的链接信息,以免病毒的传播。
个人建义
其实我们可以在电脑中安装一个360软件就可以直接解决这个问题哦,因为360内置了防arp攻击软件哦。
★ 总结方法
★ 解析网络过载攻击
★ 阿里云服务器上安装 Ghost方法介绍linux操作系统
★ 疫情防控总结
★ 防踩踏演练总结
★ 防溺水活动总结
★ 防溺水培训总结
Linux防DDOS攻击一些方法总结linux操作系统(精选6篇)




