“linux是市場上最安全的操作系統”;多年來,這一直是開源平臺的最佳賣點之一。然而,與任何有關技術的事物一樣,被犯罪分子瞄準只是時間問題。每個操作系統、軟件和服務都是如此。在這一點上,說Linux對惡意軟件免疫是絕對錯誤的。
可悲的事實是,只要它連接到網絡,就容易受到攻擊。您使用什么操作系統并不重要——它運行的時間越長,就越有可能成為目標。Linux也不例外。
過去幾年里,考慮到企業業務需要依賴包括Linux操作系統在內的開源技術謀生,Linux系統被網絡犯罪分子盯上也就不足為奇了。事實上,如果大膽預測的話,針對Linux 部署的惡意軟件的興起將在未來十年變得更加驚人。
幸運的是,開源開發人員可以非常快速地響應此類惡意軟件攻擊——漏洞通常會在數小時或數天內被發現并修補。這種敏捷性是開源軟件的優點之一。
然而,用戶和管理員也承擔著責任。我們都習慣認為Linux是一個“一勞永逸”的平臺,但事實卻并非如此。簡而言之,它是軟件,不知道也不關心潛伏在黑客內心深處的危險,它只是根據其部署工作而已。
話雖如此,管理員和用戶應該怎么做才能對抗這種不斷加劇的惡意軟件浪潮呢?
如何保護您的Linux操作系統
1. 更新,更新,更新
不幸的現實是,我們的環境中充斥著嚴重過時的Linux系統,這會導致操作系統和安裝的軟件中布滿漏洞。
您需要養成定期檢查更新的習慣。建議您定期在Linux設備上運行更新檢查,并在更新可用時立即應用。對于臺式機來說,這是一個很好的策略。對于服務器,至少每周檢查一次,并確保在必要時可以重新啟動服務器以應用這些更新。
2. 選擇正確的發行版
Linux發行版的數量遠超出您的想象。盡管其中一些非常小眾,但大多數都是通用的。切勿將通用操作系統用作服務器。
如果您正在尋找服務器操作系統,請堅持使用已知實體,例如Ubuntu Server、Debian Server、RHEL、SUSE、Fedora Server、AlmaLinux和Rocky Linux。如果您正在尋找用于容器的操作系統,請考慮使用特定于容器的發行版,例如Red Hat OpenShift。至于臺式機,建議您堅持使用維護良好并定期發布可靠更新的發行版,例如Ubuntu、Linux Mint、Pop!_OS和Fedora。
3. 明智且負責任地部署
部署Linux時,請確保您以及您的用戶和管理團隊精通該操作系統。不要僅僅假設您可以出于任何目的部署任何Linux發行版,而無需費心了解平臺的細節,并假設一切都會正常運行。您需要了解Linux安全性,了解哪些工具最適合該任務,并且永遠不要假設您可以在不接觸操作系統的情況下進行部署。
曾幾何時,您可以“set and forget”(設置好就忘記)Linux。但那個時候已經過去了。如果您想確保您的Linux部署免受惡意軟件攻擊,請及時了解并警惕漏洞。您知道的越多,您的準備工作也就越充分。
4. 閱讀日志文件
日志包含大量信息,Linux提供了隱喻的大量日志可供掃描。只要看看/var/log目錄,您就會明白我的意思。問題是,系統上有多少日志文件并不重要:如果您不閱讀它們,它們就毫無價值。
養成閱讀日志文件的習慣。如果您不想手動梳理這些日志,可以考慮使用能幫您完成任務的工具,例如Graylog 2、Logcheck、Logwatch和Logstash等。
5. 部署掃描軟件
多年來,我曾對在Linux上使用掃描軟件的想法嗤之以鼻。現在?我完全贊成!我并不是說您應該立即安裝防病毒掃描程序(盡管它不會造成傷害),但管理員肯定應該安裝rootkit掃描程序并使用工具來掃描郵件服務器。最終用戶也可以從ClamAV之類的工具中受益,但它是相當手動的,因此您的最終用戶必須接受培訓以了解如何使用它。
6. 限制用戶訪問
不要讓任何用戶SSH(Secure Shell,安全外殼,一種網絡安全協議,通過加密和認證機制實現安全的訪問和文件傳輸等業務)進入您的服務器。只允許絕對需要訪問權限的人使用Secure Shell來訪問您的服務器。同時,設置只允許SSH密鑰訪問并且root用戶被鎖定在SSH身份驗證之外的策略。
7. 采用強密碼策略
說到用戶,您必須為Linux設置一個強密碼策略。強密碼是必須的。但是,如果您的服務器和臺式機不需要強密碼,您就無法實施這樣的策略。以下是借助PAM(Pluggable Authentication Modules)在Ubuntu/Debian 設備上啟用強密碼的分步指南
安裝
雖然PAM已經安裝,但您必須添加一個附加模塊。為此,請打開終端窗口并發出以下命令:
sudo apt-get install libpam-cracklib
這就是要安裝的全部內容。
配置libpam_cracklib
此設置的配置文件是/etc/pam.d/common-password。在進行任何更改之前,讓我們復制該文件。發出命令:
sudo cp /etc/pam.d/common-password /root/
將文件的工作副本隱藏起來,在您選擇的編輯器中打開文件并查找以下行:
password requisite pam_cracklib.so retry=3 minlen=8 difok=3
我們將使用以下選項進行設置:
·minlen=建立與密碼長度相關的復雜性度量;
·lcredit=設置所需小寫字母的最小數量;
·ucredit=設置所需大寫字母的最小數量;
·dcredit=設置所需的最小位數;
·ocredit=設置所需其他字符的最小數量;
·difok=設置必須不同于之前密碼的字符數;
這是配置變得有點棘手的地方。您可能認為minlen是密碼的最小長度。實際上,minlen是密碼被認為成功之前必須達到的最低復雜度分數。其工作原理是密碼中的某些字符不止一次計入密碼復雜性。為了創建這個分數,復雜性是通過幾個步驟來衡量的:
·密碼中的每個字符都會加一分(無論類型如何);
·每個小寫字母加一分(最高為lcredit的值);
·每個大寫字母加一分(最高為ucredit的值);
·每個數字加一分(最高為dcredit的值);
·每個特殊字符加一分(最高為ocredit的值);
您還可以將這些值設置為負數。負數表示類的最小值(類是lcredit、ucredit、dcredit等),而正值表示類的最大值。
舉個例子:
password requisite pam_cracklib.so try_first_pass retry=3
minlength=16lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=4
reject_username
上述設置將確保密碼的復雜度得分為16,并且每個類別中至少包含一個字符。此外,還增加了reject_username,以防止用戶將其用戶名設置為密碼。
8. 定期進行滲透測試
您還應該養成在所有Linux系統上運行滲透測試的習慣。確實,使用Kali Linux之類的大型工具包可能會拖慢系統運行速度,但是當您發現系統上迄今為止未知的漏洞并修補它們時,您會發現一切都是值得的。它會幫您避免一場災難。
9. 不要禁用SELinux,并使用你的防火墻
我猜,Linux管理員在基于RHEL的發行版上做的第一件事就是禁用SELinux。千萬別這樣做!SELinux的存在是有原因的。確實,它可能比較麻煩,但子系統提供的安全性是值得的。關于SELinux有很多東西要學,但是考慮這個安全系統是絕對必須的,而且越早學習,您就可以越早利用它提升安全性。
同時,使用您的防火墻。了解您選擇的發行版使用的任何工具——例如UFW或FirewallD——并熟悉它的工作原理。不要禁用它,而是啟用它。該防火墻可能是您數據安全的最后堡壘。所以為什么要忽略它呢?
以上就是在Linux上避免惡意軟件的最佳建議。當然,這并不是萬能的,但它可以在很大程度上防止您或您的公司遭受災難。
參考及來源:https://www.techrepublic.com/article/linux-malware-tips-securing-oss/