一棟房子只把大門鎖好,窗戶沒關、後院沒圍籬、地下室的門甚至沒裝鎖,小偷還是進得來。網站的資安防護是同一個道理。多數人一講到 WordPress 資安,直覺就是裝一個外掛把登入頁擋起來,但登入頁只是其中一道門,檔案權限鬆散、資料庫前綴用預設值、防火牆規則形同虛設,任何一個缺口都能讓人繞過去。
All In One Security(AIOS)是少數把這幾道防護缺口一次補齊的免費外掛,出自同一個開發團隊,先前做出知名備份外掛 UpdraftPlus 的那一批人,2021 年把 AIOS 收購過來後持續維護到現在。它涵蓋登入防護、檔案與資料庫安全、防火牆、垃圾留言防護幾大類功能,免費版就能設定得相當完整,不用一次裝三、四個外掛互相打架、拖慢網站速度。
這幾道門實際上要怎麼守好、什麼情境該打開、免費版跟付費版的界線畫在哪裡,得先從 AIOS 這支外掛的身世看起。
AIOS 是什麼?UpdraftPlus 團隊接手後的免費資安防火牆外掛
AIOS 的全名是 All-In-One Security(AIOS)– Security and Firewall,前身叫 All In One WP Security & Firewall,是 WordPress 外掛目錄裡存在超過十年的老牌防護工具。根據外掛目錄官方頁面的統計,AIOS 目前累積超過 100 萬次安裝,評分維持在 4.7 分(滿分 5 分),在同類型防護外掛裡算是使用者基數相當大的一款。
這支外掛在 2021 年 8 月被 UpdraftPlus 收購,UpdraftPlus 是 WordPress 生態圈裡另一款知名度更高的備份外掛,兩者從此由同一個團隊維護。2025 年 3 月,UpdraftPlus、WP-Optimize 與 AIOS 這三支外掛進一步整併到共同的品牌 TeamUpdraft 底下。TeamUpdraft 官方部落格提到,很多使用者其實不知道這三支外掛出自同一個團隊,而這個團隊最早在 2011 年就以 UpdraftPlus 起家。品牌整併當下,官方也說明不會對介面或功能做根本性的改變,換句話說,原本會用 AIOS 的人不用擔心設定畫面一夜之間全部變樣。
免費版的功能大致分成 5 類:登入安全、檔案與資料庫安全、防火牆、垃圾留言防護,以及用來回頭檢查後台發生過哪些異動的稽核記錄。兩步驟驗證的基本版本也算在登入安全這一類裡,免費版就用得到,不是只有付費版才有,這點常被誤解,因為多數外掛的兩步驟驗證都直接鎖付費牆。付費版另外加的是惡意軟體掃描、國別封鎖、進階版的兩步驟驗證與 Smart 404 攔截,以及優先客服支援,這幾項免費版的選單裡看得到入口,但點進去只會看到升級提示,免費版跟付費版的界線,其實比多數人想的更清楚。


登入鎖定、更名登入頁與帳號防護,擋下多數暴力登入嘗試
登入頁是多數自動化攻擊的第一個測試點,也是 AIOS 免費版準備最多招式對付的地方。這一類功能環繞著同一個目標,讓自動化程式沒辦法無限次嘗試帳號密碼組合,也讓真正想動手腳的人多繞幾層路。
Login Lockdown 這項功能做的事情很直覺,連續打錯密碼超過一定次數,就先把這個來源鎖起來一段時間,同時可以寄通知信給管理團隊、讓一段時間沒動作的使用者自動被登出,並要求站主親自審核每一筆新註冊,避免垃圾帳號或假冒帳號灌進來。這幾項功能是免費版最基本也最常用的一組防護,幾乎每個裝 AIOS 的網站都會用得到。
台灣讀者實際使用時最容易誤解的一點,是以為抓得越嚴防護力就越強,其實不然。如果把允許失敗的次數壓得很低,聽起來防護力最強,現實卻是自己或同事手滑打錯密碼兩三次,就先把自己鎖在後台外面。這項功能真正該收緊的情境,是網站曾經出現過大量異常登入嘗試、或本來就有明確的攻擊紀錄;一般網站給一個不會誤傷自己人的寬鬆門檻,再搭配後面的兩步驟驗證,防護力反而更完整。

