设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 6157|回复: 35

kangle配合iptables实现黑名单系统,频率检测自动封禁IP,打造防火墙拦截系统

[复制链接]
 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2015/6/13 04:49 | 显示全部楼层 |阅读模式 |Google Chrome 43.0.2357.124|Windows 8.1
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
顺便一说,毕竟防护CC默认只是阻断访问,肯定没黑名单封禁不接收数据来的强,省流量是肯定的。


需kangle 3.1以上商业版支持,可配合iptables自动封,解封ip,防止攻击。使用得当,效果非常好。

初始化iptables,输入以下命令(root): 必须添加,否者都提示No chain/target/match by that name.报错

  1. /sbin/iptables -N kangle
  2. /sbin/iptables -I INPUT -p tcp -j kangle
  3. /etc/init.d/iptables save
复制代码



增加配置文件
/vhs/kangle/ext目录新建一个xml文件,如:iptables.xml,内容如下:(目录不存在可以用mkdir -p /vhs/kangle/ext创建)
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <config>
  3. <block_ip_cmd>/sbin/iptables -I kangle -s ${ip} -j DROP</block_ip_cmd>
  4. <unblock_ip_cmd>/sbin/iptables -D kangle -s ${ip} -j DROP</unblock_ip_cmd>
  5. <flush_ip_cmd>/sbin/iptables -F kangle</flush_ip_cmd>
  6. <bl_time>600</bl_time>
  7. </config>
复制代码


bl_time是黑名单时间,单位秒,请修改为你的设置。这里设置的是10分钟。


如果不想添加初始化iptables命令的话,可以放在系统默认的INPUT表中,把kangle替换INPUT就可以了。比如说用下面这个,就可以不进去ssh进行初始化,方便做cdnbest多节点分发之类,注意默认封禁all,包括ping也会进行拦截10分钟,期间无法登陆ssh,至于命令加不加tcp看你自己了,个人建议全封了。
  1. <!--#start 800 -->
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <config>
  4. <block_ip_cmd>/sbin/iptables -I INPUT -s ${ip} -j DROP</block_ip_cmd>
  5. <unblock_ip_cmd>/sbin/iptables -D INPUT -s ${ip} -j DROP</unblock_ip_cmd>
  6. <flush_ip_cmd>/sbin/iptables -F INPUT</flush_ip_cmd>
  7. <bl_time>600</bl_time>
  8. </config>
复制代码


重载kangle配置文件
  1. /vhs/kangle/bin/kangle -r
复制代码


使用黑名单
进kangle管理后台 http://ip:3311/
black_list标记模块。在请求控制中可以使用这个模块,这个可以和其它模块配合,如ip_rate用来检测某个ip的访问频率。仅在全局请求控制中才会同步到防火墙上。
per_ip_deny,在配置==>资源限制,勾上per_ip_deny,kangle会对超过每ip连接数限制的加入黑名单。

具体设置可以参考:http://bbs.itzmx.com/thread-9270-1-1.html


使用
  1. iptables -L -n --line-numbers
复制代码
查看封禁效果

效果图,个人建议使用频率,2秒80次封禁10分钟是不错的设置。目标设置拒绝
1.png

补充,现在http2的话,资源并发占用很大,建议调大数值,比如说10秒内200次。

2.jpg

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

刻骨铭心 该用户已被删除
发表于 2015/6/13 04:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 98 天

[LV.6]常住居民II

发表于 2017/7/9 05:47 | 显示全部楼层 |Google Chrome 59.0.3071.115|Windows 7
我想问那个kangle已生效的黑名单列表 在哪看,Windows下面的
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2017/7/9 15:23 | 显示全部楼层 |Google Chrome 59.0.3071.115|Windows 8.1
hhmx 发表于 2017/7/9 05:47
我想问那个kangle已生效的黑名单列表 在哪看,Windows下面的

这个在前台上看不到。。有api可以获取当前黑名单列表
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2017/7/9 15:23 | 显示全部楼层 |Google Chrome 59.0.3071.115|Windows 8.1
然后具体的api是啥我不知道←
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 98 天

[LV.6]常住居民II

发表于 2019/11/19 15:19 | 显示全部楼层 |Google Chrome 78.0.3904.87|Windows 10
小樱 发表于 2017/7/9 15:23
然后具体的api是啥我不知道←

小樱现在知道api是啥了吗
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2019/11/19 19:34 | 显示全部楼层 |Google Chrome 78.0.3904.97|Windows 10
hhmx 发表于 2019/11/19 15:19
小樱现在知道api是啥了吗

没关注,你问问官方
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 58 天

[LV.5]常住居民I

