跳至主要內容
>_ITDITD網站資安平台

各框架對策

WordPress 資安 — 正式環境的加固參考

WordPress 正式環境的加固參考:優先順序清單,加上更新、外掛/佈景主題管理、管理員 2FA、降低管理後台暴露、wp-config 與機密、檔案、備份,並附上自我驗證清單。以防禦為主,不含攻擊步驟。

發布於 2026-07-02 更新於 2026-07-02 閱讀時間 3 分鐘

適用對象:任何在經營 WordPress 網站的人。這裡不談攻擊步驟——這是一份加固用的可實作參考:依優先順序排列的清單、各面向的指引,以及自我驗證。想看跨框架的全貌,請見 各框架資安對策的入口

依優先順序排列的加固清單

由上而下處理這張表。P0 是最高優先,P1 是最常見的事故來源,P2 是持續性的維運衛生。

P0 ── 前提(先做這個)

自動更新/刪除未使用的外掛與佈景主題/強管理員+2FA

P1 ── 最主要的事故來源

外掛最小化/降低管理後台暴露/可還原的備份

P2 ── 維運衛生

wp-config 與機密/檔案權限/HTTPS、標頭、PHP/相依套件的鮮度

由地基往上加固:P0(前提)→ P1(最主要的事故來源)→ P2(維運衛生)。
優先度控制項具體做法(WordPress)
P0自動更新為核心、外掛、佈景主題啟用自動更新。大版本更新前先備份
P0刪除未使用的未使用的外掛/佈景主題請刪除,別只停用(殘留的檔案仍是攻擊對象)
P0強管理員+2FA強密碼+雙因素。避免使用 admin 使用者名稱;角色採最小權限
P1外掛最小化安裝前先審查更新頻率、採用度、已知 CVE。數量保持精簡
P1保護登入登入嘗試次數限制。限制 wp-adminwp-login.php 的暴露
P1降低暴露若未使用就限制 xmlrpc.php。抑制 REST API 的使用者列舉
P1備份離線/異地存放的可還原備份+還原測試+竄改偵測
P2wp-config 與機密設定驗證金鑰/salt,保護 wp-config.php,正式環境停用除錯顯示
P2檔案權限約 644 檔案/755 目錄。在上傳目錄禁止 PHP 執行
P2HTTPS/標頭/更新強制 HTTPS、HSTS 等。讓 PHP/DB 維持在受支援的版本

1. 更新(最主要的防禦)

對 WordPress 的多數攻擊都是**自動化工具大規模地打一個已公開的已知漏洞(CVE)。**所以更新的速度就是你最大的防禦。

  • 為核心、外掛與佈景主題啟用自動更新——在已公開的洞被利用前就先關上。
  • 對重要的網站,在測試環境(staging)驗證大版本更新,並在更新前先備份
  • 跳過的更新就是自動化攻擊的敞開入口。別「之後再做」。

2. 外掛與佈景主題(攻擊面)

第三方程式碼的漏洞是最大的入口。關鍵是數量保持精簡,且絕不放著不管。

  • 對於任何未使用的,直接刪除而不是停用(停用的檔案仍可能成為攻擊對象)。
  • 安裝前先確認**更新頻率、採用度、最後更新日期與已知 CVE。**避開遭到棄置的。
  • 你可以用 CVE/KEV 查詢 來確認外掛的 CVE。擴充越少,代表更新責任越少、攻擊面也越小。

3. 管理員帳號與驗證

多數的接管都是針對脆弱/重複使用的管理員帳號進行暴力破解,或重複使用外洩的密碼。

常見(危險)

  • 使用者名稱 admin+弱密碼+無 2FA
  • 每個人都是管理員(沒有角色區分)
  • 登入嘗試無限制
  • wp-admin 從任何地方都能存取

正確

  • 強密碼+2FA,使用 admin 以外的使用者名稱
  • 最小權限角色(適當運用編輯/作者)
  • 登入嘗試次數限制(抑制暴力破解)
  • 若可行,限制 wp-adminwp-login.php 能從哪些來源存取

關於如何選擇 2FA,請見 2FA 是什麼;至於鎖定管理員的途徑,請見 釣魚是什麼

4. 降低暴露(管理面與資訊揭露)

攻擊者會先尋找「可用的入口」。切掉未使用的功能與不必要的揭露。

  • 加上登入嘗試次數限制,降低暴力破解的效果。
  • 若未使用就限制 xmlrpc.php(它可能成為暴力破解放大與大量請求的入口)。
  • 抑制 REST API 的使用者列舉(防止透過 ?author= 等揭露管理員名稱)。
  • 停用目錄列表,減少不必要的版本揭露。
  • 從管理後台停用檔案編輯DISALLOW_FILE_EDIT),讓入侵後的竄改更困難。

