Mengimplementasikan keamanan komputasi dan container

Last reviewed 2023-07-20 UTC

Google Cloud mencakup kontrol untuk melindungi resource komputasi dan resource container Google Kubernetes Engine (GKE). Dokumen dalam Framework Arsitektur Google Cloud ini menjelaskan kontrol utama dan praktik terbaik untuk menggunakannya.

Gunakan image VM yang telah melalui proses hardening dan diseleksi

Google Cloud dilengkapi dengan Shielded VM, yang dapat Anda gunakan untuk melakukan hardening instance VM. Shielded VM dirancang untuk mencegah kode berbahaya dimuat selama siklus booting. Layanan ini memberikan keamanan booting, memantau integritas, dan menggunakan Virtual Trusted Platform Module (vTPM). Gunakan Shielded VM untuk workload yang sensitif.

Selain menggunakan Shielded VM, Anda dapat menggunakan solusi partner Google Cloud untuk melindungi VM Anda lebih lanjut. Banyak solusi partner yang ditawarkan di Google Cloud terintegrasi dengan Security Command Center, yang menyediakan deteksi ancaman peristiwa dan pemantauan kondisi. Anda dapat menggunakan partner untuk analisis ancaman lanjutan atau keamanan runtime tambahan.

Gunakan Confidential Computing untuk memproses data sensitif

Secara default, Google Cloud mengenkripsi data dalam penyimpanan dan dalam pengiriman di seluruh jaringan, tetapi data tidak dienkripsi saat digunakan dalam memori. Jika organisasi Anda menangani data rahasia, Anda harus mengurangi ancaman yang merusak kerahasiaan dan integritas aplikasi atau data dalam memori sistem. Data rahasia mencakup informasi identitas pribadi (PII), data keuangan, dan informasi kesehatan.

Confidential Computing dikembangkan di Shielded VM. Enkripsi ini melindungi data yang sedang digunakan dengan melakukan komputasi di lingkungan eksekusi tepercaya berbasis hardware. Jenis lingkungan yang aman dan terisolasi ini membantu mencegah akses tidak sah atau modifikasi aplikasi dan data saat data tersebut sedang digunakan. Lingkungan eksekusi yang tepercaya juga meningkatkan jaminan keamanan bagi organisasi yang mengelola data yang sensitif dan diregulasi.

Di Google Cloud, Anda dapat mengaktifkan Confidential Computing dengan menjalankan Confidential VMs atau node Confidential GKE. Aktifkan Confidential Computing saat Anda memproses workload rahasia, atau saat Anda memiliki data rahasia (misalnya, secret) yang harus terekspos saat diproses. Untuk informasi selengkapnya, lihat Confidential Computing Consortium.

Melindungi VM dan container

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 Anda. Login OS mengikat akses administrator ke siklus proses karyawan mereka, yang berarti jika karyawan beralih ke peran lain atau keluar dari organisasi Anda, akses mereka akan dicabut dengan akun mereka. Login OS juga mendukung autentikasi 2 langkah, yang menambahkan lapisan keamanan ekstra dari serangan pengambilalihan akun.

Di GKE, App Engine menjalankan instance aplikasi 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 harus diubah, Anda akan mem-build image baru dan men-deploy ulang. Aktifkan akses SSH ke penampung pokok hanya dalam skenario proses debug tertentu.

Menonaktifkan alamat IP eksternal kecuali jika diperlukan

Untuk menonaktifkan alokasi alamat IP eksternal (video) untuk VM produksi dan untuk mencegah penggunaan load balancer eksternal, Anda dapat menggunakan kebijakan organisasi. Jika mengharuskan VM terhubung ke internet atau pusat data lokal, Anda dapat mengaktifkan gateway Cloud NAT.

Anda dapat men-deploy cluster pribadi di GKE. Di cluster pribadi, node hanya memiliki alamat IP internal, yang berarti node dan Pod diisolasi dari internet secara default. Anda juga dapat menentukan kebijakan jaringan untuk mengelola komunikasi Pod-ke-Pod di cluster. Untuk informasi selengkapnya, lihat Opsi akses pribadi untuk layanan.

Memantau instance komputasi dan penggunaan GKE

Cloud Audit Logs diaktifkan secara otomatis untuk Compute Engine dan GKE. Log audit memungkinkan Anda secara otomatis mencatat semua aktivitas dengan cluster dan memantau setiap aktivitas yang mencurigakan.

Anda dapat mengintegrasikan GKE dengan produk partner untuk keamanan runtime. Anda dapat mengintegrasikan solusi ini dengan Security Command Center untuk memberi Anda satu antarmuka guna memantau aplikasi Anda.

Selalu perbarui gambar dan cluster Anda

Google Cloud menyediakan gambar OS pilihan yang di-patch secara berkala. Anda dapat menggunakan image kustom dan menjalankannya di Compute Engine, tetapi jika melakukannya, Anda harus mem-patch sendiri. Google Cloud mengupdate image OS secara rutin untuk mengurangi kerentanan baru seperti yang dijelaskan dalam buletin keamanan dan menyediakan perbaikan untuk memperbaiki kerentanan deployment yang ada.

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. Selain itu, gunakan image yang dioptimalkan untuk container yang diseleksi Google untuk deployment Anda. Google secara rutin men-patch dan memperbarui gambar ini.

Mengontrol akses ke image dan cluster Anda

Penting untuk mengetahui siapa yang dapat membuat dan meluncurkan instance. Anda dapat mengontrol akses ini menggunakan IAM. Untuk informasi tentang cara menentukan akses yang diperlukan workload, lihat Merencanakan identitas workload.

Selain itu, Anda dapat menggunakan Kontrol Layanan VPC untuk menentukan kuota khusus pada project sehingga Anda dapat membatasi siapa yang dapat meluncurkan image. Untuk mengetahui informasi selengkapnya, lihat bagian Mengamankan jaringan.

Agar dapat menyediakan keamanan infrastruktur untuk cluster Anda, GKE memungkinkan Anda menggunakan IAM dengan kontrol akses berbasis peran (RBAC) untuk mengelola akses ke cluster dan namespace Anda.

Mengisolasi container di sandbox

Gunakan GKE Sandbox untuk men-deploy aplikasi multi-tenant yang membutuhkan lapisan keamanan ekstra dan isolasi dari kernel host mereka. Misalnya, gunakan GKE Sandbox saat Anda menjalankan kode yang tidak dikenal atau tidak tepercaya. GKE Sandbox adalah solusi isolasi container yang menyediakan lapisan pertahanan kedua di antara berbagai workload dalam container di GKE.

GKE Sandbox dibuat untuk aplikasi yang memiliki persyaratan I/O rendah, tetapi dengan skala tinggi. Workload dalam container ini perlu mempertahankan kecepatan dan performanya, tetapi juga dapat menggunakan kode tidak tepercaya yang menuntut keamanan tambahan. Gunakan gVisor, sandbox runtime container, untuk memberikan isolasi keamanan tambahan antara aplikasi dan kernel host. gVisor memberikan pemeriksaan integritas tambahan dan membatasi cakupan akses untuk suatu layanan. Ini bukan layanan container hardening untuk melindungi dari ancaman eksternal. Untuk informasi selengkapnya tentang gVisor, lihat gVisor: Protected GKE and serverless users in the real world.

Langkah selanjutnya

Pelajari keamanan komputasi dan container lebih lanjut dengan referensi berikut: