首页 技术 正文
技术 2022年11月16日
0 收藏 385 点赞 2,885 浏览 3769 个字

fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽),如:当有人在试探你的SSH、SMTP、FTP密码,只要达到你预设的次数,fail2ban就会调用防火墙屏蔽这个IP,而且可以发送e-mail通知系统管理员,是一款很实用、很强大的软件!

http://www.fail2ban.org/wiki/index.php/Main_Page

使用xftp工具上传到linux

tar xzf fail2ban-0.8.14.tar.gz

[root@yuguangyuan ~]# cd fail2ban-0.8.14

[root@yuguangyuan fail2ban-0.8.14]# python setup.py install

生成启动脚本。

[root@yuguangyuan fail2ban-0.8.14]# grep chkconfig ./* -r –color
./files/redhat-initd:# chkconfig: – 92 08

[root@yuguangyuan fail2ban-0.8.14]# cp files/redhat-initd /etc/init.d/fail2ban

[root@yuguangyuan fail2ban-0.8.14]# chkconfig –add fail2ban

相关主要文件说明:

/etc/fail2ban/action.d              #动作文件夹,内含默认文件。iptables以及mail等动作配置

/etc/fail2ban/fail2ban.conf      #定义了fai2ban日志级别、日志位置及sock文件位置

/etc/fail2ban/filter.d                     #条件文件夹,内含默认文件。过滤日志关键内容设置

/etc/fail2ban/jail.conf           #主要配置文件,模块化。主要设置启用ban动作的服务及动作阀值  

# jail   [dʒeɪl]  监狱

/etc/rc.d/init.d/fail2ban                #启动脚本文件

设置条件:ssh远程登录5分钟内3次密码验证失败,禁止用户IP访问主机1小时,1小时该限制自动解除,用户可重新登录。

[root@yuguangyuan fail2ban]# vim jail.conf

fail2ban软件  +ssh密钥登录

保存后,重启服务

[root@yuguangyuan fail2ban]# /etc/init.d/fail2ban  restart

fail2ban软件  +ssh密钥登录

在防火墙处,多一个chain。

使用131登陆130,故意登陆错误。看效果

[root@yuguangyuan ~]# ssh yy@192.168.1.130
ssh: connect to host 192.168.1.130 port 22: Connection refused
[root@yuguangyuan ~]# ssh yy@192.168.1.130 -p 222
yy@192.168.1.130’s password:
Permission denied, please try again.
yy@192.168.1.130’s password:
Permission denied, please try again.
yy@192.168.1.130’s password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
[root@yuguangyuan ~]# ssh yy@192.168.1.130 -p 222
ssh: connect to host 192.168.1.130 port 222: Connection refused

在130看一下日志

fail2ban软件  +ssh密钥登录

看一下状态

[root@yuguangyuan fail2ban]# fail2ban-client status
Status
|- Number of jail:1
`- Jail list:ssh-iptables

具体某一个的状态
[root@yuguangyuan fail2ban]# fail2ban-client status ssh-iptables
Status for the jail: ssh-iptables
|- filter
| |- File list:/var/log/secure
| |- Currently failed:0
| `- Total failed:3
`- action
|- Currently banned:1
| `- IP list:192.168.1.131
`- Total banned:1

系统日志:

[root@ygy130 ~]# tail /var/log/fail2ban.log
2016-09-21 07:40:36,852 fail2ban.server [1300]: INFO Exiting Fail2ban
2016-09-21 07:41:04,330 fail2ban.server [1300]: INFO Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.14
2016-09-21 07:41:04,332 fail2ban.jail [1300]: INFO Creating new jail ‘ssh-iptables’
2016-09-21 07:41:04,332 fail2ban.jail [1300]: INFO Jail ‘ssh-iptables’ uses poller
2016-09-21 07:41:04,366 fail2ban.jail [1300]: INFO Initiated ‘polling’ backend
2016-09-21 07:41:04,387 fail2ban.filter [1300]: INFO Added logfile = /var/log/secure
2016-09-21 07:41:04,388 fail2ban.filter [1300]: INFO Set maxRetry = 3
2016-09-21 07:41:04,390 fail2ban.filter [1300]: INFO Set findtime = 300
2016-09-21 07:41:04,390 fail2ban.actions[1300]: INFO Set banTime = 3600
2016-09-21 07:41:04,811 fail2ban.jail [1300]: INFO Jail ‘ssh-iptables’ started

使用密钥认证方式:不用用户名和密码登陆。

ssh-keygen

ssh-copy-id -i /root/.ssh/id_rsa.pub  “-p 222  ygy@192.168.1.131”

注意,这里不能使用超级用户登录,连超级用户的替代用户也不行,yy 是root的别名用户,不能使用yy登陆。

[root@ygy130 ~]# ssh ygy@192.168.1.131 -p 222
Last login: Fri Sep 23 06:53:16 2016 from 192.168.1.130
[ygy@yuguangyuan ~]$

遇到的问题:

我本想解除锁定,参考下面这个链接。

http://www.centoscn.com/image-text/config/2015/0516/5447.html

# iptables -L –line-numbersChain fail2ban-SSH (1references)num  target    prot opt source            destination1    REJECT     all  —  192.168.1.131        anywhere            reject-with icmp-port-unreachable 2    RETURN    all  — anywhere           anywhere解除限制# iptables -D fail2ban-SSH 1 然后重启service iptables restart查看iptables -L -n 可以看到确实删除了那一项

重启service fail2ban restart

发现了下面的错误。

[root@yuguangyuan ~]# ssh ygy@192.168.1.130 -p 222
ssh: connect to host 192.168.1.130 port 222: No route to host

解决办法:要修改防火墙:

[root@ygy130 ~]# iptables -I INPUT -p TCP -s 192.168.1.131 -j ACCEPT

[root@ygy130 ~]# /etc/init.d/iptables save

重启service fail2ban restart

解除锁定

[root@ygy130 ~]# > /var/log/secure
[root@ygy130 ~]# service fail2ban restart

这个可以生效,但是想解除某一个ip的限定呢?

解除某一个ip的锁定,vim /var/log/secure

删除掉对应IP的信息。然后重启fail2ban

解除锁定  :这里还有问题,fail2ban作用失效。是不是fail2ban软件本身还有问题?还是防火墙设置的原因?

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,076
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,400
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,812
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,894