網路上最常被單獨推薦的兩招,是更名登入頁(Rename Login Page)跟偵測預設 admin 帳號,但效果得老實講清楚,這兩招提高的是攻擊成本,不是把攻擊擋死。把登入網址從預設路徑改成自訂字串,能讓那些對著已知路徑掃描的自動化程式直接撲空;但如果對方已經鎖定你的網域慢慢試,光靠改網址擋不住,還是得跟登入鎖定、兩步驟驗證一起搭配才有實際防護力。同一組功能也會偵測還在用 admin 這個預設使用者名稱的帳號,並引導改成不容易被猜到的名稱,連使用者顯示名稱跟登入帳號完全一樣這種常見疏忽,也會被一併抓出來提醒。
這一區還有兩項比較技術、中文教學很少提到的功能,適合對資安要求更高的網站。一是防止使用者枚舉,擋掉那些可能洩漏帳號名稱的網址,避免攻擊者用最基本的方式就查到誰是管理員。二是強化 WordPress 的 salt 安全性,salt 是用來讓密碼雜湊更難被破解的隨機字串,AIOS 會把這組字串加長 64 個字元,並且每週自動輪替一次,即使資料庫真的外洩,攻擊者要靠暴力破解回推密碼也會困難得多。這項功能免費版就有,不需要額外開啟就在背景默默運作。

兩步驟驗證,免費版就能依角色強制開啟
兩步驟驗證(Two-Factor Authentication,簡稱 TFA)是這幾年防護能力擴充最明顯的一塊,這項功能是 AIOS 5.0(2022 年)才加進來的,在那之前的版本完全沒有。它解決的問題很直接,就算密碼外洩,沒有第二道驗證,攻擊者還是進不去後台。
免費版就用得到,這點值得先講清楚,因為多數外掛的兩步驟驗證都被鎖在付費牆後面。AIOS 免費版可以依使用者角色決定誰要強制開啟,例如只鎖定管理員這個角色,一般編輯或訪客不受影響;驗證器的支援範圍涵蓋 Google Authenticator、Microsoft Authenticator、Authy 等主流 App,底層同時支援 TOTP 與 HOTP 兩種驗證協定,市面上大多數驗證器工具都吃得下。對多數只有少數幾個管理帳號的中小型網站來說,免費版依角色開啟的兩步驟驗證,已經能把最重要的入口鎖起來。
付費版在兩步驟驗證上加的東西,多半是圍繞在使用起來更順手,而不是驗證本身變得更嚴格,可以設定帳號到期一段時間後才強制要求驗證,讓新使用者有緩衝期熟悉流程;也能設定裝置信任週期,同一台裝置在一段時間內不必每次登入都重新輸入驗證碼;另外還有自訂版面配色、遺失裝置時可用的緊急代碼、多站點網路相容性,以及跟 WooCommerce、Elementor Pro、bbPress、Affiliates-WP、Theme My Login 這類第三方登入表單的整合,不用另外寫程式就能接上。這些加強比較適合有大量使用者、或需要跟其他外掛登入表單整合的網站;一般中小型網站,免費版的角色式強制驗證通常就夠用。