发表于 2020/5/27 06:17 | 显示全部楼层 |Safari 13.1|iPhone iOS 13.4.1
用一种方法部署了,谢谢分享。第二种方法应该是旧本来教程了吧,系统默认的INPUT表中,这个没找到,只有BEGIN表
[发帖际遇]: 天子 捡了钱没交公 威望 降了 2 . 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2020/5/27 06:35 | 显示全部楼层 |Google Chrome 81.0.4044.138|Windows 10
天子 发表于 2020/5/27 06:17
用一种方法部署了,谢谢分享。第二种方法应该是旧本来教程了吧,系统默认的INPUT表中,这个没找到,只有BEG ...

INPUT是系统防火墙,,不是请求控制
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 44 天

[LV.5]常住居民I

发表于 2020/8/10 23:12 | 显示全部楼层 |Google Chrome 80.0.3987.116|Windows 8.1
昨天刚看的,用IP黑名单防范攻击,感觉比这个好用多了,还有现在对于大部分做反代的小鸡,大都是centos7以上系统,一般不自动安装ipta防火墙了,
https://bbs.itzmx.com/forum.php?mod=viewthread&tid=9270&pid=406286&page=1&extra=#pid406286
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2020/8/11 00:23 | 显示全部楼层 |Google Chrome 84.0.4147.105|Windows 10
uddd 发表于 2020/8/10 23:12
昨天刚看的,用IP黑名单防范攻击,感觉比这个好用多了,还有现在对于大部分做反代的小鸡,大都是centos7以 ...

嗯,防火墙yum一下就能安装啦,一般阿里云腾讯云的centos7模板都自带
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 44 天

[LV.5]常住居民I

