瞻新資訊|網站設計、APP開發、UI/UX設計、LINE Bot開發

兩位同事在辦公室白板前對照建築平面圖的門窗檢查清單,一人持夾板勾選、一人指著尚未打勾的項目

網頁安全的攻擊面盤點:權限、設定、第三方套件,中小企業先顧這三個

作者|瞻新資訊 張安邦執行長(台大醫工背景・十年以上IT服務公司創辦人)

先講一個可能跟你想的不太一樣的結論:中小企業的網站出事,八成不是被什麼高手攻破,是自己沒把門關好

這不是我在替駭客說話。國際資安組織 OWASP 每隔幾年會整理一次「網頁應用程式最嚴重的十種風險」,2025 年這一版把「設定沒關好」從第五名一路拉到第二名。而設定這件事,恰好是不用寫任何程式就能改善的那一類。

這篇要做的不是把那十個英文名詞翻譯一遍——網路上那種文章很多,而且大部分還停在 2021 年的舊版。這篇要做的是幫你把它分成兩堆:哪幾項是你自己管得到的,哪幾項要找工程師。分清楚了,你才知道錢跟力氣該花在哪。

先分清楚,你要防的不是同一種攻擊

講網頁安全之前,要先把兩件常被混在一起的事分開。

一種是讓你的網站癱瘓。大量假流量灌進來,把網站塞爆,讓真正的客戶打不開。這叫 DDoS,站上另一篇〈DDoS 攻擊是什麼?企業網站的症狀、防護與事件處理指南〉專門在講它。

另一種是讓你的資料出事。有人透過網站的漏洞,看到不該看的資料、改掉不該改的內容、或是在你的網站上放東西。這一種不會讓網站變慢,也不會有任何異常畫面——它的特徵就是「看起來一切正常」。

用個比喻:前者是有人堵在你店門口,客人擠不進來,你一眼就看得出來;後者是有人配了一把鑰匙,晚上進來翻你的帳本再原樣鎖上,你可能三個月後才發現。

這篇講的是第二種。 兩者的防法完全不同,把它們混在一起談,錢會花錯地方。

一句話收尾看得出來的攻擊反而好處理,看不出來的那種才是這篇要盤點的

左邊店門口被大量灰色人影堵住讓真正顧客進不去,右邊同一家店夜間看似正常但有人在櫃檯抄寫帳本
看得出來的攻擊反而好處理,看不出來的那種才是這篇要盤點的。

OWASP 剛改版了,十個風險翻成你聽得懂的話

OWASP 是一個國際性的網頁安全組織,它整理的「Top 10」是這個領域最被廣泛引用的一份清單。

這份清單在 2025 年 11 月發表新版、2026 年 1 月定稿,是 2021 年以來第一次大改版。所以如果你在網路上看到的中文說明還在講 2021 版,那份資料已經舊了。

十項的官方名稱與白話對照如下:

編號官方名稱白話講就是
A01Broken Access Control權限沒管好,有人看得到、改得到不該碰的東西
A02Security Misconfiguration設定沒關好,預設值沒改、該關的功能還開著
A03Software Supply Chain Failures你用到的套件、工具或更新管道被動了手腳
A04Cryptographic Failures該加密的沒加密,或加密方式已經過時
A05Injection使用者輸入的東西被系統當成指令執行
A06Insecure Design設計的時候就沒想到安全,不是寫壞了而是想漏了
A07Authentication Failures登入機制有問題,例如可以無限次試密碼
A08Software or Data Integrity Failures更新或資料在傳送途中被掉包
A09Security Logging and Alerting Failures沒有紀錄、沒有告警,出事了你不會知道
A10Mishandling 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、快取、備份、金流、多語系。每一個外掛都是別人寫的程式,跑在你的網站上,權限跟你的網站一樣大