分成 .htaccess 和 PHP 兩層運作的防火牆規則
防火牆是 AIOS 的核心功能,分成兩層在運作:一層寫在 .htaccess 檔案裡、跑在伺服器層級,只在使用 Apache 主機時才會生效;另一層是 PHP 規則,不受主機軟體限制,Windows IIS 或 Nginx 主機一樣吃得到防護。
.htaccess 這層規則擋的東西並不空泛。拒絕外部直接存取 .htaccess 檔案本身跟 wp-config.php,因為這兩個檔案裡通常藏著資料庫連線密碼等敏感資訊,一旦被讀取到內容等於整站淪陷;關閉伺服器簽章,避免對外洩漏主機軟體版本這類可以被拿去比對已知漏洞的資訊;限制檔案上傳的大小,避免有心人利用超大檔案塞爆伺服器;擋掉 debug.log 這個除錯紀錄檔的存取,因為裡面常常會不小心記到路徑、外掛版本甚至查詢語法這類內部細節;還有一項是在目錄底下沒有 index.php 檔案時,禁止伺服器直接列出整個資料夾的內容清單。如果網站主機用的是 Windows IIS 或 Nginx,這一整層規則完全不會生效,這時候就得靠 PHP 層級的規則補上。
PHP 規則不管主機是 Apache、Nginx 還是 Windows IIS 都一樣生效,核心是一套現成的黑名單規則、辨識假冒搜尋引擎機器人的邏輯,加上針對 XML-RPC 跟 REST API 這兩個常被忽略的入口做的存取限制。這層真正的核心規則集叫 6G,來源不是 AIOS 團隊自己寫的,而是第三方資安研究者 Perishable Press 整理出來、提供給外掛採用,名稱裡的「6G」代表它是舊版「5G 黑名單」規則的更新版本,隨著攻擊手法演進持續調整涵蓋範圍。這套規則用一份彈性的黑名單邏輯,擋掉大量常見於惡意請求的網址型態,包括會被用來嘗試攻擊的特殊字元、刻意編碼過的惡意網址字串,以及常見的 SQL injection 攻擊模式,屬於防火牆裡投資報酬率最高的一項防護,對多數網站來說開啟之後幾乎不需要額外調整。
同一層規則還會處理假冒 Google 機器人的問題。很多惡意程式會偽裝成 Googlebot 的 User-Agent 字串,企圖讓網站以為是正牌的搜尋引擎爬蟲而放行通過,AIOS 的判斷邏輯是先用反解析(reverse DNS lookup)去確認發出請求的 IP 位址是不是真的屬於 Google,如果反解析失敗,就退而求其次改比對一份已知的 Google IP 位址區段清單。同一套機制也會擋掉那些 User-Agent 或 Referrer 欄位是空白的 POST 請求,這種特徵常見於自動化程式直接對網站送出表單資料。對在意 SEO 表現的讀者來說,這項防護不會連帶擋掉搜尋引擎正常的爬取行為,官方也修正過早期版本會誤判 Google、Bing、Yahoo 這些正牌爬蟲的問題。
最後是 XML-RPC 與 REST API 的存取限制,這是免費版最容易被舊教學忽略、但實用度很高的一塊。很多針對 WordPress 的暴力登入攻擊,其實不是打在登入頁,而是繞道 XML-RPC 這個很早期就存在的遠端呼叫介面,攻擊者可以透過它一次測試大量帳號密碼組合,比直接打登入頁還有效率。如果網站用得到 XML-RPC 背後串接的某些外部服務,AIOS 就允許針對特定 IP 範圍與 User-Agent 做黑名單或白名單設定,不是只有全開跟全關兩種選擇。REST API 的存取限制也是同一套邏輯,預設情況下,REST API 有一部分端點不需要登入就能存取,這代表沒有登入的訪客也可能透過 REST API 讀到不該公開的資料,甚至被拿去當暴力登入或 DDoS 攻擊的跳板,AIOS 可以關閉未登入請求對 REST API 的存取,也支援白名單與依使用者角色設定存取限制,不用整個 REST API 一次全部關閉。


檔案權限掃描與資料庫前綴更換,防止入侵後被進一步竄改
前面幾項功能防的多半是怎麼不讓人闖進來,檔案權限跟資料庫前綴,要處理的是萬一真的被找到一個入口,怎麼不讓對方能進一步竄改網站,是資安這道防線裡最基本的兩塊。
檔案權限掃描做的事情,是檢查網站底下的檔案跟資料夾,權限有沒有設得太寬鬆。如果某個檔案被設成任何人都能寫入,等於幫攻擊者開了一道後門,就算前面的防火牆全部擋住,只要對方找到其他管道摸進來,還是能直接改寫這個檔案;AIOS 會掃出權限不安全的項目,一次修正回比較安全的權限設定。停用後台的 PHP 檔案編輯功能是另一項看起來不起眼、但官方特別強調的防護。WordPress 後台原本內建一個可以直接編輯外掛、佈景主題 PHP 原始碼的編輯器,但這個編輯器往往是攻擊者拿到後台權限之後第一個會用到的工具,因為透過它可以直接寫入並執行任意程式碼;停用這個編輯器,不影響正常的網站使用,換來的是攻擊者就算拿到帳號密碼,也少了一條最快能執行惡意程式碼的路。

