|
最近在IBM 免费提供的Bluemix虚拟机上玩shadowsocks代理,查看日志的时候无意间发现很多坏蛋在暴力破解我的ssh,真是用心良苦,俺可是用的key来登录哦,那我也要阻止一下这种行为,一开始是单个ip的reject,后来grep了一下日志,发现有很多坏蛋都在搞破坏,就找到如下语句来阻止。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| [iyunv@/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 登录的话,那么它就会被加入黑名单,后续连接将会被丢弃。
|
|
|
|
|
|
|