WordPress

Jetpack Protect 怎麼運作?從弱點比對到登入防護一次看懂

把 WordPress 網站想成一棟大樓,每裝一個外掛或佈景主題,就等於多開了一扇門窗。門窗的廠牌與型號各不相同,出過的毛病也不同,而某個型號被通報鎖芯有瑕疵時,這份通報並不會自動送到屋主手上。Jetpack Protect 做的就是巡檢員的工作,拿著大樓裡每扇門窗的型號,每天去對照一份公開的瑕疵通報清單,對上了就在後台標出來。

這份清單由 WPScan 維護,WPScan 與 Jetpack、WordPress.com、WooCommerce 同屬 Automattic。Jetpack Protect 是只收錄安全功能的獨立外掛,除了弱點掃描,還附帶防火牆、登入防護、帳號保護與活動紀錄,不必先裝完整的 Jetpack 就能運作。

只是這支外掛有幾個使用前提,加上名稱容易和舊版 Jetpack 裡的同名模組搞混,先把這些弄清楚,後面的設定才不會白費工夫。

Jetpack Protect 是什麼?

Jetpack Protect 是 Automattic 出品的 WordPress 安全外掛。它的核心工作是拿網站目前安裝的 WordPress 核心、外掛與佈景主題版本,去比對 WPScan 的已知弱點紀錄,有吻合的就在後台列出。同一個外掛裡另外附帶防火牆、暴力破解防護、帳號保護與活動紀錄,所以它比較像一個精簡的安全工具包,而不是單一功能的掃描器。

它不依賴完整的 Jetpack。WordPress.org 的外掛頁明確寫到,Jetpack Protect 不需要安裝 Jetpack 外掛就能運作;Jetpack 的支援文件也說明,兩者可以並存在同一個網站上,不會互相衝突。已經在用完整 Jetpack 的網站,多裝一支 Jetpack Protect 不會出問題,沒裝 Jetpack 的網站也不必為了它再多裝一個大外掛。

名稱上有個常見的誤會。舊版 Jetpack 外掛裡有一個擋登入攻擊的模組,曾經也叫「Protect」,現在已改名為 Brute Force Attack Protection。新的 Jetpack Protect 外掛與那個模組是兩回事,WordPress.org 外掛頁的說明也特地點出這個差別。因此,看到有人把 Jetpack Protect 介紹成「主要擋暴力破解、需要先裝 Jetpack」,那是把兩個東西混在一起了。擋暴力破解只是 Jetpack Protect 裡的其中一項功能,它的主軸是弱點比對。

外掛本身的基本資料如下:

  • 作者:Automattic
  • 目前版本:6.1.0,更新於 2026 年 8 月 12 日
  • 啟用安裝數:100,000 以上
  • 評分:4.6 顆星(滿分 5 顆),共 123 則評價
  • 需求:WordPress 6.9 以上、PHP 7.2 以上,已測試到 WordPress 7.0.7
WordPress.org 的 Jetpack Protect 外掛頁,可核對作者 Automattic、版本 6.1.0、啟用安裝數 100,000 以上與 4.6 顆星評分
Jetpack Protect 在 WordPress.org 外掛目錄的官方頁面,側欄列出版本、需求與評分(資料來源:WordPress.org)。

弱點掃描靠版本清單比對 WPScan 資料庫

弱點掃描是這支外掛的主要工作,原理並不複雜。網站把自己的核心、外掛、佈景主題版本資訊同步出去,Jetpack 端拿這份清單去對 WPScan 的弱點資料庫,吻合的項目再顯示到後台。弄懂它比對的是什麼、資料庫從哪來、多久掃一次,後面看結果頁時就不會誤解警示的意思。

Jetpack Protect 把核心、外掛與佈景主題的版本清單同步出去,比對 WPScan 弱點資料庫後在後台列出吻合項目
弱點掃描比對的是版本清單而不是檔案內容,所以只查得到已經公開登記的弱點。

站上同步的是版本資訊,不是檔案內容

Jetpack 的支援文件把同步內容寫得很明確,網站會同步已安裝的外掛與佈景主題,以及 WordPress 版本,這些資料用來驗證部分 API,並拿去對 WPScan 的 API 查詢。換句話說,弱點掃描並不是把網站的程式碼一個檔案一個檔案讀過,而是把「裝了哪些東西、各自是什麼版本」這張清單送出去,在對方的資料庫裡查有沒有登記過。

