文档章节

Shell脚本配合iptables屏蔽

是江山
 是江山
发布于 2017/08/10 13:11
字数 664
阅读 26
收藏 1

星期六我们子公司受到攻击,我们的网络监测显示有连续6小时的巨大异常流量,我立即联系在场IT,没有得到回应,我修改和限制了他们的 VPS,使得个别 VPS 受攻击不会对整个服务器和其他 VPS 用户造成任何影响,我们一直保持这个 VPS 为开通状态(尽管一直受攻击),攻击又持续了24小时,星期天攻击仍在继续,我们忍无可忍,立即投入到与 DDoS 的战斗中(我们动态扫描屏蔽坏 IP,现在网站已恢复。整个过程很有意思,以后有时间再写一篇博客来描述)。登录到 VPS 第一件事情就是查当前连接和 IP,来自中国的大量 IP 不断侵占80端口,典型的 DDoS. 所以第一件事是切断攻击源,既然攻击只攻80端口,那有很多办法可以切断,直接关闭网站服务器、直接用防火墙/iptables 切断80端口或者关闭所有连接、把 VPS 网络关掉、换一个 IP,⋯,等等。因为攻击源在国内,所以我们决定切断来自国内的所有访问,这样看上去网站好像是被墙了而不是被攻击了,有助于维护客户网站的光辉形象,那么如何屏蔽来自某个特定国家的 IP 呢? 方法很容易,先到 IPdeny 下载以国家代码编制好的 IP 地址列表,比如下载 cn.zone: 复制代码 代码如下:

wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone

有了国家的所有 IP 地址,要想屏蔽这些 IP 就很容易了,直接写个脚本逐行读取 cn.zone 文件并加入到 iptables 中: 复制代码 代码如下:

#!/bin/bash
# Block traffic from a specific country

COUNTRY="cn"
IPTABLES=/sbin/iptables
EGREP=/bin/egrep
if [ "$(id -u)" != "0" ]; then
   echo "you must be root" 1>&2
   exit 1
fi
resetrules() {
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
}
resetrules
for c in $COUNTRY
do
        country_file=$c.zone
        IPS=$($EGREP -v "^#|^$" $country_file)
        for ip in $IPS
        do
           echo "blocking $ip"
           $IPTABLES -A INPUT -s $ip -j DROP
        done
done
exit 0

好 IP 和坏 IP 都被屏蔽掉了,这种办法当然不高明,屏蔽 IP 也没有解决被攻击的问题,但是是解决问题的第一步,屏蔽了攻击源以后我们才有带宽、时间和心情去检查 VPS 的安全问题。我们被攻击的网络流量,在18点到0点所有带宽都被攻击流量占用,这时候客户无法登录 VPS,访问者也无法访问网站!

本文转载自:http://www.okay686.cn/?p=490

是江山
粉丝 4
博文 44
码字总数 24060
作品 0
苏州
运维
私信 提问
DDoS deflate–简单解决VPS被DDOS/CC攻击

我想现在大家接触VPS久了,也知道互联网上被DDOS,CC是家常便饭,在没有硬防的情况下,寻找软件代替是最直接的方法,比如用iptables,但是iptables不能在自动屏蔽,只能手动屏蔽,今天我给大...

netmouse
2015/04/12
586
0
Linux安全之三大攻击(SYN,DDOS,CC)原理及处理

Linux安全之SYN攻击原理及处理 TCP自从1974年被发明出来之后,历经30多年发展,目前成为最重要的互联网基础协议,但TCP协议中也存在一些缺陷。 SYN攻击就是利用TCP协议的缺陷,来导致系统服务...

梁东升
2018/04/11
0
0
企业Linux服务器数据实时同步备份的解决方案

摘要:数据是最宝贵的财产!公司的服务器都是需要对数据有着完整的备份策略,利用脚本、计划任务、开源软件等等,无论那种途径,能够对数据的实时同步,才是最理想的效果!下面详细介绍利用r...

Minkon1
2013/11/08
0
0
阻止拒绝服务攻击的 bash shell 脚本--DDoS Deflate

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n wget https://github.com/jgmdev/ddos-deflate/archive/master.zipunzip master.zipcd ddos-deflate-master./in......

匿名
2017/01/10
723
0
Linux 使用DDoS deflate结合APF阻止DDOS攻击【大量虚假IP效果有限】

使用DDoS deflate自动屏蔽攻击ip DDoS deflate 工作原理: DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个IP连接数量...

LionelShen
2016/02/24
521
0

没有更多内容

加载失败,请刷新页面

加载更多

如何使用soapUI模拟webservice客户端发送请求

参考资料 https://jingyan.baidu.com/article/cbcede0712849a02f40b4d88.html 左边是请求参数,可以自己填写!按着那个绿色三角箭头可以模拟发送请求,右边是返回的报文 soapui如何发送xml格...

故久呵呵
39分钟前
5
0
Java Security 介绍

1.介绍 Java平台设计的重点是安全性。在其核心,java语言本身是类型安全的并且提供了垃圾自动回收,这使其增加了应用程序代码的健壮性。安全的类加载以及验证机制确保了只有合法的代码才能够...

lixiaobao
45分钟前
5
0
Niushop开源商城系统-分销商管理

分销商管理 1.分销员的招募与管理 如何申请成为分销员? 在wap端个人中心满足之前设置的升级条件,可以申请分销员 开启分销商审核,需要在后台分销商管理——》待审核处进行审核通过。 通过完...

niushop-芳
46分钟前
5
0
为什么大公司一定要使用 DevOps?

究竟什么是DevOps? 要想回答这个问题,首先要明确DevOps这个过程参与的人员是谁,即开发团队和IT运维团队。那么,DevOps的意图是什么呢?即在两个团队之间,建立良好的沟通和协作,更快更可靠...

cs平台
48分钟前
5
0
高危预警|RDP漏洞或引发大规模蠕虫爆发,用户可用阿里云免费检测服务自检,建议尽快修复

2019年9月6日,阿里云应急响应中心监测到Metasploit-framework官方在GitHub空间公开了针对Windows远程桌面服务远程命令执行漏洞(CVE-2019-0708)的利用代码。利用该代码,无需用户交互操作,即...

Mr_zebra
53分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部