Fail2Ban安装和设置教程介绍
Fail2Ban如何安装和设置?Fail2ban 是一种保护你的服务器免受暴力攻击的软件。它通过监视服务器日志并检测任何可疑活动来实现此目的。
该程序会检测何时出现不合理的失败尝试次数,并自动将新添加到 阻止给定 IP 的iptables。然后,此 IP(或主机)将被阻止指定时间或无限期。
因此,安装此日志监控软件是为你的服务器安全提供另一层保护的绝佳方式。尽管如此,它只能成为你整体服务器安全计划的一部分。使用这21 个服务器安全提示探索更多措施 。
在本教程中,你将学习如何在你的服务器上安装和配置 Fail2ban。
先决条件
- 访问 命令行 / 终端窗口
- 使用sudo 或 root 权限访问用户帐户
安装 Fail2ban
Fail2Ban安装和设置指南:如何安装 Fail2ban 取决于你的服务器上运行的操作系统。你将在下面找到用于在Ubuntu、 CentOS、 Fedora和 Debian上安装和启用 Fail2ban 的命令 。
重要提示: Fail2ban 不能替代软件防火墙,例如 iptables。它旨在作为另一个安全层,不应替代防火墙。
Fail2Ban安装和设置教程:在 Ubuntu 上安装 Fail2ban
1. 在添加新软件包之前,更新 系统存储库和 升级 软件很重要 。为此,请运行以下命令:
apt-get update && apt-get upgrade
按 y
确认并按 Enter。
2. 现在你可以使用以下命令 安装 Fail2ban :
apt-get install fail2ban
3. 或者,你可以 安装 Sendmail 以支持电子邮件:
apt-get install sendmail
4. 接下来,你需要 允许 通过防火墙进行 SSH 访问:
ufw allow ssh
5. 最后, 启用防火墙:
ufw enable
Fail2Ban如何安装和设置:在 CentOS 上安装 Fail2ban
1. 要在 CentOS 上安装 Fail2ban,你需要 EPEL 存储库。通过运行以下命令更新系统并添加存储库:
yum update && yum install epel-release
2. 设置 EPEL 存储库后, 使用以下命令安装 Fail2ban:
yum install fail2ban
3. 接下来,你需要 启动 Fail2ban 服务并 在启动时启用它:
systemctl start fail2ban
systemctl enable fail2ban
4. 对于电子邮件支持,你可以通过以下方式 安装 Sendmail :
yum install sendmail
5. 要 启动并启用 Sendmail 服务,请运行:
systemctl start sendmail
systemctl enable sendmail
在 Fedora 上安装 Fail2ban
1.从更新系统开始 :
dnf update
2. 然后, 安装 Fail2ban 和 Sendmail (可选,如果你需要电子邮件支持):
dnf install fail2ban
dnf install sendmail
3. 由于这些服务不会在 Fedora 上自动启动,你需要使用以下命令 启动和启用 它们:
systemctl start fail2ban
systemctl enable fail2ban
systemctl start sendmail
systemctl enable sendmail
Fail2Ban安装和设置教程:在 Debian 上安装 Fail2ban
1. 更新升级 系统:
apt-get update && apt-get upgrade -y
按 y 和 Enter 确认。
2.然后, 使用以下命令安装Fail2ban:
apt-get install fail2ban
3. 对于电子邮件支持,你还可以 使用以下命令安装 Sendmail:
apt-get install sendmail-bin sendmail
Fail2Ban安装和设置指南:配置 Fail2ban
通过编辑以下配置文件来配置 Fail2ban:
- fail2ban.local 文件
- jail.local 文件
配置 fail2ban.local 文件
Fail2Ban如何安装和设置?Fail2ban 在fail2ban.conf 文件中定义了它的全局配置 。该文件由默认配置组成,一般不建议修改。
对配置的所有更改都应在单独的 fail2ban.local 文件中完成。
1.因此,首先要做的就是将.conf 文件的内容复制 到 .local 文件中。这样做的命令是:
cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
2、此命令后将无输出。下一步是使用你选择的文本编辑器打开 fail2ban.local 文件:
nano fail2ban.local
3. 你应该会看到一个类似于下图的文件:
在此示例中,蓝色注释解释了每个选项及其可能的值。白线是你可以修改的选项,它们包括:
loglevel
-设置日志级别输出 , , , ,或 。CRITICAL,
ERROR
WARNING
NOTICE
INFO
DEBUG
logtarget
-设置日志的目标,这可以是FILE
,SYSLOG
,STDERR
,或STDOUT
。syslogsocket
– 将 syslog 套接字文件设置为auto
或FILE
(这仅在logtarget
设置为 时使用SYSLOG
)socket
– 设置用于与守护进程通信的套接字文件。确保不要删除此文件。它的默认路径是:/var/run/fail2ban/fail2ban.sock
pidfile
– 设置用于存储fail2ban 服务器进程ID 的PID 文件。默认位置是:/var/run/fail2ban/fail2ban.pid
配置 jail.local 文件
Fail2Ban安装和设置指南:你可能需要修改的另一个 Fail2ban 配置文件是 jail.conf 文件,其中包含定义带有操作的过滤器的监狱。
就像全局配置一样, jail.config 文件不应直接修改。相反,所有自定义都应在 jail.local 文件中进行。
1. 如果确实需要进行一些更改,请将.conf 文件的内容复制 到 .local 文件中:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
2. 使用你选择的文本编辑器打开 jail.local 文件:
nano jail.local
3. 你应该看到以下内容:
你可以在那里设置以下选项:
ignoreself
– 通过设置值(默认)或 来指定是否应忽略本地 IP 地址 。true
false
ignoreip
– 允许你指定应禁止的IP 地址、CIDR 掩码或DNS主机。用空格分隔多个地址。ignorecommand
– 定义path/to/command
是否应该被忽略。
bantime
– 指定主机被禁止的秒数(默认为600
)maxretry
– 主机被禁止之前允许的失败次数(默认设置为5
)。findtime
– 主机不应该用完maxretry
号码以免被禁止的时间(通常设置为10
分钟)。例如,如果一台主机在 10 分钟内出现 5 次故障,它将被禁止 600 秒。
backend
– 指定用于获取文件修改的后端。如果你使用的是 CentOS 或 Fedora,则需要将后端设置为systemd
.auto
对于其他操作系统,默认值 就足够了。[ssh]
– 默认情况下,Fail2ban 没有启用监狱。因此,你需要通过将 jails 添加到配置文件来手动执行此操作。例如,你可以通过取消注释(删除#
)行[ssh]
和enabled = true
.
destemail
– 指定要接收通知的电子邮件地址sender
– 定义接收通知的电子邮件地址
额外的 jail.local 配置
Fail2Ban如何安装和设置?你还可以在 jail.local 文件中设置其他配置,例如SSH和 iptables。这些选项包括:
banaction
– 指定maxretry
到达时使用的默认操作 。banaction_allports
– 允许你标记应该在每个端口中阻止的 IP。port
– 该值应与设置的服务相对应。这可能是ssh
或端口号(如果你使用的是替代端口)。filter
– 包含 failregex 信息的文件名,位于/etc/fail2ban/filter.d
.
重启服务
如果你对fail2ban.local 和 jail.local 文件进行了任何更改 ,请确保重新启动 fail2ban 服务。
要 使用新配置 重新启动 fail2ban 服务,请运行以下命令:
service fail2ban restart
Fail2Ban安装和设置教程结论
按照本Fail2Ban安装和设置指南,你应该已经能够安装和设置 Fail2ban 的基本配置。
Fail2ban 是添加另一个安全层的绝佳工具。它对 SSH 蛮力攻击特别有效。