Linux中國

6 個提升 Linux 伺服器安全的開源工具和技巧

如今我們的許多個人和專業數據都可以在網上獲得,因此無論是專業人士還是普通互聯網用戶,學習安全和隱私的基本知識是非常重要的。作為一名學生,我通過學校的 CyberPatriot 活動獲得了這方面的經驗,在那裡我有機會與行業專家交流,了解網路漏洞和建立系統安全的基本步驟。

本文基於我作為初學者迄今所學的知識,詳細介紹了六個簡單的步驟,以提高個人使用的 Linux 環境的安全性。在我的整個旅程中,我利用開源工具來加速我的學習過程,並熟悉了與提升 Linux 伺服器安全有關的更高層次的概念。

我使用我最熟悉的 Ubuntu 18.04 版本測試了這些步驟,但這些步驟也適用於其他 Linux 發行版。

1、運行更新

開發者們不斷地尋找方法,通過修補已知的漏洞,使伺服器更加穩定、快速、安全。定期運行更新是一個好習慣,可以最大限度地提高安全性。運行它們:

sudo apt-get update && apt-get upgrade

2、啟用防火牆保護

啟用防火牆 可以更容易地控制伺服器上的進站和出站流量。在 Linux 上有許多防火牆應用程序可以使用,包括 firewall-cmd 簡單防火牆 Uncomplicated Firewall UFW)。我使用 UFW,所以我的例子是專門針對它的,但這些原則適用於你選擇的任何防火牆。

安裝 UFW:

sudo apt-get install ufw

如果你想進一步保護你的伺服器,你可以拒絕傳入和傳出的連接。請注意,這將切斷你的伺服器與世界的聯繫,所以一旦你封鎖了所有的流量,你必須指定哪些出站連接是允許從你的系統中發出的:

sudo ufw default deny incoming
sudo ufw default allow outgoing

你也可以編寫規則來允許你個人使用所需要的傳入連接:

ufw allow <service>

例如,允許 SSH 連接:

ufw allow ssh

最後,啟用你的防火牆:

sudo ufw enable

3、加強密碼保護

實施強有力的密碼政策是保持伺服器安全、防止網路攻擊和數據泄露的一個重要方面。密碼策略的一些最佳實踐包括強制要求最小長度和指定密碼年齡。我使用 libpam-cracklib 軟體包來完成這些任務。

安裝 libpam-cracklib 軟體包:

sudo apt-get install libpam-cracklib

強制要求密碼的長度:

  • 打開 /etc/pam.d/common-password 文件。
  • minlen=12 行改為你需要的任意字元數,從而改變所有密碼的最小字元長度要求。

為防止密碼重複使用:

  • 在同一個文件(/etc/pam.d/common-password)中,添加 remember=x 行。
  • 例如,如果你想防止用戶重複使用他們最後 5 個密碼中的一個,使用 remember=5

要強制要求密碼年齡:

  • /etc/login.defs 文件中找到以下幾行,並用你喜歡的時間(天數)替換。例如:
PASS_MIN_AGE: 3
PASS_MAX_AGE: 90
PASS_WARN_AGE: 14 

強制要求字元規格:

  • 在密碼中強制要求字元規格的四個參數是 lcredit(小寫)、ucredit(大寫)、dcredit(數字)和 ocredit(其他字元)。
  • 在同一個文件(/etc/pam.d/common-password)中,找到包含 pam_cracklib.so 的行。
    • 在該行末尾添加以下內容:lcredit=-a ucredit=-b dcredit=-c ocredit=-d
    • 例如,下面這行要求密碼必須至少包含一個每種字元。你可以根據你喜歡的密碼安全級別來改變數字。lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1

4、停用容易被利用的非必要服務。

停用不必要的服務是一種最好的做法。這樣可以減少開放的埠,以便被利用。

安裝 systemd 軟體包:

sudo apt-get install systemd

查看哪些服務正在運行:

systemctl list-units

識別 哪些服務可能會導致你的系統出現潛在的漏洞。對於每個服務可以:

  • 停止當前正在運行的服務:systemctl stop <service>
  • 禁止服務在系統啟動時啟動:systemctl disable <service>
  • 運行這些命令後,檢查服務的狀態:systemctl status <service>

5、檢查監聽埠

開放的埠可能會帶來安全風險,所以檢查伺服器上的監聽埠很重要。我使用 netstat 命令來顯示所有的網路連接:

netstat -tulpn

查看 「address」 列,確定 埠號。一旦你找到了開放的埠,檢查它們是否都是必要的。如果不是,調整你正在運行的服務,或者調整你的防火牆設置。

6、掃描惡意軟體

殺毒掃描軟體可以有用的防止病毒進入你的系統。使用它們是一種簡單的方法,可以讓你的伺服器免受惡意軟體的侵害。我首選的工具是開源軟體 ClamAV

安裝 ClamAV:

sudo apt-get install clamav

更新病毒簽名:

sudo freshclam

掃描所有文件,並列印出被感染的文件,發現一個就會響鈴:

sudo clamscan -r --bell -i /

你可以而且應該設置為自動掃描,這樣你就不必記住或花時間手動進行掃描。對於這樣簡單的自動化,你可以使用 systemd 定時器 或者你的 喜歡的 cron 來做到。

保證你的伺服器安全

我們不能把保護伺服器安全的責任只交給一個人或一個組織。隨著威脅環境的不斷迅速擴大,我們每個人都應該意識到伺服器安全的重要性,並採用一些簡單、有效的安全最佳實踐。

這些只是你提升 Linux 伺服器的安全可以採取的眾多步驟中的一部分。當然,預防只是解決方案的一部分。這些策略應該與嚴格監控拒絕服務攻擊、用 Lynis 做系統分析以及創建頻繁的備份相結合。

你使用哪些開源工具來保證伺服器的安全?在評論中告訴我們它們的情況。

via: https://opensource.com/article/21/4/securing-linux-servers

作者:Sahana Sreeram 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國