fail2ban 配置|Fail2ban——防FTP服务器暴力破解利器

更新时间:2019-12-25 来源:服务器 点击:

【www.hzclsc.cn--服务器】

只要FTP服务器妄图让正常用户使用,要彻底地杜绝FTP的暴力破解攻击就非常困难,至少目前没有办法实现,下面我们用第三方软件来进行加固,经过笔者长期对比发现Fail2ban对于解决暴力破解、非法扫描能起到比较好的效果,它是一个基于防火墙链添加新规则构成,并发送e-mail通知系统管理员。Fail2ban不仅可以使用自动识别可能的暴力入侵,而且可按照快速且简易的用户自定义规则去分析,因为 fail2ban 的原理是调用iptables 实时阻挡外界的攻击,按照你的要求在一段时间内找出符合条件的日志,然后动作,所以你的系统里必选装有iptables,以及Python的支持。

1.下载安装:

在基于debian系统下安装fail2ban是非常畅快的。以root用户执行下列命令

# apt-get install fail2ban

在GNU/Linux 系统上源码安装,为了编译Fail2ban,你需要下载最新的源码(http://sourceforge.net/projects/fail2ban )。当获取后,你可以该改变你的源码目录,并执行下列命令:

#tar xvjf fail2ban-x.x.x.tar.bz2

你会在当前工作目录下得到一个Fail2ban的解压后的源码目录。你须CD到新的目录中。现在以root用户执行安装:

#./setup.py install

Fail2ban 会安装在 /usr/share/fail2ban/ 和 /usr/bin/目录中,装好后,稍微根据自己的情况改一下配置就可以使用了。

2.系统配置

一个典型的配置文件如下:

/etc/fail2ban/
├── action.d
│  ├── dummy.conf
│  ├── hostsdeny.conf
│  ├── iptables.conf
│  ├── mail-whois.conf
│  ├── mail.conf
│  └── shorewall.conf
├── fail2ban.conf
├── fail2ban.local
├── filter.d
│  ├── apache-auth.conf
│  ├── apache-noscript.conf
│  ├── couriersmtp.conf
│  ├── postfix.conf
│  ├── proftpd.conf
│  ├── qmail.conf
│  ├── sasl.conf
│  ├── sshd.conf
│  └── vsftpd.conf
├── jail.conf
└── jail.local

每个.conf文件都会被名为 .local的文件覆盖。.conf首先被读取,其次是.local。新的配置会覆盖早先的。因此,.local 文件不必包含每个相应于.conf中的选项,只是填写你想要覆盖的设置。

首先编辑fail2ban.conf

#vi /etc/fail2ban.conf  #以 daemon 方式启动 fail2ban
background = true  #允许尝试次数
maxfailures = 3  #触发 maxfailures 之後的封锁时间(秒); 设为 -1 表示永远封锁
bantime = 3600  #以 findtime (秒) 时间内的错误记录作为 maxfailures 的计数基准
findtime = 600  #排除 IP 范围, 以空白隔开
ignoreip = 127.0.0.1 192.168.0.0/24  #不启用 mail 通知
[MAIL]enabled = false  #修改自 VSFTPD, 未提及的部份保持原设定
[PROFTPD]enabled = true
logfile = /var/log/proftpd/proftpd.log
failregex = no such user|Incorrect password #未提及的部份保持原设定
[SSH]enabled = true
logfile = /var/log/secureservice fail2ban 

开始启动这个服务启动以后,每天都能在 /var/log/fail2ban.log 中看到有攻击的肉鸡被 ban 了。

下面一步就复制初始化脚本到系统的 /etc/init.d 目录下,执行chkconfig 和update-rc.d或手工创建一个符号链接,设置权限

# chmod 755 /etc/init.d/fail2ban #chkconfig -a fail2ban #ln -s /etc/init.d/fail2ban /etc/rc2.d/S20fail2ban

最后,整合fail2ban到日志循环中

创建文件: /etc/logrotate.d/fail2ban : /var/log/fail2ban.log {   weekly   rotate 7   missingok   compress   postrotate   /usr/local/bin/fail2ban-client reload 1 /dev/null || true   endscript

最后是Iptables微调,只允许每组IP同时5个21端口转发 ,类似功能大家可以去发挥。

#iptables -A FORWARD -p tcp --syn --dport 21 -m connlimit --connlimit-above 5 --connlimit-mask 24 -j DROP

好了,经过安装、配置下面我们看看使用它的效果吧,先浏览一下iptables

#iptables -L -nv
pkts  bytes  target  protopt in  out  source  destination  
301  12740  fail2ban-ftp  tcp --  *  *  0.0.0.0/0  0.0.0.0/0  tcp dpt:21 
3354  253K  fail2ban-SSH  tcp --  *  *  0.0.0.0/0  0.0.0.0/0  tcp dpt:22 
438  33979  fail2ban-httpdtcp --  *  *  0.0.0.0/0  0.0.0.0/0  tcp dpt:80
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target  prot opt in  out  source  destination  
Chain OUTPUT (policy ACCEPT 5703 packets, 829K bytes)
pkts bytes target  prot opt in  out  source  destination  
Chain fail2ban-SSH (1 references)
pkts bytes target  prot opt in  out  source  destination  
3354 253K RETURN  all -- *  *  0.0.0.0/0  0.0.0.0/0  
Chain fail2ban-ftp (1 references)
pkts bytes target  prot opt in  out  source  destination  
301 12740 RETURN  all -- *  *  0.0.0.0/0  0.0.0.0/0  
Chain fail2ban-httpd (1 references)
pkts bytes target  prot opt in  out  source  destination  
438 33979 RETURN  all -- *  *  0.0.0.0/0  0.0.0.0/0

查看fail2ban的日志

通过以下命令就能方便的查看到被记录的非法暴力破解IP

# cat fail2ban.log | grep "] Ban " 

最后,我们要注意fail2ban是一个日志分析器,在写入日志前不会做任何事情。大多数系统日志守护进程都会缓冲他们的输出。这可能会和 fail2ban性能有所冲突。因此,最好能禁止缓冲你的系统日志守护进程,以提高性能。目前来看,只要FTP服务器希望让正常用户使用,要完全杜绝 FTP暴力破解攻击就会很难,因此要从细微之处入手,尽量降低被暴力破解的概率。

本文来源:http://www.hzclsc.cn/ruanjianzixun/44216.html

推荐内容

为您推荐

[军团召唤]军团1944服务器指令控制台代码一览 军团1944作弊码有哪些

玩家在军团1944的服务器中可以使用一些指令来帮助游戏进行的更加方便,例如更换地图、更换队伍等。下面就为大家带来军团1944服务器指令控制台代码一览,一起来看看吧。军团1944服务器指令控制台代码一览角色扮演

2020-12-20 07:04:16   小小军团   疯狂的军团  

【龙珠战士z连不上服务器怎么设置】龙珠战士z连不上服务器怎么解决 连接服务器失败解决方法

龙珠战士z连不上服务器怎么解决?不少玩家朋友们在进入游戏后会出现连不上服务器的问题,导致无法正常的游玩,下面我们就来介绍一下龙珠战士z连接服务器失败解决方法,希望对各位有所参考。龙珠战士z连接服务器失动作射击

2020-12-19 23:04:37  

【腐蚀怎么读】腐蚀怎么联机 腐蚀搭建服务器图文教程

腐蚀是一款近期即将上架的爆款游戏,很多玩家都想组队来进行游戏。那么游戏如何联机呢?下面为大家带来腐蚀搭建服务器图文教程,希望能帮到大家。腐蚀搭建服务器图文教程Steam游戏后台服务器管理程序下载但凡是角色扮演

2020-12-19 17:04:38   铜腐蚀怎么处理   腐蚀怎么做好吃  

铁路大亨4|铁路大亨2怎么联机 铁路大亨2联机教程

铁路大亨2是一款运输策略类型的游戏,玩家该怎么在游戏中和好友进行联机游戏呢?下面就来分享一下铁路大亨2联机教程。铁路大亨2联机教程进入游戏,点多人游戏,TCP IP做主机就点新建,然后设定服务器名字(策略与战棋

2020-12-19 11:04:43   铁路大亨2秘籍   铁路大亨手机版  

我的世界服务器重启不了怎么办啊_我的世界服务器重启不了怎么办 我的世界服务器重启方法

我的世界服务器重启不了怎么办 我的世界服务器重启方法时间:2018 1 16 16:48:16来源:www pc6 com作者:佚名我要评论我的世界联机游戏中,许多玩家无法重启服务器,这种情况该怎么办

2020-12-17 07:04:32