~/blog/website-security-defense-in-depth-guide.md
網站安全與防護 ·

網站資安縱深防禦完整指南:台灣中小企業的五層防護實戰

Eric — 浪花科技創辦人 / AI 架構師
Eric
浪花科技創辦人 · AI 架構師
網站資安縱深防禦完整指南:台灣中小企業的五層防護實戰
目錄 table-of-contents.md

週一早上八點半,行政同事打開公司官網要抓型錄連結,瀏覽器卻跳出紅色警告:「這個網站含有惡意軟體」。再過十分鐘,業務信箱陸續收到客戶詢問:「昨天收到貴公司寄來的報價單,附件是壓縮檔,這是你們寄的嗎?」網站被掛馬、寄件人被冒用,兩件事同時爆發,而客戶的第一個反應通常很直接:這家公司連自己的網站都顧不好,案子交給他們安全嗎?這個場景來自我們實際處理過的案場,苦主多半是十到五十人規模、覺得「我們這種小公司誰要駭」的台灣中小企業。

先把方向說清楚:網站安全沒有單一銀彈,能實際降低風險的做法是縱深防禦(Defense in Depth),把防線拆成邊界、應用、身分、資料、監控五層,每一層都假設前一層會失守。對多數中小企業網站來說,前四層用免費或每月幾百元新台幣等級的工具就能搭出七成防護,剩下的三成靠紀律與流程,而非預算。這篇指南會把五層逐一拆開:每層在防什麼、用什麼工具、先做哪一件事,最後附上形象官網、電商、會員系統三種情境的優先序檢核清單,方便對照自家網站逐項打勾。

台灣的網站每週被打幾次?先看攻擊現實

Check Point 的統計指出,2025 年第三季台灣企業平均每週遭受 3,840 次網路攻擊,是全球平均 1,900 次的兩倍,高居亞太之首(數據引自資安人科技網)。另一個更貼近中小企業的數字來自趨勢科技:2024 年約九成的目標式勒索攻擊,打的是中小企業,TWCERT/CC 在官方資安訊息中特別引述了這項統計。攻擊者的算盤很直白:大企業有 SOC 團隊與資安預算,中小企業往往連網站是誰在維護都說不清楚,同樣的攻擊工具,打後者的成功率高得多。

而且「沒有駭客專門盯上這種小站」不等於安全。Imperva 2025 年的報告分析 2024 年全球網路流量後發現,自動化流量占比達 51%,首度超越人類,其中惡意 bot 占整體流量的 37%。掃描器全天候巡邏整個網際網路找已知漏洞,網站上線的那一刻就進了名單,跟公司規模、知名度都沒有關係。攻擊的第一波幾乎都是機器打的,等人工介入時,通常已經是在挑選值得深入的獵物。

出事的代價也有數字可查。IBM 2025 年的資料外洩成本報告估計,全球平均一次外洩損失 USD 4.44M,美國更創下 USD 10.22M 的新高;從入侵發生到識別加遏制,平均要 241 天。中小企業的絕對金額當然小得多,但停機、賠償、重建,再加上開頭那句「你們網站安全嗎」帶來的信任折損,比例上往往更痛。

為什麼裝了 SSL 和防毒,網站還是被打進來?

多數台灣中小企業的網站防護長這樣:主機商送的 SSL 憑證、一套安全外掛、想到才更新的系統。這種單點防禦有四個結構性破口,後面的五層模型就是衝著它們來的:

  • 單點失效等於全面失守。只有一道防線,代表攻擊者突破一次就直達資料庫。SSL 保護的是傳輸過程的加密,對外掛漏洞、弱密碼、SQL Injection 完全沒有作用;把「網址列有鎖頭」理解成「網站是安全的」,是我們健檢時最常遇到的誤會。
  • 修補速度追不上利用速度。Patchstack 的 2026 年度報告統計 2025 年資料:被實際利用的漏洞中,45% 在公開揭露後 24 小時內就遭利用。「有空再更新」的節奏,等於把整段空窗讓給攻擊者,需要邊界層在修補完成前先擋一波。
  • 帳號是繞過所有技術防線的捷徑。再完整的防火牆也擋不住拿著正確帳密登入的人。釣魚信、外洩密碼撞庫、暴力破解,目標從來都是人與帳號,這一塊只能靠身分層處理。
  • 沒有備份與監控,出事就是絕境。被勒索軟體加密或被刪庫時,唯一的還原點是備份;沒有日誌,連攻擊者從哪裡進來都查不出,只能砍掉重練,然後等同一個洞再被打一次。

