Menerapkan keamanan dari desain

Last reviewed 2025-02-05 UTC

Prinsip dalam pilar keamanan Google Cloud Framework yang Dirancang dengan Baik ini memberikan rekomendasi untuk menggabungkan fitur, kontrol, dan praktik keamanan yang kuat ke dalam desain aplikasi, layanan, dan platform cloud Anda. Mulai dari ide hingga operasi, keamanan akan lebih efektif jika disematkan sebagai bagian integral dari setiap tahap proses desain Anda.

Ringkasan prinsip

Seperti yang dijelaskan dalam Ringkasan Komitmen Google terhadap Keamanan berdasarkan Desain, aman secara default dan aman berdasarkan desain sering digunakan secara bergantian, tetapi keduanya mewakili pendekatan yang berbeda untuk membangun sistem yang aman. Kedua pendekatan bertujuan untuk meminimalkan kerentanan dan meningkatkan keamanan, tetapi berbeda dalam cakupan dan penerapan:

  • Aman secara default: berfokus untuk memastikan bahwa setelan default sistem disetel ke mode aman, sehingga meminimalkan kebutuhan pengguna atau administrator untuk mengambil tindakan guna mengamankan sistem. Pendekatan ini bertujuan untuk memberikan tingkat keamanan dasar bagi semua pengguna.
  • Aman sejak desain: menekankan penggabungan pertimbangan keamanan secara proaktif di seluruh siklus proses pengembangan sistem. Pendekatan ini adalah tentang mengantisipasi potensi ancaman dan kerentanan sejak awal serta membuat pilihan desain yang mengurangi risiko. Pendekatan ini melibatkan penggunaan praktik coding yang aman, melakukan peninjauan keamanan, dan menyematkan keamanan di seluruh proses desain. Pendekatan aman dari desain adalah filosofi menyeluruh yang memandu proses pengembangan dan membantu memastikan bahwa keamanan bukanlah sesuatu yang dipikirkan setelahnya, tetapi merupakan bagian integral dari desain sistem.

Rekomendasi

Untuk menerapkan prinsip aman sejak desain untuk workload cloud Anda, pertimbangkan rekomendasi di bagian berikut:

Pilih komponen sistem yang membantu mengamankan beban kerja Anda

Rekomendasi ini relevan untuk semua area fokus.

Keputusan mendasar untuk keamanan yang efektif adalah pemilihan komponen sistem yang andal—termasuk komponen hardware dan software—yang membentuk platform, solusi, atau layanan Anda. Untuk mengurangi bidang serangan keamanan dan membatasi potensi kerusakan, Anda juga harus mempertimbangkan dengan cermat pola deployment komponen ini dan konfigurasinya.

Dalam kode aplikasi, sebaiknya gunakan library, abstraksi, dan framework aplikasi yang mudah, aman, dan andal untuk menghilangkan kelas kerentanan. Untuk memindai kerentanan di library software, Anda dapat menggunakan alat pihak ketiga. Anda juga dapat menggunakan Assured Open Source Software, yang membantu mengurangi risiko terhadap supply chain software Anda dengan menggunakan paket software open source (OSS) yang digunakan dan diamankan oleh Google.

Infrastruktur Anda harus menggunakan opsi jaringan, penyimpanan, dan komputasi yang mendukung pengoperasian yang aman serta selaras dengan persyaratan keamanan dan tingkat penerimaan risiko Anda. Keamanan infrastruktur penting untuk workload yang menghadap internet dan internal.

Untuk mengetahui informasi tentang solusi Google lainnya yang mendukung rekomendasi ini, lihat Menerapkan keamanan shift-left.

Membangun pendekatan keamanan berlapis

Rekomendasi ini relevan dengan area fokus berikut:

  • Keamanan AI dan ML
  • Keamanan infrastruktur
  • Pengelolaan akses dan identitas
  • Keamanan data

Sebaiknya terapkan keamanan di setiap lapisan aplikasi dan stack infrastruktur Anda dengan menerapkan pendekatan defense-in-depth.

Gunakan fitur keamanan di setiap komponen platform Anda. Untuk membatasi akses dan mengidentifikasi batas potensi dampak (yaitu, radius dampak) jika terjadi insiden keamanan, lakukan hal berikut:

  • Sederhanakan desain sistem Anda untuk mengakomodasi fleksibilitas jika memungkinkan.
  • Mendokumentasikan persyaratan keamanan setiap komponen.
  • Gabungkan mekanisme aman yang tangguh untuk memenuhi persyaratan ketahanan dan pemulihan.

