Mengamankan CI/CD dan proses rilis aplikasi
Batasi akses pipeline, runner dan rahasia, periksa perubahan konfigurasi, lalu hubungkan hasil pengujian dan persetujuan dengan artefak yang masuk produksi.
Di halaman ini
Pipeline mempunyai akses yang bernilai tinggi
CI/CD mengotomatisasi pemeriksaan, pembuatan, dan pengiriman aplikasi. Proses ini dapat membaca kode, mengambil dependensi, menggunakan rahasia, serta mengubah produksi. Karena itu, konfigurasi pipeline perlu diperlakukan sebagai bagian aplikasi yang sensitif.
Mulai dengan daftar siapa dapat mengubah kode, aturan build, lingkungan, dan kredensial rilis. Hak menyetujui kode belum tentu sama dengan hak mengirim ke produksi.
Pisahkan pekerjaan yang belum dipercaya
Perubahan dari kontributor atau sumber yang belum dipercaya tidak seharusnya memperoleh rahasia produksi. Batasi izin token dan identitas layanan sesuai pekerjaan. Gunakan kredensial berumur pendek bila tersedia dan sesuai arsitektur; jangan menaruh rahasia dalam repositori atau log.
Runner yang dipakai ulang perlu diperiksa terhadap sisa berkas, cache, proses, dan akses jaringan. Isolasi antarpekerjaan harus sesuai risiko. Memisahkan nama job tanpa membatasi akses host tidak memberikan pemisahan yang sama.
Lindungi jalur dari perubahan sampai rilis
| Tahap | Keputusan pengamanan |
|---|---|
| Perubahan konfigurasi | Wajib ditinjau pihak berwenang sesuai kebijakan tim |
| Dependensi dan alat build | Pilih sumber tepercaya, versi terkontrol, dan proses pembaruan |
| Hasil build | Simpan identitas artefak serta asal proses pembuatannya |
| Pengujian | Hubungkan hasil dengan artefak/commit yang akan dirilis |
| Produksi | Batasi identitas rilis, persetujuan, dan akses lingkungan |
Penandaan versi saja belum membuktikan artefak tidak diganti. Jika memakai tanda tangan atau pembuktian asal, periksa pula verifikasinya pada pihak penerima.
Contoh: hasil uji berbeda dari hasil rilis
Contoh fiktif: pipeline menguji satu build, lalu membuat ulang aplikasi dengan dependensi yang sudah berubah sebelum deployment. Tim memperbaiki proses agar artefak yang disetujui dapat ditelusuri hingga produksi, dengan pemeriksaan integritas dan catatan persetujuan.
Tim juga mencoba jalur penolakan: perubahan tanpa persetujuan tidak boleh mengakses rahasia atau rilis. Pengujian tersebut dilakukan di lingkungan berizin tanpa mencetak nilai rahasia.
Siapkan kegagalan dan pemulihan
Catat cara menghentikan pipeline, mencabut identitas, mengganti rahasia yang terpapar, serta kembali ke artefak yang diketahui. Batasi retensi log sesuai kebutuhan dan pastikan bukti keputusan tersedia.
Gunakan persetujuan rilis dan SBOM. OWASP mendukung prinsip teknis ini; konfigurasi rinci mengikuti platform dan risiko sistem.
Pahami risiko di balik pemeriksaan
Baca rantai pasok perangkat lunak, keutuhan artefak dan data untuk memahami konsep dan contoh kegagalannya. Gunakan langkah di halaman ini untuk pekerjaan penerapan.
Langkah penerapan berikutnya
Hubungkan bukti build dengan image yang benar-benar dijalankan. Untuk perubahan infrastruktur, periksa izin, rencana perubahan dan kondisi nyata IaC. Hasil scan belum menggantikan pemeriksaan dampak perubahan.
Sumber rujukan
- CI/CD Security Cheat Sheet ↗OWASP Foundation; panduan teknis · CI/CD Security: identitas, rahasia, runner, dependensi dan kontrol jalur rilis.
- NIST SP 800-218 — Secure Software Development Framework v1.1 ↗NIST; rujukan teknis · Pengamanan lingkungan pengembangan dan integritas rilis.
Baca naskah lengkap untuk melihat syarat dan pengecualiannya. Sesuaikan dengan layanan dan bidang usaha Anda.
Perlu membahas kebutuhan tim Anda?
Ceritakan sistem yang dikelola dan kebutuhan pengamanan tim Anda.
Konsultasikan kebutuhan Anda