发表于 2020/8/14 23:05 | 显示全部楼层 |Google Chrome 80.0.3987.116|Windows 8.1
所谓初始化iptables,是指需要将iptables所有默认规则和自定义规还有计数器归0清空吗,还是什么意思
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2020/8/15 00:53 | 显示全部楼层 |Google Chrome 84.0.4147.125|Windows 10
uddd 发表于 2020/8/14 23:05
所谓初始化iptables,是指需要将iptables所有默认规则和自定义规还有计数器归0清空吗,还是什么意思{:1324: ...

意思就是在iptables中创建一个表,并且给表设置好规则并且保存的意思。操作完成后,kangle就可以操作这个表进行添加ip地址拦截
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 44 天

[LV.5]常住居民I

发表于 2020/8/15 12:52 | 显示全部楼层 |Google Chrome 80.0.3987.116|Windows 8.1
小樱 发表于 2020/8/15 00:53
意思就是在iptables中创建一个表,并且给表设置好规则并且保存的意思。操作完成后,kangle就可以操作这个 ...

这样就可以了吗,第3条命令对centos7不适用了,自己找的规则保存命令
1.png 2.png
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2020/8/15 19:03 | 显示全部楼层 |Google Chrome 84.0.4147.125|Windows 10
uddd 发表于 2020/8/15 12:52
这样就可以了吗,第3条命令对centos7不适用了,自己找的规则保存命令

嗯,centos7的保存规则你可以发帖分享
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 44 天

[LV.5]常住居民I

发表于 2020/8/15 21:28 | 显示全部楼层 |Google Chrome 80.0.3987.116|Windows 8.1
小樱 发表于 2020/8/15 19:03
嗯,centos7的保存规则你可以发帖分享

好的,我先整理完全套,发在哪个区呢,各类教程里面吗
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2020/8/15 23:27 | 显示全部楼层 |Google Chrome 84.0.4147.125|Windows 10
uddd 发表于 2020/8/15 21:28
好的,我先整理完全套,发在哪个区呢,各类教程里面吗

嗯,可以
[发帖际遇]: 一个袋子砸在了 小樱 头上,小樱 赚了 5 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 58 天

[LV.5]常住居民I

发表于 2020/10/19 14:59 | 显示全部楼层 |Safari 13.1.1|iPhone iOS 13.5.1
这个能设置多个规则吗?目前遇到了恶意刷静态,设置了300s 1000次 封锁一天,封锁了3k多的ip,流量明显下降。想额外弄一个600s 1500次封锁一月的
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2020/10/19 17:39 | 显示全部楼层 |Google Chrome 86.0.4240.75|Windows 10
天子 发表于 2020/10/19 14:59
这个能设置多个规则吗?目前遇到了恶意刷静态,设置了300s 1000次 封锁一天,封锁了3k多的ip,流量明显下降 ...

可以,互不冲突不影响
[发帖际遇]: 小樱 被钱袋砸中进医院,看病花了 2 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 1 反对 0

使用道具 举报

签到天数: 58 天

[LV.5]常住居民I

发表于 2020/10/20 11:07 | 显示全部楼层 |Safari 13.1.1|iPhone iOS 13.5.1
小樱 发表于 2020/10/19 17:39
可以,互不冲突不影响

监控频率可以在请求控制写多条,黑名单时间我只知道有一个填写框;
请教下如何对不同频率封锁不同的时间
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2020/10/20 18:45 | 显示全部楼层 |Google Chrome 86.0.4240.75|Windows 10
天子 发表于 2020/10/20 11:07
监控频率可以在请求控制写多条,黑名单时间我只知道有一个填写框;
请教下如何对不同频率封锁不同的时间 ...

看了下新版已经取消封禁时间选项了,只能设置一个全局的封禁时间
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 58 天

[LV.5]常住居民I

发表于 2020/10/31 00:25 来自手机 | 显示全部楼层
服务器重启后得初始化下命令,然后kangle也重启下先生效
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 58 天

[LV.5]常住居民I

发表于 2020/10/31 00:49 | 显示全部楼层 |Safari 13.1.1|iPhone iOS 13.5.1
“ 如果不想添加初始化iptables命令的话,可以放在系统默认的INPUT表中,把kangle替换INPUT就可以了。”这个是指/vhs/kangle/ext/中的任意一个表格?
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2020/10/31 02:28 | 显示全部楼层 |Google Chrome 86.0.4240.111|Windows 10
天子 发表于 2020/10/31 00:49
“ 如果不想添加初始化iptables命令的话,可以放在系统默认的INPUT表中,把kangle替换INPUT就可以了。”这 ...

是iptables的表
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 58 天

[LV.5]常住居民I

发表于 2020/10/31 18:47 | 显示全部楼层 |Safari 13.1.1|iPhone iOS 13.5.1

去折腾了一番,用了第三条代码,以后重启服务器再也不用担心去ssh做初始化命令;
<block_ip_cmd>/sbin/iptables -I INPUT -s ${ip} -j DROP</block_ip_cmd>同步kangle黑名单添加至防火墙
<unblock_ip_cmd>/sbin/iptables -D INPUT -s ${ip} -j DROP</unblock_ip_cmd>同步kangle要删除的黑名单到防火墙
<flush_ip_cmd>/sbin/iptables -F INPUT</flush_ip_cmd>清除所有防火墙IP,应该是kangle重启的时候会触发这个
<bl_time>600</bl_time>这个好像可以直接删除,我在全局的配置设置了500秒,优先启用封禁时间500秒
[发帖际遇]: 天子 发帖时在路边捡到 5 樱币,偷偷放进了口袋. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2020/10/31 18:50 | 显示全部楼层 |Google Chrome 86.0.4240.111|Windows 10
天子 发表于 2020/10/31 18:47
去折腾了一番,用了第三条代码,以后重启服务器再也不用担心去ssh做初始化命令;
/sbin/iptables -I INP ...


是的,非常棒,完美的理解,就是这个意思
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 33 天

[LV.5]常住居民I

发表于 2020/11/14 14:28 | 显示全部楼层 |Google Chrome 84.0.4147.125|Windows 7
本帖最后由 platnumcn 于 2020/11/14 14:30 编辑

大佬 出来的是这样的对不
就是 我用命令 systemctl is-enabled iptables 回答 IPTABLES是DISABLED 这需要给他关闭默认防火墙 开启不 看YOUTUBE说是要用命令
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld 然后再用
systemctl enable iptables
systemctl start iptables
iptable.png
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2020/11/14 16:37 | 显示全部楼层 |Google Chrome 86.0.4240.193|Windows 10
platnumcn 发表于 2020/11/14 14:28
大佬 出来的是这样的对不
就是 我用命令 systemctl is-enabled iptables 回答 IPTABLES是DISABLED 这需要 ...

是,使用iptables,而不是firewalld
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 30 天

[LV.5]常住居民I

发表于 2022/6/16 14:23 | 显示全部楼层 |Firefox 101.0|Windows 10
本帖最后由 hackaq 于 2022/6/16 14:30 编辑

@小樱 这个只能全局在节点的ip吗?cdn反向代理的域名不命中

昨天我本地做了测试 如果直接CC节点ip的话 会命中这封禁,然后我又测试了下域名,直接cc域名的话就不会命中  check_black_list  ip_rate  black_list per_ip 这几个模块 也不会在iptables封禁, 难道是我配置请求控制的排序导致的吗?我都是插入在 0 1 2

因为cc攻击都是直接c域名的多 ,有什么办法攻击者c域名也拦截封禁吗?
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 28920

签到天数: 3831 天

[LV.Master]伴坛终老

发表于 2022/6/16 19:18 | 显示全部楼层 |Google Chrome 102.0.5005.124|Windows 10
hackaq 发表于 2022/6/16 14:23
@小樱 这个只能全局在节点的ip吗?cdn反向代理的域名不命中

昨天我本地做了测试 如果直接CC节点ip的话  ...


没有你这种说法,根据你的描述,你CC节点ip时已经被封禁了。
你先检查下是否拦截封禁了,有没有先重启来释放封禁的ip名单,不然此时在去CC域名,依旧已经在封禁名单中了,自然无需二次进行封禁。

[发帖际遇]: 小樱 发帖时在路边捡到 5 樱币,偷偷放进了口袋. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2022/6/30 11:50 , Processed in 0.204932 second(s), 22 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表