自动甄别黑白名单的iptables安全脚本

简介:

①此脚本能自动过滤掉企业中通过NAT出去的白名单IP,很多企业都是通过NAT软路由上网,我们可以将一些与我们有往来的公司及本公司的安全IP添加进白名单,以防误剔;

②阀值DEFIIN这里定义的是100,其实这个值应该根据具体生产环境而定,50-100之间较好;

③此脚本原理其实很简单,判断瞬间连接数是否大于100,如果是白名单里的IP则跳过;如果不是,则用iptables -I来自动剔除,这里不能用-A,A是在iptables的规则的最后添加,往往达不到即时剔除的效果;

④此脚本最后更新时间为2010年5月24日,这里衷心感谢3158.com的技术总监唐老师,谢谢您在安全相关的指导;

⑤25是mail端口的,其它可依次类推,比如22,再比如80等,具体看你的服务器的应用;目前发现子链接过多的Web站点效果不好,我们这个时候可以用iptables的recent模块来解决,其它非Web应用效果还是不错的;

⑥如有疑问,请联系抚琴煮酒yuhongchun027@163.com.com。

脚本内容如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#/bin/bash
netstat  -an|  grep  :80 |  grep  - v  127.0.0.1 | awk  '{ print $5 }'  sort | awk  -F:  '{print $1,$4}' 
uniq  -c |  awk  '$1 >50 {print $1,$2}'  /root/black .txt
for  in  ` awk  '{print $2}'  /root/black .txt`
do
COUNT=` grep  $i  /root/black .txt |  awk  '{print \$1}' `
DEFINE= "50"
ZERO= "0"
if  [ $COUNT -gt $DEFINE ];
then
grep  $i  /root/white .txt >  /dev/null
if  [ $? -gt $ZERO ];
then
echo  "$COUNT $i"
iptables -I INPUT -p tcp -s $i -j DROP 
fi
fi
done

2009年3月30日下午14:25分,用下列命令监控时:

1
2
netstat  -an|  grep  :25 |  grep  - v  127.0.0.1 | awk  '{ print $5 }'  sort |
awk  -F:  '{print $1}'  uniq  -c |  awk  '$1 >100'

此命令显示结果如下所示:

1122 219.136.163.207

17 61.144.157.236

http://www.ip138.com一查,发现

ip138.com IP查询(搜索IP地址的地理位置)

您查询的IP:219.136.163.207

本站主数据:广东省广州市 电信(荔湾区)

参考数据一:广东省广州市 电信(荔湾区)

参考数据二:广东省广州市荔湾区 电信ADSL

调用deny_100.sh后将此IP Drop掉,再运行./root/count.sh后无显示,显示成功,可用iptables -nv -L验证,所以将此安全脚本写进crontab里,每10分钟运行一次,结果如下所示:

1
* /10  * * * * root  /bin/sh  /root/deny_100 .sh




本文转自 抚琴煮酒 51CTO博客,原文链接:http://blog.51cto.com/yuhongchun/622704,如需转载请自行联系原作者

目录
相关文章
|
运维 小程序 应用服务中间件
记录Ngnix增加对IP封禁及自动封禁IP的方案思考
发现某个应用的服务器一些IP地址或是一些IP段请求量巨大,初步确定为非法请求,经过增加IP封禁策略,使其不可访问。
1498 0
记录Ngnix增加对IP封禁及自动封禁IP的方案思考
|
3月前
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
67 6
|
5月前
|
监控 安全 Serverless
SAE 防火墙的震撼之举:默认拦截公网一切流量,开启网络安全的无敌模式!
【8月更文挑战第7天】在数字化时代,网络安全至关重要。SAE(Serverless Application Engine,无服务器应用引擎)的防火墙功能默认阻止所有公网流量,为应用与数据提供坚实保护。这像坚固城门,将潜在威胁拒之门外,减少恶意攻击风险。如同在混沌中建立秩序,划定网络安全边界。但依赖默认设置不足,需根据业务需求配置规则,如开放特定端口或IP范围。还需持续监控防火墙效果,通过分析访问日志等手段及时调整优化,确保最佳防护效果。
84 0
|
7月前
|
生物认证 Python
WAF攻防-信息收集&识别&被动探针&代理池&仿指纹&白名单
WAF攻防-信息收集&识别&被动探针&代理池&仿指纹&白名单
|
8月前
|
Sentinel
Sentinel实现黑白名单控制详细教程来了
Sentinel实现黑白名单控制详细教程来了
145 0
|
8月前
|
弹性计算 运维 Shell
自动添加防火墙规则
【4月更文挑战第29天】
63 0
vos3000外呼系统非标准的11位手机号码开启国内业务和黑白名单时需设置忽略前缀
登录VOS3000管理界面: 使用管理员账号登录VOS3000管理界面。 进入业务配置界面: 在管理界面中找到业务配置或类似的选项,进入到业务配置的设置界面。 设置国内业务规则: 找到国内业务规则设置选项,一般会有关于号码长度、号码前缀等的设置。在此处设置忽略前缀,使系统能够识别非标准的11位手机号码。 设置黑白名单: 进入到黑白名单的设置界面,在添加黑白名单规则时,同样需要设置忽略前缀,以确保能够正确匹配非标准的手机号码。 保存设置: 在完成配置后,记得保存设置,确保所做的修改生效。 测试验证: 设置完成后,进行一些测试验证,确保系统能够正确识别和处理非标准的手机号码,以及正确应用
|
安全 搜索推荐 数据库
网站被黑检测与网站被黑处理方法
看到此文后,我认为你应该试着通过此文的方法检测一下你的网站是否被黑,因为有可能你的网站被黑了,连你自己都不知道,从下面的图片可以明显的看得出,我的网站也曾被黑过,但这位大神并没有打算处理我的网站,所以只是在网站上传一个文件来提醒我的,或许大家的网站中也有类似的情况。
10989 0
|
网络安全
【防火墙】nat链、规则保存、数据抓包
文章目录 前言 一、定义 二、nat 2.1 SNAT
151 0
【防火墙】nat链、规则保存、数据抓包
|
运维 Shell 网络安全
三分钟让你的服务器自动拒绝恶意登录IP 地址
三分钟让你的服务器自动拒绝恶意登录IP 地址
416 0
三分钟让你的服务器自动拒绝恶意登录IP 地址