我是執行 Linux 的 Amazon Lightsail 執行個體的系統管理員。我想了解可用於協助保護資料的伺服器安全性最佳做法。
解決方法
以下是基本的 Linux 伺服器安全性最佳做法。這不是一個完整的清單。身為本機系統管理員,您必須根據要求和使用情況來設定許多複雜的設定。
加密往返 Linux 伺服器的資料通訊
使用 SCP、SSH、rsync 或 SFTP 進行檔案傳輸。不要使用 FTP 和 Telnet,因為它們不安全。若要維護安全 (HTTPS) 連線,請在伺服器上安裝並設定 SSL/TLS 憑證。
減少軟體以最大程度地減少 Linux 中的漏洞,並定期執行安全稽核
為避免軟體或套件的漏洞,請勿安裝不必要的軟體。盡可能識別並移除所有不需要的套件。
讓 Linux 核心和軟體保持最新狀態
安全性修補程式是 Linux 伺服器維護的重要組成部分。Linux 提供所有必要的工具來保持系統更新。您可以在版本之間輕鬆升級。檢閱所有安全性更新並在其發佈後盡快套用,同時確保您更新到最新可用的核心。若要套用所有安全性更新,請使用基於 Linux 發行版的套件管理員,例如 yum、apt-get 或 dpkg。
使用 Linux 安全性擴充功能
Linux 具有安全性功能,可用於防止設定錯誤或遭到破壞的程式。盡可能使用 SELinux 和其他 Linux 安全性擴充功能對網路及其他程式實施限制。
關閉根登入
請勿以根使用者身分登入。在需要時,最佳做法是使用 sudo 執行根層級命令。Sudo 可增強系統的安全性,並且不會與其他使用者和管理員共用憑證。如需詳細資訊,請參閱 Red Hat 網站上的禁止根存取權。
使用 SS 或 netstat 尋找監聽網路連接埠,並關閉或限制所有其他連接埠
使用 ss 或 netstat 尋找系統網路介面上監聽的連接埠。任何開啟的連接埠都可能是入侵的證據。如需詳細資訊,請參閱 Red Hat 網站上的 Linux 網路:透過 ss 的通訊端統計資料和 Linux 網路: netstat 的 13 種用途。
在 Linux 伺服器上設定 Lightsail 防火牆和作業系統層級防火牆以獲得額外的安全性
使用 Lightsail 防火牆過濾流量,並僅允許必要的流量到您的伺服器。作業系統層級防火牆是使用者空間應用程式,可讓您設定 Linux 核心提供的防火牆。根據您的 Linux 發行版,您可以使用 iptables、ufw、firewalld 等。如需關於 iptables 和 firewalld 的詳細資訊,請參閱 Red Hat 網站上的使用 iptables 設定和控制 IP 和使用防火牆。如需關於 ufw 的更多資訊,請參閱 ubuntu 網站上的安全性 - 防火牆。
使用 auditd 稽核系統
使用 auditd 稽核您的系統。Auditd 會將稽核記錄寫入磁碟。它還會監控系統活動,例如系統登入,身分驗證,帳戶修改和 SELinux 拒絕。這些記錄可協助您識別惡意活動或未經授權的存取。如需詳細資訊,請參閱 Red Hat 網站上的使用 auditd 設定 Linux 系統稽核。
安裝 IDS
使用 fail2ban 或 denyhost 作為入侵偵測系統 (IDS)。Fail2ban 和 denyhost 掃描日誌檔是否有過多次失敗的登入嘗試,並阻止顯示惡意活動跡象的 IP 位址。
定期建立備份
如需詳細資訊,請參閱 Amazon Lightsail 中的快照。
避免為檔案和目錄設定讀取、寫入和執行權限 (777) 給使用者、群組及其他人
您可以使用 chmod 限制對檔案和目錄的存取,例如 web 根目錄或文件根目錄。如需詳細資訊,請參閱 Red Hat 網站上的 Linux 權限: chmod 簡介。若要僅為授權的使用者提供存取權限,請編輯權限。如需詳細資訊,請參閱 Red Hat 網站上的如何管理使用者、群組及其他人的 Linux 權限。
相關資訊
Amazon Lightsail 中的安全性
Amazon Lightsail 的合規驗證
Lightsail 中的基礎架構安全性
保護基於 Windows Server 的 Lightsail 執行個體的最佳做法