需kangle 3.1以上商业版支持,搭配ipset或iptables自动封禁IP,解禁IP。

安装软件包

BASH
# centos
yum install ipset iptables

# Debian
apt install ipset iptables
点击展开查看更多

创建kangle的防火墙集合

BASH
ipset create kangle hash:ip hashsize 4096 maxelem 1000000
# 加入系统自启动
echo "/usr/sbin/ipset create kangle hash:ip hashsize 4096 maxelem 1000000" >> /etc/rc.d/rc.local
点击展开查看更多

ipset的集合丢入Iptables的链,使与iptables和ipset进行联动。

BASH
iptables -I INPUT -m set --match-set kangle src -p tcp -m multiport --destination-port 80,81,443,3312,3313 -j DROP
service iptables save
service iptables restart
点击展开查看更多

增加kangle配置文件 /vhs/kangle/ext目录新建一个xml文件

BASH
touch /vhs/kangle/ext/ipset.xml;
cat >>/vhs/kangle/ext/ipset.xml<<EOF
<!--#start 800 -->
<?xml version="1.0" encoding="utf-8"?>
<config>
<block_ip_cmd>/usr/sbin/ipset add kangle ${ip}</block_ip_cmd>
<unblock_ip_cmd>/usr/sbin/ipset del kangle ${ip}</unblock_ip_cmd>
<flush_ip_cmd>/usr/sbin/ipset flush kangle</flush_ip_cmd>
</config>
EOF
点击展开查看更多

重载kangle配置文件

BASH
/vhs/kangle/bin/kangle -r
点击展开查看更多

屏蔽的IP查看

BASH
ipset list kangle
点击展开查看更多

卸载kangle ipset防御

BASH
rm -f /vhs/kangle/ext/ipset.xml
/vhs/kangle/bin/kangle --r
ipset flush
点击展开查看更多

使用kangle黑名单

进入kangle的管理后台:ip:3312

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

设置2秒80次访问,拉入黑名单,目标选择拒绝。

kangle

版权声明

作者: JunYan`Blog

链接: https://www.jinjun.top/posts/52/

许可证: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Please attribute the source, use non-commercially, and maintain the same license.

评论

开始搜索

输入关键词搜索文章内容

↑↓
ESC
⌘K 快捷键