Mengamankan deployment

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 attestor yang telah ditetapkan akan membantu membatasi 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 perlu menyediakan metadata tentang artefak build.

Asal build

Build provenance adalah kumpulan data yang dapat diverifikasi tentang build, seperti ringkasan image yang dibangun, lokasi sumber input, toolchain build, dan durasi build. SLSA, framework untuk menilai posisi keamanan, menyediakan model untuk provenance dan persyaratan untuk provenance. Provenance 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, provenance harus tersedia.
  • Untuk jaminan SLSA level 2, provenance harus dibuat dan konsumen harus dapat memverifikasi keaslian dan integritasnya.
  • SLSA Level 3 dan 4 memiliki persyaratan yang lebih ketat untuk penandatanganan provenance dan kedalaman detail data provenance.

Beberapa layanan build menghasilkan metadata provenance build.

Kerentanan

Software pemindaian kerentanan memeriksa kode sumber dan artefak build untuk mendeteksi kerentanan yang diketahui. Artifact Analysis dapat otomatis memindai image container yang dikirim ke Artifact Registry untuk kerentanan. Untuk memeriksa artefak terkait kerentanan 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 memberlakukan kebijakan Anda.

Di Google Cloud, Anda dapat mengonfigurasi kebijakan di Otorisasi Biner untuk deployment Anda. Otorisasi Biner memberlakukan kebijakan untuk percobaan deployment ke platform berbasis container yang didukung. Platform 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 attestations, dokumen digital yang menunjukkan bahwa image berhasil dibuat dengan proses tertentu yang diperlukan. Misalnya, pengesahan dapat menunjukkan bahwa suatu gambar:

Validasi berkelanjutan memperluas validasi kebijakan ke lingkungan pasca-deployment. Jika diaktifkan, Otorisasi Biner akan melakukan 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 container, validasi berkelanjutan akan mencatat Pod ke dalam log yang melanggar kebijakan yang diperbarui. Crawler ini juga mencatat pelanggaran kebijakan untuk Pod yang di-deploy dengan uji coba atau breakglass.

Menggunakan layanan deployment terbatas

Batasan 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 dengan akses terbatas mencegah pengguna yang tidak berwenang membuat perubahan pada lingkungan aplikasi. Keduanya memberikan pengawasan tambahan untuk proses deployment dan visibilitas persetujuan yang lebih besar.

Di Google Cloud, Cloud Deploy menawarkan layanan terkelola sepenuhnya untuk men-deploy beban kerja ke Google Kubernetes Engine. Fitur deployment dengan akses terbatas memungkinkan pengguna menentukan apakah persetujuan diperlukan untuk melakukan promosi ke target atau tidak.

Memantau beban kerja Anda

Beban kerja adalah aplikasi yang berjalan di platform berbasis container seperti GKE dan Cloud Run. Workload yang Anda deploy idealnya harus memiliki konfigurasi yang di-hardening yang membatasi permukaan serangannya.

Memeriksa workload di seluruh cluster untuk masalah konfigurasi bisa jadi sulit dilakukan secara manual dalam skala besar. Software Delivery Shield adalah solusi keamanan supply chain software yang terkelola sepenuhnya di Google Cloud, yang menyediakan dasbor di Cloud Run dan UI GKE di Konsol Google Cloud guna melihat insight keamanan untuk workload.

Dasbor postur keamanan GKE menyediakan panduan untuk memperkuat postur keamanan cluster Anda berdasarkan rekomendasi Google. Rilis ini mencakup pemindaian konfigurasi beban kerja otomatis, yang memeriksa masalah konfigurasi yang diketahui di semua workload. GKE memeriksa setiap beban kerja yang di-deploy berdasarkan praktik terbaik industri yang relevan, seperti kebijakan dalam Standar Keamanan Pod. GKE menilai tingkat keparahan masalah yang ditemukan serta menampilkan rekomendasi dan log yang dapat ditindaklanjuti. Anda dapat menggunakan Cloud Logging untuk mendapatkan jejak kekhawatiran yang dapat diaudit guna mendapatkan pelaporan dan kemampuan observasi yang lebih baik. Untuk mengetahui petunjuk tentang cara melihat insight keamanan di dasbor postingan 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, asal build, dan kerentanan yang ditemukan dalam layanan yang sedang berjalan. Untuk mengetahui petunjuk cara melihat insight keamanan di panel insight keamanan Cloud Run, lihat Men-deploy di Cloud Run dan melihat insight keamanan.

Software Delivery Shield juga menyediakan layanan dan fitur lainnya untuk meningkatkan postur keamanan Anda di seluruh siklus proses pengembangan software. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Perlindungan Pengiriman Software.

Langkah selanjutnya