服務器安全是網絡托管提供商和服務器管理員服務器管理的一個關鍵方面。在這里,我們將介紹十種用于強化服務器并監控它們是否存在安全漏洞的技術。
1. SSH使用公鑰認證
刪除未加密的訪問。沒有人應該再使用 telnet、ftp 或 http 來管理服務器。SSH、SFTP 和 https 是公認的標準。為了獲得更好的安全性,完全擺脫 SSH 上的密碼身份驗證。相反,請使用 SSH 密鑰。每個用戶都有一個公鑰和一個私鑰。私鑰由用戶保管。公鑰保存在服務器上。當用戶嘗試登錄時,SSH 確保公鑰與私鑰匹配。一旦密碼登錄被禁用,就沒有針對弱密碼的成功暴力攻擊的風險。
2. 強密碼
安全加固的服務器對犯罪分子來說是一個挑戰,但您會驚訝于有多少服務器管理員敞開前門。人們——包括那些應該更了解的人——傾向于選擇容易猜到的密碼。去年,針對具有弱 SSH 密碼的服務器的暴力攻擊導致了大量的勒索軟件攻擊。使用長密碼和隨機密碼——長密碼更好,并最終限制具有登錄類型訪問權限的用戶。
3. 安裝和配置 CSF 防火墻
Config Server Firewall是一款功能豐富的免費防火墻,可以保護服務器免受各種攻擊。其功能包括狀態數據包檢查、身份驗證失敗率限制、洪水保護、目錄監視和外部阻止列表的使用。CSF 是一個很棒的工具,并且比 iptables 更容易管理。
4. 安裝和配置 Fail2Ban
網絡上的每臺服務器都被尋找弱點的機器人所困擾。Fail2Ban會搜索您服務器的日志以搜索指示惡意連接的模式,例如太多失敗的身份驗證嘗試或太多來自同一 IP 的連接。然后它可以阻止來自這些 IP 的連接并通知管理員帳戶。
5.安裝惡意軟件掃描軟件
理想情況下,您希望將惡意人員拒之門外,但如果他們確實設法破壞了服務器的安全性,您希望盡快了解情況。ClamAV是一款出色的 Linux 惡意軟件掃描工具,而rkhunter可用于查找 Rootkit。結合起來,他們很有可能會發現黑客可能在服務器上安裝的任何惡意軟件。AIDE可用于在系統上生成文件哈希表,然后每天比較文件的哈希計數以確認沒有對系統關鍵文件進行任何更改。
6. 保持軟件最新
過時的軟件可能包含黑客已知的安全漏洞,正如Equifax 最近以每個人的代價發現的那樣。如果您忽略本文中的所有其他建議(您不應該這樣做),您至少應該使用 Linux 發行版的包管理器進行更新。
7.定期備份
您可能不認為備份是一種安全措施,但我們保護服務器的主要原因是確保存儲在其上的數據安全。不可能保證服務器永遠不會受到損害,因此數據應該加密并備份到異地位置。定期測試全面備份的恢復將消除勒索軟件攻擊。
8.監控日志
日志是一個極其重要的安全工具。服務器收集了大量關于它做什么以及誰連接到它的信息。該數據中的模式通常會揭示惡意行為或安全漏洞。Logwatch是一個優秀的日常總結工具,可以分析、總結并生成關于您的服務器上發生的事情的報告。Logsentry可用于每小時報告以更主動地監控入口。
9.關閉不必要的服務
應禁用對服務器功能不重要的任何面向 Internet 的軟件。服務器內部環境與外界的接觸點越少越好。大多數 Linux 發行版(包括CentOS和Ubuntu)都包含一個用于管理服務的工具。
這也適用于 Web 服務器引擎本身,關閉不需要的模塊,刪除不使用的語言模塊,禁用 Web 服務器狀態和調試頁面。您提供的有關底層基礎設施的信息越少,攻擊您的足跡就越小。
10.安裝ModSecurity
ModSecurity是一種 Web 應用程序防火墻——它運行在比 CSF 防火墻更高的級別,旨在處理針對應用程序層的威脅。簡而言之,它阻止了針對 Web 應用程序的多種類型的攻擊,包括 WordPress 等內容管理系統和 Magento 等電子商務商店。ModSecurity 曾經是一個 Apache 模塊,但現在也可用于 NGINX。
還要考慮這些選項:
采取措施減輕 XSS 攻擊(跨站點腳本),方法是將設置添加到服務器,強制服務器和客戶端確認他們正在與誰交談。OWASP有豐富的信息和教程。
使用 HTTP2(或 http1.2) HTTP/2 的實現必須使用 TLS 版本 1.2 或更高版本用于基于 TLS 的 HTTP/2。這種升級后的 http 引擎通過與客戶端交談二進制而不是文本來提高服務器負載,提高互操作性,它減少了對已知安全漏洞的暴露,并減少了來自不同客戶端瀏覽器訪問的站點顯示問題的可能性。