使用redis来调用iptables,封禁恶意IP 原 荐

栏目: 数据库 · 发布时间: 5年前

使用 <a href='https://www.codercto.com/topics/18994.html'>redis</a> 来调用iptables,封禁恶意IP 原 荐

使用redis来调用iptables,封禁恶意IP

  叫我甘道夫 发布于 16分钟前

字数 511

阅读 10

收藏 0

Redis iptables RedisPushIptables

年底了,该给自己写个总结了,一个六年女 Java 程序员的心声 >>> 使用redis来调用iptables,封禁恶意IP 原 荐

话不多说,通常大多数站点都会有被薅羊毛的情况,防护无非也就是业务层做处理,短时内不再响应恶意请求啦.虽然不响应了,可还是会消耗资源的,比如我要从数据库(当然也可能是内存数据库)去查询下,你是不是恶意的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

从此普通开发也能像运维那样,使用防火墙了.其实我不擅长写作,大伙凑合看吧,就这么多。

© 著作权归作者所有

共有人打赏支持

上一篇: 溯原入侵,查找漏洞?

下一篇: nginx ngx_dynamic_limit_req_module进行动态限流防刷接口

使用redis来调用iptables,封禁恶意IP 原 荐

叫我甘道夫

使用redis来调用iptables,封禁恶意IP 原 荐
使用redis来调用iptables,封禁恶意IP 原 荐

开源项目作者

作为一个开源项目作者,是时候站出来拯救世界了!

领取条件:开源项目被开源中国收录的开发者可领取

粉丝 5

博文 5

码字总数 2878

作品 3

杭州

运维

提问

相关文章 最新文章

Nginx 通过 Lua + Redis 实现动态封禁 IP

1。背景 为了禁止一些爬虫或恶意用户请求的服务器,我们需要创建一个动态IP黑名单。对于黑名单内的IP,拒绝提供服务。 两。建筑 实现IP黑名单的方法有很多种。 1,在操作系统层面,配置iptab...

小致dad

04/18

0

0

如何防范和应对Redis勒索,腾讯云教你出招

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB发表于云+社区专栏 9月10日下午,又一起规模化利用Redis未授权访问漏洞攻击数据库的事件发生,此次...

腾讯云+社区

09/11

0

0

关于反爬虫和恶意攻击的一些策略和思路

前段时间Guang.com经常受到恶意spider攻击,疯狂抓取网站内容,一系列机器人spam发广告,对网站性能有较大影响。 下面我说说一些反恶意spider和spam的策略和思路。 1. 通过日志分析来识别恶意...

Cnlouds

2014/03/09

0

3

用nginx日志+iptables防御CC攻击

攻击情况 最近被cc攻击,搞得 mysql 压力很大,访问速度很慢或者无法访问 看了一下nginx日志,发现日志里面$httpuseragent这个变量中总有包含“Baiduspider”这个变量。 如下图 解决思路 1.找出...

旋转木马-千里马

2016/09/05

74

0

使用redis来调用iptables,封禁恶意IP 原 荐
用nginx日志+iptables防御CC攻击

本文介绍一个简单完整的对抗cc攻击的方法 使用软件: nginx + redis + iptables 还有少量awk命令 攻击情况 最近被cc攻击,搞得mysql压力很大,访问速度很慢或者无法访问 看了一下nginx日志,...

吕明明

2016/08/30

237

0

使用redis来调用iptables,封禁恶意IP 原 荐

没有更多内容

加载失败,请刷新页面

加载更多
RDLC报表对同一列进行按条件合计

列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

spring框架 AOP核心详解

AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。 一 AOP的基本概念 (1)Aspec...

编程SHA

11分钟前

2

0

Js 变量声明提升和函数声明提升

Js代码分为两个阶段:编译阶段和执行阶段 Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容 包括变量声明(var a)和函数声明(function a(){})在...

IrisHuang

14分钟前

1

0

使用redis来调用iptables,封禁恶意IP

话不多说,通常大多数站点都会有被薅羊毛的情况,防护无非也就是业务层做处理,短时内不再响应恶意请求啦.虽然不响应了,可还是会消耗资源的,比如我要从数据库(当然也可能是内存数据库)去查询下,...

叫我甘道夫

16分钟前

10

0

eosjs转账代码

本文介绍使用V20版本的eosjs实现代币转账的思路,并给出eosjs转账的实现代码。 如果要深入系统地学习Eos应用开发,推荐这个教程:Eos智能合约与Dapp开发入门 我们首先在nodejs中引入要使用到...

汇智网教程

17分钟前

1

0

没有更多内容

加载失败,请刷新页面

加载更多

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web缓存

Web缓存

Duane Wessels / 清华大学 / 2002-11 / 99.00元

When I first sta一起来看看 《Web缓存》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试