Fail2ban简单配置

为了这个站点的安全,哥也是费劲心思,找到了一个可以监视系统日志,并根据记录的日志信息做出对应动作.比如有人暴力破解SSH,那么fail2ban就可以设置防火墙屏蔽这个人的IP,并且还能发送邮件给指定人员.

简介

Fail2ban的功能和特性

  1. 支持大量服务,如sshd,apache,ftp,smtp,qmail,proftpd,sasl等.
  2. 支持多种动作。如iptables,tcp-wrapper,shorewall(iptables第三方工具),mail notifications(邮件通知)等等.
  3. 在logpath选项中支持通配符.
  4. 需要Gamin支持(注:Gamin是用于监视文件和目录是否更改的服务工具).
  5. 需要安装python,iptables,tcp-wrapper,shorewall,Gamin.如果想要发邮件,需安装postfix/sendmail.

更多信息访问官网

安装

fedora源中已经集成,因此只需执行命令yum install fail2ban即可.

配置

fail2ban的相关配置文件默认在/etc/fail2ban/目录下,其中包含许多配置文件,但只需要重点配置fail2ban.confjail.conf即可.

fail2ban.conf是fail2ban服务的常规配置,比如日志等级,日志存放路径等配置.jail.conf则是详细的规则配置文件.

fail2ban.conf文件中的loglevel项设置为3,info等级,logtarget值为其日志存放的路径.

jail.conf文件中[DEFAULT]全局配置下的bantime项值改为3600,即一个小时;maxretry项值改为3;接着配置子段

[ssh]

enabled = true  #是否开启此项(true/false)

filter  = sshd  #过滤规则的名字,这个默认在/etc/fail2ban/filter.d目录下,去掉.conf即是为过滤名称

action  = iptables[name=SSH, port=22, protocol=tcp] # 达到触发条件后的动作名称.对应的配置文件在/etc/fail2ban/action.d目录中,与filter.d类似
          sendmail-whois[name=SSH, [email protected], sender=fail2ban@localhost] # 可配置多个动作,此处为发送邮件通知自己,但必须已经装有SMTP服务才能发送成功.

logpath  = /var/log/fail2ban-ssh.log #该项的日志存放路径

最后将fail2ban设置为开机启动即可.