Saat Anda merancang lapisan keamanan, lakukan penilaian risiko untuk menentukan fitur keamanan yang Anda perlukan untuk memenuhi persyaratan keamanan internal dan persyaratan peraturan eksternal. Sebaiknya gunakan framework penilaian risiko standar industri yang berlaku untuk lingkungan cloud dan yang relevan dengan persyaratan peraturan Anda. Misalnya, Cloud Security Alliance (CSA) menyediakan Cloud Controls Matrix (CCM). Penilaian risiko memberi Anda katalog risiko dan kontrol keamanan yang sesuai untuk memitigasinya.

Saat melakukan penilaian risiko, ingatlah bahwa Anda memiliki pengaturan tanggung jawab bersama dengan penyedia cloud Anda. Oleh karena itu, risiko Anda di lingkungan cloud berbeda dengan risiko Anda di lingkungan lokal. Misalnya, di lingkungan lokal, Anda perlu mengurangi kerentanan terhadap tumpukan hardware Anda. Sebaliknya, di lingkungan cloud, penyedia cloud menanggung risiko ini. Selain itu, ingatlah bahwa batas tanggung jawab bersama berbeda antara layanan IaaS, PaaS, dan SaaS untuk setiap penyedia cloud.

Setelah mengidentifikasi potensi risiko, Anda harus merancang dan membuat rencana mitigasi yang menggunakan kontrol teknis, administratif, dan operasional, serta perlindungan kontrak dan pengesahan pihak ketiga. Selain itu, metode pemodelan ancaman, seperti metode pemodelan ancaman aplikasi OWASP, membantu Anda mengidentifikasi potensi celah dan menyarankan tindakan untuk mengatasi celah tersebut.

Menggunakan infrastruktur dan layanan yang diperkuat dan dibuktikan

Rekomendasi ini relevan untuk semua area fokus.

Program keamanan yang matang akan memitigasi kerentanan baru seperti yang dijelaskan dalam buletin keamanan. Program keamanan juga harus menyediakan perbaikan untuk mengatasi kerentanan dalam deployment yang ada dan mengamankan image VM dan container Anda. Anda dapat menggunakan panduan penguatan yang khusus untuk OS dan aplikasi gambar Anda, serta benchmark seperti yang disediakan oleh Center of Internet Security (CIS).

Jika Anda menggunakan image kustom untuk VM Compute Engine, Anda harus mem-patch image tersebut sendiri. Atau, Anda dapat menggunakan gambar OS pilihan yang disediakan Google, yang di-patch secara rutin. Untuk menjalankan container di VM Compute Engine, gunakan image Container-Optimized OS yang dikurasi Google. Google secara rutin men-patch dan memperbarui gambar ini.

Jika Anda menggunakan GKE, sebaiknya aktifkan upgrade otomatis node agar Google mengupdate node cluster Anda dengan patch terbaru. Google mengelola bidang kontrol GKE, yang otomatis diperbarui dan di-patch. Untuk lebih mengurangi permukaan serangan pada container, Anda dapat menggunakan image tanpa distro. Image tanpa distro ideal untuk aplikasi, microservice, dan situasi yang sensitif terhadap keamanan, yang meminimalkan ukuran image dan permukaan serangan adalah hal yang paling penting.

Untuk workload sensitif, gunakan Shielded VM, yang mencegah kode berbahaya dimuat selama siklus booting VM. Instance Shielded VM memberikan keamanan booting, memantau integritas, dan menggunakan Virtual Trusted Platform Module (vTPM).

Untuk membantu mengamankan akses SSH, Login OS memungkinkan karyawan Anda terhubung ke VM Anda dengan menggunakan izin Identity and Access Management (IAM) sebagai sumber kebenaran, bukan mengandalkan kunci SSH. Oleh karena itu, Anda tidak perlu mengelola kunci SSH di seluruh organisasi Anda. Login OS mengikat akses administrator ke siklus proses karyawan mereka, sehingga saat karyawan mengubah peran atau keluar dari organisasi Anda, akses mereka akan dicabut dengan akun mereka. Login OS juga mendukung autentikasi 2 langkah Google, yang menambahkan lapisan keamanan ekstra terhadap serangan pengambilalihan akun.