這也決定了它回答的問題類型:「你裝的這個版本,有沒有公開紀錄的問題」。資料庫只認已經登記的弱點,所以還沒被公開登記的弱點,它回報不出來;反過來,登記過的弱點只要版本對得上,不論檔案有沒有被動過,都會被標出來。Jetpack 的支援文件也說明,Jetpack Protect 與 Jetpack Scan 用的是同一份資料,也就是 Automattic 企業級 WPScan 所提供的內容。比對完成後,結果會回到後台的 Jetpack → Protect 頁面。

WPScan 資料庫的來歷與收錄規模

WPScan 在 2011 年起步時只是一支 Ruby 腳本,專門用來找出自架 WordPress 網站上的弱點,之後逐步發展成專收 WordPress 核心、外掛與佈景主題弱點的資料庫。Jetpack 在 2021 年 11 月宣布收購 WPScan,Automattic 在公告中也提到,Jetpack Scan 原本就借助 WPScan 的資料運作。

資料庫裡的弱點來自網路各處,以及社群與 WPScan 自家的安全研究員,並由 WordPress 安全專業人員持續更新。收錄規模方面,WPScan 官網目前顯示收錄 89,216 筆 WordPress 核心、外掛與佈景主題的弱點。這個數字的意義在於資料庫有人專職維護、持續增補,而不是一份放著不更新的靜態名單。

核心、外掛與佈景主題三種比對對象

掃描涵蓋三類對象,各自拿對應的版本去比對。第一類是 WordPress 核心,核心版本若落在有紀錄的弱點範圍內,就會被列出。第二類是已安裝的外掛,外掛是 WordPress 弱點最集中的地方,也是這個清單最常出現警示的區塊。第三類是已安裝的佈景主題,主題的版本同樣會被拿去比對,有紀錄的弱點就會列進清單。

Jetpack 的說明寫的是「已安裝」,並沒有區分啟用或停用。停用的外掛與佈景主題,檔案仍然留在伺服器上,所以不再使用的項目直接刪除是更乾淨的做法,也讓清單上的警示更集中在真正在用的東西。

每日自動掃描一次,執行時間無法指定

啟用外掛並完成設定後,第一次掃描會自動開始,之後約每 24 小時自動跑一輪。Jetpack 的支援文件與 WordPress.org 外掛頁都明講,自動掃描的執行時間無法指定,介面上沒有「每天凌晨幾點掃」這種選項。

這個頻率的實際影響是,某個外掛剛被登記了新的弱點,要等到下一輪掃描才會對上你的網站,中間可能相隔約一天,而且這個週期沒有辦法自己調短。

安裝前要確認的環境、帳號與連線條件

Jetpack Protect 不是裝了就能在任何環境運作的外掛。它要把版本資訊送到 Jetpack 端比對,所以網站必須能被外部連到,也必須有一個 WordPress.com 帳號當連線身分。裝之前先自查下面幾項,免得裝完才發現連不上:

  • 符合 WordPress 需求的主機:主機要能滿足 WordPress 本身的環境要求。
  • 較新的 WordPress 與 PHP:外掛要求 WordPress 6.9 以上、PHP 7.2 以上,WordPress 建議維持在最新版。
  • WordPress.com 帳號:Jetpack 靠它識別連線,沒有的話可以在連線時當場註冊。
  • 可公開存取的網站:不能有密碼保護,也不能在使用維護模式或「即將上線」外掛。
  • 可公開存取的 XML-RPC:Jetpack 靠這條通道與網站溝通。
  • 不是本機環境:在自己電腦上架的測試站無法使用。

公開可存取的網站與 XML-RPC 是連線前提

這些前提背後的邏輯是同一個,Jetpack 端要主動連回你的網站,網站得開著門。本機測試站在外部看不到,有密碼保護的站或維護模式中的站,Jetpack 端敲了門也進不去,所以這三種環境都無法完成弱點比對。WordPress.org 外掛頁的說明也直接指出,Jetpack Protect 需要公開可存取的網站,才能執行弱點掃描。

帳號的部分,只需要一個 WordPress.com 帳號,就能通用 Jetpack、Akismet、Gravatar 等一整組服務。連線時要用 WordPress 管理員的身分操作,Jetpack 要有管理權限才能順利啟用與管理。Protect 的連線機制和完整 Jetpack 相同,連線出問題時,Jetpack 另外提供一個連線除錯頁面,可以用來檢查目前的連線狀況。

會擋住連線的外掛與主機預設設定

