如何安装和配置Fail2ban(Linux VPS)

Fail2Ban是一个有用的工具,用于进一步服务器硬化。它不是禁用密码身份验证或更改服务器的SSH端口的替代品。我们的指导 最佳安全做法 Linux服务器可以指导您完成这些主要的最佳实践。

本指南将介绍安装Fail2Ban和一些初始配置。 Fail2Ban将扫描日志文件并禁止恶意IP地址。 然后,Fail2Ban可以用于自动更新服务器上的防火墙规则以解释这些IP地址。 在系统上运行的多个服务有过滤选项,包括SSH服务器,HTTP服务器,FTP服务器,邮件服务器等。

安装:

CentOS的7

第1步: 首先,更新系统并安装EPEL存储库。

yum update
yum install epel-release

第2步: 接下来,安装Fail2Ban。

yum install fail2ban

第三步: 最后,启动,然后启用Fail2Ban。

systemctl start fail2ban
systemctl enable fail2ban

Ubuntu / Debian

第1步: 首先,更新系统。

apt-get update
apt-get upgrade -y

第2步: 接下来,安装Fail2ban。

apt-get install fail2ban

(仅限Ubuntu)

第三步: 最后,您将需要允许通过UFW进行SSH访问。 然后启用防火墙:

ufw allow ssh
ufw enable

软呢帽

第1步: 首先,更新系统。

dnf update

第2步: 接下来,安装Fail2ban。

dnf install fail2ban

第三步: 最后,启动,然后启用Fail2Ban。

systemctl start fail2ban
systemctl enable fail2ban

创建.local文件:

第1步: 创建一个名为fail2ban.local的fail2ban.conf副本。

cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

现在,您已复制了Fail2ban的默认配置配置文件。 Fail2Ban将使用fail2ban.local中的设置,而不是fail2ban.conf中的设置,并且fail2ban.conf应该保持不变。

第2步: 创建一个命名监狱的jail.conf副本。 当地的。

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

同样,Fail2Ban将使用Jail中的设置。 本地在监狱中的设置。 CONF和监狱。 Conf应该保持不变。

配置.local文件设置

fail2ban.local: 在fail2ban.local中,您可以选择重新定义以下值:

  • 日志级别
    • 值可以是:
      • 危急
      • 错误
      • 警告
      • 信息
      • 调试
        • 不推荐调试 - 它可能导致Fail2Ban落入无限循环,不断使用非信息线送入。
  • 对数目标
    • 值可以是文件,SYSLOG,STDERR或STDOUT。
    • 只能指定一个日志目标。
    • 默认值= /var/log/fail2ban.log
  • 插座
    • 这用于与fail2ban守护程序进行通信。 删除此文件将使无法与fail2ban服务器进行通信。
    • 值可以是文件。
    • 默认值= /var/run/fail2ban/fail2ban.sock
  • pid文件
    • 这用于存储fail2ban服务器的进程ID。
    • 默认值= /var/run/fail2ban/fail2ban.pid
  • 数据库文件
    • 这用于存储fail2ban持久数据。
    • 值可以是文件或":内存"。
    • 默认值= /var/lib/fail2ban/fail2ban.sqlite3
    • :memory:将导致数据库存储在内存中,因此当fail2ban停止时,数据将丢失。
  • durge
    • 这确定了从数据库清除禁令的年龄。
    • 默认值= 1d(24小时)
  • syslogsocket(*仅在日志目标是syslog时使用)
    • 值可以是"自动"或文件。
    • 自动使用平台。 系统()以确定预定义路径

监狱。 当地的: 在监狱里。 本地定义 [默认] 将为每个监狱定义该选项。 在每个监狱中重新定义这些选项(即 [sshd])将覆盖下的定义 [默认].

这意味着 [apache-auth] 监狱可以使用 [默认] 禁令时间, 找时间最大尝试,而每一个都可以在 [sshd] 监狱。

*重要的提示: 默认情况下, 已启用 [DEFAULT]下的选项设置为false。 这意味着默认情况下所有监狱都被禁用。 应该通过定义 已启用 特定监狱中的选项:

enabled = true
11

发表回复