# 用iptables自动封IP，防SSH被暴力破解

- URL: https://wuming.si/blog/618/
- Author: Aaron
- Published: 2014-08-24
- Language: zh-Hans
- Categories: Technology
- Originally published at: https://blog.wo.ai/archives/618

之前没太关注服务器的攻击，几天突然发现/var/log/secure下面有很多ssh登陆失败的日志，甚至同一个ip有两天多次的攻击，吓了一身冷汗。虽然是个人站，没有太多机密资料，但是被攻击总不是好事情。也许哪天攻破后，就被他们用来干坏事了。还是处理一下比较好。

先把ip过滤出来，然后加到iptables里面

#!/bin/bash  
num=10 #上限  
for i in `awk ‘/Failed/{print $(NF-3)}’ /var/log/secure|sort|uniq -c|sort -rn|awk ‘{if ($1>$num){print $2}}’`  
do

#先删除该条，防止重复的规则，虽然iptables可以执行重复的规则，也许会影响到执行的性能，还是删掉比较好。  
iptables -D INPUT -p tcp -s $i –dport 22 -j DROP

#添加规则  
iptables -I INPUT -p tcp -s $i –dport 22 -j DROP  
done

另外写了一条，将日志导出到某个文件，方便查看

cat /var/log/secure|awk ‘/Failed/{print $(NF-3)}’|sort|uniq -c|sort -rn|awk ‘{print $2″=”$1;}’ >/path/fail.txt

将这两条都加入到crontab里面，隔几分钟执行一次。

另外强烈鄙视一下下面这些IP，诅咒早日关门大吉。

116.10.191.165=162  
116.10.191.183=183  
116.10.191.196=113  
116.10.191.204=135  
116.10.191.227=184  
116.10.191.229=41  
116.10.191.230=173  
117.21.225.157=301  
117.79.91.244=882  
212.83.150.76=24  
61.174.50.235=170  
61.174.51.232=35  
61.33.155.74=124  
82.221.106.233=1

1.234.70.30=23  
115.239.248.121=72  
115.239.248.122=90  
115.239.248.50=24  
115.239.248.51=18  
115.239.248.57=12  
115.239.248.61=144  
115.239.248.90=60  
116.10.191.167=142  
116.10.191.175=168  
116.10.191.236=26  
117.21.191.209=48  
117.21.191.210=78  
117.21.225.157=78  
117.21.226.103=60  
183.56.129.146=20  
198.8.61.141=15  
220.177.198.24=228  
220.177.198.38=30  
220.177.198.40=90  
220.177.198.43=12  
220.177.198.93=264  
222.186.34.143=138  
222.186.34.36=330  
222.186.38.109=42  
222.186.40.170=306  
222.186.40.251=198  
222.186.56.33=48  
58.241.61.162=53  
60.173.26.16=2594  
61.174.50.216=40  
61.174.51.207=151  
61.174.51.217=150  
61.174.51.227=222  
61.174.51.235=2