這一區還有兩項比較次要、但同樣值得留意的功能。保護敏感檔案,可以避免 readme.html 這類會洩漏 WordPress 版本資訊的檔案被外部讀取到;檔案變更掃描器則會在網站底下的檔案出現異動時通知管理員,只要事先把正常運作就會變動的檔案跟資料夾排除掉,就能拿它當一套簡單的入侵偵測機制。圖片盜連防護嚴格說不是資安漏洞,而是防止其他網站直接引用你的圖片網址、消耗你的伺服器頻寬,但因為同樣歸在檔案安全這個分類底下,一併開啟也不費工。
資料庫前綴更換防的是另一種攻擊模式。WordPress 安裝好之後,資料庫裡每一張表格預設都會加上 wp_ 這個前綴,例如文章存在 wp_posts、使用者資料存在 wp_users,很多針對 WordPress 寫的自動化 SQL injection 攻擊腳本,會直接把 wp_ 這個前綴寫死在攻擊指令裡,因為它是預設值、機率最高。把前綴改成自訂的字串,能讓這類寫死前綴的自動化腳本直接失效,但要老實說清楚,這招防的是偷懶、靠預設值批次打的自動化攻擊,如果對方是針對你的網站手動摸索,前綴不管改成什麼,對方一樣查得到。這個功能屬於高風險操作,因為它要把資料庫裡多張表格的名稱整批改寫,中途中斷或外掛與主機環境不相容,網站都有可能直接打不開,適合在確定要用之前先備份好資料庫。AIOS 本身沒有獨立的資料庫備份引擎,這項功能是串接同團隊的 UpdraftPlus 完成。
涵蓋機器人留言、後台異動的垃圾留言防護與稽核記錄
留言區的垃圾留言防不勝防,多半跟機器人程式脫不了關係;後台這邊的每一次異動,也需要一份清楚的紀錄可以回頭查,這兩項功能雖然性質不同,但都屬於「事情發生之後怎麼掌握狀況」的類別。
留言區的垃圾留言多半來自機器人程式,自動化地在文章底下塞進廣告連結或無意義的內容,除了拖累網站觀感,還會增加伺服器的負擔跟審核留言要花的時間,AIOS 針對這類機器人留言有自動擋掉的機制,不需要每一筆都靠人工判斷。除了單純擋機器人留言,AIOS 也會監控留了垃圾留言的 IP 位址,可以設定一個門檻,例如同一個 IP 留了幾則垃圾留言之後,就把這個來源自動永久封鎖。對留言量大、常常被灌廣告的網站來說,這項功能能省下不少每天手動清垃圾留言的時間;對留言量本來就不多的網站,開啟的意義主要是防患未然。

稽核記錄(Audit Log)記的是後台實際發生過的事件,例如外掛或佈景主題有沒有被新增、移除或更新過,方便回頭確認是不是自己團隊做的異動,還是有陌生人動過手腳。涵蓋的事件範圍這幾年持續在擴充,密碼重設、使用者被移除或刪除這類操作也都會被記錄下來,不是只看外掛與主題層級的變動。稽核記錄還串接了另外兩項細節,一是登入鎖定的通知信會附上觸發鎖定的 IP 位址反查資料,方便管理員回頭判斷這個攻擊來源大概是哪裡;二是稽核記錄的列表本身也支援批次操作,可以直接勾選多筆可疑的 IP 紀錄,一次把它們加進黑名單。這幾項功能中文教學幾乎沒人提過,對已經在用 AIOS 一段時間、想進一步回頭盤點網站狀況的讀者來說,是值得認識的一塊。

