Linux惡意軟件興起:保護開源軟件(OSS)的9個技巧

語言: CN / TW / HK

“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上避免惡意軟件的最佳建議。當然,這並不是萬能的,但它可以在很大程度上防止您或您的公司遭受災難。

本文翻譯自:http://www.techrepublic.com/article/linux-malware-tips-securing-oss/如若轉載,請註明原文地址