Jetpack 的連線依靠 XML-RPC 與 REST API,所以任何限制這兩條通道的設定,都可能讓連線失敗。Jetpack 的已知問題頁列出了幾種常見情況:

  1. 限制 xmlrpc.php 存取的外掛:這類外掛要設定成允許 Jetpack 存取,或把 Jetpack 的 IP 加進該外掛的允許清單。
  2. 要求登入才能使用 REST API 的外掛:要把 /jetpack/v4/ 與 /wpcom/v2/ 這兩個命名空間放進允許清單,或暫時關掉該外掛。
  3. 維護模式或「即將上線」外掛:它們顯示的訊息可能讓 Jetpack 無法與網站溝通。

主機端也有類似的預設值。Jetpack 的說明列出 Flywheel 預設停用 xmlrpc.php、Pantheon 預設封鎖 xmlrpc.php,WP Engine 在 2022 年 4 月之後建立的環境也預設封鎖。遇到這些情況,做法是到該外掛或主機端放行 Jetpack 需要的路徑,而不是把自己的資安設定整個關掉。至於特定資安外掛與 Jetpack Protect 是否相容,Jetpack 沒有提供相容性名單,需要時要逐一檢查該外掛有沒有限制上面提到的通道。

從外掛市集安裝到完成第一次掃描

這支外掛幾乎沒有需要調整的參數,WordPress.org 的簡介寫的是「沒有任何設定要做」,實際要做的只有安裝、啟用,再走完引導流程。

在後台安裝並啟用 Jetpack Protect

安裝方式和一般外掛一樣,進入 WordPress 後台,依序點選「外掛」→「安裝外掛」,搜尋 Jetpack Protect,確認作者是 Automattic 後按「立即安裝」,再按「啟用」。搜尋結果裡可能同時出現完整的 Jetpack 與其他 Jetpack 系列的外掛,名稱要對清楚,別裝錯。

後台安裝外掛頁搜尋 Jetpack Protect,認明開發者 Automattic 的外掛卡,避免誤裝旁邊的完整 Jetpack
搜尋結果會把完整的 Jetpack 一起列出,認明名稱與開發者再安裝;畫面為龐果測試站實截,已啟用所以按鈕顯示「已啟用」。

啟用之後,後台選單會多出 Jetpack 項目,之後的操作大多從 Jetpack → Protect 進入。如果網站上已經有完整的 Jetpack,兩者可以並存,不需要先移除任何一個。

選擇方案後自動開始的第一次掃描

啟用後會進入引導流程,連線授權與方案選擇都在這裡完成;方案可以選付費,也可以直接開始免費使用。

Jetpack Protect 啟用後的方案選擇頁,可選付費方案或按「免費開始使用」
啟用後會先進到方案選擇頁,付費方案與免費使用二選一,選完第一次掃描就會自動開始(畫面為龐果測試站實截)。

選完方案,第一次掃描就會自動開始。掃描完成後,結果會顯示在 Jetpack Protect 頁面,之後約每 24 小時自動重跑一次,不需要再手動啟動。

Scan、Firewall 與 Settings 分頁的分工

Jetpack → Protect 頁面按功能分成幾個分頁,先知道哪個功能在哪裡,後面操作時就不會找不到入口。Jetpack 的支援文件提到的分頁有三個,另外還有兩個周邊入口:

位置放什麼功能
Scan 分頁弱點掃描結果,以及威脅歷史的 History 按鈕
Firewall 分頁防火牆開關、暴力破解防護開關、IP 封鎖與信任清單、攔截統計
Settings 分頁帳號保護開關
Jetpack → My JetpackProtect 區塊裡的登入攔截計數(Logins Blocked)
Jetpack → Activity Log網站管理與登入事件的活動紀錄

分頁上會標示掃描到的威脅數量,不必點進去就能先掌握目前有幾個警示。

掃描結果頁的閱讀方式與處理順序

掃描完要面對的是一份威脅清單,讀懂每一筆警示在說什麼,才知道該更新、移除,還是先重新掃描一次。

Scan 分頁的威脅清單與數量標示

結果集中在 WordPress 後台 Jetpack → Protect 的 Scan 分頁,掃描器在 WordPress 核心、外掛與佈景主題找到的安全威脅都會列在這裡。Jetpack 選單與 Scan 分頁上都有威脅數量的標示,清單很長時會自動分頁,不會一次塞滿整個畫面。

如果清單是空的,代表這一輪比對沒有對到任何已知弱點。這不等於網站萬無一失,因為弱點資料庫只認已經登記的紀錄,但至少目前安裝的版本沒有公開的問題。

警示上的版本號是站上目前安裝的版本