免費版看得到卻用不到的國別封鎖與惡意軟體掃描
免費版的選單裡,會看到國別封鎖、惡意軟體掃描這幾個項目的入口,但點進去不是看到可以調整的設定畫面,而是一張升級提示。這不是免費版裡藏了一個沒打開的開關,是整組功能都被歸在付費版底下,免費版只負責讓使用者知道有這個選項存在。
根據 TeamUpdraft 官方文件對免費版跟付費版的分類,登入安全、使用者帳號與登入防護、防火牆與檔案保護、內容保護(垃圾留言防護)、兩步驟驗證這 5 類都歸在免費功能;惡意軟體掃描、Smart 404 攔截、國別封鎖、優先客服支援這 4 項則明確列在付費功能底下。如果讀者是為了封鎖特定國家的流量才想裝這支外掛,最好先確認這一點,免得裝好才發現這項功能根本點不動。

國別封鎖的功能做得相當完整,可以只封鎖整個網站,也可以只封鎖特定的頁面或文章;可以對特定 IP 位址設白名單,讓這些來源不受國別封鎖規則影響;被封鎖的訪客可以導向指定的網址,甚至導到一個完全打不開的內部位址。TeamUpdraft 官方的防火牆功能頁提到,多數攻擊集中來自少數幾個國家,透過封鎖來源國家,可以把準確率做到 99.5%。這項功能底層依賴 MaxMind 這家公司的 IP 地理資料庫,需要先申請一組 MaxMind License Key 才判斷得出一個 IP 屬於哪個國家;AIOS 也會自動辨識並放行 Googlebot、Bingbot 這類正牌搜尋引擎爬蟲,不受國別封鎖規則影響,避免傷到網站的 SEO 表現。
如果擔心網站被植入惡意程式、木馬或間諜軟體,付費版的惡意軟體掃描會自動偵測並在發現威脅時發出警示;如果網站被搜尋引擎列入黑名單,這項功能也會主動通知。搭配的還有回應時間監控,以及每 5 分鐘檢查一次的網站正常運行時間監控;真的中毒需要移除惡意程式時,官方也提供由資安專業團隊協助排除的服務。Smart 404 攔截處理的是另一種攻擊模式,有些自動化程式會對網站發送大量不存在的網址,藉此找漏洞或消耗伺服器資源,付費版可以設定一個門檻,例如某個 IP 在 10 分鐘內觸發超過 10 次 404 錯誤就自動封鎖這個來源,也能針對特定網址字串做攔截,同時保留白名單機制。這幾項付費功能加上前面提到的國別封鎖、進階兩步驟驗證,都收在同一組付費方案裡,依可使用的網站數量分成幾個層級:
| 方案 | 可用網站數 | 首年價格 | 原價(美元/年) |
|---|---|---|---|
| Personal | 2 個 | 44.5 美元 | 89 美元 |
| Business(最多人選) | 10 個 | 74.5 美元 | 149 美元 |
| Agency | 35 個 | 124.5 美元 | 249 美元 |
| Enterprise | 不限站數 | 174.5 美元 | 349 美元 |

只經營一、兩個網站的讀者,免費版搭配前面幾節提到的登入防護、防火牆與檔案安全,已經能建立起相當完整的防護層次;真的需要國別封鎖、惡意軟體掃描這類進階功能,或是同時管理多個網站的讀者,再依網站數量對照上面的方案挑選就好。
AIOS 真正的價值不在單一一項防護有多強,而在於免費版就把登入、檔案、資料庫、防火牆、垃圾留言這幾個常被分開裝好幾支外掛才能涵蓋的面向,收進同一套介面裡管理,不用一次裝三、四支外掛互相打架、拖慢網站速度。資安沒有一勞永逸這回事,外掛裝好、規則開好,只是把當下已知的攻擊手法擋住;WordPress 生態系跟攻擊手法都還在持續變化,免費版已涵蓋的登入、檔案、防火牆、垃圾留言防護與稽核記錄這五大類,對多數中小型網站已經足夠,真正需要國別封鎖或惡意軟體掃描這類進階能力時,再考慮升級付費版即可。
