如果您希望保护您的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可以执行的操作的完整概述。