5. wp-config 與機密(P2)

  • 設定唯一的驗證金鑰/salt,並以適當的權限保護 wp-config.php(絕不讓任何人都可讀取)。
  • 讓 DB 憑證這類機密遠離公開面。別把備份或匯出檔留在公開目錄(→ 別把機密放在公開目錄)。
  • 在正式環境停用除錯顯示WP_DEBUG_DISPLAY 關閉)。別透過錯誤洩漏內部資訊。

6. 檔案與上傳(P2)

  • 檔案權限大約為 644 檔案/755 目錄wp-config.php 則更嚴格。絕不讓任何項目變成任何人都可寫入。
  • 別允許在上傳目錄執行 PHP(防範 web shell)。驗證上傳的類型與大小。
  • 使用竄改偵測(檔案變更監控)以儘早發現入侵後的變更。

7. HTTPS、標頭、備份(P2)

  • **強制 HTTPS+HSTS。**解決混合內容。
  • 加上安全標頭(用 安全標頭檢查工具 檢查你自己的網站)。
  • 保有離線/不可竄改的備份+還原測試,讓你能夠還原(→ 備份基礎)。這是對抗勒索軟體與竄改的最後一道防線。

8. 主機與相依套件(P1–P2)

  • 讓 **PHP 與資料庫維持在受支援的版本。**別放著 EOL 版本不管。
  • 掌握你主機的修補狀態(在共享主機上,這也包含供應商的應對)。
  • WAF 只是補強——先把地基(更新、最小化、驗證、備份)鞏固好。

驗證:你的 WordPress 真的加固好了嗎?

做出來還不是結束——只有在檢查過之後才算完成。以下是針對你自己網站的防禦性自我檢查。

1

機密與設定沒有暴露

在你自己的網域上,確認 /wp-config.php 不會回傳其內容,且備份檔(.zip.sql)或 .env 類的檔案無法用 URL 取得。
2

管理員名稱與版本沒有外洩

確認 ?author=1 之類的做法不會暴露管理員的使用者名稱,且目錄列表已關閉。
3

登入保護與 2FA 有效

確認登入嘗試次數限制有效,且管理員已啟用 2FA。檢查沒有殘留的 admin 使用者。
4

更新、備份、標頭

確認自動更新已開啟、你能實際從備份還原,並透過 標頭檢查工具 確認有 HTTPS/HSTS。

本站的觀點:要管理的是『擴充與擱置』,而非核心

對 WordPress 有效的,不是花俏的設定,而是『別過度加裝擴充、別擱著不管』的維運紀律。外掛很方便,但每加一個就多一份持續更新的責任。防禦的重心在於由上而下逐項處理上面那張表——把更新自動化、把外掛保持最小,並以強驗證與可還原的備份來防禦。看似是 WordPress 特有的話題,其實是普遍地基(相依套件的鮮度、公開面最小化、驗證、還原)的套用。

接下來讀

FAQ

Q要保護 WordPress,我該先做什麼?
A

三個 P0 項目:(1) 為核心、外掛與佈景主題啟用自動更新,讓已公開的已知漏洞(CVE)在被利用前就先關上;(2) 刪除未使用的外掛/佈景主題(不只是停用),以縮小攻擊面;(3) 用強密碼與雙因素驗證(2FA)保護管理員帳號,並避免使用 admin 這個使用者名稱。單是這三項就能擋下多數自動化攻擊。接著再降低管理後台暴露並設定備份。

Q外掛裝到多少算太多?
A

原則是『只裝你需要的最低限度』。每個外掛都會增加攻擊面與『持續更新的責任』。安裝前先確認更新頻率、採用度、最後更新日期與已知漏洞;對於任何未使用的,請直接刪除而不是停用(停用的檔案仍可能成為漏洞的攻擊對象)。佈景主題同理。

Q我該停用 xmlrpc.php 嗎?
A

若你沒在用它,建議加以限制或停用。xmlrpc.php 提供遠端發文與 pingback,但也可能成為暴力破解放大與大量請求的入口。若你確實有用到需要它的功能(某些應用整合),就把它限制在你需要的方法,或用速率/IP 限制來保護它。先確認你是否真的在用它。

Q裝了資安外掛就安全了嗎?
A

資安外掛有幫助,但不是萬靈丹。在地基(自動更新、外掛最小化、強管理員驗證、備份、降低管理後台暴露)缺失的情況下硬加一個,並不能把洞補起來。先把本頁的清單做完,再用外掛來補強登入嘗試次數限制與竄改偵測之類的項目。

Q最低限度我該做什麼?
A

(1) 自動更新,(2) 刪除未使用的外掛/佈景主題,(3) 給管理員設定強密碼+2FA,(4) 登入嘗試次數限制與降低管理後台暴露,(5) 可還原的離線備份+竄改偵測。這五項就能擋下多數自動化攻擊。細節請見上方的清單與各段落。