讀警示時最容易誤會的,是把警示上的版本號當成「有問題的版本」。Jetpack 的 Scan 文件說明,警示上寫的是 Scan 偵測到、站上目前安裝的版本,不是弱點被發現時的版本。Jetpack Protect 與 Scan 共用同一份弱點資料,這個說明同樣適用。

弱點的受影響範圍會另外列在威脅詳情裡,寫法像「≤ 7.4.2」,意思是 7.4.2 以下(含 7.4.2)的所有版本都受影響。另外,單看版本號大小也不能判斷安不安全,因為警示可能是弱點尚未修補,也可能只是資料庫還沒更新。Jetpack 的建議是重新掃描一次,如果同一個警示仍然列著,再帶著外掛或佈景主題名稱與目前版本聯絡支援,不必自己回退版本,也不用逐行翻更新日誌。

弱點有修補版本就更新,沒有就移除

處理方式可以整理成一條決策路徑,依據是後台在每個威脅旁邊給出的建議動作。如果弱點在新版已經修補,就把該外掛、佈景主題(或 WordPress 本身)更新到新版;如果沒有任何新版修補這個弱點,就考慮移除該外掛或佈景主題,改用功能相近的替代品。Jetpack Scan 的文件也寫到,沒有修補版本時,可以直接把有弱點的項目從網站上刪除。

更新或移除之前,先備份一次是通則。處理完後,等下一輪自動掃描跑完,再回頭確認清單上的警示是否已經消失。

Jetpack Protect 掃描列出威脅後先備份,新版已修補就更新,沒有修補就移除,再等下一輪掃描確認
有修補版本就更新,沒有就移除並改用替代品,處理完再等下一輪掃描確認警示已經消失。

Jetpack 防火牆預設關閉,規則分為自動與手動兩種

Jetpack Firewall 是一個網站應用程式防火牆(WAF),它檢查進入網站的請求,並依規則決定放行或攔截,需要 WordPress.com 連線才能運作。它預設是關閉的,要到 Firewall 分頁手動打開,開啟後才會開始攔截請求。

分頁裡的規則分兩種,同樣放在 Firewall 分頁,容易搞混。一種是由 Automattic 維護、持續更新的自動規則,另一種是站長自己填的封鎖與信任 IP 清單,兩種可以各自獨立開關,不必一起開一起關。

Jetpack 防火牆依自動防火牆規則與手動 IP 清單兩種規則,決定進站請求要放行或攔截
自動規則由 Automattic 維護更新,IP 清單由站長自己填寫,兩種規則可以各自獨立開關。

Firewall 分頁的 5 個選項和攔截統計卡

Firewall 分頁的選項有五項:

  1. 自動防火牆規則:由 Automattic 維護、隨時更新的規則清單,網站不必自己研究該擋什麼請求;啟用這一項需要 Scan、Security 或 Complete 其中一個付費方案。
  2. 暴力破解防護:擋反覆猜密碼的登入攻擊,運作方式在後面專節說明。
  3. 封鎖 IP 位址:站長手動填一份要擋掉的 IP 清單,適合已經確認來源有問題的位址。
  4. 信任 IP 位址:站長手動填一份不會被攔截的 IP 清單,避免自己或固定的合作對象被誤擋。
  5. 分享資料給 Jetpack:可自行決定要不要勾選,勾選後會把被攔截請求的資料送給 Jetpack,用來改善防火牆的準確度。

分享資料的選項有兩個層級。依 Jetpack 隱私說明列出的項目,基本層級會送出觸發攔截的規則資訊,以及該請求的網址、使用者代理、來源頁、內容類型與 GET 參數;詳細層級再加上 POST 參數與標頭資料。要勾哪一個,取決於你願意把多少資料交給 Jetpack。

分頁上方另外有統計卡,顯示近期的攔截次數,用來判斷防火牆這段時間實際擋下了多少請求。沒有任何攔截時,卡片會顯示 0。

封鎖與信任 IP 清單的填寫格式與限制

這是站長自己動手維護的規則式防護。要啟用封鎖清單,先在 Jetpack → Protect 進入 Firewall 分頁,開啟「Block IP Addresses」,再填入 IP。多個 IP 之間可以用逗號、空格或換行分隔,IPv4 與 IPv6 都支援;要指定一段範圍,可以用 CIDR 寫法(像 12.12.12.0/24),或寫低值與高值並用連字號連接(像 12.12.12.0-12.12.12.255)。填完按「Save block list」儲存。