縱深防禦的五層模型長什麼樣?

縱深防禦的概念來自軍事:不指望一道城牆擋下所有攻勢,而是布置多道相互獨立的防線,任何一層被突破時,下一層還能爭取時間、限縮災損。落到網站上,我們習慣拆成五層:

層級防什麼代表工具入門成本
邊界層DDoS、惡意 bot、已知攻擊特徵Cloudflare WAF、SucuriUSD 0 起
應用層程式與外掛漏洞(SQLi、XSS、供應鏈)更新管理、安全外掛、虛擬修補USD 0 起
身分層帳號盜用、暴力破解、權限濫用2FA、最小權限、fail2banUSD 0
資料層勒索加密、誤刪、主機故障3-2-1 備份、異地副本、還原演練以儲存費用為主
監控層入侵偵測、事後鑑識、快速應變日誌、惡意程式掃描、告警、應變 SOPUSD 0 起

五層的關係是串聯而非並聯:邊界層過濾掉大量自動化攻擊,應用層堵住程式漏洞,身分層守住帳號,資料層保證最壞情況下有得還原,監控層縮短發現時間。我們在〈WordPress 縱深防禦:WAF、Bot 防護與安全外掛〉示範過前兩層的實作組合,本文把範圍拉大到完整五層,以下逐層拆解。

邊界層:Cloudflare 免費版的 WAF 夠用嗎?

邊界層的任務是讓惡意流量根本碰不到主機。前面提過 Imperva 的數據:整體流量的 51% 是自動化程式、37% 帶有惡意,讓主機裸奔面對這些流量,等於把過濾工作全部丟給最貴也最脆弱的環節。台灣中小企業最常見的起手式是 Cloudflare,但免費版與付費版的 WAF 能力差距需要講清楚:

方案月費WAF 能力自訂規則數
Cloudflare FreeUSD 0僅 Free Managed Ruleset(精簡的高風險規則集)5 條
Cloudflare ProUSD 20完整 Managed Ruleset 加 OWASP Core Ruleset20 條
Cloudflare BusinessUSD 200同 Pro,另含更進階的 bot 管理與客製化空間100 條
Sucuri BasicUSD 9.99WAF 加虛擬修補,含 L3/4/7 DDoS 防護方案內建

判斷的分界線在這裡:純形象官網用 Free 版,搭配隱藏主機來源 IP(所有流量都得走 Cloudflare,攻擊者無法繞道直打主機)、用自訂規則把後台路徑鎖國別或鎖 IP,已能擋掉大部分機器人騷擾。一旦網站有表單、金流或會員登入,我們一律建議至少升到 Pro:完整的 Managed Ruleset 與 OWASP Core Ruleset 才有能力比對 SQLi、XSS 這類攻擊特徵並即時攔截,Free 版的精簡規則集做不到這件事。Sucuri 的賣點則是虛擬修補(virtual patching):外掛漏洞公開但站方還來不及更新時,由 WAF 先擋掉利用該漏洞的請求,特別適合更新流程比較慢的團隊。規則要怎麼開、bot 分數怎麼調,我們寫過兩篇實戰可以直接照做:〈WordPress Cloudflare 進階調校手冊〉與〈WAF 與 Bot 防護進階調校指南〉。

上表為 2026 年 7 月查證的官方定價,方案內容會變動,採購前以 Cloudflare 與 Sucuri 官網為準。

應用層:91% 的漏洞出在外掛,更新策略該怎麼訂?

