您的位置:首页 > 大数据 > 人工智能

利用fail2ban防止ssh暴力破解

2016-05-09 17:03 721 查看
实验要求:设置公司服务器远程访问条件,远程登录在五分钟之内如果出现三次密码验证失败,禁止用户ip访问主机,一小时后恢复访问。



实验环境:两台RHEL6.5虚拟机,他们的IP地址分别为192.168.1.62和192.168.1.63。

实验使用的工具是fail2ban。

 

实验过程:

首先在192.168.1.62上打开防火墙

[root@bogon jt]# service iptables start

然后安装fail2ban,这里有两种安装方法

方法一:通过yum进行安装

rpm -Uvh
http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm



然后 yuminstall fail2ban



可以看到fail2ban.noarch0.9.3安装成功。
 
方法二:源码安装
首先去官网下载最新版fail2ban:http://www.fail2ban.org



下载完成后,从windows传到Linux里
把压缩包从桌面复制到/usr/local/src/
[root@bogon Desktop]# cp fail2ban-0.9.3.tar.gz /usr/local/src/   
[root@bogon Desktop]# ls
fail2ban-0.9.3.tar.gz
[root@bogon Desktop]# cd /usr/local/src/
[root@bogon src]# ls
fail2ban-0.9.3.tar.gz
解压
[root@bogon src]# tar zxvf fail2ban-0.9.3.tar.gz 
进入fail2ban-0.9.3
[root@bogon src]# cd fail2ban-0.9.3 

看一下安装要求在README.md里



查看一下是否符合要求然后安装
[root@bogon fail2ban-0.9.3]# python
Python 2.6.6 (r266:84292, Sep  4 2013, 07:46:00) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
[root@bogon fail2ban-0.9.3]# python setup.py install
将它的启动脚本复制到/etc/init.d/fail2ban
[root@bogon fail2ban-0.9.3]# cp files/redhat-initd /etc/init.d/fail2ban
设置开机启动
[root@bogon fail2ban-0.9.3]# chkconfig --add fail2ban
[root@bogon fail2ban-0.9.3]# chkconfig --list fail2ban
fail2ban           0:off    1:off    2:off    3:on    4:on    5:on    6:off
具体配置:
[root@bogon fail2ban-0.9.3]# ls /etc/fail2ban/
action.d       fail2ban.d  jail.conf  paths-common.conf  paths-fedora.conf   paths-osx.conf
fail2ban.conf  filter.d    jail.d     paths-debian.conf  paths-freebsd.conf
[root@bogon fail2ban-0.9.3]# vim /etc/fail2ban/jail.conf

[DEFAULT]
bantime  = 3600       禁止此用户IP访问主机1小时
findtime = 300                    在5分钟内内出现规定次数就实施动作,默认时间单位:秒
maxretry = 3                           密码验证失败次数最大值为3
filter = sshd
protocol = tcp                          协议为TCP
action = iptables[name=SSH, port=ssh, protocol=tcp]  所采用的工作,按照名字可在action.d目录下找到 

[sshd]
port    = ssh
logpath = /var/log/secure  检测的系统的登陆日志文件,这里要写sshd服务日志文件的路径
最后保存设置
启动fail2ban服务
/etc/init.d/fail2ban start
我这里虽然启动成功了但是出现了好多warning;因为fail2ban里面还有还多其他功能没有用,也没有去定义和配置,所以警告了,不过没事,启动了
[root@bogon jt]# service fail2ban status
fail2ban-server (pid  5491) isrunning...
验证:
从192.168.1.63ssh到192.168.1.62
[root@localhost jt]
a419
# ssh root@192.168.1.62
The authenticity of host '192.168.1.62 (192.168.1.62)' can't be established.
RSA key fingerprint is 39:51:1b:f7:be:07:dd:e8:61:32:6f:bd:83:88:14:72.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.62' (RSA) to the list of known hosts.
root@192.168.1.62's password: 
Permission denied, please try again.
root@192.168.1.62's password: 
Permission denied, please try again.
root@192.168.1.62's password: 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
三次失败后被拒绝。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  博客 rhel linux ssh 服务器