闲暇无事时看着无聊的人反复尝试你的22端口有时也是一种消遣。
以下的pf规则摘自《The Book Of PF》,作者是Peter N. M. Hansteen
在过滤规则尽量前面的地方加上
代码: 全选
table <bruteforce> persist
block quick from <bruteforce>
........
pass quick proto {tcp udp} from any to any port ssh\
keep state (max-src-conn 15,max-src-conn-rate 5/3,\
overload <bruteforce> flush global)
这里max-src-conn 是你允许远程一台主机最大的连接数,max-src-conn-rate是新连接的速率,我这里目前是设置成60/120,也就是每120秒有60次的ssh连接尝试,overload是指一旦超过这个限制(连接数和连接速率)该主机的IP地址就会被加入到<bruteforce>中,那么根据前面的block quick from <bruteforce>规则,该主机被自动block,你如果想释放<bruteforece>表中的地址可以使用类似下面的命令:
代码: 全选
# pfctl -t bruteforce -T expire 99710
你也可以设置crontab来自动完成将上面的命令。
注意,你还可以设置你的sshd_config文件配合上面的规则,就能更好地防止ssh密码的暴力破解,也就是禁止root登录,禁用密码验证登录方式,用ssh-keygen设置rsa密钥,更改ssh端口........
gobsd.org