信任清單的作用範圍同時涵蓋暴力破解防護與防火牆規則,也就是說,列在裡面的 IP 不會被這兩種機制攔下。這個區塊會顯示目前造訪者自己的 IP,按「Add to Allow List」就能一鍵加進清單。開啟封鎖清單或防火牆之前先把自己加進去,就不會把自己擋在門外。

IP 清單有一個使用限制,在任何反向代理或負載平衡器後方都無法運作,原因是 Jetpack 目前沒有提供設定受信任代理與標頭的方法。網站如果放在 CDN 或代理服務後方,就不能期待這項功能發揮作用。

獨立模式要改動伺服器設定才能啟用

獨立模式(standalone mode)讓防火牆在 WordPress 初始化之前就執行,Jetpack 說明它提供最高程度的防護,代價是必須改動伺服器的設定。做法是把 PHP 的 auto_prepend_file 指令,指到 wp-content/jetpack-waf/bootstrap.php,而且必須寫成絕對路徑。Apache 環境可以寫在 .htaccess:

php_value auto_prepend_file "/網站根目錄的絕對路徑/wp-content/jetpack-waf/bootstrap.php"Code language: plaintext (plaintext)

這個做法有幾個限制。跑 PHP-FPM 的 Apache 環境不支援 php_value 指令,部分主機也會擋這個指令,所以 Jetpack 建議改動前先找主機商協助。另外,關閉防火牆或移除 Jetpack 的時候,要記得把這行設定拿掉,否則伺服器還在試著載入已經不存在的檔案。

無法進入後台時停用防火牆的兩種做法

防火牆有可能擋到自己,導致進不了 Jetpack 的設定畫面,這時有兩種退路。第一種是在 wp-config.php 加入一行常數:

define( 'DISABLE_JETPACK_WAF', true );Code language: PHP (php)

第二種是主機有安裝 WP-CLI 的話,直接下指令把防火牆拆除:

wp jetpack-waf teardownCode language: Bash (bash)

這兩個做法只在「萬一」的時候用。常數存在期間防火牆維持停用,進得去後台、把問題處理完之後,記得把那行常數拿掉,防火牆才有機會重新啟用。另外,Protect 4.2.0 起也加入了針對被列入封鎖清單 IP 的帳號復原流程。

暴力破解防護預設啟用,不必另外設定

Jetpack Protect 的登入防護,擋的是殭屍網路與分散式攻擊反覆猜帳號密碼的登入嘗試。它在連線 WordPress.com 之後就預設啟用,沒有「失敗幾次鎖定」「鎖定幾分鐘」這類可自訂的選項。能做的是開關、查看攔截總數,以及被誤鎖時放行自己。

跨站共享攻擊資料,別站標記過的機器人也會被擋

這項防護的運作邏輯靠的是跨站的攻擊資料,不是只看你自己網站的失敗次數。Jetpack 的說明用一個例子講得很清楚,如果某個機器人先去攻擊了 A 網站,之後轉去打 B 網站,Jetpack 的暴力破解防護已經認得這個機器人,在它嘗試登入 B 網站之前就先擋下來。

Jetpack Protect 暴力破解防護把在 A 網站認出的攻擊機器人,在它登入 B 網站之前就攔下
暴力破解防護不只看單一網站的失敗次數,別站標記過的機器人也會被提前擋下。

所以看到後台出現大量被攔截的可疑登入嘗試,不必緊張,Jetpack 說明這代表機制正在正常運作。要留意的是,它防的是猜密碼的機器人;Jetpack 也寫到,WordPress 本身相當安全,通常最弱的環節是某個人的密碼。強密碼仍然是必要的,這個功能是補強,不是取代。

不固定的封鎖時長和登入頁的數學驗證碼

封鎖時間的長短由多種因素決定,Jetpack 沒有公布固定的數字。被擋下的 IP 只要輸入正確的帳號密碼,並答對一題數學驗證碼,仍然可以登入。另外在極少數情況下,像是網站尚未取得 API key,或是攻擊特別密集的時期,登入頁也可能直接出現這題驗證碼。

如果想關掉驗證碼備援,Jetpack 提供一段篩選器程式碼,加進佈景主題的 functions.php 或自訂外掛即可:

add_filter( 'jpp_use_captcha_when_blocked', '__return_false' );Code language: PHP (php)

這段程式碼僅供參考,Jetpack 支援團隊不協助客製化。關掉之後,被擋下的 IP 就不再有備援登入的管道,要不要關,取決於網站有沒有需要讓被誤擋的使用者自己通過驗證。

暴力破解防護的開關位置和攔截次數