Di GKE, instance aplikasi berjalan dalam container Docker. Untuk mengaktifkan profil risiko yang ditentukan dan membatasi karyawan agar tidak melakukan perubahan pada container, pastikan container Anda bersifat stateless dan tidak dapat diubah. Prinsip ketetapan berarti bahwa karyawan Anda tidak memodifikasi container atau mengaksesnya secara interaktif. Jika container harus diubah, Anda akan mem-build image baru dan men-deploy ulang image tersebut. Aktifkan akses SSH ke penampung pokok hanya dalam skenario proses debug tertentu.

Untuk membantu mengamankan konfigurasi secara global di seluruh lingkungan Anda, Anda dapat menggunakan kebijakan organisasi untuk menetapkan batasan atau panduan pada resource yang memengaruhi perilaku aset cloud Anda. Misalnya, Anda dapat menentukan kebijakan organisasi berikut dan menerapkannya secara global di seluruh organisasi atau secara selektif di tingkat folder atau project: Google Cloud

  • Nonaktifkan alokasi alamat IP eksternal ke VM.
  • Membatasi pembuatan resource ke lokasi geografis tertentu.
  • Nonaktifkan pembuatan Akun Layanan atau kuncinya.

Enkripsi data saat dalam penyimpanan dan saat transit

Rekomendasi ini relevan dengan area fokus berikut:

  • Keamanan infrastruktur
  • Keamanan data

Enkripsi data adalah kontrol mendasar untuk melindungi informasi sensitif, dan merupakan bagian penting dari tata kelola data. Strategi perlindungan data yang efektif mencakup kontrol akses, segmentasi data dan residensi geografis, audit, dan penerapan enkripsi yang didasarkan pada penilaian persyaratan yang cermat.

Secara default, Google Cloud mengenkripsi data pelanggan yang disimpan dalam penyimpanan, tanpa memerlukan tindakan dari Anda. Selain enkripsi default,Google Cloud menyediakan opsi untuk amplop enkripsi dan pengelolaan kunci enkripsi. Anda harus mengidentifikasi solusi yang paling sesuai dengan persyaratan Anda untuk pembuatan, penyimpanan, dan rotasi kunci, baik Anda memilih kunci untuk penyimpanan, komputasi, atau beban kerja big data. Misalnya, Kunci enkripsi yang dikelola pelanggan (CMEK) dapat dibuat di Cloud Key Management Service (Cloud KMS). CMEK dapat berbasis software atau dilindungi HSM untuk memenuhi persyaratan peraturan atau kepatuhan Anda, seperti kebutuhan untuk merotasi kunci enkripsi secara rutin. Dengan Autokey Cloud KMS, Anda dapat mengotomatiskan penyediaan dan penetapan CMEK. Selain itu, Anda dapat menggunakan kunci Anda sendiri yang berasal dari sistem pengelolaan kunci pihak ketiga dengan menggunakan Cloud External Key Manager (Cloud EKM).

Sebaiknya data dienkripsi saat dalam proses pengiriman. Google mengenkripsi dan mengautentikasi data dalam pengiriman di satu atau beberapa lapisan jaringan saat data dipindahkan ke luar batas fisik yang tidak dikontrol oleh Google atau atas nama Google. Semua traffic VM-ke-VM dalam jaringan VPC dan antara jaringan VPC yang di-peering dienkripsi. Anda dapat menggunakan MACsec untuk mengenkripsi traffic melalui koneksi Cloud Interconnect. IPsec menyediakan enkripsi untuk traffic melalui koneksi Cloud VPN. Anda dapat melindungi traffic aplikasi-ke-aplikasi di cloud dengan menggunakan fitur keamanan seperti konfigurasi TLS dan mTLS di Apigee dan Cloud Service Mesh untuk aplikasi dalam container.

Secara default, Google Cloud mengenkripsi data dalam penyimpanan dan data dalam pengiriman di seluruh jaringan. Namun, data tidak dienkripsi secara default saat digunakan dalam memori. Jika organisasi Anda menangani data rahasia, Anda harus mengurangi ancaman apa pun yang merusak kerahasiaan dan integritas aplikasi atau data dalam memori sistem. Untuk memitigasi ancaman ini, Anda dapat menggunakan Confidential Computing, yang menyediakan lingkungan eksekusi tepercaya untuk workload komputasi Anda. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Confidential VM.