共计 1324 个字符,预计需要花费 4 分钟才能阅读完成。
如果您希望保护您的 Ubuntu 服务器,您应该做的第一件事就是安装 fail2ban 入侵检测系统。fail2ban 所做的是监视特定日志文件(在 /var/log 中),以查找失败的登录尝试或服务器上的自动攻击。当从 IP 地址发现尝试的泄密时,fail2ban 然后阻止 IP 地址(通过向 iptables 添加新链)从获得进入(或试图进一步攻击)服务器。
信不信由你,fail2ban 非常容易安装和使用,它应该被认为是所有 Linux 服务器的必备软件。
我想带你看看在 Ubuntu 18.04 上安装 fail2ban 的过程。然后,我将向您展示如何添加一个监控器来监视失败的 SSH 登录尝试。
安装
安装 fail2ban 很简单。登录到您的 Ubuntu 服务器并更新 / 升级。请注意,如果在此过程中升级内核,则必须重新启动服务器(因此在重新启动可行时运行此服务器)。要更新和升级服务器,请发出以下命令:
sudo apt-get update
sudo apt-get upgrade
完成上述命令后,重新启动服务器(如有必要)。
可以使用单个命令安装 fail2ban:
sudo apt-get install -y fail2ban
当该命令完成时,fail2ban 准备好了。您将要使用以下命令启动并启用该服务:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
配置 jail
接下来我们将为 SSH 登录尝试配置一个 jail。在 /etc fail2ban 目录中,您将找到 jail.conf 文件。不要编辑此文件。相反,我们将创建一个新文件 jail.local,它将覆盖 jail.conf 中的任何类似设置。我们的新 jail 配置将监视 /var/log/auth.log,使用 fail2ban sshd 过滤器,将 SSH 端口设置为 22,并将最大重试次数设置为 3. 为此,请发出命令:
sudo nano /etc/fail2ban/jail.local
在此新文件中,粘贴以下内容:
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
保存并关闭该文件。使用以下命令重新启动 fail2ban:
sudo systemctl restart fail2ban
此时,如果有人试图通过 SSH 登录您的 Ubuntu 服务器,并且失败了三次,那么将通过 iptables 阻止其 IP 地址阻止它们进入。
测试和取消
您可以测试以确保新 jail 通过 ssh 登录服务器失败三次失败。在第三次尝试失败后,连接将挂起。按 [Ctrl] + [c] 退出,然后尝试 SSH 回到服务器。您不应再能够从您使用的 IP 地址 SSH 到该服务器。
然后,您可以使用以下命令取消测试 IP 地址:
sudo fail2ban-client set sshd unbanip IP_ADDRESS
其中 IP_ADDRESS 是禁止的 IP 地址。
您现在应该能够使用 SSH 重新登录服务器。
更多
这几乎没有说明 fail2ban 可以做什么。但现在您对如何使用该系统有了一个好主意。要了解更多信息,请确保使用以下命令阅读手册页:
man fail2ban
该手册页提供了 fail2ban 可以执行的操作的完整概述。
: