Deploy aplikasi secara aman

Last reviewed 2023-08-08 UTC

Dokumen di Framework Arsitektur Google Cloud ini memberikan praktik terbaik untuk men-deploy aplikasi dengan aman.

Untuk men-deploy aplikasi yang aman, Anda harus memiliki siklus proses pengembangan software yang ditetapkan dengan baik, dengan pemeriksaan keamanan yang sesuai selama tahap desain, pengembangan, pengujian, dan deployment. Saat Anda mendesain aplikasi, sebaiknya Anda menggunakan arsitektur sistem berlapis yang menggunakan framework standar untuk identitas, otorisasi, dan kontrol akses.

Mengotomatiskan rilis aman

Tanpa alat otomatis, akan sulit untuk men-deploy, mengupdate, dan mem-patch lingkungan aplikasi yang kompleks guna memenuhi persyaratan keamanan yang konsisten. Oleh karena itu, sebaiknya Anda mem-build pipeline CI/CD untuk tugas ini, yang dapat menyelesaikan banyak masalah tersebut. Pipeline otomatis menghapus error manual, menyediakan feedback loop pengembangan standar, dan memungkinkan iterasi produk yang cepat. Misalnya, dengan kumpulan pribadi Cloud Build, Anda dapat men-deploy pipeline CI/CD terkelola yang sangat aman untuk industri yang diatur dengan regulasi ketat, termasuk keuangan dan layanan kesehatan.

Anda dapat menggunakan otomatisasi untuk memindai kerentanan keamanan saat artefak dibuat. Anda juga dapat menentukan kebijakan untuk lingkungan yang berbeda (pengembangan, pengujian, produksi, dan sebagainya) sehingga hanya artefak terverifikasi yang di-deploy.

Pastikan deployment aplikasi mengikuti proses yang disetujui

Jika penyerang menyusupi pipeline CI/CD Anda, seluruh stack Anda dapat terpengaruh. Untuk membantu mengamankan pipeline, Anda harus menerapkan proses persetujuan yang ditetapkan sebelum men-deploy kode ke produksi.

Jika berencana menggunakan Google Kubernetes Engine (GKE) atau GKE Enterprise, Anda dapat melakukan pemeriksaan dan keseimbangan ini menggunakan Otorisasi Biner. Otorisasi Biner melampirkan tanda tangan yang dapat dikonfigurasi ke image container. Tanda tangan ini (juga disebut pengesahan) membantu memvalidasi image. Saat deployment, Otorisasi Biner menggunakan pengesahan ini untuk menentukan bahwa proses telah diselesaikan lebih awal. Misalnya, Anda dapat menggunakan Otorisasi Biner untuk melakukan hal berikut:

  • Pastikan bahwa sistem build atau pipeline continuous integration (CI) tertentu membuat image container.
  • Validasi bahwa image container mematuhi kebijakan penandatanganan kerentanan.
  • Pastikan bahwa image container lulus kriteria untuk promosi ke lingkungan deployment berikutnya, seperti dari pengembangan hingga UM (Uji Mutu).

Memindai kerentanan yang diketahui sebelum deployment

Sebaiknya gunakan alat otomatis yang dapat terus melakukan pemindaian kerentanan pada image container sebelum container di-deploy ke produksi.

Gunakan Artifact Analysis untuk otomatis memindai kerentanan untuk menemukan container yang disimpan di Artifact Registry. Proses ini mencakup dua tugas: pemindaian dan analisis berkelanjutan.

Untuk memulai, Artifact Analysis akan memindai image baru ketika diupload ke Artifact Registry. Pemindaian akan mengekstrak informasi tentang paket sistem dalam container.

Kemudian, Artifact Analysis akan mencari kerentanan saat Anda mengupload image. Setelah pemindaian awal, Artifact Analysis terus memantau metadata image yang dipindai di Artifact Registry untuk menemukan kerentanan baru. Saat Artifact Analysis menerima informasi kerentanan baru dan yang diperbarui dari sumber kerentanan, akan dilakukan hal berikut:

  • Memperbarui metadata gambar yang dipindai agar tetap terbaru.
  • Membuat kejadian kerentanan baru untuk catatan baru.
  • Menghapus kemunculan kerentanan yang tidak lagi valid.

