Chinaunix首页 | 论坛 | 博客
  • 博客访问: 260907
  • 博文数量: 42
  • 博客积分: 1445
  • 博客等级: 上尉
  • 技术积分: 485
  • 用 户 组: 普通用户
  • 注册时间: 2005-05-05 16:21
文章分类

全部博文(42)

文章存档

2011年(1)

2009年(5)

2008年(1)

2007年(1)

2006年(28)

2005年(6)

我的朋友

分类: LINUX

2006-08-18 16:58:24

 


  • 限制特定封包傳入速度
  • 限制特定埠口連入頻率
  • iptables Log 記錄參數備忘
  • 自定 Chain 使用備忘
  • 防治 SYN-Flood 碎片攻擊


限制 ping (echo-request) 傳入的速度



限制前, 可正常每 0.2 秒 ping 一次


ping your.linux.ip -i 0.2


限制每秒只接受一個 icmp echo-request 封包


iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 1 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP



--limit 1/s 表示每秒一次; 1/m 則為每分鐘一次


--limit-burst 表示允許觸發 limit 限制的最大次數 (預設 5)


再以每 0.2 秒 ping 一次, 得到的回應是每秒一次


ping your.linux.ip -i 0.2


限制 ssh 連入頻率



建立自訂 Chain, 限制 tcp 連線每分鐘一次, 超過者觸發 Log 記錄 (記錄在 /var/log/messages)


iptables -N ratelimit
iptables -A ratelimit -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A ratelimit -p tcp --syn -m limit --limit 1/m --limit-burst 1 -j ACCEPT
iptables -A ratelimit -p tcp -j LOG --log-level "NOTICE" --log-prefix "[RATELIMIT]"
iptables -A ratelimit -p tcp -j DROP


引用自訂 Chain, 限制 ssh (tcp port 22) 連入頻率


iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0/16 -j ACCEPT (特定 IP 來源不受限制)
iptables -A INPUT -p tcp --dport 22 -j ratelimit


參考資料:


sshd_config 設定備忘:



  • LoginGraceTime 30 密碼輸入時限為 30 秒
  • MaxAuthTries 2 最多只能輸入 3 次密碼

同理可證



iptables -N pinglimit
iptables -A pinglimit -m limit --limit 1/s --limit-burst 1 -j ACCEPT
iptables -A pinglimit -j DROP


iptables -A INPUT -p icmp --icmp-type echo-request -j pinglimit


亦可達到每秒只接受一個 echo-request 封包


補充: 清除自訂 Chain



iptables -L -n --line-number
iptables -D INPUT n
iptables -F ratelimit
iptables -X ratelimit


防治 SYN-Flood 碎片攻擊



iptables -N syn-flood
iptables -A syn-flood -m limit --limit 100/s --limit-burst 150 -j RETURN
iptables -A syn-flood -j DROP


iptables -I INPUT -j syn-flood


模擬攻擊


wget http://www.xfocus.net/tools/200102/naptha-1.1.tgz
wget
tar -zxf naptha-1.1.tgz
rpmbuild --recompile libnet-1.0.1b-1.src.rpm
cp -r /var/tmp/libnet-buildroot/usr/* /usr/local/
cd naptha-1.1
make


./synsend your.linux.host.ip 80 local.host.eth0.ip 0.1


若成功抵擋, 不久後會出現 Can't send packet!: Operation not permitted 的訊息

阅读(3212) | 评论(0) | 转发(0) |
0

上一篇:Mercurial 安装使用

下一篇:debian 安装

给主人留下些什么吧!~~