Patchstack 的 2026 年度報告(統計對象為 2025 年)給了 WordPress 生態一組難看的數字:全年新增 11,334 個漏洞,比前一年成長 42%;其中 91% 出在外掛,核心程式全年只有 6 個低優先級漏洞。更麻煩的是,46% 的漏洞在公開揭露當下沒有修補版本可裝。這組數據的正確讀法是:WordPress 核心本身相當安全,風險幾乎全部來自裝了哪些外掛,以及多快更新。

OWASP 在 2025 年發布的 Top 10 第八版(分析超過 280 萬個應用程式)值得放在旁邊對照:前三名是 A01 權限控制失效(Broken Access Control)、A02 安全設定錯誤(Security Misconfiguration)、A03 軟體供應鏈失效(Software Supply Chain Failures)。供應鏈首次擠進前三,對應的正是外掛與第三方套件成為主要破口的趨勢;老牌的注入攻擊(Injection)跌出前三,但跌出前三只代表別的問題更嚴重了,注入攻擊本身仍天天在發生。

拿兩個真實案例對照。ResumeLooters 攻擊集團在 2023 年底用 SQL Injection 與 XSS 打下 65 個網站(以求職與零售網站為主),竊走約 207 萬筆 email,受害網站數量台灣排全球第二,共 10 個站中招。另一個是 Roundcube 網頁郵件系統的 XSS 漏洞 CVE-2024-37383:官方早已釋出修補,2024 年 10 月仍有未更新的機構被利用此漏洞竊取信箱帳密。兩個案例指向同一件事:攻擊者用的多半是已知、已有防法的漏洞,受害者輸在管理,而非輸給什麼高深技術。

應用層的實務原則有四條:外掛數量減到最少,每一個都要答得出「為什麼需要它」;只從官方目錄或可信開發商安裝;每週固定排一個更新窗口;重大漏洞(已有公開利用程式的那種)24 小時內處理,來不及更新就靠邊界層的虛擬修補先擋。輸入驗證的具體寫法,〈WordPress SQL Injection 防禦指南〉有完整的參數化查詢與過濾範例;網站若有對外接收 webhook(金流回調、LINE 官方帳號),簽名驗證做錯等於自己開後門,Laravel 的做法見〈Laravel Webhook 簽名驗證指南〉。要從架構層面把安全規劃進企業站的開發流程,我們在〈企業 WordPress 開發完整指南〉有專章討論。

身分層:為什麼 2FA 是投資報酬率最高的一步?

Microsoft 在 2019 年的研究給過一個至今仍常被引用的數字:啟用多因素驗證(MFA)可以擋下 99.9% 的帳號入侵攻擊。原因不難理解:撞庫與暴力破解都建立在「拿到密碼就等於拿到帳號」的前提上,多一道驗證,這個前提就垮了。網站後台、主機控制面板、網域註冊商、DNS 服務,四個地方全部開啟 2FA,每人成本是幾分鐘,卻直接封掉最常見的入侵路徑。網域與 DNS 常被漏掉,但這兩個被劫持時,連 WAF 都救不了。

第二件事是最小權限。我們健檢過的網站,最常見的景象是七八個帳號全是管理員,離職員工的帳號還留著。原則很簡單:寫文章的給編輯權限就好、外包廠商用獨立帳號並約定停用時間、人員離開當天就停權。OWASP 2025 把權限控制失效排在第一名,正是因為這類問題無所不在又最少人管。

主機層面,SSH 與登入端點的暴力破解可以交給 fail2ban 自動處理:它讀取登入失敗日誌,超過閾值就自動封鎖來源 IP。這個老牌開源工具仍在活躍維護(2024 年 4 月釋出 1.1.0 版),Linux 主機幾條設定就能上線。想再進一步,把「密碼正確但行為異常」的登入也攔下來,可以參考〈AI 驅動的 WordPress 資安防護〉裡的異常偵測做法。

資料層:為什麼要 3-2-1 備份,主機商的每日備份不算數嗎?