Pantau kode aplikasi Anda untuk kerentanan yang diketahui

Praktik terbaiknya adalah menggunakan alat otomatis yang dapat terus memantau kode aplikasi Anda untuk menemukan kerentanan umum, seperti OWASP Top 10. Untuk deskripsi tentang produk dan fitur Google Cloud yang mendukung teknik mitigasi Top 10 OWASP, lihat 10 opsi mitigasi teratas OWASP di Google Cloud.

Gunakan Web Security Scanner untuk membantu mengidentifikasi kerentanan keamanan di aplikasi web App Engine, Compute Engine, dan Google Kubernetes Engine Anda. Pemindai meng-crawl aplikasi Anda, mengikuti semua link dalam cakupan URL awal, dan mencoba menggunakan input pengguna dan pengendali peristiwa sebanyak mungkin. API ini dapat otomatis memindai dan mendeteksi kerentanan umum, termasuk pembuatan skrip lintas situs (XSS), injeksi Flash, konten campuran (HTTP di HTTPS), dan library yang usang atau tidak aman. Web Security Scanner memberi Anda identifikasi awal atas jenis kerentanan ini dengan rasio positif palsu yang rendah.

Mengontrol pergerakan data di seluruh perimeter

Untuk mengontrol pergerakan data di seluruh perimeter, Anda dapat mengonfigurasi perimeter keamanan di sekitar resource layanan yang dikelola Google. Gunakan Kontrol Layanan VPC untuk menempatkan semua komponen dan layanan di pipeline CI/CD Anda (misalnya, Artifact Registry, Artifact Analysis, dan Binary Authorization) di dalam perimeter keamanan.

Kontrol Layanan VPC meningkatkan kemampuan Anda untuk mengurangi risiko penyalinan atau transfer data tanpa izin (pemindahan data yang tidak sah) dari layanan yang dikelola Google. Dengan Kontrol Layanan VPC, Anda mengonfigurasi perimeter keamanan di sekitar resource layanan yang dikelola Google untuk mengontrol pergerakan data melintasi batas perimeter. Jika perimeter layanan diterapkan, permintaan yang melanggar kebijakan perimeter akan ditolak, seperti permintaan yang dibuat ke layanan yang dilindungi dari luar perimeter. Jika layanan dilindungi oleh perimeter yang diterapkan, Kontrol Layanan VPC memastikan hal berikut:

  • Layanan tidak dapat mengirimkan data keluar dari perimeter. Layanan yang dilindungi berfungsi seperti biasa di dalam perimeter, tetapi tidak dapat mengirim resource dan data keluar dari perimeter. Pembatasan ini membantu mencegah orang dalam berniat jahat yang mungkin memiliki akses ke project di dalam perimeter agar tidak memindahkan data secara tidak sah.
  • Permintaan yang berasal dari luar perimeter ke layanan yang dilindungi hanya akan diterima jika permintaan tersebut memenuhi kriteria tingkat akses yang ditetapkan ke perimeter.
  • Layanan dapat dibuat dapat diakses oleh project di perimeter lain menggunakan jembatan perimeter.

Enkripsi image container Anda

Di Google Cloud, Anda dapat mengenkripsi image container menggunakan kunci enkripsi yang dikelola pelanggan (CMEK). Kunci CMEK dikelola di Cloud Key Management Service (Cloud KMS). Saat menggunakan CMEK, Anda dapat menonaktifkan akses ke image container terenkripsi untuk sementara atau secara permanen dengan menonaktifkan atau menghancurkan kunci tersebut.

Langkah selanjutnya

Pelajari lebih lanjut cara mengamankan keamanan supply chain dan aplikasi Anda dengan referensi berikut: