如果您希望保護您的Ubuntu服務器,您應該做的第一件事就是安裝fail2ban入侵檢測系統(tǒng)。 fail2ban所做的是監(jiān)視特定日志文件(在/var/log中),以查找失敗的登錄嘗試或服務器上的自動攻擊。 當從IP地址發(fā)現(xiàn)嘗試的泄密時,fail2ban然后阻止IP地址(通過向iptables添加新鏈)從獲得進入(或試圖進一步攻擊)服務器。
信不信由你,fail2ban非常容易安裝和使用,它應該被認為是所有Linux服務器的必備軟件。
我想帶你看看在Ubuntu 18.04上安裝fail2ban的過程。然后,我將向您展示如何添加一個監(jiān)控器來監(jiān)視失敗的SSH登錄嘗試。
安裝
安裝fail2ban很簡單。登錄到您的Ubuntu服務器并更新/升級。請注意,如果在此過程中升級內核,則必須重新啟動服務器(因此在重新啟動可行時運行此服務器)。要更新和升級服務器,請發(fā)出以下命令:
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文件。不要編輯此文件。相反,我們將創(chuàng)建一個新文件jail.local,它將覆蓋jail.conf中的任何類似設置。我們的新jail配置將監(jiān)視/var/log/auth.log,使用fail2ban sshd過濾器,將SSH端口設置為22,并將最大重試次數(shù)設置為3.為此,請發(fā)出命令:
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地址。
您現(xiàn)在應該能夠使用SSH重新登錄服務器。
更多
這幾乎沒有說明fail2ban可以做什么。但現(xiàn)在您對如何使用該系統(tǒng)有了一個好主意。要了解更多信息,請確保使用以下命令閱讀手冊頁:
man fail2ban
該手冊頁提供了fail2ban可以執(zhí)行的操作的完整概述。