上一篇 下一篇 分享链接 返回 返回顶部

fail2ban安装及配置 屏蔽ip

发布人:萌新 发布时间:2022-07-11 17:29 阅读量:4180

Fail2ban 扫描各种服务(SSH、FTP、SMTP、Apache 等)的日志文件,并禁止出现过多密码失败的 IP。它还会更新防火墙规则以拒绝这些 IP 地址。

Fail2ban 是一个用 Python 编程语言编写的入侵防御框架。

Fail2ban 的主要目的是防止暴力登录攻击。

 

安装 Fail2ban

要从源代码安装 fail2ban,请从sourceforge官网下载它。

使用 apt-get 在基于 Debian 的系统上安装 Fail2ban,如下所示。

# apt-get install fail2ban

您也可以通过下载fail2ban deb 包手动安装 Fail2ban 。

# dpkg -i fail2ban_0.8.1-1_all.deb

如何配置fail2ban

所有 Fail2ban 配置文件都位于 /etc/fail2ban 目录下。

/etc/fail2ban/fail2ban.conf

该文件的主要目的是配置fail2ban 日志相关的指令。

  • Loglevel:设置日志级别输出。

  • logtarget :指定日志文件路径

Fail2ban 采取的行动记录在 /var/log/fail2ban.log 文件中。您可以将 conf 文件中的详细程度更改为以下之一:1 – ERROR、2 – WARN、3 – INFO 或 4 – DEBUG。

/etc/fail2ban/jail.conf

jail.conf 文件包含服务配置的声明。此配置文件分为不同的上下文。默认设置适用于所有部分。

jail.conf的以下默认部分表示,在600秒或10分钟内从单个IP地址(查找措施)之后尝试五次IP地址后,该地址将自动阻止600秒(Bantime)。

[DEFAULT]
ignoreip = 127.0.0.1
maxretry = 5
findtime = 600
bantime = 600
  • IGNOREIP:这是一个空格分离的IP地址列表,无法通过FAIL2BAN阻止。

  • maxRetry:在after2ban阻止主机之前的最大登录尝试失败次数最大数量。

  • bantime:时间(秒),如果它是由捕获的fail2ban主机被阻塞(600秒= 10分钟)。

服务配置

默认情况下,某些服务将作为模板插入。以下是SSH服务部分的示例。

[ssh]
enabled = true
port = ssh
filter = sshd
logpath  = /var/log/auth.log
action = iptables
  • 启用:启用Fail2Ban检查SSH服务

  • 端口:服务端口(中提到的/ etc / services文件)

  • 由服务所使用的过滤器的名称,以检测匹配:过滤器。此名称对应于“/etc/fail2ban/filter.d”文件名; 没有“的.conf”延伸。例如:“过滤器= sshd的”是指“/etc/fail2ban/filter.d/sshd.conf”。

  • 日志路径:日志文件,对失败的登录尝试的fail2ban检查。

  • 操作:该选项告诉的fail2ban采取一次过滤器匹配其行动。此名称对应于“/etc/fail2ban/action.d/”文件名没有“的.conf”延伸。例如:“动作的iptables =”是指/etc/fail2ban/action.d/iptables.conf”。

的fail2ban将监视失败的访问尝试的/var/log/auth.log文件,如果发现重复来自同一IP地址或主机失败的ssh登录尝试的fail2ban来自该IP地址/主机通过阻止它停止进一步的登录尝试的fail2ban iptables防火墙规则。

fail2ban过滤器

该目录/etc/fail2ban/filter.d包含用于检测闯入尝试,密码故障等,各种服务正则表达式。

例如:

  • sshd.conf - 的fail2ban SSH相关的过滤器

  • Apache的auth.conf - 的fail2ban Apache服务的过滤器

我们还可以添加自己的正则表达式查找不必要的动作。

fail2ban操作

directory /etc/fail2ban/action.d包含不同的脚本,定义了一旦过滤器匹配将执行的操作。每次服务仅允许一次过滤器,但可以在单独的行上指定多个操作。

例如:

  • iptables.conf - 块和解锁IP地址

  • mail.conf - 将邮件发送到已配置的用户

启动/停止的fail2ban服务

使配置更改后停止和启动的fail2ban守护程序,如下图所示。

# /etc/init.d/fail2ban stop

# /etc/init.d/fail2ban start
目录结构
全文