先看勒索軟體的現況。Verizon 2025 年 DBIR 的中小企業快照指出:中小企業的資料外洩事件中,88% 與勒索軟體有關,大型企業只有 39%;同一份報告統計,贖金中位數為 USD 115K,64% 的受害企業選擇拒付。Sophos 同年的調查(樣本與統計口徑不同,兩組數字不能互相換算)則顯示 49% 的企業付了贖金,而不含贖金的平均復原成本高達 USD 1.53M。兩份報告的共同結論一致:中招之後,乾淨的備份是唯一不用跟攻擊者談判的籌碼。

NIST NCCoE 給的建議是 3-2-1 原則:資料保留 3 份副本、存放在 2 種不同媒體、其中 1 份放異地。很多網站以為「主機商有每日備份」就等於安全,但那份備份跟正式環境常常在同一台主機或同一個機房:勒索軟體加密時一起被加密,主機商出事時一起消失,帳號被盜時一起被刪,3-2-1 的三個條件一條都不滿足。實務上的最低配置:主機本地每日備份一份,每日自動再推一份到不同供應商的雲端儲存(S3 相容空間或 Google Drive 都行),每月實際演練一次還原。沒演練過的備份只能算祈禱。備份方式的選擇(資料庫 dump 還是高可用架構)牽涉到可容忍的資料遺失量與停機時間,我們在〈資料庫備份與還原:Dump 與 HA 的抉擇〉做過完整比較。

順帶處理一個同屬資料防護、卻常被遺忘的小事:SSL 憑證過期會讓全站直接跳警告頁,流量與轉換當場歸零,這種事故完全可以自動化避免,設定一次就好,見〈Certbot SSL 自動續約指南〉。

監控與應變:被打進來之後的第一個小時該做什麼?

IBM 統計的 241 天(平均識別加遏制時間)對中小企業的意義是:多數入侵並非發生後馬上被發現,而是攻擊者已經自由進出好幾個月。監控層要縮短的就是這段時間。最低限度的配置有三件:存取日誌與登入日誌至少保留 90 天並每週抽查;每週跑一次惡意程式掃描(主機端用 maldet 或 ClamAV,網站端用 WAF 供應商或安全外掛內建的掃描);對關鍵事件設告警,例如管理員登入、核心檔案變更、流量異常暴增,告警發到團隊每天都會看的 Slack 或 LINE 群組。

真的中招時,照這份 SOP 走,不要邊慌邊做:

  1. 隔離止血:網站切到維護模式或暫時下線,更換所有密碼、API 金鑰與資料庫憑證。
  2. 保全證據:清理之前,先把當下的檔案與日誌完整打包保存,這是之後查出入侵路徑的唯一材料。
  3. 乾淨還原:用確認乾淨的備份還原,並立刻補上被利用的漏洞;只清理不補洞,幾天內會再中一次。
  4. 依法通報:涉及個資外洩時,依個資法評估對當事人的告知義務;TWCERT/CC 提供中小企業通報與協處窗口。
  5. 事後檢討:把入侵路徑對回五層模型,找出失守的那一層,補上再上線。

三種網站情境,防護該從哪一層做起?

五層全做當然最好,但資源有限時要排優先序。以下用台灣中小企業最常見的三種網站型態,給出我們實際健檢時的建議順序。

形象官網:先顧邊界與備份

沒有會員與金流的官網,最大的風險是被掛馬拿去發垃圾信、塞黑帽 SEO 連結,賠掉的是品牌信任與搜尋排名。優先序:Cloudflare Free 上線並確實隱藏主機 IP、後台帳號全面 2FA、外掛每週更新、異地備份每日一份。這個組合幾乎零成本,一個下午能完成八成,對「客戶會不會搜到我們官網被標成危險網站」這件事的保障立竿見影。

電商網站:先顧應用層與 WAF

有金流與訂單個資,攻擊價值高,SQL Injection、盜刷腳本、購物車漏洞都會找上門。優先序:WAF 至少上 Cloudflare Pro(USD 20/月)或 Sucuri;金流與物流的 webhook 簽名驗證逐條檢查;測試環境與正式環境確實分離;備份做到 3-2-1 並演練過還原;日誌保留 90 天以上。個資外洩在台灣有明確的法遵責任,這一類網站我們建議把資安列為每月固定維運項目編預算,而非一次性工程。

