強化 Web 服務器的指南

已發表: 2022-03-15

由於它們的功能,Web 服務器與典型網絡環境中的許多其他設備不同——它們不僅在設計上暴露在互聯網上,而且很可能為完全陌生的人提供 Web 流量。 此外,在許多情況下,Web 服務器可能會為 WordPress 網站等動態應用程序提供服務,或者充當其他內部應用程序的代理。 因此,Web 服務器成為攻擊者的有趣目標也就不足為奇了。

強化系統是指改進系統防禦的過程,以使惡意黑客更難破壞該系統並在網絡中獲得立足點。

當然,強化 Web 服務器的過程將取決於您使用的 Web 服務器的類型(例如 Apache HTTP Server、Nginx、Microsoft IIS……),但是,有許多核心原則和最佳實踐來改進您的無論您使用哪個 Web 服務器,都應牢記 Web 服務器安全性。

本文是 Web 服務器加固指南。 在其中,我們將研究一些與技術無關的最佳實踐,您可以通過這些最佳實踐來提高 Web 服務器的安全性。 對於 WordPress 加固,請參閱我們的 WordPress 安全和加固指南。

1. 保持您的網絡服務器更新

保持軟件最新可能聽起來沒什麼大不了的,但按時應用安全補丁可以說是您可以實施的最重要的防禦措施之一。 除了性能和穩定性改進之外,Web 服務器和操作系統更新通常包含對安全漏洞的修復。

從表面上看,這聽起來可能微不足道,但是,任何信息安全專業人員都會告訴您,打補丁比聽起來要復雜得多——不是因為安裝大多數軟件的最新版本特別難,而是因為打補丁總是被視為可以被推遲。

確保您的 Web 服務器軟件不斷更新的最佳方法是找到適合您或負責更新您的 Web 服務器和操作系統軟件的任何人的系統或例程。 大多數情況下,它歸結為定期提醒(例如設置重複的日曆事件),您將為此騰出時間。

2.刪除不必要的軟件和模塊

雖然看起來並不總是如此,但 Web 服務器是複雜的軟件。 一些 Web 服務器,例如 Apache HTTP Server,附帶一系列“模塊”(類似於 WordPress 的插件),您可以根據自己的用例啟用或禁用這些模塊。 眾所周知,惡意攻擊者會利用 Web 服務器模塊的功能和漏洞來收集有關您的 Web 服務器的更多信息。 雖然這可能不是攻擊成功的唯一原因,但 Web 服務器加固的重點是採取深度防禦方法,讓惡意行為者難以獲得哪怕是最微小的立足點。

這方面的一個實際示例是諸如 Apache HTTP Server 的 mod_status 之類的模塊。 此模塊旨在通過 /server-status URL 獲取服務器活動和性能的概覽(當前主機、正在處理的請求數、空閒工作人員的數量和 CPU 利用率)。 這樣的功能可以為攻擊者提供一個很好的指示,表明您的 Web 服務器的性能——這是在發生拒絕服務 (DoS) 攻擊時非常有用的工具。

同樣,在您的 Web 服務器上運行的其他未使用的軟件可能會帶來不必要的風險。 例如:

  1. 您是否正在運行不需要的 FTP 服務器,例如vsftpd
  2. 是否有您不再需要的郵件傳輸代理,例如 Sendmail 或 Postfix? 如果您使用第三方服務來提高 WordPress 電子郵件的送達率,則不需要此類服務。

服務器上的這些應用程序/服務和許多其他組件都是具有自己的安全怪癖、漏洞和修補要求的組件。

總之——盡可能少運行軟件。 如果您不使用模塊或服務,則應考慮禁用或刪除它。 當然,不要在開發或登台環境中未經徹底測試就禁用模塊或應用程序(有時可能不完全清楚正在使用 Web 服務器模塊或應用程序)。

3、加強門禁

控制對您的 Web 服務器的訪問對於正確處理至關重要。 畢竟,您希望最大限度地減少訪問您的 Web 服務器的機會落入壞人之手。 以下是與維護適當的訪問控制相關的一些最佳實踐。

  • 不要使用 root 用戶。 如果您需要執行管理任務,請改用 sudo;
  • 使用強系統(和 WordPress)密碼;
  • 使用 SSH 時使用 SSH 密鑰代替密碼;
  • 考慮限制來自特定 IP 地址的 SSH/RDP 訪問;
  • 在任何云提供商帳戶上啟用雙因素身份驗證 (2FA);
  • 確保每個訪問 Web 服務器的人都有自己的用戶——不要在用戶之間共享用戶帳戶;
  • 將 shell/SSH/遠程桌面訪問明確限制為需要它的人。

4. 設置文件完整性監控 (FIM)

文件完整性監控 (FIM) 可幫助系統管理員識別 Web 服務器上的文件何時發生更改。 雖然作為正常 Web 服務器操作的一部分,某些文件會經常更改,但除非管理員進行更改(例如更新 wp-config.php 文件)或更新 WordPress 本身,否則不應更改諸如 WordPress 安裝之類的文件。

雖然在文件完整性監控方面您可以選擇使用多種選項,但建議您堅持使用特定於您正在運行的應用程序、易於設置和操作且不需要很多調整。 否則,您將淹沒在毫無意義的通知中,在不知不覺中,警報疲勞就會開始,抹去您與他人相處的努力。 簡而言之,就 FIM 而言,更多的警報和功能並不等於更好,而是尋找一種以最少的開銷提供最大價值的解決方案。

5. 使用 DDoS 緩解和 WAF 服務

您應該考慮使用 Cloudflare、Fastly、Akamai 或類似服務來保護自己免受包括分佈式拒絕服務 (DDoS) 攻擊在內的大量攻擊,而不是將您的 Web 服務器直接暴露在 Internet 上。 拒絕服務 (DoS) 攻擊是一種攻擊類型,攻擊者旨在通過請求淹沒網站,從而阻止您的 Web 服務器向合法用戶提供請求。

除了拒絕服務緩解之外,此類雲服務通常還提供 Web 應用程序防火牆 (WAF) 功能,能夠阻止許多普通的 Web 應用程序攻擊,例如基本 SQL 注入 (SQLi) 和簡單的跨站點攻擊腳本(XSS)。 雖然 WAF 不是 Web 應用程序漏洞的解決方案,但它們提供了一些防止利用的保護——尤其是針對 WordPress 網站優化的 WAF 規則。

什麼是下一個步驟?

雖然本文介紹了一些常見的 Web 服務器強化技術,但安全方面的任何內容都不是靈丹妙藥。 因此,沒有一種防禦系統的方法是萬無一失的,尤其是在面對堅定的對手時。 因此,為什麼您需要保護構成 WordPress 網站的每個組件。 您不能保護您的 Web 服務器而忽略 WordPress 安全性或您自己的計算機。

然而,不斷修補並遵循良好的安全實踐和衛生可以大大增加攻擊者成功發起攻擊所需的努力——這在大多數情況下意味著挫敗攻擊者,迫使他們轉向更軟的目標。