
Hari 59: Panduan Persiapan Ujian CDP DevSecOps
Strategi alokasi waktu, checklist skill, cheatsheet sintaks, dan 15 best practices untuk lulus simulasi ujian Certified DevSecOps Professional.
Hari ke-59 dari challenge 60 Days DevSecOps. Kemarin saya merombak CI/CD menjadi pipeline otomatis. Hari ini saya menyusun panduan persiapan ujian Certified DevSecOps Professional (CDP) — bukan hanya daftar materi, tapi strategi lengkap yang bisa dipakai saat simulasi 3 jam.
Apa Itu Ujian CDP?
Simulasi CDP menguji kemampuan membangun pipeline DevSecOps dari nol. Dalam 3 jam, saya harus:
- Menulis
.github/workflows/ci.ymldari nol - Menambahkan Secret Scan (Gitleaks)
- Menambahkan SCA (Trivy)
- Menambahkan SAST (Semgrep)
- Membuat Dockerfile multi-stage
- Menulis manifest Kubernetes yang aman
Aturannya: boleh buka Google dan dokumentasi resmi, tapi dilarang menyalin dari branch main repositori sendiri. Ini murni menguji ingatan dan pemahaman.
Strategi Alokasi Waktu
Pembagian 180 menit yang saya catat:
| Blok | Durasi | Isi |
|---|---|---|
| Perencanaan | 15 menit | petakan file & urutan pengerjaan |
| CI + build/test | 45 menit | workflow, build Go, test |
| Secret + SCA | 25 menit | Gitleaks, Trivy |
| SAST | 20 menit | Semgrep |
| Dockerfile | 25 menit | multi-stage, non-root |
| K8s manifests | 30 menit | Deployment + Service aman |
| Verifikasi & buffer | 20 menit | test run, perbaiki error |
Prinsip utamanya: jangan optimalkan dulu. Buat versi yang bekerja, pastikan hijau, baru polish.
15 Best Practices yang Dijadikan Tindakan
Saya mengintegrasikan 15 DevSecOps Best Practices dari Practical DevSecOps ke dalam strategi ujian. Contoh pemetaannya:
- Shift Left → letakkan scan sejak commit pertama, bukan di akhir
- Policy as Code → branch protection + required status checks sebagai kebijakan yang bisa diverifikasi
- Immutable Infrastructure → image di-build sekali dan di-tag, jangan mutasi container saat runtime
- Security Observability → semua report di-upload sebagai artifacts supaya bisa diaudit
Best practices tidak cukup jadi daftar. Harus dipetakan ke tindakan konkret di pipeline.
Cheatsheet yang Bisa Dihafal
Salah satu bagian terpenting panduan saya adalah cheatsheet sintaks dengan komentar bahasa Inggris. Contoh intinya:
# GitHub Actions skeleton
on:
push:
branches: [main, develop, staging]
pull_request:
branches: [main, develop, staging]
# Dockerfile multi-stage hardened
FROM golang:1.26.6-alpine AS builder
RUN CGO_ENABLED=0 GOOS=linux go build -o app .
FROM gcr.io/distroless/static-debian12:nonroot
COPY --from=builder /app/app /usr/local/bin/app
USER 65532:65532
# Kubernetes SecurityContext minimal
securityContext:
runAsNonRoot: true
runAsUser: 65532
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
readOnlyRootFilesystem: true
Jebakan yang Sering Muncul
Dari 60 hari membangun SecureBank API, saya mencatat jebakan paling umum:
kubectl apply --dry-runbutuh cluster. Di runner GitHub tidak ada Kubernetes API server, jadi gagal. Solusinya:kubeconform -strict.- Gitleaks tidak melihat history. Butuh
fetch-depth: 0agar seluruh commit ter-scan. - CVE di Go stdlib. Selalu pin versi patch seperti
golang:1.26.6-alpine. commonLabelsdeprecated di Kustomize. Gunakan formatlabels.- Artifact path tidak konsisten. Nama file report harus sama antara job scan dan upload.
Checklist Sebelum Ujian
- Laptop dan environment stabil
- GitHub token siap
- Stopwatch 3 jam
- Aturan dicatat: boleh Google, dilarang salin dari main
- Buffer 20 menit untuk verifikasi
Kesimpulan
Pelajaran hari ini:
- Persiapan ujian = strategi waktu + checklist skill + cheatsheet + daftar jebakan.
- Best practices harus dipetakan ke tindakan konkret, bukan cuma dihafal.
- Jebakan teknis lebih berharga dicatat daripada dihafal ulang saat ujian.
- Bangun versi bekerja dulu, baru polish — jangan optimalkan di menit pertama.
Panduan lengkapnya ada di repo: chalange-devsecops → docs/cdp-exam-guide.md.
Besok: project showcase — diagram arsitektur end-to-end dan publikasi hasil 60 hari.
Diskusi & Komentar
Hari 58: CI/CD Otomatis untuk Dev, Staging, dan Prod
Next ArticleHari 60: Membangun Arsitektur DevSecOps End-to-End dalam 60 Hari
Artikel Terkait
Hari 20: Terraform + Checkov, 15 Celah IaC Ketahuan
Bikin infrastructure as code pakai Terraform, lalu scan dengan Checkov. Hasilnya 15 celah keamanan ketahuan — S3 tanpa enkripsi, security group terbuka ke dunia.
Hari 22: Pipeline IaC, Dua Scanner Barengan Gagal
Bikin workflow GitHub Actions khusus infrastructure security. Checkov dan Trivy IaC scan Terraform barengan. Hasilnya pipeline MERAH — security gate bekerja!
Hari 22 Bonus: Perbaikan Pipeline Gitleaks yang Merah Diam-diam
Pipeline Gitleaks merah sejak Day 14 karena flag --no-gitignore tidak pernah ada. Gitleaks detect scan git history, bukan working directory. Fix: hapus flag.