這幾年自己一直都有在碰 Container Security 相關的東西,不管是 Docker、Container Image Security、Dockerfile Hardening、Runtime Security,或是軟體供應鏈安全相關的議題,都算是我滿常研究、分享和教學的主題,也在 2025 年有順利申請當上了台灣首位的 Docker Captain。
這次是想多學習與挑戰容器安全,選擇了 Practical DevSecOps 的 Certified Container Security Expert (CCSE) 認證,一方面是因為我自己想多挑戰一點實作型的考試,另一方面也是因為我自己其實滿常把自己定位成「容器安全」相關的技術顧問或講師。既然如此,就多上一些課、多考一些相關認證,也算是合理吧。簡單來說,就是自己挖坑給自己跳。
最後一個原因是,我到現在仍然認為容器是目前與未來都非常重要的技術。只是這幾年大家好像比較少特別大聲講「容器很重要」,不是因為容器不重要了,而是因為容器早就已經融入日常開發、部署、DevOps、雲原生環境裡面。它已經變成很多系統的基本背景設定。
只是現在 AI 話題太熱,其他技術都被擠到旁邊當配角了。XD
這篇文章會分享我準備 CCSE 課程與考試的心得。由於我之前也考過同樣 Practical DevSecOps 的 Certified DevSecOps Professional,也就是 CDP,如果你對 CDP 有興趣,也可以先看我之前寫的這篇心得文:
全文大概會分成以下幾個部分:
- CCSE 認證介紹
- CCSE 課程與 Lab 心得
- 我的準備時間
- CCSE 考試規則
- 我的考試過程
- 考試準備建議
- 結論
Certified Container Security Expert (CCSE) 認證介紹
Certified Container Security Expert,簡稱 CCSE,是 Practical DevSecOps 推出的 Container Security 實作型課程與認證。
這門課的主軸非常明確,就是容器安全。內容會從容器基礎開始,接著進入容器環境偵察、容器攻擊、容器與容器化應用程式防禦,最後也包含容器安全監控相關內容。
根據官方課綱,CCSE 課程目前主要分成 5 個章節:
- Chapter 1: Introduction to Containers
- Chapter 2: Container Reconnaissance
- Chapter 3: Attacking Containers and Containerized Apps
- Chapter 4: Defending Containers and Containerized Apps at Scale
- Chapter 5: Security Monitoring of Containers
第一章會從非常基礎的容器概念開始,例如 container 是什麼、container 與 virtualization 的差異、namespace、cgroup、capabilities、Docker architecture、Dockerfile、image layer、registry、Docker Compose、Docker Swarm、Kubernetes、Podman、CRI-O 等等,這部分其實很多基礎的重要觀念,。
第二章則是 Container Reconnaissance,會開始談容器生態系的攻擊面分析,例如 Docker image、Dockerfile、environment variables、volume、network、port forwarding、registry,以及如何使用 Docker 內建工具或第三方工具進行分析。
第三章是 Attacking Containers and Containerized Apps,內容就比較偏攻擊面,包含 malicious image、從 image 或容器中找出密碼、token、TLS certificate,攻擊 insecure registry、abuse privileged container、mounted Docker volume、SetUID/SetGID、shared namespace、Linux capabilities、unauthenticated Docker API 等等。第三章內容是我覺得有點小可惜的地方,我有點期待有更多的攻擊內容與 Lab,不確定會不會持續新增。
第四章應該是官方定為整門課最重要部分,因為內容最多,所以也會是最花時間的一章:Defending Containers and Containerized Apps at Scale。它會涵蓋 secure container image、base image 選擇、distroless、scratch image、Dockerfile linting、container image vulnerability scanning、Docker Daemon security、user remapping、Docker socket、seccomp、AppArmor、network segregation、content trust、image signing、registry security、Harbor、Dockle、Trivy、Hadolint 等等。從不同層面的防禦都有講解,也是包含了許多觀念與工具,這邊 Lab 熟悉後,是可以帶回實際場域來去應用的。
第五章則是 Security Monitoring of Containers,會談 Docker events、logs、container incident response、runtime prevention,以及使用 AuditD、Falco、Tracee、Wazuh 做容器安全監控。
大致上來說,這門課包含了基礎、攻擊與防禦(我自己是把監控當成防禦的一部份)三個方向。但如果要我自己感覺,防禦的內容明顯比攻擊更多,而且也更接近這門認證真正想測試的重點。
CCSE 課程與 Lab 心得
這門課會從很簡單的內容開始教起,包含很多 Docker 操作的基本觀念與指令。所以如果你是完全沒有碰過 Docker 的新手,前面的內容其實滿友善的。(甚至說Lab前面會有強制教學Linux基礎操作)
例如 Docker command、Docker networking、volume、Dockerfile、image build、container registry 等等,都會有手把手的 Lab 讓你跟著做。如果你是開發人員或 DevOps 的話,相信對這些一定很熟悉了;但諷刺的是這是一門容器安全課程,會報名的應該多數是資安人員,但台灣就我的經驗,大部分資安工程師都是對這些”操作”很不熟悉XD
但如果你本來就熟悉 Docker,那第一章其實可以快速完成。前面那些內容對熟悉容器的人來說,應該不會太困難。不過這邊有一個小小的重點:你沒有辦法因為自己會了就直接跳過。
這也是我覺得 Practical DevSecOps 課程設計上很有趣,但也有點雙面刃的地方。
它的 Lab 通常會要求你一步一步完成,而且系統會卡控你的進度。也就是說,你不能只靠「我知道這個東西」就跳過不做。你還是得真的把它完成,不然這題你就是沒辦法顯示為”已完成”。
這種設計對新手很好,因為它可以確保你真的有照著流程做過一次。但對已經熟悉的人來說,有時候就會覺得:「這我會啊,可以讓我跳過嗎?」答案是不行。你還是乖乖做。
但整體來說,我覺得 Lab 設計是真的滿好的。它是瀏覽器上的線上 Lab,不需要自己架環境,也不用在自己的電腦上弄一堆奇怪設定。指令基本上可以直接複製貼上,Lab 本身速度也算穩定,我操作過程中沒有遇到什麼嚴重 lag。(我是真的覺得他們的Lab超讚的,也是我再次選擇 Practical DevSecOps 的原因😆)
很多 Lab 最後會有一些任務要你完成,完成後可以按下類似 Check your task 的按鈕,確認你是不是真的有完成。這點我覺得滿重要的,因為它不是單純看完影片或做選擇題,而是真的要求你在環境裡面操作。
當然,它也不會難到完全不給提示。很多任務旁邊會有 hint,甚至有時候教學內容裡其實已經有完成任務需要的指令。只要你願意讀內容、照著做,基本上不需要太擔心前面的 Lab 太困難。
然後它有一點也是滿貼心。因為它可能也知道有些人會一路複製貼上指令,所以教材裡會安排一些小小陷阱XDDD。嚴格來說也不算陷阱,就是如果你完全不知道自己在幹嘛,或是沒專心看目前在哪個 shell、在哪個 container、在哪台 host,完全是無腦一直複製貼上的話,你就會卡住。
例如你明明還在 container 裡面,結果開始輸入 host 上才有的指令,然後出現 bash: command not found。教材其實就會提醒你,這種情況通常是你沒有退出 container,記得先輸入 exit。
當然除了 Lab,它的課程還是有影片,然後 Lab 的內容其實本身就算是已經有具備一大堆說明的教材了。
課程準備時間
我這次大概是利用下班時間和假日準備,總共花了差不多 7-8 天。
大概每天花 3 到 4 個小時左右,幾乎可以算是一天完成一個章節。最後一天做模擬考和總複習。不過第四章 Defending Containers 的內容真的比較多,我覺得至少需要兩天,甚至如果你是第一次接觸 seccomp、AppArmor、image signing 這些東西,可能需要更多時間。內容的 Optiop 有 CI/CD 相關的內容也建議要練習,我自己是有經驗了,所以也不會花太多時間。如果你是第一次碰到 CI/CD,可能真的會花費很多時間。
不過老實承認,我一開始其實有點太大意了。
因為我自己平常就滿熟悉容器與容器安全,也開過容器安全相關課程,所以剛開始準備的時候,其實心態上有點放鬆。想說這些東西我大多看過、教過、實作過,應該不會太難。
我的心情就跟五條悟一樣,想說『會贏唷』。結果後來考試的時候就知道了,小丑竟是我自己。
如果重來一次,我覺得我會在 Lab 上花更多時間,尤其不是只把任務做完,而是要把每個操作背後的指令、設定檔的參數與變化、輸出結果的解讀和處置,都會更好好認真練習並整理好。
我非常建議大家在看課程和練習 Lab 的時候,務必要做筆記。尤其是 Lab 操作步驟與指令。
這點超級重要!官方也有提醒,考試期間,你是不能訪問課程 Lab 的。也就是說,你不能考試時回去打開原本的 Lab,照著教材指令做。但你可以看自己的筆記,也可以查網路資料,就只有課程 Lab 在考試期間不能使用。
所以你的筆記就是你的武器。沒有筆記,考試時就會很痛苦。
我自己的建議是,Mandatory 和 Optional Lab 都盡量完成。不要只做 Mandatory。Optional 裡面其實也有很多可以幫你加深理解的東西,而且考試雖然說是來自課程內容,但它不會只是把 Lab 原封不動搬出來考。你需要真的理解那些操作在做什麼。
CCSE 考試規則
CCSE 是上機實作考試,形式有點像大家聽過的 OSCP,或是我之前考過同單位的 CDP 認證。它不是選擇題,也不是背題庫,而是真的給你一個 Lab 環境,然後要求你完成任務。(實作考試真的是很扎實啊,『努力過的人都是戰士。』)

