Prinsip ini dalam pilar keamanan Google Cloud Framework Arsitektur memberikan rekomendasi untuk menggabungkan fitur, kontrol, dan praktik keamanan yang andal ke dalam desain aplikasi, layanan, dan platform cloud Anda. Dari perumusan 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 untuk Aman Secara Desain, aman secara default dan aman secara desain sering digunakan secara bergantian, tetapi keduanya mewakili pendekatan yang berbeda untuk membangun sistem yang aman. Kedua pendekatan ini bertujuan untuk meminimalkan kerentanan dan meningkatkan keamanan, tetapi memiliki cakupan dan penerapan yang berbeda:
- Aman secara default: berfokus pada 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 secara desain: menekankan pengintegrasian pertimbangan keamanan secara proaktif di sepanjang siklus proses pengembangan sistem. Pendekatan ini bertujuan untuk mengantisipasi potensi ancaman dan kerentanan sejak awal serta membuat pilihan desain yang memitigasi 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 bukan merupakan hal yang dipikirkan belakangan, tetapi merupakan bagian integral dari desain sistem.
Rekomendasi
Untuk menerapkan prinsip aman secara desain untuk workload cloud Anda, pertimbangkan rekomendasi di bagian berikut:
- Memilih komponen sistem yang membantu mengamankan workload Anda
- Membangun pendekatan keamanan berlapis
- Menggunakan infrastruktur dan layanan yang di-harden dan diautentikasi
- Mengenkripsi data dalam penyimpanan dan saat transit
Memilih 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 class 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 operasi yang aman dan sesuai dengan persyaratan keamanan serta tingkat penerimaan risiko Anda. Keamanan infrastruktur penting untuk workload internal dan workload yang ditampilkan di internet.
Untuk informasi tentang solusi Google lainnya yang mendukung rekomendasi ini, lihat Mengimplementasikan 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 ledakan) jika terjadi insiden keamanan, lakukan hal berikut:
- Sederhanakan desain sistem Anda untuk mengakomodasi fleksibilitas jika memungkinkan.
- Dokumentasikan persyaratan keamanan setiap komponen.
- Gabungkan mekanisme aman yang tangguh untuk memenuhi persyaratan ketahanan dan pemulihan.
Saat Anda mendesain lapisan keamanan, lakukan penilaian risiko untuk menentukan fitur keamanan yang Anda perlukan guna memenuhi persyaratan keamanan internal dan persyaratan peraturan eksternal. Sebaiknya gunakan framework penilaian risiko standar industri yang berlaku untuk lingkungan cloud dan 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 menguranginya.
Saat melakukan penilaian risiko, ingatlah bahwa Anda memiliki pengaturan tanggung jawab bersama dengan penyedia cloud. Oleh karena itu, risiko Anda di lingkungan cloud berbeda dengan risiko di lingkungan lokal. Misalnya, di lingkungan lokal, Anda perlu mengurangi kerentanan terhadap stack hardware. Sebaliknya, di lingkungan cloud, penyedia cloud menanggung risiko ini. Selain itu, ingatlah bahwa batasan tanggung jawab bersama berbeda antara layanan IaaS, PaaS, dan SaaS untuk setiap penyedia cloud.
Setelah mengidentifikasi potensi risiko, Anda harus mendesain 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 di-harden dan diautentikasi
Rekomendasi ini relevan untuk semua area fokus.
Program keamanan yang matang mengurangi kerentanan baru seperti yang dijelaskan dalam buletin keamanan. Program keamanan juga harus memberikan perbaikan untuk memperbaiki kerentanan dalam deployment yang ada dan mengamankan VM dan image penampung Anda. Anda dapat menggunakan panduan hardening yang khusus untuk OS dan aplikasi image Anda, serta benchmark seperti yang disediakan oleh Center of Internet Security (CIS).
Jika menggunakan image kustom untuk VM Compute Engine, Anda harus mem-patch image sendiri. Atau, Anda dapat menggunakan image OS pilihan yang disediakan Google, yang di-patch secara berkala. Untuk menjalankan container di VM Compute Engine, gunakan Image OS yang dioptimalkan untuk Container yang diseleksi 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 penampung, Anda dapat menggunakan image distroless. Image distroless ideal untuk aplikasi yang sensitif terhadap keamanan, microservice, dan situasi saat meminimalkan ukuran image dan permukaan serangan sangat 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 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. 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 penampung atau mengaksesnya secara interaktif. Jika penampung 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 dapat menggunakan kebijakan organisasi untuk menetapkan batasan atau panduan keamanan pada resource yang memengaruhi perilaku aset cloud Anda. Misalnya, Anda dapat menentukan kebijakan organisasi berikut dan menerapkannya secara global di seluruh organisasi Google Cloud atau secara selektif di tingkat folder atau project:
- Nonaktifkan alokasi alamat IP eksternal ke VM.
- Membatasi pembuatan resource ke lokasi geografis tertentu.
- Menonaktifkan pembuatan Akun Layanan atau kuncinya.
Mengenkripsi data dalam penyimpanan dan saat transit
Rekomendasi ini relevan dengan area fokus berikut:
- Keamanan infrastruktur
- Keamanan data
Enkripsi data adalah kontrol dasar 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 enkripsi amplop 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 berkala. Cloud KMS Autokey memungkinkan Anda mengotomatiskan penyediaan dan penetapan CMEK. Selain itu, Anda dapat menggunakan kunci Anda sendiri yang berasal dari sistem pengelolaan kunci pihak ketiga 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 enkripsi 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 mengurangi ancaman ini, Anda dapat menggunakan Confidential Computing, yang menyediakan trusted execution environment untuk workload komputasi Anda. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Confidential VM.