暴力破解防護的開關有三個操作位置,分別是後台 Jetpack → Protect 的 Firewall 分頁、Jetpack → Settings → Security,以及 WordPress.com 儀表板的 Settings → Security。

攔截的總數可以到後台的 Jetpack → My Jetpack,找到 Protect 區塊,數字顯示在「Logins Blocked」。這項統計做得很精簡,Jetpack 說明它只儲存攔截的總數,不記錄是哪個帳號、哪個 IP、什麼時間遭到攻擊,所以想查攻擊細節,這裡查不到。

自己被鎖在登入頁外時放行 IP 的 3 種方式

登入失敗太多次,或是 IP 行為被判定異常,都可能讓自己也被擋在後台外。能進後台的話,直接把自己的 IP 加進信任清單即可。進不了後台,就登入 WordPress.com 儀表板,到 Settings → Security,在「Always allowed IP addresses」欄位填入要放行的 IP,多個位址用逗號分隔,網段用低值與高值以連字號連接,IPv4 與 IPv6 皆可。

也可以在 wp-config.php 用常數放行單一 IP:

define( 'JETPACK_IP_ADDRESS_OK', 'X.X.X.X' );Code language: PHP (php)

多站網路(Multisite)要特別留意。Jetpack 說明,暴力破解防護只在部分子站啟用的話,等於整個網路都沒有真正受到保護,所以必須在網路主站啟用,才算整網生效。

帳號保護會比對外洩密碼並要求信箱驗證

帳號保護針對的是另一種情況,也就是密碼本身已經出現在外洩資料庫裡,不論登入的是不是機器人。暴力破解防護擋的是大量猜密碼的行為,帳號保護則是在使用者拿著一個已知外洩的密碼登入時觸發,兩者的分工不同。

這項功能需要 Jetpack Protect 4.1 以上的版本,預設就是啟用狀態,開關在 Jetpack → Protect 的 Settings 分頁,名稱是 Account Protection。它在兩個時機做檢查,分別是設定或更新密碼的時候,以及使用者登入的時候。

設定與更新密碼時的檢查條件

設定新密碼時,系統會套用三條規則,密碼不能含有反斜線字元,長度要在 6 到 150 個字元之間,也不能出現在已知的資料外洩事件裡。最後這條的用意在於,攻擊者常常拿外洩事件中流出的密碼去試登入各種網站,只要密碼曾經外洩,就等於已經在攻擊者的字典裡。

在使用者個人資料頁更新密碼時,還有兩條額外規則:密碼不能和帳號資料的任何部分相同,包括顯示名稱、使用者名稱、姓名、信箱與暱稱;也不能與先前用過的密碼相同。這些檢查是自動進行的,不需要任何設定。

登入時偵測到外洩密碼的驗證流程

系統會在登入時自動拿密碼去比對已知外洩資料庫,檢查的對象是 Author 以上角色的使用者。某位使用者登入時用的密碼一旦比對到外洩紀錄,登入流程就會多出一個驗證步驟。

Jetpack 會寄一組 6 位數驗證碼到該使用者個人資料裡的信箱,使用者在「Verify Your Identity」表單輸入。驗證通過後,可以選擇「建立新密碼」(建議做法),也可以選擇不更新密碼直接繼續登入。這整個流程是自動發生的,站長不必先設定什麼。

Jetpack Protect 帳號保護在登入密碼比對到外洩紀錄時,寄出 6 位數驗證碼要求使用者驗證身分
密碼沒有外洩紀錄就照常登入;比對到外洩紀錄時,要先輸入信箱收到的驗證碼,通過後再決定要不要換新密碼。

收不到驗證碼時的復原與停用方式

這項功能最容易出狀況的環節,是信箱收不到信。Jetpack 提供的復原順序是:

  1. 信箱還收得到:先重寄驗證碼,每個登入工作階段可以重寄 3 次,之後每 15 分鐘可以再試一次;仍然不行,就改走重設密碼流程,換成一組沒有出現在外洩資料庫的強密碼。
  2. 信箱收不到:聯絡 Jetpack 支援,由對方驗證身分後再停用。Jetpack 只能替這個網站 Jetpack 連線的擁有者停用帳號保護,其他人無法代辦。
  3. 無法通過身分驗證:只能從檔案端移除 Jetpack 資料夾,再重新安裝。

Jetpack 也說明,鎖在外面又收不到驗證碼的情況下,無法從 WordPress 後台停用帳號保護。主機商可以預先停用這項功能,管理員也可以在 wp-config.php 用常數關閉:

