iptables 模組 recent 防止字典暴力、port scan 攻擊

iptables 模塊 recent 防止字典暴力、port scan ***html

http://cha.homeip.net/blog/archives/2008/03/iptables_recent.html
http://hahahaha.cc/?p=76
http://www.ducea.com/2006/06/28/using-iptables-to-block-brute-force-attacks/
http://www.snowman.net/projects/ipt_recent/
解決具體問題:限制 ssh 猜密碼,對每一個 IP 容許三分鐘內容許有 5 次 TCP 的 NEW 請求
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name ROUTER-SSH --update --seconds 180 --hitcount 10 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name ROUTER-SSH --set -j ACCEPT linux

iptables recent module 操做備忘
?    同一個 IP 來源在一個小時內只容許創建(或嘗試)五次 SSH 聯機
?    創建解除封鎖的後門
?    /proc/net/ipt_recent/* 清單
同一個 IP 來源在一個小時內只容許創建(或嘗試)三次 SSH 聯機
iptables -A INPUT -p tcp --dport 22 --syn -m recent --rcheck --seconds 3600 --hitcount 3 --rttl --name SSH --rsource -j DROP
iptables -A INPUT -p tcp --dport 22 --syn -m recent --set --name SSH --rsource -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
注: 請注意 rule 順序: 先設置 recent 條件 -j DROP, 再設置 recent --set -j ACCEPT
創建解除封鎖的後門
#留下解鎖的記錄
iptables -A INPUT -p tcp --dport 1600 --syn -j LOG --log-prefix "SSH_CONN_UNLOCKED "
iptables -A INPUT -p tcp --dport 1600 --syn -m recent --remove --name SSH --rsource -j REJECT --reject-with icmp-host-unreachable
使用方法: telnet linux.host 1600
注: 以上 tcp 1600 port 能夠改爲任一個未使用的 tcp port
/proc/net/ipt_recent/* 清單
若未設定 --name 則預設爲 DEFAULT
#把某 IP 加入 DEFAULT 記錄清單
echo xx.xx.xx.xx > /proc/net/ipt_recent/DEFAULT
#把某 IP 從 DEFAULT 清單移除
echo -xx.xx.xx.xx > /proc/net/ipt_recent/DEFAULT
#清空 DEFAULT 清單
echo clear > /proc/net/ipt_recent/DEFAULTssh

相關文章
相關標籤/搜索