CCSE 的考試是線上實機考試,在家考試就可以了,會發送 Exam 連結給你。考試總共有 5 個 challenges,考試時間是 6 小時。考完之後,會有約 24 小時的時間撰寫並提交考試報告。通過標準是 80 points,也就是 80%。
官方也明確寫到,考試限制不能使用 Chat Bots,例如 ChatGPT、Bard 等等。這點我覺得非常重要,也讓這門考試的含金量更高。也變得非常困難與累人 😫
Practical DevSecOps 系列的認證好像都有規範,考試明確禁止使用 AI。官方也有說明,若被判定使用 AI,可能會直接 fail,而且不會解釋原因。所以請大家務必要注意,不要拿自己的考試資格開玩笑。
另外,這門考試只能預約週六或週日。我記得官方說法好像是擔心學生翹課之類🤣,所以考試只能排週末。這點跟一般可以平日安排考試的認證有點不同。
考試通過後,官方會在 72 小時內通知結果(只會通知有沒有通過,不會知道分數)。這點跟我這次經驗也差不多,我是在 72 小時內收到通過通知。
這邊也提醒一下,課程註冊後仍然會有 Lab 存取時間,考完你想要複習或繼續練習都是可以的。我自己這次的方案是 60 天 Lab 存取時間,但官方方案可能會調整,所以後續報名前還是建議大家以官方最新資訊為準。
刺激的考試心得:小丑竟是我自己
我的考試是預約週六早上九點。
預約之後我才發現,當天下午剛好有一場資安讀書會。當時我本來還信心滿滿,想說自己可是容器專家,應該可以提前考完,下午去參加讀書會,回來再寫報告。現在回想起來,真的太天真。
考試當天早上吃完早餐,我打開考試連結,看到題目的時候其實就有點嚇到。
第一個感覺是:「嗯?怎麼感覺有點難?」

