fail2ban使用教程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fail2ban使用教程相关的知识,希望对你有一定的参考价值。
fail2ban使用教程介绍
- fail2ban用于监视系统日志,通过正则表达式匹配错误错误信息,设置一定的条件触发相应的屏蔽动作。
在笔者的vps里,主要是用于ssh的保护,ssh登录错误的时候会记录到 /var/log/secure,fail2ban通过 gamin检测到新增日志,10min内同一ip连续登陆5次就会封禁30min。
安装
- 这里有两种安装方式,使用yum安装或者通过rpm安装。笔者的系统版本是CentOS-6.7
yum安装
- #首先安装epel源,如果已经安装可以跳过此步
yum install -y epel-release
#然后安装fail2ban:yum install -y fail2ban
rpm安装
- fail2ban依赖下面四个安装包:
- ed: Linux 操作系统下最简单的文本编辑器,以行为单位对文件进行编辑
- gamin-python: python调用gamin的一个模块,gamin实现了一套监控文件变化的机制
- ipset: 管理 ip地址/端口/mac地址 的模块,一般用于辅助提高iptables的性能
- python-inotify: python的一个模块,实现了文件变化通知机制
配置文件说明
配置文件位于:
- /etc/fail2ban/action.d/ //采取相对应措施的目录
- /etc/fail2ban/fail2ban.conf //fail2ban的配置文件
- /etc/fail2ban/fail2ban.d/ //fail2ban的配置文件目录
- /etc/fail2ban/filter.d/ //具体过滤规则文件目录
- /etc/fail2ban/jail.conf //阻挡设定文件
- /etc/fail2ban/jail.d/ //阻挡设定文件的目录
- /etc/fail2ban/paths-*.conf //不同linux发行版下路径的相关设置,在jail.conf的[INCLUDES]里指定
fail2ban.conf是针对fail2ban程序运行本身的一些设置。
jail.conf 是fail2ban的业务功能设置,里面设置了需要监控那些服务以及如何保护等,里边已经针对常用的服务提供了监控方案,比如sshd、apache、3proxy等,笔者只启用了sshd的保护。有一个[DEFAULT]部分适用于所有其他部分,除非默认选项在其他部分中覆盖。
基本配置解析
- ignoreip :这是一个空格分隔的IP地址列表,不能被fail2ban阻止。 例如,如果连接到服务器的计算机具有静态IP地址,则可能需要在此处列出。
- bantime :如果被fail2ban(600秒= 10分钟)捕获,主机被阻止的时间(秒)》
- maxretry :最大 主机被fail2ban阻止之前失败的登录尝试次数。
- 过滤器 :指在/etc/fail2ban/filter.d中的相应过滤器文件。
- logpath :fail2ban检查失败的登录尝试的日志文件。
如/etc/fail2ban/jail.conf顶部的注释所示 ,我们不会修改/etc/fail2ban/jail.conf本身来将其调整为我们的需要,而是通过创建新的配置文件来覆盖/ etc / fail2ban / jail.local 。
启用sshd的保护
-
在jail.conf的[sshd]中加上一行enabled = true就可以:
# SSH servers
[sshd]
port = ssh
logpath = %(sshd_log)s
enabled = true
以上是关于fail2ban使用教程的主要内容,如果未能解决你的问题,请参考以下文章