网络上无聊的人一大堆,SSH端口密码扫描破解的人也很多,如果你的VPS被攻破那么会被用来攻击别人(如DDOS攻击),那么遇到严格的服务商,那么就会被关闭或者永久关闭,下面给大家推荐个检测SSH破解及防护方法。

查看当前异常ip地址

/bin/awk '/Failed/{print $(NF-3)}' /var/log/secure | /bin/sort | /usr/bin/uniq -c  | sort -rn

输出内容如下

    458 121.42.0.83    319 101.200.174.32    300 123.57.213.15    300 121.42.0.37    237 121.42.0.19    232 121.42.0.89    229 123.57.140.171    229 121.42.0.82    205 121.42.0.14    182 121.43.152.237    180 123.56.186.143    171 121.42.0.84    168 121.42.0.85    157 123.57.17.90    146 139.129.109.204    130 120.27.148.15    121 182.92.187.97     92 123.56.111.216     88 123.56.4.197     88 120.26.61.52     87 123.56.92.235     85 114.215.100.219     82 120.25.221.120     78 121.42.0.88     70 139.129.111.126     67 120.24.158.240     57 123.56.148.203     56 121.42.0.87     56 121.42.0.36     56 121.42.0.31     51 120.24.218.139     50 115.28.8.86     49 123.56.196.81     43 182.92.84.26     36 123.56.4.59     36 120.55.193.110     36 115.29.39.220     36 114.215.111.100     35 121.41.99.170     32 139.129.128.244     29 123.57.190.60     28 120.26.106.213     27 120.26.221.249     27 120.24.71.65     27 114.215.80.202     26 120.24.221.16

DenyHosts安装与配置演示:

1、下载DenyHosts 并解压

[root@localhost ~]# wget http://freefr.dl.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz[root@localhost ~]# tar zxf DenyHosts-2.6.tar.gz[root@localhost ~]# cd DenyHosts-2.6[root@localhost ~]# echo "" > /var/log/secure && service rsyslog restart # 清空以前的日志并重启一下rsyslog 建议执行(Centos7 systemctl restart rsyslog.service)
[root@localhost ~]# python setup.py install

因为DenyHosts是基于python的,所以要已安装python,大部分Linux发行版一般都有。默认是安装到/usr/share/denyhosts/目录的,进入相应的目录修改配置文件

[root@localhost ~]# cd /usr/share/denyhosts/[root@localhost ~]# cp denyhosts.cfg-dist denyhosts.cfg[root@localhost ~]# cp daemon-control-dist daemon-control

默认的设置已经可以适合centos系统环境,你们可以使用vi命令查看一下denyhosts.cfg和daemon-control,里面有详细的解释

接着使用下面命令启动denyhosts程序

[root@localhost ~]# chown root daemon-control[root@localhost ~]# chmod 700 daemon-control[root@localhost ~]# ./daemon-control start
[root@localhost ~]# ln -sf /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts[root@localhost ~]# chkconfig --add denyhosts[root@localhost ~]# chkconfig --level 2345 denyhosts on

DenyHosts配置文件/usr/share/denyhosts/denyhosts.cfg说明:

SECURE_LOG = /var/log/secure#sshd日志文件,它是根据这个文件来判断的,不同的操作系统,文件名稍有不同。HOSTS_DENY = /etc/hosts.deny#控制用户登陆的文件PURGE_DENY = 5mDAEMON_PURGE = 5m#过多久后清除已经禁止的IP,如5m(5分钟)、5h(5小时)、5d(5天)、5w(5周)、1y(一年)BLOCK_SERVICE = sshd#禁止的服务名,可以只限制不允许访问ssh服务,也可以选择ALLDENY_THRESHOLD_INVALID = 5#允许无效用户失败的次数DENY_THRESHOLD_VALID = 10#允许普通用户登陆失败的次数DENY_THRESHOLD_ROOT = 5#允许root登陆失败的次数HOSTNAME_LOOKUP=NO#是否做域名反解DAEMON_LOG = /var/log/denyhosts

为防止自己的IP被屏蔽,可以:echo “你的IP” >> /usr/share/denyhosts/allowed-hosts 将你的IP加入白名单,再重启DenyHosts:/etc/init.d/denyhosts ,如果已经被封,需要先按下面的命令删除被封IP后再加白名单。

如有IP被误封,可以执行下面的命令解封:wget http://soft.vpser.net/security/denyhosts/denyhosts_removeip.sh && bash denyhost_removeip.sh 要解封的IP

查看攻击ip 记录

[root@localhost ~]# cat /etc/hosts.deny