作者|瞻新資訊 張安邦執行長(台大醫工背景・十年以上IT服務公司創辦人)
先講一個可能跟你想的不太一樣的結論:中小企業的網站出事,八成不是被什麼高手攻破,是自己沒把門關好。
這不是我在替駭客說話。國際資安組織 OWASP 每隔幾年會整理一次「網頁應用程式最嚴重的十種風險」,2025 年這一版把「設定沒關好」從第五名一路拉到第二名。而設定這件事,恰好是不用寫任何程式就能改善的那一類。
這篇要做的不是把那十個英文名詞翻譯一遍——網路上那種文章很多,而且大部分還停在 2021 年的舊版。這篇要做的是幫你把它分成兩堆:哪幾項是你自己管得到的,哪幾項要找工程師。分清楚了,你才知道錢跟力氣該花在哪。
先分清楚,你要防的不是同一種攻擊
講網頁安全之前,要先把兩件常被混在一起的事分開。
一種是讓你的網站癱瘓。大量假流量灌進來,把網站塞爆,讓真正的客戶打不開。這叫 DDoS,站上另一篇〈DDoS 攻擊是什麼?企業網站的症狀、防護與事件處理指南〉專門在講它。
另一種是讓你的資料出事。有人透過網站的漏洞,看到不該看的資料、改掉不該改的內容、或是在你的網站上放東西。這一種不會讓網站變慢,也不會有任何異常畫面——它的特徵就是「看起來一切正常」。
用個比喻:前者是有人堵在你店門口,客人擠不進來,你一眼就看得出來;後者是有人配了一把鑰匙,晚上進來翻你的帳本再原樣鎖上,你可能三個月後才發現。
這篇講的是第二種。 兩者的防法完全不同,把它們混在一起談,錢會花錯地方。
一句話收尾:看得出來的攻擊反而好處理,看不出來的那種才是這篇要盤點的。

