CEH M02-08|足跡蒐集防護與證據紀錄:從「找到資訊」到「改善並驗收」
1|先記住這個結論
足跡蒐集的防護,是讓適合公開的資訊清楚可用、敏感資訊受到適當保護,並用完整紀錄追蹤每項改善。
想像一家合成的「青禾咖啡」整理店面:菜單與營業時間放在門口;員工排班、供應商帳號和備用鑰匙放在受控空間。每次調整都記下「發現什麼、誰負責、怎麼處理、如何確認」。網站與雲端服務也採用這個思路:先盤點外界能取得的資訊,再依用途安排公開、限制存取、更新與持續複查。
Footprinting(足跡蒐集)是整理組織、人員、網域、系統與服務留下的線索。Countermeasure(防護措施)是針對風險採取的管理或技術作法。Evidence Record(證據紀錄)則保存觀察來源、取得方式、時間與處理結果,讓其他人能沿著紀錄理解和複核。
前幾課分別認識搜尋引擎、DNS、郵件、網路與人員來源;今天把它們整合成一個完整工作流程:盤點 → 查核 → 分級 → 改善 → 驗收 → 複查。這是本課整理方式,六個步驟供實務理解使用。
2|先界定範圍,再建立公開資訊基準
正式開始前,先寫清楚目標資產、負責人、允許的方法、時間與資料保存位置。例如:「盤點已授權的青禾咖啡官網及官方社群,檢查公開文件與測試環境連結;實際服務測試由網站管理者在核定環境執行。」
Passive Reconnaissance(被動偵察)可從第三方搜尋結果與已取得資料著手;Active Reconnaissance(主動偵察)會直接與目標互動,例如對目標服務發出探測請求。兩者各自對應授權方法;直接開啟官網也會產生對該網站的連線紀錄。把實際方法寫下來,比只貼「被動」標籤更清楚。
Baseline(基準)是某個時間點已核實的正常狀態。例子是:「正式官網提供菜單、營業時間與客服信箱;管理入口限指定管道;測試資料只供測試人員使用。」之後看到新增子網域、過期聯絡人或外露測試文件,就有比較依據。
盤點可以從五個面向進行:
- 公開內容:網頁、照片、可下載文件、社群與徵才資訊。
- 名稱與聯絡:網域、DNS 紀錄、註冊聯絡方式、官方信箱。
- 技術入口:正式服務、管理介面、測試環境、停用服務。
- 身分與流程:對外窗口、敏感申請的核准及回覆管道。
- 外部副本:搜尋結果、第三方引用與歷史版本的可見狀態。
Attack Surface(攻擊面)包含系統可被接觸的入口、出口及相關資料。OWASP 建議先建立圖與紀錄,再隨系統變更更新盤點。OWASP 攻擊面分析
3|防護要對準目標:內容、索引、權限與服務分工
先問「希望改變什麼」,再選工具。
公開內容管理:對外文件使用公開版,發布前檢查照片背景、文件作者資訊、修訂內容、內部路徑與專案名稱。正式客服窗口採角色型信箱並保持更新,兼顧可聯絡性與個人資料保護。原始檔依內部保存規則保留,公開版另標版本。
搜尋索引管理:noindex 是交給支援此規則的搜尋引擎的索引指示。公開測試介紹頁可以正常開啟,同時設定 noindex 管理搜尋呈現。Google 需要爬取頁面才能讀到這項指示;robots.txt 用於規範爬取路徑,應和索引目標一起規劃。Google noindex 官方說明
資料存取管理:內部文件由 Authentication(身分驗證)確認使用者身分,再由 Authorization(授權)決定可讀取哪些文件、執行哪些操作。Least Privilege(最小權限)是只給完成任務需要的權限。每次請求都在適當的伺服器端檢查,直接下載檔案也納入同一套規則。OWASP 授權指引
服務與網域管理:保留業務需要的公開 DNS 紀錄;退役服務時一起檢查 DNS、雲端資源與資產清單。管理介面依核定網路與身分條件開放。DNS 區域傳送依授權的次要伺服器設定;軟體更新、關閉不必要服務、精簡對外錯誤訊息,各有明確負責人。
以上是不同層次的控制。例如版本資訊精簡,減少對外技術細節;修補則處理軟體弱點;存取控制決定誰能使用服務。組合時先保障必要業務,再用驗收確認預期效果。
公開內容、搜尋索引、資料權限與服務設定,各自對應保護目標。
圖中文字最大不超過內文;欄寬不足時整張圖等比縮小,可閱讀下方會換行的圖解文字,或開啟原圖放大。
- 讀圖重點
- 公開內容、搜尋索引、資料權限與服務設定,各自對應保護目標。
並列卡片比較不同類別;排列順序沒有流程意涵。
公開內容
保留菜單、營業時間與正式窗口
文件另製公開版,檢查中繼資料
搜尋呈現
公開頁的 noindex 管理索引
讓支援規則的爬蟲取得指示
資料存取
驗證身分,再檢查每項權限
頁面與直接檔案下載使用同一規則
服務管理
盤點入口、更新軟體、管理退役
依需求設定網路與管理介面
依資料用途組合控制,驗收各自的效果。
4|將發現分級:先處理影響大的、可立即降低風險的項目
Risk(風險)評估會一起考量發生可能性與影響。足跡盤點可先看四項:資料敏感度、實際可存取範圍、可被利用的方式、影響的業務。以下是教學案例的處理順序,實務依組織標準調整。
第一類,已確認公開的有效密鑰、憑證秘密或敏感資料。立即交由授權的事件應變窗口處理;依核定程序限制暴露、撤銷或輪替受影響秘密,並保全必要紀錄。秘密撤銷和內容移除一起追蹤,才涵蓋資料已被取得的情況。
第二類,過期系統、外露管理入口或可被用來編造釣魚情境的內部資訊。核對現況與業務需求,安排修補、權限調整或內容修訂,附負責人與期限。
第三類,正常業務公開資訊。保留正確內容、正式聯絡管道及更新日期,列入定期複查。
Confidence(可信程度)另外記錄。例如「已親自觀察」「管理者確認」「第三方聲稱,待核」。高影響但待核的線索,可優先查核並採取合理保護;記錄中持續保留目前證據狀態。嚴重程度回答影響多大,可信程度回答依據多充分。
5|證據紀錄:讓別人接手也看得懂
可以把每項發現想成一張有編號的維修單。以下是本課建議欄位:
- 識別與範圍:發現編號、資產、查核目的、授權範圍。
- 來源與取得:原始網址或檔案位置、發布者、取得人、工具或方式、觀察時的登入角色。
- 時間:來源標示的發布或事件時間、實際取得時間、時區。
- 證據:最小必要的原始節錄或檔案、受控保存位置、檔案雜湊值。
- 判讀:直接觀察、分析推論、可信程度、待補問題。
- 處理與驗收:風險、負責人、期限、變更紀錄、複測方法與結果。
例如 `2026-11-01T18:20:00+08:00` 表示台灣時間 11 月 1 日 18:20,對應 UTC 10:20。保留原始時間與時區,再加統一換算欄位;來源沒有提供時間時,就記「來源時間未提供」。
觀察、推論、行動分三欄會特別清楚:
觀察:「18:20,以未登入瀏覽器開啟核定測試頁,畫面顯示合成員工名單。」
推論:「此頁的公開存取設定,與『僅供內部測試』的資料用途有落差。」
行動:「請網站負責人調整權限,以未登入、一般員工、核准測試人員三種角色複測。」
NIST SP 800-86 提供把數位鑑識技術納入事件應變的框架,可作為蒐集、檢視、分析與報告的延伸閱讀。NIST SP 800-86
由直接觀察形成可檢驗推論,再指定經授權的處理與驗收。
圖中文字最大不超過內文;欄寬不足時整張圖等比縮小,可閱讀下方會換行的圖解文字,或開啟原圖放大。
- 讀圖重點
- 由直接觀察形成可檢驗推論,再指定經授權的處理與驗收。
箭頭表示教學步驟順序;各步依其條件執行。
觀察 Observation
未登入時,測試頁顯示合成名單
記錄時間、來源、角色與取得方法
推論 Inference
公開存取與內部測試用途有落差
列目前可信程度與待核事項
行動 Action
由網站負責人修正伺服器端授權
另定負責人、期限與驗收方法
複核 Review
三種角色與直接下載路徑重測
以實際結果更新發現狀態
情境與角色均為合成教學資料。
6|原始資料、雜湊值與保管鏈怎麼搭配?
Original Evidence(原始證據資料)是取得時保留的內容;Working Copy(工作副本)用於註記、分析與遮罩。假設保存了一張頁面截圖,原檔放在受控位置;要標紅框或遮掉個資時,另做工作副本,並記下處理方式。
Hash(雜湊)把一段資料計算成固定長度的摘要;SHA-256 是常見演算法。對同一份檔案重新計算相同演算法,結果一致可用來核對檔案位元組的一致性。來源身分、取得時間與內容脈絡則由取得紀錄及交叉查核支撐。這些資料合在一起,形成可追溯的證據包。
Chain of Custody(證據保管鏈)記錄由誰在何時取得、保管、交付或處理資料,以及目的與位置。例如:「取得人存入受控資料夾 → 分析人讀取工作副本 → 審查人確認摘要」,每步都有時間與操作紀錄。RFC 3227 說明證據蒐集、保存、隱私與保管鏈的重要性。RFC 3227:證據蒐集與保存
以下是完全離線的 Python 練習,只對合成文字計算 SHA-256:
import hashlib
data = b"abc"
print(hashlib.sha256(data).hexdigest()) 預期輸出:
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad 這個例子剛好是三個位元組 `abc`。在字尾加入換行,就成為另一份位元組資料,摘要也會改變。因此真正保存檔案時,要對保存下來的實際檔案計算,保留演算法名稱與完整結果。
資料保存採最小必要原則;公開報告使用遮罩版,原始敏感內容依授權保管。保存期限、可存取角色與刪除規則,依組織程序設定。若涉及正式事件或司法用途,再由相應專業流程接手。
原始檔受控保存;工作副本用於分析與遮罩;取得、交付與操作另留紀錄。
圖中文字最大不超過內文;欄寬不足時整張圖等比縮小,可閱讀下方會換行的圖解文字,或開啟原圖放大。
- 讀圖重點
- 原始檔受控保存;工作副本用於分析與遮罩;取得、交付與操作另留紀錄。
箭頭表示教學步驟順序;各步依其條件執行。
取得與識別
發現編號、來源、取得人、時間與時區
記錄授權範圍及取得方式
保存原始資料
受控位置、原始檔案、SHA-256
摘要用於核對位元組一致性
建立工作副本
另存分析與遮罩版
保留副本與原檔的關聯及處理方式
追蹤保管與使用
誰、何時、做什麼、目的與位置
依程序管理權限、期限與交付
公開報告用遮罩版;原始資料依授權保存。
7|完整案例:一項發現如何走到結案?
以下都是合成情境,沒有對任何第三方服務操作。
青禾咖啡的測試頁 `https://portal.example/test/` 原本供三位測試人員使用。授權盤點發現,未登入者可讀取合成員工名單;頁面已設 noindex。負責人確認頁面用途是內部測試。
發現紀錄 F-008:保存網址、取得時間、未登入角色、最小必要截圖、原始檔案位置及 SHA-256。觀察寫實際看到的資料;風險寫測試內容的存取範圍與預期使用者有落差。
改善安排:網站負責人將頁面及下載檔納入伺服器端授權檢查,確認只有核准測試群組可存取;公開說明頁是否保留則由業務負責人決定。原測試資料依保存程序處理。
驗收條件:未登入者收到登入要求或拒絕回應;一般員工受到權限限制;核准測試人員可正常使用;直接檔案網址也遵守同樣授權規則。把三種角色、測試時間、實際結果和變更版本記下來。
結案與追蹤:管理者完成設定後,查核人依原問題複測;條件均符合,才把 F-008 改成「已驗收」。若搜尋結果或其他副本仍需要更新,另外保留追蹤項目與負責人,讓權限改善與外部呈現各自有完成依據。
可以用四種狀態管理:待查核、已確認待處理、已改善待驗收、已驗收。狀態描述的是工作進度;每次變動都有依據,之後發現新問題就重新開啟處理。
F-008 由待查核到已驗收,保留變更、角色測試與實際結果。
圖中文字最大不超過內文;欄寬不足時整張圖等比縮小,可閱讀下方會換行的圖解文字,或開啟原圖放大。
- 讀圖重點
- F-008 由待查核到已驗收,保留變更、角色測試與實際結果。
箭頭表示教學步驟順序;各步依其條件執行。
待查核
確認來源、現況與授權
把第三方聲稱列為待核線索
已確認待處理
記錄用途落差、風險、負責人與期限
安排權限及直接下載路徑的改善
已改善待驗收
未登入|一般員工|核准測試人員
以原問題與同樣路徑複測
已驗收
保存時間、版本與每項實際結果
外部副本與後續複查另行追蹤
每次狀態改變都有紀錄;新問題重新開啟。
8|防護也需要日誌與複查
Log(日誌)是系統按時間記錄的事件。對本課案例,登入結果、授權拒絕、管理設定變更與檔案存取紀錄,可協助了解改善前後的運作。將事件時間、來源、對象、動作及結果整理一致,才能做關聯查核。
日誌本身也需要權限、完整性與保存管理;紀錄內容依目的取捨,密碼、完整存取權杖與不必要的敏感資料採排除或適當遮罩。OWASP 的日誌指引涵蓋事件選擇、敏感資料處理、測試與保護。OWASP Logging Cheat Sheet
複查可在網站改版、新增供應商、服務退役、員工窗口異動後進行,並安排例行檢查。重點是對照基準,找出「新增了什麼、誰負責、公開用途是否仍合適」。
本課把 M02 的各種來源接回同一張改善清單:搜尋與文件 → 內容及權限;DNS 與網域 → 生命週期及管理責任;郵件 → 授權政策及獨立查證;網路 → 服務暴露與存取範圍;社群與外洩線索 → 發布規範及事件查核。這張清單讓技術資訊轉成可執行的防護工作。
9|離線練習、小檢核與本章收束
練習:用第 7 節案例寫一張 F-008 紀錄,至少包含時間、來源、直接觀察、改善、負責角色與驗收條件。再把一份合成檔案的原始版和遮罩版分開命名,各自計算摘要,觀察兩份紀錄如何連結。
小檢核一:內部測試名單目前公開可讀,已設定 noindex。要讓核准測試人員使用,最直接的措施是什麼?A.把網址加長;B.伺服器端身分驗證與授權;C.增加搜尋關鍵字;D.只改頁面標題。
小檢核二:保存檔案的 SHA-256 和當初紀錄相同,這項比對主要回答什麼問題?A.檔案位元組與當初摘要是否一致;B.作者的真實身分;C.來源發布日期;D.觀察者是否已完成改善。
小檢核三:「網站人員已改好設定」之後,請寫出兩項你會做的驗收檢查,以及一項會保存的結果紀錄。
小檢核四:第三方聲稱某舊測試站仍公開資料。請各寫一句「目前已知」「待核事項」「下一步」,並說明查核前要先確認什麼授權範圍。
參考解答已另行整理;網站發布核實後提供解答連結。實際作答及理解狀態依你的回覆記錄。
今天帶走一句話:每項發現都有來源,每項改善都有負責人,每次結案都有驗收。
M02 在這裡完成足跡蒐集、防護與紀錄的串連;接下來依路線進入 M03-01:IP、TCP、UDP、Port 與 Service,先把網路掃描需要的基礎拼圖建立起來。
參考解答:小檢核一
答案:B。把身分驗證及逐次授權放在伺服器端,讓核准測試群組使用名單與下載檔。noindex處理搜尋索引,存取規則處理誰能讀取;驗收同時測未登入、一般員工與核准測試人員。
參考解答:小檢核二
答案:A。SHA-256比對用於核對檔案位元組與原先摘要的一致性。來源、作者、時間與取得脈絡由其他紀錄支撐;實務保留原始檔、演算法、完整摘要及取得紀錄。
參考解答:小檢核三
參考答案:以未登入狀態確認名單及直接下載網址受到限制;再用核准測試帳號確認正常功能。也可加入已登入但未授權的一般員工測試。保存測試角色、日期時區、網址、版本、實際回應與最小必要截圖。依原本驗收條件逐項核對後,才記已驗收。
參考解答:小檢核四
參考答案:目前已知是第三方在某時間提出舊測試站公開資料的聲稱,先保存其來源與上下文。待核是站點歸屬、目前暴露情形、資料分類及既有處置。下一步向資產負責人確認,再依核定方法查核。先確認目標範圍、允許的連線或資料取得方式、時段、負責人與保存規則;初步狀態記待查核。
概念 Q&A
待補:收到相關問題後,會整理為匿名教學版。