會員系統與客戶入口:先顧身分層

帳號本身就是資產,撞庫與盜號是主要威脅。優先序:管理端強制 2FA,會員端至少提供選用;確認密碼以 bcrypt 或 Argon2 雜湊儲存;登入與註冊端點加上速率限制與 fail2ban;權限矩陣每季盤點一次。若站上掛了 AI 客服或聊天機器人,它們同樣是對外的輸入端點,prompt injection 與資料外洩的風險要一併納入設計,這部分可參考〈台灣企業 AI Agent 導入指南〉的安全章節。

資料來源與延伸連結

本文數據查證於 2026 年 7 月 2 日。攻擊統計、方案定價與漏洞數字都會隨時間變動,引用前建議點開原始來源確認最新版本。

延伸閱讀

需要有人陪著把五層盤一次嗎?

如果讀完三份檢核清單,發現有好幾項答不出「我們做了沒」,那就是該做一次資安健檢的訊號。我們提供 WordPress 網站的健檢與長期維運服務,涵蓋 WAF 設定、備份演練、權限盤點與事件應變;Laravel 等客製系統的安全強化則歸在其他服務。想先聊聊現況,歡迎從聯絡頁找我們,說明網站型態與最擔心的環節即可,不需要準備任何技術細節。

// FAQ

常見問題

Q1: 我們只是小公司的形象官網,真的會被攻擊嗎?
會,而且多數攻擊根本不挑對象。Imperva 2025 年報告指出,2024 年全球網路流量有 51% 來自自動化程式、37% 是惡意 bot,掃描器全天候掃描所有上線網站找已知漏洞;台灣企業在 2025 年第三季平均每週遭受 3,840 次攻擊。網站的主機資源、寄信信譽、搜尋排名都能被攻擊者變現,規模小不等於沒有攻擊價值。
Q2: Cloudflare 免費版和 Pro 版的 WAF 差在哪裡?什麼時候該升級?
免費版只有精簡的 Free Managed Ruleset 加 5 條自訂規則;Pro(USD 20/月)才有完整 Managed Ruleset 與 OWASP Core Ruleset,自訂規則增為 20 條。純形象官網用免費版搭配鎖後台的自訂規則通常夠用;網站有表單、金流或會員登入時建議升級 Pro,讓 SQL Injection 與 XSS 的攻擊特徵在邊界層就被攔截。
Q3: 主機商已經有每日備份,還需要做 3-2-1 嗎?
需要。備份與正式環境放在同一台主機或同一機房時,勒索軟體加密、主機商故障或帳號被盜都會讓備份一起消失。NIST NCCoE 建議的 3-2-1 原則是 3 份副本、2 種媒體、1 份異地:最低配置是主機本地一份,加上每日自動推送到不同供應商的雲端儲存一份,並且每月實際演練還原流程。
Q4: 啟用兩步驟驗證(2FA)真的能擋住攻擊嗎?
Microsoft 2019 年的研究指出,多因素驗證能阻擋 99.9% 的帳號入侵攻擊。撞庫與暴力破解都建立在「拿到密碼就等於拿到帳號」的前提上,多一道驗證就讓外洩的密碼失效。優先在四個地方啟用:網站後台、主機控制面板、網域註冊商、DNS 服務,後兩者被劫持時連 WAF 都救不了。
Q5: 網站已經被掛馬了,第一步該做什麼?
先隔離再清理:把網站切到維護模式,更換所有密碼與 API 金鑰;動手清除前先完整打包當下的檔案與日誌保全證據;用確認乾淨的備份還原,並立刻補上被利用的漏洞;涉及個資時依個資法評估告知義務,可向 TWCERT/CC 通報協處。順序反過來(先清理再查原因)常導致查不出入侵路徑,幾天內重複中招。
#網站資安 #縱深防禦 #WAF #Cloudflare #備份策略 #WordPress 安全 #中小企業
~/roamer-tech/newsletter // FREE
// newsletter

訂閱免費電子報

把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。

$
// final.exec()

準備好讓你的網站開始為你工作了嗎?