使用redis来调用iptables,封禁恶意IP
顶
原
荐
字数 511
阅读 10
收藏 0
Redis iptables RedisPushIptables
年底了,该给自己写个总结了,一个六年女 Java 程序员的心声 >>>
话不多说,通常大多数站点都会有被薅羊毛的情况,防护无非也就是业务层做处理,短时内不再响应恶意请求啦.虽然不响应了,可还是会消耗资源的,比如我要从数据库(当然也可能是内存数据库)去查询下,你是不是恶意的IP. 那么能否网络层或应用层去处理呢?在前几篇文章有写过应用层方案,今天就写下网络层方法.
说起iptables 除非是专业人员,像普通开发者是不会使用的,一堆表一堆链的一看就头疼.所以** RedisPushIptables **就应时而生,开发者不须为iptables复杂语法头疼,只需要像使用redis那样简单,就可使用iptables来阻挡恶意IP地址.
RedisPushIptables 是一个redis模块
该模块可以通过 redis 来操作 iptables 的 INPUT 表规则的增加和删除,可以用来动态调用防火墙。比如用来防御攻击。
但是前提要以 root 来运行,因为 iptables 需要 root 权限。
git clone https://github.com/limithit/RedisPushIptables.git cd RedisPushIptables && make 加载模块 MODULE LOAD /path/to/iptablespush.so 语法 accept.insert - Filter table INPUT ADD ACCEPT accept.delete - Filter table INPUT DEL ACCEPT drop.insert - Filter table INPUT ADD DROP drop.delete - Filter table INPUT DEL DROP 127.0.0.1:6379>accept.insert 192.168.188.8 (integer) 13 127.0.0.1:6379>accept.delete 192.168.188.8 (integer) 13 127.0.0.1:6379>drop.delete 192.168.188.8 (integer) 13 127.0.0.1:6379>drop.insert 192.168.188.8 (integer) 13 root@debian:~# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination DROP all -- 192.168.188.8 0.0.0.0/0 ACCEPT all -- 192.168.188.8 0.0.0.0/0
从此普通开发也能像运维那样,使用防火墙了.其实我不擅长写作,大伙凑合看吧,就这么多。
© 著作权归作者所有
共有人打赏支持
上一篇: 溯原入侵,查找漏洞?
相关文章 最新文章
1。背景 为了禁止一些爬虫或恶意用户请求的服务器,我们需要创建一个动态IP黑名单。对于黑名单内的IP,拒绝提供服务。 两。建筑 实现IP黑名单的方法有很多种。 1,在操作系统层面,配置iptab...
小致dad
04/18
0
0
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB发表于云+社区专栏 9月10日下午,又一起规模化利用Redis未授权访问漏洞攻击数据库的事件发生,此次...
腾讯云+社区
09/11
0
0
前段时间Guang.com经常受到恶意spider攻击,疯狂抓取网站内容,一系列机器人spam发广告,对网站性能有较大影响。 下面我说说一些反恶意spider和spam的策略和思路。 1. 通过日志分析来识别恶意...
Cnlouds
2014/03/09
0
3
攻击情况 最近被cc攻击,搞得 mysql 压力很大,访问速度很慢或者无法访问 看了一下nginx日志,发现日志里面$httpuseragent这个变量中总有包含“Baiduspider”这个变量。 如下图 解决思路 1.找出...
旋转木马-千里马
2016/09/05
74
0
本文介绍一个简单完整的对抗cc攻击的方法 使用软件: nginx + redis + iptables 还有少量awk命令 攻击情况 最近被cc攻击,搞得mysql压力很大,访问速度很慢或者无法访问 看了一下nginx日志,...
吕明明
2016/08/30
237
0
没有更多内容
加载失败,请刷新页面
加载更多列1 列2 a 1 a 3 b 2 a 2 比如这样的,最后只合计条件是列1为a的列2的值。 添加表达式如下: =Sum(Switch(Fields!列1.Value="a",Fields!列2.Value))...
Jokeny
11分钟前
0
0
AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。 一 AOP的基本概念 (1)Aspec...
编程SHA
11分钟前
2
0
Js代码分为两个阶段:编译阶段和执行阶段 Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容 包括变量声明(var a)和函数声明(function a(){})在...
IrisHuang
14分钟前
1
0
话不多说,通常大多数站点都会有被薅羊毛的情况,防护无非也就是业务层做处理,短时内不再响应恶意请求啦.虽然不响应了,可还是会消耗资源的,比如我要从数据库(当然也可能是内存数据库)去查询下,...
叫我甘道夫
16分钟前
10
0
本文介绍使用V20版本的eosjs实现代币转账的思路,并给出eosjs转账的实现代码。 如果要深入系统地学习Eos应用开发,推荐这个教程:Eos智能合约与Dapp开发入门 我们首先在nodejs中引入要使用到...
汇智网教程
17分钟前
1
0
没有更多内容
加载失败,请刷新页面
加载更多以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Nginx 通过 Lua + Redis 实现动态封禁 IP
- 因为两位志愿者来自伊朗,GitHub 封禁了一个开源项目
- 【Nginx】如何封禁IP和IP段?看完这篇我会了!!
- 美国政府一纸禁令,封禁了所有程序员们的自由?
- 我疯起来自己都害怕!GitHub 封禁自家开源项目 Aurelia引众怒,CEO公开道歉,但开发者们并不买账
- 直观讲解-RPC调用和HTTP调用的区别
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。