7漏洞您的WordPress安全插件無法保護您免受保護(以及如何手動修復它們)
已發表: 2025-01-27如果您像大多數WordPress用戶一樣,那麼您可能已經安裝了一個安全插件,以幫助確保您的網站安全。這是一個絕佳的第一步,可以處理您的大部分保護 - 尤其是如果您啟用了兩因素身份驗證。
但是請注意,我強調了第一步。我之所以這樣做,是因為許多人認為這是他們需要採取的唯一步驟。如果您真正關心網站的安全性,那麼就不應該這樣做。
好消息是,有了一些輕度的手動配置,您可以在服務器級別增強WordPress安全性,並使您的網站對攻擊具有更大的抵抗力。作為額外的獎勵,您會在這樣做時感覺像是WordPress安全專家 - 可以說是整個過程中最重要的部分。 😉
因此,如果您準備從休閒的WordPress用戶轉換為專業人士並使您的網站防彈,那麼讓我們開始。
工具箱
信不信由你,要實現這一點,您只需要三個(可能是四個)工具即可。
- Sucuri站點檢查:免費工具來運行您的初始掃描並驗證更改。
- 安全標頭:另一個免費的工具,可提供有關網站安全配置的詳細反饋。
- 訪問您的託管控制面板:我正在使用CPANEL,但是如果您還有其他事情,我將介紹該怎麼辦。
- 文本編輯器(也許):您的託管控制面板可能內是內置的,因此可能不需要,但是我在這裡列出它,以防萬一。
上面列表中最複雜的事情將是訪問CPANEL。這並不困難,但是每個託管公司都有自己的方式來做到這一點,如果您以前從未這樣做,那麼您需要弄清楚它。
接近它的最簡單方法(如果不確定)是訪問託管公司的網站知識庫並蒐索“ CPANEL”。如果那沒有到任何地方,請與他們的客戶支持聯繫。
運行您的初始安全檢查
在開始修補網站的代碼之前,您首先要檢查其當前如何處理安全性。我將向您表明您非常具體的更改,因此您想確保它們實際上是您網站所需的。
在大多數情況下 - 尤其是如果您依靠共享託管 - 您將需要製作它們。但是,在一些高級管理的WordPress託管計劃中,您的主人可能會代表您進行調整。因此,為什麼事先進行這些掃描很重要。
Sucuri網站檢查
首先,請前往Sucuri的網站檢查工具,然後將您的網站地址粘貼到掃描儀中:
單擊提交,讓Sucuri發揮其魔力。
出於本教程的目的,我故意未受保護的個人網站,向您展示標準WordPress配置的外觀(在進行編輯之前):
如您所見,掃描顯示了您在任何典型的WordPress設置中都會看到的五個安全空白。我將在稍後解釋它們的意思。
安全標頭
蘇里裡(Sucuri)給了我們一個好鳥的眼光,讓我們暫時讓我們變得書呆子,檢查一下安全標頭要說的話。第一步與Sucuri完全相同 - 只需鍵入或將您的網站地址粘貼到工具中,然後單擊掃描。
根據您的網站的大小,結果可能需要一秒鐘到……更長的時間。 😅我的最初結果看起來像這樣:
所有的紅色和巨型F可能看起來有些嚇人,但實際上為我們提供了一些非常有用的信息。這些紅色標記中的每一個都指出了一個缺少的安全標頭,使您的網站更加脆弱。
我還要重申,即使在網站上安裝了WordFence或其他一些安全插件,您也會看到這些結果。例外是如果您的託管公司或其他人將我們要在您面前進行編輯。
了解所有的危險信號
現在,讓我們組織掃描發現的所有內容 - 工具之間存在一些重疊,但是每個工具也遇到了一些獨特的問題。
問題兩個工具都捕獲了🤝
- 內容 - 安全性完全缺少 - 這意味著沒有控製網站上可以加載的腳本和內容的內容。 ℹ️ 沒有這些控件,可能會注入惡意代碼並在您的頁面上運行,從而損害您的網站和訪問者。
- 缺少X幀選項,這使該站點很容易通過未經授權的嵌入而遭受點擊夾克嘗試。 ℹ️ Click Jacking是當攻擊者欺騙用戶點擊與他們所看到的不同事物時,通常是通過將合法網站分層在惡意內容的情況下。
- 尚未設置內容類型的選項,這可以實現MIME類型的混亂攻擊。 ℹ️ 當將瀏覽器欺騙將一種類型的文件視為另一種文件時,可能會執行有害代碼時,就會發生MIME型混亂。
Sucuri的獨特發現🔍
- PHP版本在HTTP標題中可見。 ℹ️ 當攻擊者可以看到您的PHP版本時,他們確切地知道哪些漏洞可能與您的網站相對 - 例如擁有安全系統的藍圖。
安全標題的額外見解🔬
- 沒有推薦人政策。 ℹ️ 如果沒有此政策,您的網站可能會洩露有關用戶瀏覽模式的敏感信息,以將其洩露給其他網站。
- 權限策略尚未配置。 ℹ️ 這意味著您網站上的任何頁面都可以潛在地要求訪問訪問者的攝像頭,麥克風或位置數據,而無需限制。
- 缺少嚴格的傳輸安全。 ℹ️ 沒有此標頭,與您的網站的連接可能會從HTTP降級到HTTP,從而使它們容易受到攔截。
解決這些問題的優點在於,您不需要了解每個技術細節 - 您只需要正確實施解決方案即可。方便地,這正是我們要做的。
找到服務器文件的方式
假設您像我一樣具有CPANEL,請單擊儀表板中的文件管理器:
如果您使用的是CPanel以外的其他東西,則可以下載Filezilla(它是免費的,這是有關如何使用它的快速指南)。安裝後,使用託管儀表板上的FTP詳細信息連接到服務器:
- 主機:
ftp.yoursite.com
- 仔細檢查CPANEL FTP部分中的正確地址是否正確 - 用戶名:
your-username
- 密碼:
your-password
- 端口:
21
- 還檢查這是您的設置使用的端口(CPANEL中的FTP)
一些主機還將為您提供自己的CPANEL替代方案,該替代方案的功能可能相似。換句話說,您可能絕對不必使用filezilla。如果不確定,請諮詢客戶支持。
找到.htaccess文件
登錄後,您會看到一些看起來像計算機的文件瀏覽器的內容。我們需要找到一個稱為.htaccess
的特定文件- 它控制您的服務器如何處理各種安全設置。找到它的最簡單方法是在右上角使用CPANEL文件管理器搜索功能。 Filezilla用戶可以依靠類似的功能。
在窗口中鍵入.htaccess
,然後單擊GO 。
如果您只有一個鏈接到託管帳戶的網站,則應該很簡單。如果您有多個站點,請確保您要單擊與要進行這些編輯的網站關聯的.htaccess
文件。
要注意的另一個潛在的Tripwire細節是,即使在單個站點設置上,您也可能仍然有其他.htaccess
-ish文件。基本上是在其名稱中具有.htaccess
的文件,又是其他單詞或字符。
您不想要任何一個。您只想要一個稱為.htaccess
的人,而別無其他。
將代碼添加到.htaccess文件以解決安全問題
找到文件後,您需要在進行任何編輯之前下載它。這樣,如果出現問題,您可以將其上傳回文件夾。
沒有什麼應該出錯的,但是要安全比您知道什麼要好。
安全下載備份後,您可以繼續編輯.htaccess
文件。在CPanel的文件管理器中,右鍵單擊文件,然後選擇“編輯” 。如果您使用的是filezilla,請右鍵單擊並選擇“查看/編輯” - 這將在默認文本編輯器中打開文件。
下一部分是整個任務的頂點。在這裡,您可以在短時間內感覺像WordPress安全專家。在持續的過程中享受它。
將代碼放入.htaccess
文件👨🏻💻
WordPress安裝通常在此處有幾個部分,其標記為以# BEGIN
開始和# END
的註釋。
尋找這樣說的行:
# END WordPress
最安全的方法是在此之後立即添加安全標頭。如果您看不到確切的行,或者不確定,則可以在文件末端添加標頭 - 只需確保在任何現有代碼和新添加方面都留下空白。
這是代碼:
# BEGIN Security Headers Header unset X-Powered-By php_flag expose_php Off Header set X-Frame-Options "SAMEORIGIN" Header set X-Content-Type-Options "nosniff" Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' * data: blob:; style-src 'self' 'unsafe-inline' *; img-src 'self' data: *; frame-src 'self' *; font-src 'self' data: *; media-src 'self' *;" Header set Referrer-Policy "strict-origin-when-cross-origin" Header set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()" # END Security Headers
完成後,單擊右上角的保存更改。對於非CPANEL用戶,請在您自己的界面上找到任何等效按鈕。
這樣,您可以再次運行安全掃描以查看更改的影響。
重新運行安全檢查
首先,檢查安全標頭:
還不錯,是嗎?
我們從F轉到A。
談論發光!
我們配置的每個安全標頭都顯示為正確實現。
接下來,讓我們檢查Sucuri:
更好,但奇怪的是,仍然有兩個警告。
第一個實際上是一個假陽性,因為我知道我的網站在運行WordFence。除了Sucuri以外,我沒有任何解釋,無論出於何種原因,我都不認識Wordfence。如果您看到相同的警告,並且還知道已安裝了WAF,請忽略它。
第二個消息有些不同。它還顯示在安全標頭結果中,低於我已經向您展示的出色的A等級報告:
這是事實:
儘管這兩種工具都被標記為“危險”,但使用不安全的內線實際上是完全可以的。
WordPress需要某些JavaScript和CSS功能才能發揮作用 - 尤其是對於塊編輯器和插件。因此,儘管技術上有更嚴格的方法來處理此問題(這就是這些Nonces的參考文獻),但這樣做會破壞您的網站。字面上地。
這裡最好的類比是想一想一所房子。從技術上講,您可以通過用水泥密封所有窗戶和門來使您的房屋“更安全”,但這會使您的房屋變得無功能。這是同一想法。
總結
WordPress安全插件是良好安全策略的基礎 - 但它們無法達到需要設置某些關鍵保護的服務器級別。
您看到的安全掃描的截圖之前和之後,您看到的證明了這一點。
現在,您已經閱讀了本教程,您也可以將WordPress安全性從“插件保護”中獲取到“服務器級安全性”。
最後,作為安全性最佳實踐,我還建議做以下操作:
- 每月進行這些安全掃描。
- 保留您的安全配置的文檔。
- 在重大WordPress更新後進行測試,以確保所有內容仍然按預期工作。
- 更改您的登錄頁面地址。
- 限制登錄嘗試。
- 激活兩因素身份驗證(或簡稱2FA)。
- 保持插件和主題更新和刪除您不使用的插件。
…還有很多。 WordPress安全性可以帶您進入一個深兔子的洞,但是您在這裡學到的知識足以使您開始,並且可以保護您的網站免受大多數攻擊。
你有任何疑問嗎?在評論中讓我知道。我很樂意為您提供幫助。