OWASP 剛改版了,十個風險翻成你聽得懂的話
OWASP 是一個國際性的網頁安全組織,它整理的「Top 10」是這個領域最被廣泛引用的一份清單。
這份清單在 2025 年 11 月發表新版、2026 年 1 月定稿,是 2021 年以來第一次大改版。所以如果你在網路上看到的中文說明還在講 2021 版,那份資料已經舊了。
十項的官方名稱與白話對照如下:
| 編號 | 官方名稱 | 白話講就是 |
|---|---|---|
| A01 | Broken Access Control | 權限沒管好,有人看得到、改得到不該碰的東西 |
| A02 | Security Misconfiguration | 設定沒關好,預設值沒改、該關的功能還開著 |
| A03 | Software Supply Chain Failures | 你用到的套件、工具或更新管道被動了手腳 |
| A04 | Cryptographic Failures | 該加密的沒加密,或加密方式已經過時 |
| A05 | Injection | 使用者輸入的東西被系統當成指令執行 |
| A06 | Insecure Design | 設計的時候就沒想到安全,不是寫壞了而是想漏了 |
| A07 | Authentication Failures | 登入機制有問題,例如可以無限次試密碼 |
| A08 | Software or Data Integrity Failures | 更新或資料在傳送途中被掉包 |
| A09 | Security Logging and Alerting Failures | 沒有紀錄、沒有告警,出事了你不會知道 |
| A10 | Mishandling of Exceptional Conditions | 出錯的時候處理不當,失敗了反而放行 |
這一版有四個值得注意的變動:
- 新增了 A03 供應鏈失效。舊版只講「用到有漏洞的套件」,新版把範圍擴大到「相依的套件、建置流程、發布管道被入侵」——換句話說,不只是你用的東西有漏洞,而是它可能一開始就被人動過手腳。
- 新增了 A10 錯誤處理不當,講的是系統出錯時的反應。最危險的一種叫「失敗放行」:驗證程式掛掉了,結果不是擋下來,而是直接放行。
- 設定沒關好(A02)從第五名升到第二名。
- SSRF 這一類不再單獨列,併進了 A01 權限問題。
💡 小提醒
OWASP Top 10 的定位是「認知文件」,用來讓開發者與企業知道有哪些常見風險,它不是稽核標準,也不是「做完這十項就合格」的檢查表。有些廠商會拿它當合規清單賣,那是誤用。
一句話收尾:十個名詞不用背,重點是知道風險大致分成哪幾類,然後看哪幾類落在你自己手上。
這十項裡,哪幾項你自己管得到
這是這篇的重點。同樣是十項風險,有些不用寫程式就能改善,有些非得有人動原始碼不可。分清楚之後,你會發現自己能做的比想像中多。
| 風險 | 誰能處理 | 你可以做的具體動作 |
|---|---|---|
| A01 權限沒管好 | 大部分你管得到 | 盤點後台帳號,離職的關掉、外包廠商用完收回、每個人只給需要的權限,不要一律給管理員 |
| A02 設定沒關好 | 大部分你管得到 | 改掉預設帳號密碼、關掉用不到的功能、後台不要用預設網址、確認錯誤訊息不會把系統細節顯示給訪客 |
| A03 供應鏈 | 一半你管得到 | 盤點裝了哪些外掛與套件、移除不用的、確認還有在更新的、設定自動更新 |
| A04 加密 | 一半 | 確認全站 HTTPS、憑證有效;深層的加密選擇要問工程師 |
| A05 注入攻擊 | 要找工程師 | 你能做的是在驗收時問(見最後一節) |
| A06 設計不安全 | 要找工程師 | 同上,屬於規劃階段的事 |
| A07 登入機制 | 一半你管得到 | 開啟兩步驟驗證、限制登入失敗次數、不要共用帳號 |
| A08 完整性 | 要找工程師 | — |
| A09 沒有紀錄 | 大部分你管得到 | 裝活動紀錄類的工具、確認有人會看、確認紀錄保存夠久 |
| A10 錯誤處理 | 要找工程師 | — |
數一下:十項裡面有六項,你自己或你的網站管理人員就能處理一大半,而且多半不花錢,只花時間。
這也是為什麼我會說,中小企業的資安投入該從設定與流程開始,而不是從買工具開始。把投入分成三層來看:
- 第一層:設定與流程——幾乎零成本,靠人做對就好。這一層涵蓋了上表中一半以上的項目。
- 第二層:工具與服務——防火牆、自動備份、監控告警,多半是訂閱制,有固定月費。
- 第三層:專業檢測——滲透測試、程式碼稽核,按次計價,費用跟系統規模直接相關。
多數中小企業第一層都還沒做完就跳去問第三層要多少錢,那個順序是反的。
台灣官方有一份免費的自檢表,可以直接拿來用
講到第一層,這裡補一個很多人不知道的資源。
數位發展部資通安全署在 2026 年 4 月發布了一份〈中小企業基本資安防護指引〉,從帳號管理、設備與資料管理、資安意識培訓三個面向,整理出 16 項基礎檢核點,並附上一份自檢表——企業主只要逐項勾「是」或「否」,就能看出自己的缺口在哪。
它的設計目標跟本節講的第一層完全一致:用不花大錢的方式先把基礎建立起來。
同一個單位在 2026 年 8 月又發布了〈資安事件應變指引〉,針對中小企業最常遇到的六種情境——設備受感染、帳號被盜、網路釣魚、商業支付詐欺、勒索軟體、阻斷服務攻擊——各給一套行動步驟。
💡 小提醒
另外,台灣電腦網路危機處理暨協調中心(TWCERT/CC)可以免費註冊會員,註冊之後會收到最新的威脅警報。對沒有專職 IT 的公司來說,這是成本最低的一種「有人幫你盯著」。
這兩份指引跟本篇的 OWASP 清單不衝突,是互補的:OWASP 講的是「網站程式本身有哪些風險」,資安署那份講的是「公司內部的帳號、設備與人員該怎麼管」。一個對外、一個對內,中小企業兩邊都要顧。
一句話收尾:先把不用花錢的那六項做完,再來討論要不要花錢。

