保護我在 Lightsail 上運行的 Linux 伺服器的最佳實務是什麼?

上次更新日期:2021 年 10 月 28 日

我是運行 Linux 的 Amazon Lightsail 執行個體系統管理員。我可以使用哪些伺服器安全性最佳實務來協助保護我的資料?

解析度

以下是基本的 Linux 伺服器安全性最佳實務。雖然這些都是 Linux 伺服器安全性的重要考量,但請記住,這不是完整的清單。您的本機系統管理員團隊應該根據您的特定需求和使用案例來設定和處理許多複雜的設定。

  • 加密與 Linux 伺服器之間的資料通訊。
    使用 SCP、SSH、rsync 或 SFTP 進行檔案傳輸。避免使用諸如 FTP、Telnet 等服務,因為這些服務並不安全。若要維護安全 (HTTPS) 連線,請在伺服器上安裝並設定 SSL 憑證。
  • 將軟體縮至最小,將 Linux 中的漏洞降至最低,並定期執行安全性稽核。
    請勿安裝不必要的軟體,以避免從軟體或套件引入漏洞。如果可能,請識別並移除所有不需要的套件。
  • 讓 Linux 核心和軟體保持在最新狀態。
    套用安全性修補程式是維護 Linux 伺服器的重要一環。Linux 提供了所有必要的工具來保持系統更新。Linux 還允許在不同版本之間輕鬆升級。請儘快檢閱並套用所有安全性更新,並確定您已更新至最新的可用核心。使用以 Linux 發行版為基礎的個別套件管理員,例如 yum、apt-get 或 dpkg 套用所有安全性更新。
  • 使用 Linux 安全性擴充功能。
    Linux 隨附各種安全功能,您可以用來防範設定錯誤或遭到入侵的程式。如果可能的話,請使用 SELinux 和其他 Linux 安全性擴充功能,對網路和其他程式強制執行限制。例如,SELinux 為 Linux 核心提供了各種安全政策
  • 停用根登入。
    最佳做法是不要以根使用者身分登入。您應該在需要時使用 sudo 來運行根級命令。Sudo 大幅提升系統的安全性,而不需要與其他使用者和管理員共用憑證。
  • 使用 SS 或 netstat 尋找接聽網路連接埠,並關閉或限制所有其他連接埠。
    請務必注意哪些連接埠正在系統的網路介面上進行接聽。這可以透過 ssnetstat 來完成。任何開啟的連接埠都可能是入侵的證據。
  • 在 Linux 伺服器上設定 Lightsail 防火牆和作業系統層級的防火牆,以獲得更高層級的安全性。
    使用 Lightsail 防火牆來過濾流量,並僅允許您的伺服器必要的流量。作業系統層級防火牆是一個使用者空間應用程式,可讓您設定 Linux 核心提供的防火牆。根據您的 Linux 發行版,您可以使用 iptablesufwfirewalld 等。
  • 使用 auditd 進行系統會計。
    Linux 為系統稽核提供 auditd。Auditd 會將稽核記錄寫入硬碟。它還監控各種系統活動,例如系統登錄、認證、帳戶修改和 SELinux 拒絕。這些記錄可協助管理員識別惡意活動或未經授權的存取。
  • 安裝入侵偵測系統 (IDS)。
    使用 fail2ban 或 denyhost 作為 IDS。Fail2ban 和 denyhost 會掃描記錄檔,以避免多次登入嘗試失敗,並封鎖顯示惡意活動跡象的 IP 位址。
  • 定期建立備份。
    如需詳細資訊,請參閱「Amazon Lightsail 中的快照功能」
  • 避免為使用者、群組和其他人提供檔案和目錄的讀取、寫入和執行權限 (777)。
    您可以使用 chmod 來限制對檔案和目錄的存取,例如 Web 根目錄、文件根目錄等。編輯權限,僅提供授權使用者的存取權限。