黑客總是在尋找服務器漏洞。您有責任確保您的數據安全可靠。通過實施我們的服務器安全提示和最佳實踐,最大限度地降低風險并確保您的數據在安全服務器上是安全的。
安全的服務器連接
1.建立和使用安全連接
連接到遠程服務器時,必須建立一個安全的通信通道。使用SSH(安全外殼)協議是建立受保護連接的最佳方式。與以前使用的Telnet不同,SSH 訪問對交換中傳輸的所有數據進行加密。您需要安裝 SSH 守護程序并擁有一個 SSH 客戶端,您可以使用該客戶端發出命令和管理服務器,以使用 SSH 協議進行遠程訪問。默認情況下,SSH 使用端口 22。每個人,包括黑客,都知道這一點。大多數人不會配置這個看似微不足道的細節。但是,更改端口號是減少黑客攻擊您的服務器機會的一種簡單方法。因此,SSH 的最佳實踐是使用介于 1024 和 32,767 之間的端口號。注意:了解Telnet 和 SSH之間的所有區別以及何時使用它們。
2. 使用 SSH 密鑰認證
您可以使用一對 SSH 密鑰而不是密碼來驗證 SSH 服務器,這是傳統登錄的更好替代方案。密鑰攜帶的位數比密碼多得多,并且大多數現代計算機都不容易破解。流行的 RSA 2048 位加密相當于 617 位密碼。密鑰對由公鑰和私鑰組成。
公鑰有多個副本,其中一個保留在服務器上,而其他的則與用戶共享。任何擁有公鑰的人都有權加密數據,而只有擁有相應私鑰的用戶才能讀取這些數據。私鑰不與任何人共享,必須保持安全。建立連接時,服務器會在允許特權訪問之前詢問用戶擁有私鑰的證據。
3. 安全文件傳輸協議
為了在不存在黑客破壞或竊取數據的危險的情況下與服務器傳輸文件,使用安全文件傳輸協議 (FTPS)至關重要。它加密數據文件和您的身份驗證信息。FTPS同時使用命令通道和數據通道,用戶可以同時加密。請記住,它僅在傳輸過程中保護文件。一旦它們到達服務器,數據就不再加密。出于這個原因,在發送文件之前對其進行加密會增加另一層安全性。
4. 安全套接層證書
使用安全套接字層 (SSL)保護您的 Web 管理區域和表單,以保護通過 Internet 在兩個系統之間傳遞的信息。SSL 既可用于服務器-客戶端通信,也可用于服務器-服務器通信。該程序對數據進行加擾,以便敏感信息(如姓名、身份證、信用卡號和其他個人信息)在傳輸過程中不會被盜。擁有SSL 證書的網站在 URL 中包含 HTTPS,表明它們是安全的。證書不僅加密數據,還用于用戶身份驗證。因此,通過管理服務器的證書,它有助于建立用戶權限。管理員可以將服務器配置為與集中式權威機構以及該機構簽署的任何其他證書進行通信。
5. 使用專用網絡和虛擬專用網絡
確保安全通信的另一種方法是使用專用和虛擬專用網絡等軟件。與外部世界可以訪問并因此容易受到惡意用戶攻擊的開放網絡不同,私有和虛擬私有網絡限制對選定用戶的訪問。私有網絡使用私有 IP 在同一范圍內的服務器之間建立隔離的通信通道。這允許同一帳戶下的多個服務器在不暴露于公共空間的情況下交換信息和數據。如果您想像通過專用網絡在本地連接一樣連接到遠程服務器,請使用虛擬專用網絡。它支持完全安全和私有的連接,并且可以包含多個遠程服務器。為了使服務器在同一個虛擬專用網絡下進行通信,它們必須共享安全和配置數據。
服務器用戶管理
6.監控登錄嘗試
使用入侵防御軟件來監控登錄嘗試是一種保護您的服務器免受暴力攻擊的方法。這些自動攻擊使用試錯法,嘗試使用字母和數字的所有可能組合來訪問系統。入侵防御軟件監控所有日志文件并檢測是否有可疑的登錄嘗試。如果嘗試次數超過設定的標準,入侵防御軟件會在一段時間甚至無限期封鎖 IP 地址。
7.管理用戶
每個服務器都有一個可以執行任何命令的 root 用戶。由于它具有強大的功能,如果它落入壞人之手,根可能對您的服務器非常危險。在 SSH 中完全禁用 root 登錄是一種普遍的做法。由于 root 用戶擁有最大的權力,因此黑客將注意力集中在試圖破解該特定用戶的密碼上。如果您決定完全禁用此用戶,您將使攻擊者處于不利地位,并使您的服務器免受潛在威脅。為確保外人不會濫用 root 權限,您可以創建受限用戶帳戶。此帳戶沒有與 root 相同的權限,但仍能夠使用sudo 命令執行管理任務。因此,您可以作為受限用戶帳戶管理大部分任務,并僅在必要時使用 root 帳戶。
服務器密碼安全
8. 建立密碼要求
首先是設置服務器上所有成員必須遵守的密碼要求和規則。不允許使用空密碼或默認密碼。強制執行最小密碼長度和復雜性。制定鎖定政策。不要使用可逆加密存儲密碼。強制會話超時不活動并啟用兩因素身份驗證。
9.設置密碼過期策略
在為用戶建立要求時,設置密碼的到期日期是另一種常規做法。根據所需的安全級別,密碼可能會持續幾周或幾個月。
10. 使用密碼短語作為服務器密碼
使用密碼短語而不是密碼有助于提高服務器安全性的原因有很多。兩者之間的主要區別在于密碼更長并且在單詞之間包含空格。因此,它通常是一個句子,但它不一定是一個。給定的示例比普通密碼長,它包含大小寫字母、數字和唯一字符。此外,記住密碼短語比記住一串隨機字母要容易得多。最后,由于它由 49 個字符組成,因此更難破解。
11.密碼不要
如果您想維護一個安全的服務器,在密碼方面您需要避免一些事情。首先,請注意存儲密碼的位置。請勿將它們寫在紙上并將它們藏在辦公室周圍。通常建議不要使用您的生日、家鄉、寵物名字和其他可以將您(用戶)與密碼聯系起來的個人信息。這些非常容易猜到,尤其是認識您的人。
只包含簡單字典單詞的密碼也很容易被破解,尤其是字典(蠻力)攻擊。請注意同樣的風險,盡量避免在同一個密碼中重復字符序列。最后,不要對多個帳戶使用相同的密碼。通過回收密碼,您將自己置于重大風險之中。如果黑客設法訪問單個帳戶,則具有相同密碼的所有其他帳戶都可能處于危險之中。嘗試為每個單獨的帳戶使用不同的密碼,并使用 KeePass 等密碼管理器跟蹤它們。保護服務器的其他最佳實踐
12.定期更新和升級軟件
定期更新服務器上的軟件是保護其免受黑客攻擊的關鍵步驟。過時軟件的弱點已經被探索過了,讓黑客可以利用這些弱點并損害您的系統。如果您使所有內容保持最新,則可以確保對其進行更新以在第一道防線中保護自己。自動更新是確保不會忘記更新的一種方式。但是,允許系統自行進行此類更改可能是有風險的。在更新生產環境之前,最好檢查更新在測試環境中的執行情況。確保定期更新服務器控制面板。您還需要定期更新內容管理系統(如果您使用一個)以及它可能具有的任何插件。每個新版本都包含用于修復已知安全問題的安全補丁。
13.刪除或關閉所有不必要的服務
通過減少所謂的攻擊向量來提高服務器安全性。這個網絡安全術語是指僅安裝和維護保持服務運行所需的最低要求。只需啟用操作系統使用的網絡端口和已安裝的組件。系統上的資源越少越好。Windows 操作系統服務器應該只具有所需的操作系統組件。Linux 操作系統服務器應該具有最小安裝,只安裝真正需要的軟件包。由于大多數 Linux 發行版偵聽 Internet 上的傳入連接,因此您希望將防火墻配置為僅允許特定端口并拒絕所有其他不必要的通信。在您的系統上安裝軟件之前檢查依賴項,以確保您沒有添加任何您不需要的東西。此外,檢查您的系統上自動啟動了哪些依賴項,以及您是否希望它們在那里。
14.隱藏服務器信息
盡量少提供有關底層基礎設施的信息。對服務器了解得越少越好。此外,最好隱藏您在服務器上安裝的任何軟件的版本號。默認情況下,它們通常會顯示確切的發布日期,這可以幫助黑客在尋找弱點時提供幫助。通過從問候橫幅的 HTTP 標頭中刪除此信息通常很簡單。
15.使用入侵檢測系統
要檢測任何未經授權的活動,請使用入侵檢測系統 (IDS),例如 Sophos,它會監控服務器上運行的進程。您可以將其設置為檢查日常操作、運行定期自動掃描或決定手動運行 IDS。
16. 文件審核
文件審核是發現系統上不需要的更改的另一種好方法。當系統處于良好的“健康”狀態時,它會記錄系統的所有特征,并將其與當前狀態進行比較。通過并排比較同一系統的兩個版本,您可以檢測所有不一致之處并跟蹤其來源。
17. 服務審計
服務審計探索服務器上正在運行的服務、它們的協議以及它們通過哪些端口進行通信。了解這些細節有助于在系統中配置攻擊面。
18. 設置和維護防火墻
通過控制和限制對系統的訪問來保護您的服務器。使用 CSF(ConfigServer 和防火墻)對于加強服務器的安全性至關重要。它只允許特定的重要連接,鎖定對其他服務的訪問。在初始服務器設置或更改服務器提供的服務時設置防火墻。默認情況下,典型的服務器運行不同的服務,包括公共服務、私有服務和內部服務。公共服務通常由需要允許訪問網站的 Web 服務器運行。任何人都可以通過互聯網訪問這些服務,通常是匿名的。
例如,在處理數據庫控制面板時會使用私有服務。在這種情況下,許多選定的人需要訪問同一點。他們在服務器內擁有具有特殊權限的授權帳戶。內部服務是永遠不應該暴露在互聯網或外部世界的服務。它們只能從服務器內部訪問,并且只接受本地連接。防火墻的作用是根據用戶被授權的服務來允許、限制和過濾訪問。將防火墻配置為限制所有服務,但您的服務器必須提供的服務除外。
19. 備份你的服務器
盡管前面提到的步驟旨在保護您的服務器數據,但備份系統以防出現問題至關重要。將關鍵數據的加密備份存儲在異地或使用云解決方案。無論您有自動備份作業還是手動執行它們,請確保定期執行此預防措施。此外,您應該測試備份,進行全面的備份測試。這應該包括管理員甚至最終用戶驗證數據恢復是否一致的“健全性檢查”。
20. 創建多服務器環境
隔離是您可以擁有的最佳服務器保護類型之一。完全分離需要擁有不與其他服務器共享任何組件的專用裸機服務器。盡管這是最容易管理并提供最高安全性的方法,但它也是最昂貴的。在數據中心擁有隔離的執行環境允許所謂的職責分離 (SoD) 并根據服務器實現的功能設置服務器配置。分離數據庫服務器和 Web 應用程序服務器是一種標準的安全實踐。單獨的執行環境對無法承受任何安全漏洞的大型企業特別有利。獨立的數據庫服務器保護敏感信息和系統文件免受黑客的攻擊,這些黑客設法獲得了對管理帳戶的訪問權限。此外,隔離允許系統管理員單獨配置 Web 應用程序安全性并通過設置 Web 應用程序防火墻來最小化攻擊面。
21. 創建虛擬隔離環境
如果您負擔不起或不需要使用專用服務器組件進行完全隔離,您也可以選擇隔離執行環境。這樣做可以幫助您處理可能出現的任何安全問題,確保其他數據不受影響。您可以在更容易設置的容器或 VM 虛擬化之間進行選擇。UNIX 操作系統中虛擬化環境的另一個選擇是創建 chroot jails。Chroot 將一個進程從中央操作系統的根目錄中分離出來,并允許它僅訪問其目錄樹中的文件。然而,這并不是完全的隔離,只能與其他安全措施一起實施。