潜龙勿用,见龙在田
全部博文(540)
分类: LINUX
2009-03-06 14:28:07
1. 这些天,发现有人通过帐号的组合,企图攻入服务器。从日志上可以看到其攻击速度超快!这样很可怕,如果允许其每秒钟上千次的组合测试,那我的服务器就有问题了!
2. 简单配置,Iptables就可较轻松阻断SSH的攻击尝试!方法如下:
sudo Iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m recent –set –name SSH
sudo Iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m
recent –update –seconds 60 –hitcount 8 –rttl –name SSH -j DROP
解释一下,-i eth0 是SSH的网络接口, 每分钟总共有8个SSH的连接限制。
3.因为在做测试,需要在corontab增加下面一行:*/10 **** /sbin/Iptables F
也就是每个10分钟就会清空Iptables中的所有规则,只是防止将来把自己也锁在外面。
4.高级配置,在 eth0 up 也就是随系统自启动所定义的规则:
/etc/network/if-up.d/bfa_protection
#!/bin/bash
["${METHOD}" != loopback] || exit 0
/sbin/Iptables -A INPUT -i eth0 -p tcp -dport 22 -m state –state NEW -m recent –set –name SSH
/sbin/Iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m
recent –update –seconds 60 –hitcount 8 –rttl –name SSH -j DROP
保存这个文件,并使之为可执行文件:chmod u+x /etc/network/if-up.d/bfa_protection
这样就每次网卡接口启动时,就自动增加规则到 Iptables 中
5. 完善,若保证这些规则不会被再次添加:
/etc/network/if-up.d/bfa_protection
#!/bin/bash
["${METHOD}" != loopback] || exit 0
/sbin/Iptables -D INPUT -i eth0 -p tcp -dport 22 -m state –state NEW -m recent –set –name SSH
/sbin/Iptables -D INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m
recent –update –seconds 60 –hitcount 8 –rttl –name SSH -j DROP
其中 -D removes a rule whereas. -A adds one.
chmod u+x /etc/network/if-down.d/bfa_protection
6. 实际测试:
1) 执行加入规则:
/etc/network/if-up.d/bfa_protection
Iptables -L
2) 清除规则:
/etc/network/if-down.d/bfa_protection
Iptables -L
7. 问题:
1) 如在测试过程中有问题,那么执行 Iptables -F 时清除所有的规则。
2) 也可通过删除创建的文件:
rm /etc/network/if-up.d/bfa_protection
rm /etc/network/if-down.d/bfa_protection
Iptables -F