Dokumen ini menjelaskan praktik terbaik untuk melindungi deployment Anda.
Membuat dan menerapkan kebijakan deployment
Untuk melindungi lingkungan runtime Anda, tentukan kebijakan dengan kriteria untuk deployment dan validasi kepatuhan kebijakan sebelum dan sesudah deployment. Menentukan kebijakan yang hanya mengizinkan kode yang ditandatangani oleh pengautentikasi yang telah ditentukan sebelumnya akan membantu mengontrol deployment dan hanya men-deploy kode dari origin tepercaya.
Contoh kriteria deployment meliputi:
- Tidak ada kerentanan yang diketahui dengan tingkat keparahan di atas Sedang
- Kode sumber berasal dari repositori sumber tepercaya
- Layanan build tepercaya menjalankan build
- Artefak build yang Anda deploy berasal dari repositori artefak tepercaya
Membuat metadata
Untuk memvalidasi persyaratan ini, Anda harus memberikan metadata tentang artefak build.
- Membuat origin
Provenance build adalah kumpulan data yang dapat diverifikasi tentang build seperti ringkasan image yang di-build, lokasi sumber input, toolchain build, dan durasi build. SLSA, framework untuk menilai postur keamanan, menyediakan model untuk asal usul dan persyaratan untuk asal usul. Provenans adalah salah satu kategori persyaratan dalam framework, dan setiap persyaratan dikaitkan dengan level SLSA sehingga Anda dapat menerapkan mitigasi secara bertahap.
- Untuk jaminan SLSA level 1, asal harus tersedia.
- Untuk jaminan SLSA level 2, asal harus dibuat dan konsumen harus dapat memverifikasi keaslian dan integritasnya.
- SLSA Level 3 dan 4 memiliki persyaratan yang lebih ketat untuk penandatanganan asal dan kedalaman detail data asal.
Beberapa layanan build menghasilkan metadata asal build.
- Di Google Cloud, Cloud Build menghasilkan dan menandatangani provenance build untuk image container yang mendukung build SLSA level 3.
- Framework SLSA menyediakan alat asal GitHub. Alat ini menghasilkan provenance SLSA yang tidak dapat dipalsukan di GitHub yang memenuhi persyaratan dalam kategori build dan provenance untuk SLSA level 3.
- Project sigstore open source menyertakan alat cosign untuk menandatangani penampung.
- Kerentanan
Software pemindaian kerentanan memeriksa kode sumber dan artefak build Anda untuk kerentanan yang diketahui. Artifact Analysis dapat otomatis memindai image container yang dikirim ke Artifact Registry untuk mendeteksi kerentanan. Untuk memeriksa kerentanan artefak sebelum menyimpannya, Anda dapat menggunakan On-Demand Scanning API di lingkungan pengembangan lokal atau di pipeline CI/CD, seperti langkah build Cloud Build.
Menyiapkan penegakan kebijakan
Setelah memiliki metadata tentang artefak yang dapat di-deploy, Anda memerlukan alat untuk menerapkan kebijakan.
Di Google Cloud, Anda dapat mengonfigurasi kebijakan di Otorisasi Biner untuk deployment. Otorisasi Biner menerapkan kebijakan untuk upaya deployment ke platform berbasis container yang didukung. Layanan ini juga dapat melakukan validasi kebijakan berkelanjutan untuk workload yang berjalan di GKE, Cloud Run, dan GKE Enterprise.
Pemeriksaan pra-deployment dapat memblokir semua image yang tidak ada dalam daftar image yang dikecualikan, sehingga hanya image tepercaya yang di-deploy dari registry tepercaya. Kebijakan Anda juga dapat mewajibkan pernyataan, dokumen digital yang menunjukkan bahwa image berhasil dibuat dengan proses tertentu yang diperlukan. Misalnya, pengesahan dapat menunjukkan bahwa gambar:
- Di-build oleh Cloud Build.
- Tidak berisi kerentanan di atas tingkat keparahan yang ditentukan. Jika ada kerentanan spesifik yang tidak berlaku untuk aplikasi Anda, Anda dapat menambahkannya ke daftar yang diizinkan.
Validasi berkelanjutan memperluas validasi kebijakan ke lingkungan pasca-deployment. Jika diaktifkan, Otorisasi Biner akan memberikan validasi di seluruh siklus proses Pod dengan mencatat kesesuaian kebijakan secara rutin di Cloud Logging. Hal ini berguna dalam berbagai situasi. Misalnya, jika Anda mengubah kebijakan setelah men-deploy penampung, validasi berkelanjutan akan mencatat Pod yang melanggar kebijakan yang diperbarui. Pod juga mencatat pelanggaran kebijakan untuk Pod yang di-deploy dengan uji coba kering atau breakglass.
Menggunakan layanan deployment terkunci
Pembatasan deployment memungkinkan Anda menyetujui atau menolak deployment pada titik tertentu dalam proses deployment menggunakan layanan CI/CD mandiri atau layanan CI/CD yang terintegrasi dengan sistem otomatisasi proses. Deployment yang dibatasi mencegah pengguna yang tidak berwenang melakukan perubahan pada lingkungan aplikasi. Alat ini memberikan pengawasan tambahan pada proses deployment dan visibilitas persetujuan yang lebih besar.
Di Google Cloud, Cloud Deploy menawarkan layanan yang terkelola sepenuhnya untuk men-deploy workload ke Google Kubernetes Engine. Fitur deployment terbatas memungkinkan pengguna menentukan apakah persetujuan diperlukan untuk promosi ke target.
Memantau workload Anda
Workload adalah aplikasi yang berjalan di platform berbasis container seperti GKE dan Cloud Run. Workload yang Anda deploy idealnya memiliki konfigurasi yang diperkuat yang membatasi permukaan serangannya.
Memeriksa workload di seluruh cluster untuk menemukan masalah konfigurasi mungkin sulit dilakukan secara manual dalam skala besar. Google Cloud menyediakan dasbor di Cloud Run dan GKE untuk melihat insight keamanan untuk workload.
Dasbor postur keamanan GKE memberikan panduan untuk memperkuat postur keamanan cluster Anda berdasarkan rekomendasi Google. Fitur ini mencakup pemindaian konfigurasi workload otomatis, yang memeriksa masalah konfigurasi yang diketahui di semua workload. GKE memeriksa setiap workload yang di-deploy berdasarkan praktik terbaik industri yang relevan, seperti kebijakan dalam Standar Keamanan Pod. GKE menilai tingkat keparahan masalah yang ditemukan dan menampilkan rekomendasi dan log yang dapat ditindaklanjuti. Anda dapat menggunakan Cloud Logging untuk mendapatkan jejak masalah yang dapat diaudit guna mendapatkan pelaporan dan kemampuan observasi yang lebih baik. Untuk mengetahui petunjuk tentang cara melihat insight keamanan di dasbor postur keamanan GKE, lihat Men-deploy di GKE dan melihat insight keamanan.
Cloud Run berisi panel keamanan yang menampilkan insight keamanan supply chain software seperti info kepatuhan tingkat build SLSA, provenance build, dan kerentanan yang ditemukan dalam layanan yang berjalan. Untuk mengetahui petunjuk tentang cara melihat insight keamanan di panel insight keamanan Cloud Run, lihat Men-deploy di Cloud Run dan melihat insight keamanan.
Google Cloud juga menyediakan layanan dan fitur lain untuk meningkatkan postur keamanan Anda di seluruh siklus proses pengembangan software. Untuk mengetahui informasi selengkapnya, lihat ringkasan supply chain software.
Langkah selanjutnya
- Pelajari praktik terbaik untuk melindungi kode sumber.
- Pelajari praktik terbaik untuk melindungi dependensi.
- Pelajari praktik terbaik untuk mengamankan build.