用比喻來說:這像是你把店裡的鑰匙複製了二十份,分給二十個不同的廠商。他們都是為了幫你做事才拿鑰匙的,但你有沒有定期確認,這二十個廠商現在都還在營業、都還是原本那批人?

供應鏈風險在實務上最常見的形態是這樣的:

  1. 你裝了一個很好用的外掛。
  2. 過了兩年,原作者沒空維護了,或是把專案賣給別人。
  3. 新的擁有者推送一次更新,裡面多了一些原本沒有的東西
  4. 你的網站自動更新,什麼感覺都沒有。

這個情境的可怕之處在於,每一步看起來都很正常:外掛是官方市集下載的、更新是系統自動裝的、網站完全沒有異狀。

你能做的三件事,都不難:

  • 盤點。列出現在裝了哪些外掛,一個一個問「這個現在還有在用嗎」。用不到的直接移除,停用不等於移除,停用的外掛檔案還在
  • 看最後更新日期。超過一年沒更新的,要特別注意;作者換人、專案轉手的公告,通常會出現在外掛頁面上。
  • 減量。外掛不是越多越好,每少一個,就少一把在外面的鑰匙

一句話收尾你不是只在信任自己的網站,你同時在信任裝在上面的每一個外掛

店主站在中央手持鑰匙,多條線連向周圍的攤位,其中一攤佈滿蜘蛛網、一攤攤主被戴面具的人取代、一攤已拉下鐵門但鑰匙仍掛著
你不是只在信任自己的網站,你同時在信任裝在上面的每一個外掛。

沒有紀錄,你不會知道自己已經出事

A09 這一項最容易被跳過,因為它防不了任何攻擊。它決定的是另一件事:出事之後,你多久會發現

前面說過,資料類的攻擊特徵是「看起來一切正常」。網站照常運作、客戶照常下單、後台照常登入。如果沒有任何紀錄,你要怎麼知道上週三凌晨有人用管理員帳號登入過?

要做的事其實不複雜:

  • 裝一個活動紀錄工具。記錄誰在什麼時候登入、改了什麼、裝了什麼。多數 CMS 都有現成的外掛或內建功能。
  • 確認有人會看。紀錄躺在那裡沒人看,跟沒有紀錄是一樣的。至少設定「異常登入寄信通知」這種會主動找到人的機制。
  • 確認保存夠久。如果紀錄只留七天,而問題是兩個月前開始的,那份紀錄幫不上忙。

💡 小提醒

這一項的價值在出事的當下才會浮現。有紀錄的話,你可以知道是什麼時候開始的、影響了哪些資料、要從哪個備份還原;沒有紀錄的話,你只能猜。 而在需要對客戶說明的場合,猜測是站不住腳的。

一句話收尾紀錄不能防止事情發生,但它決定你是三天後發現還是永遠不知道

左邊走廊沒有攝影機與紀錄本,地上腳印無人記錄;右邊同一條走廊有攝影機與寫著紀錄的本子,警示鈴響起手機亮起
紀錄不能防止事情發生,但它決定你是三天後發現還是永遠不知道。

驗收外包網站時,安全性該問的四個問題

最後講實務。如果你正在驗收一個外包的網站,問「你們有沒有做資安」得到的答案一定是「有」,這個問題沒有鑑別度。

換成這四個具體問題,對方答得出來或答不出來,你一聽就知道:

  1. 後台有哪些帳號?分別是誰、權限是什麼? ——這個問題直接對應 A01。合理的回答會包含「開發期間用的帳號在上線前已經停用」。
  2. 預設設定有哪些被改過?錯誤訊息會不會顯示系統細節? ——對應 A02。可以請對方示範一個出錯的頁面給你看。
  3. 裝了哪些外掛或第三方套件?各自最後更新是什麼時候? ——對應 A03。合理的回答會是一份清單,不是「就一些基本的」。
  4. 有沒有活動紀錄?異常登入會通知誰? ——對應 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自動化、系統開發、資訊安全。