最近在IBM 免费提供的Bluemix虚拟机上玩shadowsocks代理,查看日志的时候无意间发现很多坏蛋在暴力破解我的ssh,真是用心良苦,俺可是用的key来登录哦,那我也要阻止一下这种行为,一开始是单个ip的reject,后来grep了一下日志,发现有很多坏蛋都在搞破坏,就找到如下语句来阻止。
[root@/var/log/audit01:54]#grep fail /var/log/audit/audit.*|cut -d' ' -f11|cut -d'=' -f2|sort |uniq -c|sort -n -k1 -r 14634 58.218.211.38 10228 ? 7621 "/usr/sbin/sshd" 2055 222.186.56.5 1423 59.45.79.51 467 59.45.79.36 426 94.182.163.75 348 41.215.4.70 332 222.186.52.158 312 218.65.30.92 183 103.31.80.226 182 5.10.78.52 174 mail.nairobiwater.co.ke 156 91.201.236.114 124 5.10.78.54 99 195.225.58.153 93 61.132.52.22 91 34.4e.0a05.ip4.static.sl-reverse.com 63 218.26.243.138 62 36.4e.0a05.ip4.static.sl-reverse.com 54 115.92.27.100 46 jsjty.com 45 45.64.97.51 22 201.238.210.145 21 213.136.91.9 18 193.169.86.77 15 62.212.73.196 12 112.74.35.46 12 109.169.48.140 iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
第一句是说,对于外来数据,如果是 TCP 协议,目标端口号是 22,网络接口是 eth0,状态是新连接,那么把它加到最近列表中。
第二句是说,对于这样的连接,如果在最近列表中,并且在 60 秒内达到或者超过四次,那么丢弃该数据。其中的-m是模块的意思。 也就是说,如果有人从一个 IP 一分钟内连接尝试四次 ssh 登录的话,那么它就会被加入黑名单,后续连接将会被丢弃。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。