如何提升 Linux 伺服器安全的開源工具和技巧?

roc_guo發表於2021-04-26

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

我使用我最熟悉的 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 檔案中找到以下幾行,並用你喜歡的時間(天數)替換。

強制要求字元規格:

  • 在密碼中強制要求字元規格的四個引數是 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 來做到。

7、保證你的伺服器安全

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

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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2769974/,如需轉載,請註明出處,否則將追究法律責任。

相關文章