利用fail2ban防止ssh暴力破解

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

实验环境:两台RHEL6.5虚拟机,他们的IP地址分别为192.168.1.62192.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]# 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).

三次失败后被拒绝。












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值