define( 'DISABLE_JETPACK_ACCOUNT_PROTECTION', true );Code language: PHP (php)

活動紀錄頁記錄的事件與使用限制

活動紀錄是 Jetpack Protect 近期才加進後台的功能。Protect 6.1.0(2026 年 8 月 12 日發布)把 Activity Log 放進 WordPress 後台,單獨裝這支外掛就看得到;在這個版本之前,要裝完整的 Jetpack 才有這個頁面。入口在後台的 Jetpack → Activity Log。

它記錄的是誰在什麼時候改了什麼,涵蓋的事件類型包括:文章與頁面的發佈或更新、留言、外掛的安裝、更新與移除、佈景主題的安裝、更新與刪除、網站效能分數、設定與選項的修改、暴力破解防護事件、已註冊使用者的登入嘗試,以及自訂事件。網站出了狀況時,這份紀錄可以幫忙回頭查是哪個動作造成的,例如某個外掛是什麼時候被更新的。

使用上有幾項限制。只有管理員角色看得到活動紀錄,編輯與其他角色不能看;紀錄無法匯出,沒有下載成檔案的選項;這項功能預設啟用,Jetpack 16.3 起可以到 Jetpack → My Jetpack → Features 關閉,但這個開關要裝完整的 Jetpack 外掛並連線 WordPress.com 才能操作,只裝 Jetpack Protect 的網站無法關閉;紀錄保留的長度則依方案而異。

使用前要先弄清楚的適用範圍與資料流向

Jetpack Protect 的設計用途有明確的邊界,連線之後也會有部分資料同步給 Automattic,這兩件事在安裝前先了解,用起來比較不會有預期上的落差。

已受感染的網站要另外清理

WordPress.org 外掛頁寫得很明白,Jetpack Protect 用來偵測與預防攻擊,但不是設計來完整清理「在它啟用之前就已經被感染」的網站。如果網站已經中毒,應該先從感染前的備份還原,或用惡意程式清除工具處理,再交給 Jetpack Protect 負責日後的監看。

網站可能已經被入侵的徵象,包括網站被轉址到有惡意或垃圾內容的其他網站、在 Google 搜尋裡看到自己不認識的頁面、或是收到 Google 的安全警告。Jetpack 的清理指引列出的處理順序是先聯絡主機商,再還原備份,接著重新安裝 WordPress 核心、替換外掛與佈景主題檔案;清理完成後再重設所有密碼、刪除不認識的管理員帳號,並更換 wp-config.php 的密鑰。

連線後會同步給 Automattic 的資料

Jetpack 在各功能的說明文件裡,都列出了資料使用情形。弱點掃描會同步已安裝的外掛與佈景主題,以及 WordPress 版本。防火牆會用到使用者與管理員的資訊,還有已安裝的佈景主題、外掛與 WordPress 版本,用來辨別該對照哪些版本。暴力破解防護則會用到嘗試登入者的 IP 位址,以及信箱或使用者名稱,用來檢查登入活動並攔截可疑嘗試。

Jetpack 也會追蹤使用情形,像是定價頁面的瀏覽與點擊、升級提示的點擊,以及在應用程式裡的互動。防火牆的資料分享是選擇性的,只有勾選了「分享資料給 Jetpack」,才會送出被攔截請求的相關資訊,選詳細層級時送出的內容更多。

Jetpack Protect 與 Scan 等方案的內容和價格

Jetpack Protect 外掛本身免費,上面各節介紹的弱點掃描、防火牆(手動 IP 規則)、暴力破解防護、帳號保護與活動紀錄,都包含在這支外掛裡。付費升級的對象是 Jetpack Scan,外掛啟用時引導流程裡出現的 Jetpack Protect 付費方案,指的就是它。WordPress.org 外掛頁說明,升級 Protect 等於替這支外掛開通 Jetpack Scan。Scan 可以加在 Jetpack Protect 或完整 Jetpack 上,除了單買,也能透過內含 Scan 的 Security、Complete 方案取得。

各方案的組成與價格如下,價格以新台幣顯示,皆為年繳計價:

方案主要內容首年價格續約原價
Jetpack Protect 外掛弱點掃描、手動 IP 規則防火牆、暴力破解防護、帳號保護、活動紀錄NT$0NT$0
Jetpack Scan(外掛內顯示為 Jetpack Protect 付費方案)每日自動惡意程式碼掃描(也可手動觸發)、威脅歷史、一鍵修復、信件通知、自動更新的防火牆規則NT$159/月NT$320/月
Jetpack SecurityVaultPress Backup 備份(10GB 儲存空間)、Scan、Akismet 垃圾留言過濾(每月 1 萬次 API 呼叫)NT$320/月NT$640/月
Jetpack CompleteVaultPress Backup 備份(1TB 儲存空間)、含防火牆的 Scan、Akismet(每月 6 萬次 API 呼叫)與 Jetpack 其他產品NT$800/月NT$1,602/月

