[root@xiaolyu77 ~]# hostname -i
192.168.31.77
[root@xiaolyu77 ~]# ssh -p 8099 xiaolyu76
root@xiaolyu76's password:
Last login: Mon Sep 19 10:04:10 2016 from 192.168.31.160
Warning ! From now on, all of your operations have been recorded!
This account is currently not available.
Connection to xiaolyu76 closed.
[root@xiaolyu77 ~]# ssh -p 8099 mk@xiaolyu76
mk@xiaolyu76's password:
Last login: Mon Sep 19 10:06:00 2016 from xiaolyu77
Warning ! From now on, all of your operations have been recorded!
[root@xiaolyu76 ~]# hostname -i
192.168.31.76
[root@xiaolyu76 ~]# whoami
root
[root@xiaolyu76 ~]#
当然了,修改下面内容后,mk用户也是登录不上的。只判断UID是否为0,不查看用户名的:
[root@xiaolyu76 ~]# vim /etc/ssh/sshd_config
改:
#PermitRootLogin yes
为:
PermitRootLogin no
再来登录一下试试。
[root@xiaolyu76 ~]# ssh -p 8099 mk@xiaolyu76
一般情况这个就可以解决了暴力破解的问题了。
二、fail2ban的安装。
对于上面的三种方法来防止暴力破解,是远远不够的,有一种情况,暴力破解问题比较严重, 需要把暴力破解的用的IP地址直接禁掉。
实战背景:
最近公网网站一直被别人暴力破解sshd服务密码。虽然没有成功,但会导致系统负载很高,原因是在暴力破解的时候,系统会不断地认证用户,从而增加了系统资源额外开销,导致访问公司网站速度很慢。
fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是防火墙),而且可以发送e-mail通知系统管理员,很好、很实用、很强大!
简单来说其功能就是防止暴力破解。工作的原理是通过分析一定时间内的相关服务日志,将满足动作的相关IP利用iptables加入到dorp列表一定时间。
1. fail2ban的安装:
方法一、使用rpm升级,再通过yum进行安装
然后 yum install fail2ban
#因为yum安装比较简单,基本上就像傻瓜式安装,这里不演示了。
方法二、源码安装
下面是打开官网的样子:
选择下载fail2ban,进入如下界面:
我这里为了直接从CentOS中下载(免去了用xshell或其它工具再拖放到虚拟机 的麻烦),将下载地址复制出来了:
然后,我直接在虚拟机中下载安装:
这里出现了一个问题:目前还没有搞定,为什么我在线wget下载的fail2ban文件名单单只有0.8.14呢?
对于陌生的软件,如果进行编译安装的话,通常都要先看它的readme文件,如何进行安装。
解压查看readme文件
[root@xiaolyu76 ~]# tar -zxvf fail2ban-0.8.14.tar.gz