設定沒關好,這一項從第五名升到第二名
單獨把 A02 拉出來講,因為它的排名變動最大,而且它最容易被當成「小事」。
設定問題長什麼樣?幾個常見的:
- 預設帳號密碼沒改。 後台裝好之後沿用預設值,或者用 `admin` 這種一猜就中的帳號名稱。
- 用不到的功能還開著。 很多系統預設會開啟一些方便開發、但上線後根本用不到的介面。它們平常沒人注意,但對想找入口的人來說很明顯。
- 錯誤訊息太老實。 系統出錯時,直接把資料庫的路徑、版本號、程式檔案位置顯示在畫面上。對訪客來說那是一串亂碼,對想找漏洞的人來說那是一張地圖。
- 檔案權限太寬鬆。 上傳目錄可以直接執行程式、備份檔放在對外連得到的位置。
這一類問題的共同特徵是:它們不是「寫錯了」,是「沒有人去把它關掉」。系統出廠時為了讓你安裝順利,預設值往往偏寬鬆,上線之後要有人回頭收緊。而委外專案裡,這一步常常掉在中間——廠商覺得驗收完就結案了,業主不知道有這一步。
⚠️ 注意
「網站可以正常運作」跟「網站設定是安全的」是兩回事,而驗收時看的通常只有前者。功能全部正常,不代表沒有一扇後門開著。
這裡舉一個很常見的情境:你接手一個已經跑了幾年、中間換過兩家廠商、目前沒有人固定維護的公司網站。
這種網站最典型的狀況是——沒有人知道後台現在有幾個帳號。當年做網站的廠商開了帳號、後來改版的廠商又開了帳號、中間還有幾個離職同事的帳號。每一個都還活著,每一個都是管理員權限。
這種情況不需要任何技術能力就能改善:登入後台,把帳號列表叫出來,一個一個問「這是誰、現在還需要嗎」。問不出來的就停用,不要因為「怕停掉會出事」而留著——真的有人在用,他會來反映,那時候再開回去就好;沒人反映,就代表本來就不需要。
一句話收尾:設定問題不需要高深技術就能修,但也不會自己修好,它需要有人被指定去做。
你裝的每一個外掛,都是供應鏈的一環
A03 供應鏈失效是新增的類別,聽起來很像是大企業才要煩惱的事。其實對中小企業來說,它有一個非常具體的形態:外掛。
以 WordPress 為例。你的網站可能裝了十幾二十個外掛——聯絡表單、SEO、快取、備份、金流、多語系。每一個外掛都是別人寫的程式,跑在你的網站上,權限跟你的網站一樣大。
用比喻來說:這像是你把店裡的鑰匙複製了二十份,分給二十個不同的廠商。他們都是為了幫你做事才拿鑰匙的,但你有沒有定期確認,這二十個廠商現在都還在營業、都還是原本那批人?
供應鏈風險在實務上最常見的形態是這樣的:
- 你裝了一個很好用的外掛。
- 過了兩年,原作者沒空維護了,或是把專案賣給別人。
- 新的擁有者推送一次更新,裡面多了一些原本沒有的東西。
- 你的網站自動更新,什麼感覺都沒有。
這個情境的可怕之處在於,每一步看起來都很正常:外掛是官方市集下載的、更新是系統自動裝的、網站完全沒有異狀。
你能做的三件事,都不難:
- 盤點。列出現在裝了哪些外掛,一個一個問「這個現在還有在用嗎」。用不到的直接移除,停用不等於移除,停用的外掛檔案還在。
- 看最後更新日期。超過一年沒更新的,要特別注意;作者換人、專案轉手的公告,通常會出現在外掛頁面上。
- 減量。外掛不是越多越好,每少一個,就少一把在外面的鑰匙。
一句話收尾:你不是只在信任自己的網站,你同時在信任裝在上面的每一個外掛。

