Mengamankan Pipeline CI/CD
Memperkuat jalur pembangunan dan rilis.
Mengamankan Pipeline CI/CD adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Alur Kerja sebagai Sasaran
Alur kerja CI/CD memiliki akses istimewa ke kode sumber, rahasia, dan produksi. Jika alur kerja tersebut disusupi, penyerang dapat menyisipkan pintu belakang ke dalam setiap pembuatan di masa mendatang sekaligus melewati peninjauan kode. Alur kerja ini merupakan salah satu sasaran paling bernilai dalam rekayasa modern.
Perlakukan alur kerja sebagai infrastruktur produksi: alur kerja tersebut layak mendapatkan penguatan, pemantauan, dan disiplin hak akses minimum yang sama seperti sistem aktif Anda.
Masukan Tidak Tepercaya dalam Pembuatan
Alur kerja berjalan otomatis berdasarkan peristiwa yang tidak sepenuhnya Anda kendalikan: permintaan penggabungan, label, dan kontribusi eksternal. Permintaan penggabungan berbahaya dapat mencoba mengubah proses pembuatan itu sendiri.
- Definisi alur kerja yang telah disusupi dalam repositori percabangan dapat mencoba mengekstrak rahasia
- Kode yang tidak tepercaya dapat berjalan dengan izin yang sama seperti pembuatan tepercaya
Pisahkan alur kerja tepercaya dan tidak tepercaya: jangan paparkan rahasia kepada pekerjaan yang dipicu oleh permintaan penggabungan eksternal.
Kunci Tindakan dan Citra Anda
Langkah-langkah alur kerja sering mengambil tindakan pihak ketiga atau citra kontainer berdasarkan label yang dapat berubah. Jika label tersebut diarahkan ulang ke konten berbahaya, pembuatan Anda akan disusupi. Kunci pada ringkasan yang tidak dapat diubah.
# BAD: mutable tag can be moved under you
uses: some/action@v3
# GOOD: pinned to an immutable commit SHA
uses: some/action@a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0
# pin container steps by digest too
image: build-tools@sha256:9f86d081884c7d659a2feaa0c55ad015...Hak Akses Minimum untuk Token
Token bawaan alur kerja sering memiliki izin berlebihan, sehingga memberikan akses tulis ke seluruh repositori atau registri. Batasi cakupannya tepat pada hal yang dibutuhkan setiap pekerjaan.
# scope the default token to read-only, grant more only where needed
permissions:
contents: read
jobs:
publish:
permissions:
contents: read
packages: write # only this job can publishPraktik Aman dalam Menangani Rahasia
Rahasia yang ditulis langsung dalam kode atau dibagikan secara luas merupakan jalur kebocoran utama. Terapkan penanganan yang ketat:
- Simpan rahasia di pengelola rahasia atau penyimpanan rahasia CI, jangan pernah di dalam kode
- Utamakan federasi OIDC berumur singkat daripada kunci layanan awan statis
- Samarkan rahasia dalam catatan dan cegah agar rahasia tidak dicetak ulang
- Batasi setiap rahasia hanya pada pekerjaan dan lingkungan minimum yang diperlukan
Federasi OIDC memungkinkan alur kerja menukar identitas saat pembuatan dengan kredensial layanan awan berumur singkat, sehingga kunci berumur panjang dapat dihilangkan sepenuhnya.
Pelaksana Sementara yang Terisolasi
Pelaksana pembuatan yang digunakan ulang dapat membawa perangkat lunak berbahaya atau rahasia yang bocor dari satu pekerjaan ke pekerjaan berikutnya. Pelaksana sementara dibuat baru untuk setiap pekerjaan dan dihancurkan setelahnya, sehingga tidak ada yang tersisa.
- Satu lingkungan bersih untuk setiap pembuatan, lalu dibuang
- Tidak ada keadaan bersama antara pekerjaan tepercaya dan tidak tepercaya
- Lalu lintas keluar jaringan dibatasi ke titik akhir yang diperlukan
Hal ini secara langsung mendukung sasaran isolasi SLSA L3.
Lindungi Cabang Sumber
Kepercayaan alur kerja dimulai dari sistem kendali sumber. Jika siapa pun dapat mengirim perubahan ke cabang rilis, penandatanganan dan pemindaian di tahap berikutnya menjadi sia-sia.
- Wajibkan peninjauan permintaan penggabungan sebelum penggabungan
- Tegakkan komit bertanda tangan pada cabang yang dilindungi
- Wajibkan pemeriksaan status (pengujian, pemindaian) agar berhasil
- Larang pengiriman paksa dan pengiriman langsung ke
main
# require signed commits on a branch
git config commit.gpgsign true
# verify a commit signature locally
git verify-commit HEADPindai di Dalam Alur Kerja
Integrasikan gerbang keamanan langsung ke CI agar masalah menggagalkan pembuatan, bukan mencapai produksi.
# secret leak detection
gitleaks detect --source . --redact
# dependency vulnerabilities
osv-scanner --lockfile=package-lock.json
# IaC and config misconfig
trivy config .
# fail the job on critical findings (non-zero exit stops CI)Pengendalian Dua Orang untuk Rilis
Tindakan berdampak tinggi layak mendapatkan pemeriksaan oleh manusia. Penerapan ke produksi dan perubahan kredensial harus memerlukan persetujuan dari seseorang selain penulisnya.
- Aturan perlindungan lingkungan mewajibkan peninjau sebelum penerapan
- Pisahkan identitas pembuatan dari identitas penerapan
- Tidak ada satu pelaku yang dapat menulis kode sekaligus mengirimkannya ke produksi tanpa peninjauan
Hal ini membatasi risiko orang dalam dan radius dampak dari satu akun yang disusupi.
Audit dan Deteksi Manipulasi
Anda harus dapat merekonstruksi tindakan alur kerja. Pusatkan dan lindungi catatannya.
- Kirim catatan CI ke penyimpanan yang hanya dapat ditambahi dan aksesnya dikendalikan
- Catat siapa yang mengubah definisi alur kerja dan kapan perubahan itu dilakukan
- Hasilkan asal-usul bertanda tangan agar artefak dapat ditelusuri kembali ke pembuatan tertentu
- Beri peringatan atas anomali: pelaksana baru yang dihosting sendiri, akses rahasia yang tidak terduga, dan perubahan konfigurasi di luar peninjauan
Daftar Periksa Penguatan Alur Kerja
Alur kerja yang dapat dipertahankan menggabungkan pengendalian sumber, pembuatan, dan rilis:
- Perlindungan cabang, komit yang ditinjau dan bertanda tangan
- Tindakan dan citra yang dikunci berdasarkan ringkasan
- Token OIDC berumur singkat dengan hak akses minimum
- Pelaksana sementara yang terisolasi
- Pemindaian rahasia, dependensi, dan konfigurasi dalam alur kerja
- Persetujuan rilis oleh dua orang
- Artefak, SBOM, dan asal-usul bertanda tangan dengan pencatatan audit
Pemeriksaan Singkat: Izin Token
Tentukan pengendalian yang tepat untuk token pembuatan yang memiliki hak istimewa.
Ringkasan: Mengamankan Alur Kerja CI/CD
Anda telah belajar memperkuat seluruh jalur pembuatan dan rilis.
- Perlakukan alur kerja sebagai produksi; alur kerja tersebut dapat memasang pintu belakang pada setiap pembuatan di masa mendatang
- Isolasi pembuatan dari PR yang tidak tepercaya dari rahasia
- Kunci tindakan dan citra berdasarkan ringkasan; gunakan token OIDC berumur singkat dengan hak akses minimum
- Gunakan pelaksana sementara yang terisolasi dan lindungi cabang sumber
- Lakukan pemindaian dalam alur kerja, wajibkan persetujuan rilis oleh dua orang, dan simpan catatan audit yang menunjukkan perubahan
Kursus selesai: kini Anda dapat mengamankan rantai pasokan perangkat lunak dari awal hingga akhir.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengamankan Pipeline CI/CD” gratis?
Ya — teks lengkap “Mengamankan Pipeline CI/CD” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mengamankan Pipeline CI/CD”?
Memperkuat jalur pembangunan dan rilis. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?
Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Mengamankan Pipeline CI/CD” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Ancaman Rantai Pasokan
- Daftar Bahan Perangkat Lunak (SBOM)
- Penandatanganan Dependensi dan Artefak
- Mengamankan Pipeline CI/CD