Scan 的掃描方式跟前面介紹的版本比對不同,它會掃描 plugins、mu-plugins、themes 與 uploads 目錄裡的所有檔案,加上 WordPress 根目錄下選定的檔案(例如 wp-config.php)與 wp-content 目錄內的其他選定檔案,但不掃描網站的資料庫。使用上,Scan 偵測威脅不必提供伺服器登入憑證,Protect 4.2 以上也可以不用憑證就直接執行一鍵修復。Jetpack 另外說明,Scan 目前不支援 WordPress 多站網路。

活動紀錄的保留長度依方案而不同,免費使用時只顯示最近 20 筆事件,Security 保留 30 天,Complete 保留 1 年(動態列表最多顯示 1,000 筆)。

價格方面,折扣只適用於第一年,續約一律以原價計算。年繳方案提供 14 天內的全額退款,月繳方案是 7 天。價格頁會依訪客地區顯示幣別,上表為新台幣,實際金額以 Jetpack 的價格頁顯示為準。

先在一個可公開存取的網站上裝好 Jetpack Protect,等第一輪掃描跑完,從 Scan 分頁的清單開始讀起,這是最直接的起點。接著再決定要不要把 Firewall 分頁的防火牆打開,並確認自己的 IP 已經加進信任清單。這支外掛能做的,是把網站上有紀錄的問題一項一項攤出來,而把清單上的警示依序處理掉、讓外掛與佈景主題維持在新版,才是讓網站真正少一個破口的工作。

常見問答

本區問答由 AI 依文章內容自動整理,僅供快速參考,正式內容仍以全文為準。

Jetpack Protect 的弱點掃描是怎麼運作的?

Jetpack Protect 會把網站的 WordPress 核心、外掛與佈景主題版本清單送去比對 WPScan 弱點資料庫,吻合的項目列在後台。掃描比對的是版本、不讀檔案內容,尚未公開登記的弱點回報不出來。

Jetpack Protect 能單獨安裝使用嗎?

Jetpack Protect 可以單獨安裝使用,不需要先裝完整的 Jetpack,兩者也能並存在同一個網站上、不會互相衝突。不過 Jetpack Protect 仍要用一個 WordPress.com 帳號完成連線,才能執行弱點比對。

Jetpack Protect 能用在本機測試站嗎?

Jetpack Protect 不能用在本機測試站,因為比對時要由 Jetpack 端主動連回網站,網站必須能從外部公開存取、XML-RPC 也要開放。有密碼保護或開著維護模式的網站同樣連不進去,無法完成弱點掃描。

Jetpack Protect 暴力破解防護怎麼設定?

Jetpack Protect 的暴力破解防護在連線 WordPress.com 後就預設啟用,沒有失敗次數或鎖定時間可以自訂。站長可以在 Firewall 分頁開關、到 My Jetpack 看攔截總數,或把自己的 IP 加進信任清單。

Jetpack Protect 的付費方案多了哪些功能?

Jetpack Protect 的付費方案就是 Jetpack Scan,加上掃描 plugins、themes、uploads 等目錄檔案的惡意程式碼掃描,以及威脅歷史、一鍵修復、信件通知與自動更新的防火牆規則。

資料來源
  1. Jetpack Protect – WordPress plugin — WordPress.org
  2. Jetpack Protect Changelog — Automattic
  3. Jetpack Protect(支援文件) — Jetpack
  4. Jetpack Firewall in the Jetpack Protect Plugin — Jetpack
  5. Protect your site with brute force protection — Jetpack
  6. Improve your WP Admin password security with Account Protection — Jetpack
  7. Jetpack Activity Log — Jetpack
  8. Jetpack Scan(支援文件) — Jetpack
  9. Known issues — Jetpack
  10. Install Jetpack — Jetpack
  11. Clean Your Hacked WordPress Site — Jetpack
  12. Jetpack Acquires WordPress Vulnerability Database WPScan(2021) — Jetpack
  13. WPScan: WordPress Security Scanner — WPScan
  14. Jetpack Pricing and Plans — Jetpack
  15. Jetpack Scan 方案與價格 — Jetpack