Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20250924 零信任下的容器安全供應鏈:從隔離到信任
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Phil Huang
September 24, 2025
Technology
83
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20250924 零信任下的容器安全供應鏈:從隔離到信任
https://www.digitimes.com.tw/Seminar/DevDaysAsia2025/agenda.html?from=lin_devdays
Phil Huang
September 24, 2025
More Decks by Phil Huang
See All by Phil Huang
20251119 如果是勇者欣美爾的話, 他會怎麼做? 東海資工
pichuang
1
210
20250705 Headlamp: 專注可擴展性的 Kubernetes 用戶界面
pichuang
0
420
20250307 雲端原生:引領數位轉型與永續的雙贏之道
pichuang
0
110
20250116 When Windows Meets Kubernetes…
pichuang
0
620
20241217-Azure Red Hat OpenShift 於 Azure TaiwanNorth 上之雲原生異地備援架構設計
pichuang
0
160
20241112 Real AVS Migration Experience Sharing
pichuang
0
120
Active/Passive HA FortiGate Pair with External and Internal Azure Load Balancer
pichuang
0
590
20240814-採用 Azure VMware Solution 啟動你的 Azure 雲端服務
pichuang
0
170
20240612 如果是勇者欣美爾的話, 他會怎麼做?
pichuang
0
100
Other Decks in Technology
See All in Technology
やさしいA2A入門
minorun365
PRO
7
350
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.9k
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
190
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
3.1k
noUncheckedIndexedAccess、3時間、1万円。 / noUncheckedIndexedAccess, 3 Hours, 10,000 JPY.
kaonavi
1
330
Rubyで音を視る
ydah
1
110
いまさら聞けない人のためのAIコーディング入門
devops_vtj
0
130
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
270
Diagnosing performance problems without the guesswork
elenatanasoiu
0
170
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
120
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.2k
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
320
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
How to train your dragon (web standard)
notwaldorf
97
6.7k
Claude Code のすすめ
schroneko
67
230k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
A better future with KSS
kneath
240
18k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
The Cult of Friendly URLs
andyhume
79
6.9k
Design in an AI World
tapps
1
230
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Transcript
零信任下的容器安全供應鏈:從隔離到信任 Phil Huang <
[email protected]
> Sr. Cloud Solution Architect | CNCF
Ambassador 2025/09/24
None
Phil Huang 黃秉鈞 台灣微軟客戶成功事業群 Customer Success Unit, Microsoft Taiwan Sr.
Cloud Solution Architect, Microsoft Customer Success Unit Pace Setter CNCF Ambassador Cloud Native Taiwan User Group Member Azure AI Foundry FLUX.1-Kontext-pro 感謝 George Liang @ Microsoft 貢獻此圖 潛水員 Phil 風格
由 Black Forest Labs 開發的先進多模態 AI 模型 現已於 Azure AI
Foundry 平台上可使用 https://learn.microsoft.com/en-us/azure/ai-foundry/foundry-models/concepts/models-sold-directly-by-azure?tabs=global-standard-aoai%2Cstandard-chat-completions%2Cglobal-standard&pivots=azure-direct- others#black-forest-labs-models-sold-directly-by-azure
微軟安全容器供應鏈框架 Containers Secure Supply Chain (CSSC) Framework 符合 OCI 標準
容器映像檔 獲取 Acquire 安全地從外部來源 ,如 Microsoft Artifact Registry (MAR) 或第三方供 應商獲取容器映像 檔與相關產物 分類 Catalog 為內部開發團隊 提供一個經過審 核、管制的 “黃 金映像檔” 儲存 庫,作為唯一受 信任來源 建置 Build 導入 DevSecOps 產生符合規範、可 驗證且首信任的應 用程式容器映像檔 部署 Deploy 基於公司政策,確 保只有受信任且經 過驗證的映像檔能 夠被部署到正式的 運行環境中 運行 Run 持續監控運行環 境,保持其不受易 受攻擊和不合規的 套件影響,即時偵 測異常行為與回應 事件 真實性 和 完整性 確保任何從供應鏈中產生的交付物,如容器映 像檔,全程檢查其真實性與完整性 可視化 (o11y) 在供應鏈的每個階段產生認證或簽章;儲存並保 存這些資訊,以便後續稽核查詢和導入自動化 https://aka.ms/csscframework
1. 獲取 (Acquire) 階段 Docker Hub GHCR NVIDIA NGC Catalog
受控隔離的 Azure 私人容器 映像倉庫 從外部容器目錄獲得基本容器映像檔,已 建立最小可用品質標準. • 驗證來源,如比對 SHA256 雜湊值和上游供應商可否信任 • 掃描漏洞和惡意軟體,如採用 Microsoft Defender for Container • 生成軟體物料清單 (SBOM),如採用 microsoft/sbom-tool 最小可用 品質門檻 Catalog Stage 務必要注意獲取來源 Microsoft Artifact Registry (MAR) Red Hat Container Catalog 符合 OCI 標準規格 Azure Container Registry Microsoft Defender for Container
建立最小可用品質標準 Microsoft Artifact Registry • 選擇方針:當有資安事件時, 找得到負責廠商或供應者修復 的容器映像檔來源 • 獲取映像檔時,使用
:latest 沒 有過錯,但請一並連同當時的 Tag 一起拉下來,主要留紀錄 • 使用映像檔時,強烈建議不要 使用 :latest,你會分辨不出來 現在用哪一個 • 映像檔所產生的 SHA 256 是你 唯一可以相信兩者是一樣映像 檔的基礎 主要是 sha256 要一樣 https://mcr.microsoft.com/
了解當前安全態勢及嚴重性 (Severity) Microsoft Defender for Containers https://learn.microsoft.com/zh-tw/azure/defender-for-cloud/defender-for-containers-introduction • 基於 Azure
Container Registry 整體性持 續性掃描,不區分單一映像檔 • 了解當前採用風險 • 相依性混淆 (Dependency Confusion) • URL 劫持 (Typo squatting) • 即時發現內嵌惡意軟體 • 已知 CVE 漏洞 • 資安左移 (Shift Left Security): 越前面發 現,後面修補成本會較低
2. 分類 (Catalog) 階段 最小可用 品質門檻 為內部需求建立黃金樣板 “Golden Images” •
僅提供受信任且受支援的容器映像檔 • 持續掃描漏洞和惡意軟體 • 持續保持映像檔中的中繼資料最新狀態 Copa Trivy 可投入生 產門檻 受控隔離的 Azure 私人容器 映像倉庫 符合 OCI 標準規格 Microsoft Defender for Container Azure Container Registry
當容器映像檔有漏洞的時候該怎麼辦?
第一招:使用 Project Copacetic 直接修 • 由 Microsoft 支持且 2023/9 被
CNCF 收納為 Sandbox 專案等級 的開源計劃 • 主要提供“直接修補容器映像檔 漏洞” 的能力,大幅縮短緩解所 需的時間 • 採用 Buildkit,將所有必要的更新 套件打包層一個 Layer,並且疊加 在原始映像檔之上,並不會修改 任何現有的 Layer • 可搭配 GitHub Actions 或 ADO 等流程,讓流程自動化 • 並不是所有容器映像檔都適用 應對現代化容器映像檔需要直接且快速修復的迫切需求 https://blog.blackair.io/coldpatch-container-image-quick-and-efficient-container-image-patching-with-project-copacetic/
第二招:直接重建容器映像檔 應對無法快速修復的容器映像檔 https://blog.blackair.io/coldpatch-container-image-re-build-image-using-patched-dockerfile/ # 匯入需要修補的映像檔 FROM mcr.microsoft.com/azure-cognitive-services/form- recognizer/layout-3.1:latest # 1.
修補 APT SSL 失效問題 COPY 80ssl-exceptions /etc/apt/apt.conf.d/80ssl-exceptions # 2. 若採用的是 non-root 的話,安裝套件需要切成 root USER root # 3. 僅安裝能修補的資安問題套件,其他不更新 RUN apt-get update && \ apt-get -s dist-upgrade | grep "^Inst" | grep -i securi | awk -F " " '{print $2}' | xargs apt-get install -y && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # 4. 將使用者切換回去 USER www-data • 技術上可用且無明顯副作用,但最好的做法還是上游要更新比較妥當 • 並不是每一個漏洞都可以被修補,有些漏洞太難被利用或根本用不到,會被棄修,大家都一樣 • 並不是所有容器映像檔都適用 會增加不少容量和 Layer
3. 建置 (Build) 階段 可投入生 產門檻 以一致且安全的方式建置應用程 式容器映像檔. • 僅使用受信任的映像檔
• 編譯後需進行掃描漏洞和惡意軟體等動作 • 在建置期間或建置後修復已知漏洞 • 對映像檔或產生物件進行簽章 Github Action Azure DevOps CI/CD 容器映像 檔建置後 Microsoft Defender for Container
採用 Notary 進行數位簽章 • 2025/03/31 後 Docker Content Trust 已被棄
用,Microsoft 將改用基於 Notary 專案提供 簽名和驗證的簽名方式 • Notary 專案主要要確保 2 個關鍵事情 1. 真實性 (Authenticity):確認這個映像檔是誰 製作的,確保它來自可信的發布者 2. 完整性 (Integrity):保證軟體從發佈到部署的 過程中沒有被任何人篡改過 • 可簽名和驗證的範圍 • SBOM 和掃描報告 • 遵循 OCI 標準的產出物 為容器映像檔提供數位“公證”系統 https://www.linkedin.com/posts/steven-r2_azurekeyvault-aks-docker-activity-7116544290553532416-p6AB/
避免金鑰或憑證不小心包進去 • 推送保護 (Push Protection): 主要是在 Server 端執行的 pre-receive hook,當進
行 git commit 的時候,會對所有內容進 行大量比對已知的金鑰模式,若有發現有 金鑰在程式碼之內,則會拒絕 • 全面 Git Repo 掃描: 對整個完整 Git 歷史 中的所有文字檔進行掃描,而非單純只看 當前的紀錄 • 如果你真的很不巧推上去了,愛用 git- filter-repo 清理,而不是用 git push -- force GitHub Advanced Security (GHAS) / GitHub for Azure DevOps (GHAZDO)
這是一個很正常的 Dockerfile
None
4. 部署 (Deploy) 階段 容器映像 檔建置後 Deploy ACR Connected Registry
防止不合規的容器映像檔進入運行環境. • 持續掃描漏洞和惡意軟體 • 保持 Helm Chart 為最新的狀態 • 強制於 Kubernetes 上的 Admission Controller 執行部署 政策,如 Open Policy Agent (OPA) / Network Policies Helm Chart 部署 門檻 OPA Gatekeeper Ratify Azure Policy Microsoft Defender for Container
僅允許 Notation 簽核的容器映像檔部署到 Kubernetes • 把簽署 (Notation) 拉進 k8s 准入點驗證,
確保只有可信的容器映像檔可以跑 • 部署流程 1. 簽署:使用已用 Notation 驗證的容器映 像檔 2. 信任:設定信任原則與 CA 憑證,以表 達誰是可信任簽署者和驗證等級 3. 定義 Kubernetes Admission Controller: 使用 OPA Gatekeeper 和 Ratify,匯餵 入簽署者的公鑰及憑證 4. 決定策略:套用 Ratify 的 ConstraintTemplate 與 Constraint,強 制 “未通過簽章驗證即拒絕部署” 以 OPA Gatekeeper + Ratify 守住供應鏈最後一道關卡 https://hackmd.io/@Feynman/SkP_qiWvn https://www.openpolicyagent.org/
5. 運行 (Run) 階段 部署 門檻 Azure Kubernetes Service Azure
Arc-enabled Kubernetes 監控並保持運行環境的一致性與安全性. • 持續掃描漏洞和惡意軟體,如 Microsoft Cloud for Containers - Runtime • 監控異常活動 • 保持運行節點的整潔,如使用 Image Cleaner Kubernetes Microsoft Defender for Container
持續性進行生產環境弱掃和檢查 Microsoft Defender for Containers https://learn.microsoft.com/zh-tw/azure/defender-for-cloud/defender-for-containers- architecture?tabs=defender-for-container-arch-aks 功能 描述 機制
控制平面偵測 根據 Kubernetes 稽核日誌,偵測針 對 API Server 的可疑活動,例如異常 的權限提升或角色指派。 無代理程式分 析稽核日誌 工作負載偵測 監控容器化工作負載的執行階段行為, 偵測可疑的程序執行、網路連線或檔 案存取。 Defender 感 測器 (eBPF) 二進位檔案漂 移偵測 偵測在執行中容器內,由非原始映像 檔所包含的二進位檔案啟動的程序, 此為潛在入侵的強力指標。 Defender 感 測器 惡意軟體偵測 對 AKS 節點進行無代理程式掃描,以 偵測已知的惡意軟體。 無代理程式機 器掃描
座落在地端的 Kubernetes 也可以受到保護 Azure Arc-enabled Kubernetes 支援 HTTP Proxy 連線模式
總結 基於 CSSC 框架, 分階段處理供應鏈 議題,確保每個階 段的安全 1 供應鏈的不同階段需 要不同的工具和流程
,但大部分都大同小 異 2 全程採用容器映像 檔簽章的方式,可 以強化真實性和完 整性 3 盡可能地做到資安左 移,儘早發現,儘早 修補 4
加入社群,永續參與 Cloud Native Taiwan User Group (CNTUG)歡迎您的參與 目前有 8000 多位成員喔!
• Kubernetes 和 CNCF 已經 滿 10週歲了! • 我們在 DevDays Asia 2025 一樓有攤位和貼紙可以領取!
Thank you