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/如若轉載,請註明原文地址