标签:fil2ban
功能:
fail2ban是linux下一款安全工具。通过监视系统日志,匹配日志的错误信息(正则式匹配),然后执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽)。如:当有人在试探你的SSH、SMTP、FTP密码,只要达到你预设的次数,fail2ban就会调用防火墙屏蔽这个IP,而且可以发送e-mail通知系统管理员,是一款很实用、很强大的软件!
安装fail2ban:
yum install epel-release -y yum install fail2ban -y
备份配置文件:
cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
编辑配置文件:
相关主要文件说明:
/etc/fail2ban/action.d #动作文件夹,内含默认文件。iptables以及mail等动作配置
/etc/fail2ban/action.d #动作文件夹,内含默认文件。iptables以及mail等动作配置
vim /etc/fail2ban/jail.conf loglevel = 3 #默认日志的级别 logtarget = /var/log/fail2ban.log #日志的目的 socket = /tmp/fail2ban.sock #socket的位置
/etc/fail2ban/filter.d #条件文件夹,内含默认文件。过滤日志关键内容设置
/etc/fail2ban/paths-*.conf #定义一些系统文件路径,像日志路径
#/etc/fail2ban/jail.conf #主要配置文件,模块化。主要设置启用ban动作的服务及动作阀值
# jail [del] 监狱
vim /etc/fail2ban/jail.conf ignoreip = 127.0.0.1 #忽略IP,在这个清单里的IP不会被屏蔽 bantime = 600 #屏蔽时间,该bantime将被[ssh-iptables]中bantime覆盖; findtime = 600 #发现时间,在此期间内重试超过规定次数,会激活fail2ban maxretry = 3 #默认尝试次数 backend = auto #日志修改检测机制
启用sshd服务的日志分析,指定动作阀值即可。实例文件/etc/fail2ban/jail.conf及说明如下:
[DEFAULT] #全局设置 ignoreip = 127.0.0.1/8 #忽略的IP列表,不受设置限制(多个ip或ip段用空格隔开) bantime = 3600 #屏蔽时间,单位:秒 findtime = 300 #这个时间段内超过规定次数会被ban掉 maxretry = 3 #最大尝试次数 usedns = warn #指定当日志中遇到主机名时候是否反向解析,warn进行解析,但会记录为warning logencoding = auto #指定日志文件的编码,auto就是使用系统本地的编码 enabled = false #全局开关 backend = auto #日志修改检测机制("pyinotify", "gamin", "polling", "systemd" 和"auto"这几种) destemail = xflm_xx@163.com #邮件接收人 sender = fail2ban@localhost #邮件发送人 mta = mail [sshd] #单个服务检查设置,如设置bantime、findtime、maxretry和全局冲突,服务优先级大于全局设置 enabled = true #是否激活此项(true/false) port = ssh #端口为ssh logpath = %(sshd_log)s #安全日志路径 backend = %(sshd_backend)s #日志修改检测机制 action = %(action_mwl)s #检测到非法登录,进行的动作
配置Fail2ban
Fail2ban服务的配置文件在/etc/fail2ban目录。在其中可以找到jail.conf配置文件,我不会直接编辑这个文件,因为在升级软件包时,会覆盖这个文件,使配置失效。我们应该创建一个新文件jail.local,在jail.local定义的值会覆盖jail.conf中的值。
我们来创建一个jail.local文件:
vim /etc/fail2ban/jail.local 写入如下代码: [DEFAULT] ignoreip = 127.0.0.1/8, 123.58.249.0/24 bantime = 3600 findtime = 300 maxretry = 3 #destemail = xxxxxxx@xxx.com # 覆写 /etc/fail2ban/jail.d/00-firewalld.conf: banaction = iptables-multiport [sshd] enabled = true action = %(action_mwl)s [sshd-ddos] enabled = true
完成配置后,启动fail2ban
systemctl start fail2ban && systemctl enable fail2ban
查询fail2ban服务状态
fail2ban-client status
# jail [del] 监狱
/etc/fail2ban/paths-*.conf #定义一些系统文件路径,像日志路径
实用命令
最近一次启动,fail2ban日志:
journalctl -b -u fail2ban
实时跟踪显示fail2ban日志:
tail -f /var/log/fail2ban.log
显示防火墙规则:
iptables –L –n
移除禁止的ip
iptables -D f2b-sshd 1
本文出自 “xiaoxiao” 博客,请务必保留此出处http://xiaoyzhang.blog.51cto.com/12883707/1957098
标签:fil2ban
原文地址:http://xiaoyzhang.blog.51cto.com/12883707/1957098