沒有紀錄,你不會知道自己已經出事
A09 這一項最容易被跳過,因為它防不了任何攻擊。它決定的是另一件事:出事之後,你多久會發現。
前面說過,資料類的攻擊特徵是「看起來一切正常」。網站照常運作、客戶照常下單、後台照常登入。如果沒有任何紀錄,你要怎麼知道上週三凌晨有人用管理員帳號登入過?
要做的事其實不複雜:
- 裝一個活動紀錄工具。記錄誰在什麼時候登入、改了什麼、裝了什麼。多數 CMS 都有現成的外掛或內建功能。
- 確認有人會看。紀錄躺在那裡沒人看,跟沒有紀錄是一樣的。至少設定「異常登入寄信通知」這種會主動找到人的機制。
- 確認保存夠久。如果紀錄只留七天,而問題是兩個月前開始的,那份紀錄幫不上忙。
💡 小提醒
這一項的價值在出事的當下才會浮現。有紀錄的話,你可以知道是什麼時候開始的、影響了哪些資料、要從哪個備份還原;沒有紀錄的話,你只能猜。 而在需要對客戶說明的場合,猜測是站不住腳的。
一句話收尾:紀錄不能防止事情發生,但它決定你是三天後發現還是永遠不知道。

驗收外包網站時,安全性該問的四個問題
最後講實務。如果你正在驗收一個外包的網站,問「你們有沒有做資安」得到的答案一定是「有」,這個問題沒有鑑別度。
換成這四個具體問題,對方答得出來或答不出來,你一聽就知道:
- 後台有哪些帳號?分別是誰、權限是什麼? ——這個問題直接對應 A01。合理的回答會包含「開發期間用的帳號在上線前已經停用」。
- 預設設定有哪些被改過?錯誤訊息會不會顯示系統細節? ——對應 A02。可以請對方示範一個出錯的頁面給你看。
- 裝了哪些外掛或第三方套件?各自最後更新是什麼時候? ——對應 A03。合理的回答會是一份清單,不是「就一些基本的」。
- 有沒有活動紀錄?異常登入會通知誰? ——對應 A09,這一項最常被漏掉。
⚠️ 注意
這四個問題不是在刁難廠商,正好相反——把它們寫進交付清單,對雙方都是保護。廠商知道要交什麼,業主知道該收到什麼,不會事後才為了「這算不算在報價範圍內」爭執。
還有一件事值得順帶處理:憑證與加密的部分(也就是 A04)不在上面四題裡,因為它有自己一整套要確認的東西。那部分站上有專文,可以看〈SSL 憑證效期剩 200 天:續約、憑證鏈與涵蓋範圍怎麼安排〉;如果你的網站現在就已經被瀏覽器標成不安全,則可以照〈網站顯示不安全的排查順序〉那套流程先分流。至於整站的健康度(速度、SEO 與資安一起看),〈企業網站健康度檢查〉有完整的盤點方式。
回到最開始那句話:中小企業的網頁安全,起點不是買什麼,是先知道自己有哪些門,然後一扇一扇去確認它關了沒。這件事不需要資安專家,需要的是有人被指定去做,而且做完要留下紀錄。
如果你正在規劃新的網站或系統,想把這些檢查項目直接寫進交付規格裡,而不是等上線之後才補,瞻新資訊的團隊可以協助把需求與驗收條件整理清楚。
FAQ
小公司的網站也會被攻擊嗎?
會,而且大部分攻擊不是針對你這家公司,是自動化程式在網路上掃描有漏洞的網站。這類掃描不管你是上市公司還是五人公司,它找的是「有沒有已知的漏洞」。所以「我們公司很小、沒什麼好偷的」不構成保護,反而因為小公司通常沒有專人維護,設定與更新的缺口更容易被掃到。
網站裝了 SSL 憑證,是不是就安全了?
不是。SSL 憑證保護的是「資料在傳輸途中不被偷看」,它完全不處理網站本身有沒有漏洞。舉例來說,一個權限沒設好、任何人都能看到別人訂單的網站,就算全站 HTTPS,那個問題還是存在。加密與應用程式安全是兩個不同的層次,前者在 OWASP 清單裡是 A04,只是十項中的一項。
WordPress 安不安全?
WordPress 核心本身有專職團隊維護、更新頻繁,實務上的風險多半不在核心,而在外掛與佈景主題,也就是 OWASP 2025 新增的 A03 供應鏈風險。降低風險的做法是:只裝真正會用到的、定期檢查最後更新日期、移除(不是停用)不再使用的、開啟自動更新。裝得越少,要顧的就越少。
網頁安全要花多少錢?
分三層看。第一層是設定與流程(改預設密碼、收回多餘權限、移除沒用的外掛、開啟紀錄),幾乎零成本,而且涵蓋了十項風險中的一大半;第二層是工具與服務,例如防火牆、自動備份、監控告警,多為訂閱制;第三層是滲透測試與程式碼稽核,按次計價、費用與系統規模直接相關。多數中小企業第一層還沒做完就跳去問第三層報價,順序是反的。
外包的網站,安全性要怎麼驗收?
問「你們有沒有做資安」沒有鑑別度。改問四個具體問題:後台有哪些帳號與權限、預設設定改了哪些且錯誤訊息會不會顯示系統細節、裝了哪些第三方套件與各自的最後更新日期、有沒有活動紀錄且異常登入會通知誰。把這四題寫進交付清單,對業主與廠商都是保護,可以避免事後為了「這算不算在報價範圍內」起爭執。
網站被入侵了會有什麼徵兆?
這正是麻煩的地方——資料類的入侵通常沒有明顯徵兆,網站看起來完全正常。比較可能被注意到的間接跡象包括:搜尋結果出現不是你放的頁面、客戶反映收到奇怪的郵件、後台出現不認識的帳號、檔案修改時間異常。但這些都要有人去看才發現得了,所以才需要活動紀錄與告警——它決定的不是會不會出事,而是你多久之後才知道。
有沒有現成的檢查表可以直接用?
有,而且是免費的官方資源。數位發展部資通安全署在 2026 年 4 月發布〈中小企業基本資安防護指引〉,從帳號管理、設備與資料管理、資安意識培訓三個面向列出 16 項檢核點,並附自檢表可以逐項勾選。同一單位 2026 年 8 月另發布〈資安事件應變指引〉,針對六種常見威脅情境提供行動步驟。另外也可以免費註冊 TWCERT/CC 會員接收威脅警報。這些偏重公司內部的帳號與設備管理,跟本文講的網站程式面風險是互補關係,兩邊都要顧。
參考資料
- OWASP Foundation —《OWASP Top 10:2025》 https://top10.owasp.org/2025 (英文,國際資安組織官方文件)
- OWASP Foundation —《OWASP Top Ten 專案頁》 https://owasp.github.io/www-project-top-ten/ (英文,國際,Top 10 的定位說明)
- 數位發展部資通安全署 —《資安署發布中小企業基本資安防護指引 三大面向16項檢核協助產業防駭》(2026年4月)https://moda.gov.tw/ACS/press/news/press/19496 (繁體中文,台灣,主管機關官方新聞稿)
- 數位發展部資通安全署 —《相關作業規定及指引》 https://moda.gov.tw/ACS/laws/guide/rules-guidelines/904 (繁體中文,台灣,主管機關官方指引專區)
- MDN Web Docs(Mozilla)—《混合內容》 https://developer.mozilla.org/zh-TW/docs/Web/Security/Mixed_content (繁體中文,國際)
ℹ️ 關於本文
本文引用的 OWASP Top 10 分類與排序,以查閱當日(2026年9月13日)的 OWASP 官方頁面版本為準。OWASP Top 10 屬於風險認知文件而非稽核標準,其分類會隨改版調整,實際內容請以 OWASP 官方最新公告為準。文中對風險分工與處理順序的判斷屬一般性實務經驗說明,實際情形會因網站架構、使用的系統與營運規模而有明顯差異,不構成資安合規建議,也不保證依此執行即可避免所有資安事件。
關於作者|張安邦執行長
台灣大學醫學工程研究所背景,十年以上軟體開發經歷,領軍瞻新資訊有限公司(2010年成立),完成專案200+、涵蓋40~50+個產業。專長:網頁設計、APP開發、UI/UX設計、LINE Bot自動化、系統開發、資訊安全。