你要說它超出範圍嗎?也沒有。的確都在課程範圍內,也都是容器安全該懂的東西。但它不是那種照著 Lab 複製貼上就會過的題目。它會要求你真的理解技術、理解場景,然後把不同知識組合起來。
接著我開始作答後,內心就更明確了:靠北,也太難了吧。壓力山大。😰😰😰
我前面大概花了半小時以上,甚至還沒真正開始動手。我先把五題全部看過一次,整理每一題可能的解題思路、方法、需要用到的指令,以及我筆記裡哪些地方可以參考。
這個動作我覺得很重要。因為 6 小時其實很短,如果你完全邊做邊想,很容易做到後面才發現前面方向錯了,或是某一題卡太久,導致後面沒時間。所以先在開頭做一個全面的盤點跟檢視,是我的策略,也是我推薦的策略。
話-雖-如-此,即使先整理過,我第一題解完大概也花了 3 個小時XDDDD。
時間直接過了一半。我的心也涼了一半。腦害瞬間冒出,該不會我要再考一次了吧QQ。
後面時間我幾乎是進入一種全神貫注的狀態。除了喝水和上廁所之外,眼神完全沒有離開螢幕,手指沒有停止過敲擊鍵盤,就是一直看題目、查筆記、想方法、敲指令、修錯誤、截圖、整理證據。盡可能做到最快、最好、最完整。
實作考試有考過的人應該都知道,這類考試最重要的不是只有「做出來」,而是你要能證明你做出來。
指令、說明、截圖,三者缺一不可。
尤其是截圖。
如果報告裡沒有正確截圖,就算你的指令再正確、說明再漂亮,評審也不一定能確認你真的完成。少了截圖,基本上就是白搭,你這個分數就是拿不到。
我這次真的是一路戰鬥到最後一分一秒。不是誇張,真的是字面上的意思。
在 Lab 畫面倒數計時剩下最後 3 秒的時候,我按下 Enter,把最後一個指令送出去。看到畫面 output 出現,下一秒時間到,Lab 斷線。那個瞬間真的超級緊張。(Lab斷線,但那個畫面會保留,我還可以把最後的結果截圖下來。不然我應該會更崩潰XD。)
直到最後考試結束,我是五個 challenge 我都有解完,但其實心裡還是很忐忑。因為這種考試不像拿 flag 那麼明確,也不是選擇題,所以你不會知道你對不對,有沒有正確。它比較像是你完成一個任務,然後要用報告證明你做得夠完整、夠正確。
我自己雖然覺得五題都有完成,但有幾題其實還是有一些小瑕疵。所以考完之後,我完全不敢大意,開始非常認真寫報告。這個部分… 本來我也以為報告應該可以輕鬆搞定。結果也沒有XD。
報告大概又花了我 5 個小時左右。因為要整理每一題的目標、操作步驟、設定檔內容、輸出結果、截圖,以及必要的說明跟解釋。尤其你要讓評審可以很清楚知道你做了什麼,不是只貼一堆指令和截圖就好。
最後我上傳一份自認很精彩的報告後,等了大概 72 小時內收到通過結果。超級開心,鬆了一口氣。
那種感覺真的有點像打完一場硬仗。不是單純拿到一張證書,而是覺得自己真的有被考到,也真的有努力完成。
對於這門課與考試的看法
我覺得 CCSE 是一門相當扎實的容器安全課程。
它的內容涵蓋非常多容器安全面向,從基礎操作、攻擊面理解、容器攻擊,到 image hardening、Dockerfile security、scanner、CIS benchmark、seccomp、AppArmor、image signing、registry security、runtime monitoring 等等。
直接說明白,課程的設計規劃與考試,它就是一門我推薦的課程與認證(當然我也同樣推薦CDP)
從另一個角度來看,它不只是讓你學容器安全而已。如果你真的完整做完 Lab,尤其是 Mandatory 和 Optional 都完成,你會累積一種很重要的能力:看到一個技術場景時,知道怎麼拆解問題、怎麼查指令、怎麼修錯、怎麼驗證、怎麼留下證據。這種能力其實不只適用在容器安全,在任何技術領域都很重要。
跟我之前考過的 CDP 相比,我覺得 CCSE 沒有 CDP 那麼龐大、複雜。CDP 會牽涉到比較多 DevSecOps、CI/CD、SCA、SAST、DAST、IaC、Compliance as Code 等不同平台與元件,所以整體範圍比較散、比較大。
CCSE 則相對聚焦在 Container Security,所以技術範圍比較集中。但這不代表它簡單。它只是「比較單純一點」,不是「比較簡單」。尤其考試真的有挑戰性。如果你只是把 Lab 複製貼上做完,但沒有理解,考試時很可能會爆炸。
我自己就是一開始太有自信,覺得這些東西我都熟。結果考試時還是被教育了一波。
考試準備建議與提醒
如果你打算考 CCSE,這邊再整理幾個建議提醒。
- 第一,請一定要做筆記。
而且不是只記「這個 Lab 做完了」,而是要熟悉 Lab 內容,可以問問自己,如果有變化的話你可以完成嗎? - 第二,Mandatory 和 Optional Lab 都建議完成。
Mandatory 只是最基本盤,但 Optional 可以幫你理解更多變化。考試不會完全照 Lab 原樣出現,所以你需要的是理解,而不是背操作。 - 第三,請不要太低估考試報告。
這門考試沒有提交 flag,也沒有選擇題,所有評分都高度依賴你的報告。你的報告要讓評審看得懂你做了什麼、為什麼這樣做、結果是什麼、證據在哪裡。指令、說明、截圖,缺一不可。 - 第四,考試時先看完所有題目,再分配時間。
我自己第一題花了 3 小時,後面壓力超大,其實這算是有點小失誤。如果一開始沒有先看過全部題目,可能會更慘。建議一開始先快速盤點每題難度,先整理思路,再開始動手。 - 最後,如同我過往所說:實際上你需要花多久時間完成課程、你準備好考試了嗎,這些問題其實在你練習 Lab 的時候心裡就會有底。如果你做 Lab 時常常不知道自己在幹嘛,只是複製貼上,那就先不要急著考。如果你做 Lab 時可以理解每個步驟,甚至可以自己改指令、修錯誤、做驗證,那你就比較接近準備好了。
結論
不免俗最後還是總結一下。整體來說,我肯定是推薦這門 CCSE 課程與認證的。
它的內容詳細、多元,而且有大量 Lab 可以實作。考試也真的很值得挑戰,不是那種看影片、背題目、點選擇題就能通過的認證。它會逼你真的動手,真的理解,真的留下證據,真的寫出報告。
如果你想學容器安全,或是想證明自己不只是知道 Docker,而是真的懂 Container Security,好好考慮這門課程。
當然,我自己在開始這門課之前,就已經對容器安全有一定熟悉程度與實務經驗,也曾經做過相關分享與教學。所以如果你是完全新手,可能需要抓更多準備時間,不要拿我的準備天數直接當標準。
我這次差不多花 8 天準備,但這是建立在我本來就熟悉 Docker 與容器安全的前提下。一般來說,如果你只有基礎 Docker 經驗,我會建議至少給自己幾週時間,好好把 Lab 做完、筆記整理好,再去預約考試。
最後身為技術人,也想告訴大家:實作考試不會騙人。
你有沒有真的懂,考試環境一打開就知道了,認證拿到了就是證明了你的真材實料。
這次 CCSE 對我來說,算是一次很硬、很刺激,也滿有成就感的考試。通過之後真的滿開心,也覺得這張認證是有重量的。(當然並不是說它會像OSCP、OSEP這樣困難,只是提醒大家不要因為”只是容器”,還有六小時的考試時間,就跟我一樣太過輕敵了XD)
最後曬一下 Certified Container Security Expert (CCSE) 認證:

補充
前面有提到,我自己在參加 CCSE 課程與考試之前,已經對容器安全有一定熟悉程度與實務經驗。這幾年我也陸續寫過或分享過一些 Docker、Container Security、Docker Scout、Container Image Security 相關內容。
如果你對容器安全有興趣,也可以參考我的內容:
致Dev 與Ops 的容器安全小提醒
從 docker pull 到 docker ai:一張重新認識 Docker 的地圖
從 Docker Scout 到 Trivy、Grype:常見容器映像檔掃描工具操作與比較
Docker 新功能”Ask Gordon”:讓 AI 來幫你除錯與修復容器問題
完整解說:Docker Model Runner (DMR) 入門教學
Docker Desktop 入門介紹 | Docker Desktop on Windows
