網站資安縱深防禦完整指南:台灣中小企業的五層防護實戰
☰ 目錄 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、Sucuri | USD 0 起 |
| 應用層 | 程式與外掛漏洞(SQLi、XSS、供應鏈) | 更新管理、安全外掛、虛擬修補 | USD 0 起 |
| 身分層 | 帳號盜用、暴力破解、權限濫用 | 2FA、最小權限、fail2ban | USD 0 |
| 資料層 | 勒索加密、誤刪、主機故障 | 3-2-1 備份、異地副本、還原演練 | 以儲存費用為主 |
| 監控層 | 入侵偵測、事後鑑識、快速應變 | 日誌、惡意程式掃描、告警、應變 SOP | USD 0 起 |
五層的關係是串聯而非並聯:邊界層過濾掉大量自動化攻擊,應用層堵住程式漏洞,身分層守住帳號,資料層保證最壞情況下有得還原,監控層縮短發現時間。我們在〈WordPress 縱深防禦:WAF、Bot 防護與安全外掛〉示範過前兩層的實作組合,本文把範圍拉大到完整五層,以下逐層拆解。
邊界層:Cloudflare 免費版的 WAF 夠用嗎?
邊界層的任務是讓惡意流量根本碰不到主機。前面提過 Imperva 的數據:整體流量的 51% 是自動化程式、37% 帶有惡意,讓主機裸奔面對這些流量,等於把過濾工作全部丟給最貴也最脆弱的環節。台灣中小企業最常見的起手式是 Cloudflare,但免費版與付費版的 WAF 能力差距需要講清楚:
| 方案 | 月費 | WAF 能力 | 自訂規則數 |
|---|---|---|---|
| Cloudflare Free | USD 0 | 僅 Free Managed Ruleset(精簡的高風險規則集) | 5 條 |
| Cloudflare Pro | USD 20 | 完整 Managed Ruleset 加 OWASP Core Ruleset | 20 條 |
| Cloudflare Business | USD 200 | 同 Pro,另含更進階的 bot 管理與客製化空間 | 100 條 |
| Sucuri Basic | USD 9.99 | WAF 加虛擬修補,含 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 走,不要邊慌邊做:
- 隔離止血:網站切到維護模式或暫時下線,更換所有密碼、API 金鑰與資料庫憑證。
- 保全證據:清理之前,先把當下的檔案與日誌完整打包保存,這是之後查出入侵路徑的唯一材料。
- 乾淨還原:用確認乾淨的備份還原,並立刻補上被利用的漏洞;只清理不補洞,幾天內會再中一次。
- 依法通報:涉及個資外洩時,依個資法評估對當事人的告知義務;TWCERT/CC 提供中小企業通報與協處窗口。
- 事後檢討:把入侵路徑對回五層模型,找出失守的那一層,補上再上線。
三種網站情境,防護該從哪一層做起?
五層全做當然最好,但資源有限時要排優先序。以下用台灣中小企業最常見的三種網站型態,給出我們實際健檢時的建議順序。
形象官網:先顧邊界與備份
沒有會員與金流的官網,最大的風險是被掛馬拿去發垃圾信、塞黑帽 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 日。攻擊統計、方案定價與漏洞數字都會隨時間變動,引用前建議點開原始來源確認最新版本。
- Patchstack: State of WordPress Security in 2026(2025 年漏洞統計)
- Imperva 2025 Bad Bot Report(2024 年流量分析)
- IBM 2025 年資料外洩成本報告(新聞稿)
- 資安人:台灣企業 2025 Q3 週均遭攻擊 3,840 次(Check Point 統計)
- TWCERT/CC:約九成目標式勒索攻擊針對中小企業(趨勢科技統計)
- OWASP Top 10:2025(第八版)
- Cloudflare 方案定價 與 WAF Managed Rules 官方文件
- Sucuri Website Firewall
- SecurityWeek:ResumeLooters SQL Injection 攻擊事件
- Help Net Security:Roundcube CVE-2024-37383 遭利用
- Microsoft:MFA 可阻擋 99.9% 帳號攻擊(2019 年研究)
- fail2ban(GitHub,1.1.0 版)
- NIST NCCoE:3-2-1 備份原則(PDF)
- Verizon 2025 DBIR 中小企業快照(PDF)
- Sophos 2025 勒索軟體調查(新聞稿)
延伸閱讀
需要有人陪著把五層盤一次嗎?
如果讀完三份檢核清單,發現有好幾項答不出「我們做了沒」,那就是該做一次資安健檢的訊號。我們提供 WordPress 網站的健檢與長期維運服務,涵蓋 WAF 設定、備份演練、權限盤點與事件應變;Laravel 等客製系統的安全強化則歸在其他服務。想先聊聊現況,歡迎從聯絡頁找我們,說明網站型態與最擔心的環節即可,不需要準備任何技術細節。
常見問題
Q1: 我們只是小公司的形象官網,真的會被攻擊嗎?
Q2: Cloudflare 免費版和 Pro 版的 WAF 差在哪裡?什麼時候該升級?
Q3: 主機商已經有每日備份,還需要做 3-2-1 嗎?
Q4: 啟用兩步驟驗證(2FA)真的能擋住攻擊嗎?
Q5: 網站已經被掛馬了,第一步該做什麼?
訂閱免費電子報
把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。