當前位置:
首頁 > 知識 > 使用redis來調用iptables,封禁惡意IP

使用redis來調用iptables,封禁惡意IP

話不多說,通常大多數站點都會有被薅羊毛的情況,防護無非也就是業務層做處理,短時內不再響應惡意請求啦.雖然不響應了,可還是會消耗資源的,比如我要從資料庫(當然也可能是內存資料庫)去查詢下,你是不是惡意的IP. 那麼能否網路層或應用層去處理呢?在前幾篇文章有寫過應用層方案,今天就寫下網路層方法.

說起iptables 除非是專業人員,像普通開發者是不會使用的,一堆表一堆鏈的一看就頭疼.所以**RedisPushIptables**就應時而生,開發者不須為iptables複雜語法頭疼,只需要像使用redis那樣簡單,就可使用iptables來阻擋惡意IP地址.

RedisPushIptables是一個redis模塊

該模塊可以通過 redis 來操作 iptables 的 filter表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

從此普通開發也能像運維那樣,使用防火牆了.其實我不擅長寫作,大夥湊合看吧,就這麼多。

作者:叫我甘道夫

原文:https://my.oschina.net/MasterXimen/blog/2990886

使用redis來調用iptables,封禁惡意IP

打開今日頭條,查看更多圖片
喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

程序員紋身被拍引網友熱議,代碼身上紋,我是社會人!
scala學習-泛型、界定、形變、this.type、複合類型、抽象類型

TAG:程序員小新人學習 |