Dokumen ini mencakup praktik terbaik dan panduan untuk Google Cloud layanan seperti Compute Engine, Google Kubernetes Engine (GKE), Pub/Sub, Dataflow, dan Cloud Run Functions saat menjalankan workload di Google Cloud.
Kontrol komputasi
Kontrol ini berlaku untuk layanan komputasi.
Menentukan instance VM yang dapat mengaktifkan penerusan IP
| ID kontrol Google | VPC-CO-6.3 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Batasan compute.vmCanIpForward menentukan instance VM yang dapat mengaktifkan penerusan IP. Secara default, semua VM dapat mengaktifkan penerusan IP di jaringan virtual mana pun. Tentukan instance VM menggunakan salah satu format berikut:
|
| Produk yang berlaku |
|
| Jalur | constraints/compute.vmCanIpForward |
| Operator | = |
| Nilai |
|
| Jenis | Daftar |
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Menonaktifkan virtualisasi bertingkat VM
| ID kontrol Google | VPC-CO-6.6 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Batasan boolean compute.disableNestedVirtualization menonaktifkan virtualisasi bertingkat dengan akselerasi hardware untuk VM Compute Engine. |
| Produk yang berlaku |
|
| Jalur | constraints/compute.disableNestedVirtualization |
| Operator | Is |
| Nilai |
|
| Jenis | Boolean |
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Membatasi alamat IP eksternal pada VM
| ID kontrol Google | VPC-CO-6.2 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Kecuali jika diperlukan, cegah pembuatan instance Compute Engine dengan alamat IP publik. Batasan daftar Mencegah instance Compute Engine memiliki alamat IP eksternal untuk mengurangi secara drastis eksposurnya ke internet. Instance apa pun dengan alamat IP eksternal dapat langsung ditemukan dan menjadi target langsung untuk pemindaian otomatis, serangan brute force, dan upaya untuk mengeksploitasi kerentanan. Sebagai gantinya, mewajibkan instance menggunakan alamat IP pribadi dan mengelola akses melalui jalur yang terkontrol, diautentikasi, dan dicatat seperti tunnel Identity-Aware Proxy (IAP) atau bastion host. Mengadopsi postur tolak secara default ini adalah praktik terbaik keamanan dasar yang membantu meminimalkan permukaan serangan Anda dan menerapkan pendekatan zero-trust ke jaringan Anda. Batasan ini tidak berlaku surut. |
| Produk yang berlaku |
|
| Jalur | constraints/compute.vmExternalIpAccess |
| Operator | = |
| Nilai |
|
| Jenis | Daftar |
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Menentukan alamat IP eksternal yang diizinkan untuk instance VM
| ID kontrol Google | CBD-CO-6.3 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Batasan daftar |
| Produk yang berlaku |
|
| Jalur | compute.vmExternalIpAccess |
| Operator | = |
| Nilai |
|
| Jenis | Daftar |
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Mewajibkan konektor VPC untuk fungsi Cloud Run
| ID kontrol Google | CF-CO-4.4 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Batasan boolean |
| Produk yang berlaku |
|
| Jalur | constraints/cloudfunctions.requireVPCConnector |
| Operator | = |
| Nilai |
|
| Jenis | Boolean |
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Mengonfigurasi kebijakan penyimpanan pesan
| ID kontrol Google | PS-CO-4.1 |
|---|---|
| Penerapan | Opsional |
| Deskripsi | Jika Anda memublikasikan pesan ke endpoint Pub/Sub global, Pub/Sub akan otomatis menyimpan pesan di region Google Cloud terdekat. Untuk mengontrol region tempat pesan Anda disimpan, konfigurasi kebijakan penyimpanan pesan di topik Anda.
Gunakan salah satu cara berikut untuk mengonfigurasi kebijakan penyimpanan pesan untuk topik:
|
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Menonaktifkan alamat IP eksternal untuk tugas Dataflow
| ID kontrol Google | DF-CO-6.1 |
|---|---|
| Penerapan | Opsional |
| Deskripsi | Nonaktifkan alamat IP eksternal untuk tugas administratif dan pemantauan yang terkait dengan tugas Dataflow. Sebagai gantinya, konfigurasi akses ke VM pekerja Dataflow Anda menggunakan SSH. Aktifkan Akses Google Pribadi dan tentukan salah satu opsi berikut dalam tugas Dataflow Anda:
Dengan:
|
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Menggunakan tag jaringan untuk aturan firewall
| ID kontrol Google | DF-CO-6.2 |
|---|---|
| Penerapan | Opsional |
| Deskripsi | Tag jaringan adalah atribut teks yang terpasang ke VM Compute Engine seperti VM pekerja Dataflow. Dengan tag jaringan, Anda dapat membuat aturan firewall jaringan VPC dan beberapa rute statis kustom yang berlaku untuk instance VM tertentu. Dataflow mendukung penambahan tag jaringan ke semua VM pekerja yang menjalankan tugas Dataflow tertentu. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Kontrol penampung
Kontrol ini berlaku untuk container dalam GKE.
Membatasi akses bidang kontrol
| ID kontrol Google | GKE-CO-1.1 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Secara default, bidang kontrol dan node cluster Google Kubernetes Engine (GKE) memiliki alamat yang dapat dirutekan di internet dan dapat diakses dari alamat IP mana pun. Batasi akses jaringan ke bidang kontrol dengan menggunakan endpoint berbasis DNS dan dengan membuat cluster pribadi. Bidang kontrol adalah pusat pengelolaan untuk cluster Kubernetes, dan mengeksposnya ke internet menjadikannya target utama bagi penyerang. Konfigurasi ini menjadikan bidang kontrol pribadi dan menghapusnya dari internet. Membatasi akses bidang kontrol membantu memastikan bahwa hanya perangkat tepercaya dalam jaringan pribadi organisasi Anda yang dapat mengelola cluster, sehingga secara drastis mengurangi risiko serangan eksternal. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Menggunakan aturan firewall hak istimewa terendah
| ID kontrol Google | GKE-CO-1.2 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Saat Anda membuat aturan firewall, gunakan prinsip hak istimewa terendah guna membatasi akses hanya untuk tujuan yang diperlukan. Pastikan aturan firewall Anda tidak bentrok dengan aturan firewall default GKE jika memungkinkan. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Informasi terkait |
Menggunakan Google Grup untuk RBAC
| ID kontrol Google | GKE-CO-1.3 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Gunakan Google Grup untuk kontrol akses berbasis peran (RBAC), yang juga memungkinkan Anda berintegrasi dengan praktik pengelolaan akun pengguna yang ada, seperti mencabut akses saat seseorang keluar dari organisasi Anda. Google Grup untuk RBAC membantu memberikan pengelolaan akses cluster yang efisien menggunakan Identity and Access Management (IAM) dan Google Grup, yang cocok untuk sebagian besar organisasi yang menggunakan Google Grup. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Mengaktifkan Node GKE yang Terlindungi
| ID kontrol Google | GKE-CO-1.4 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Aktifkan Shielded GKE Node untuk verifikasi kriptografis node di cluster Anda. Shielded GKE Node memberikan identitas dan integritas node yang kuat serta dapat diverifikasi. Aktifkan Node GKE yang Terlindungi saat membuat atau mengupdate cluster. Jika memungkinkan, gunakan Shielded GKE Node dengan Booting Aman untuk juga mengautentikasi komponen booting VM node Anda selama proses booting. Jangan gunakan booting aman jika Anda memerlukan modul kernel pihak ketiga yang tidak ditandatangani. Node GKE yang Terlindungi diaktifkan secara default saat Anda membuat cluster. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Informasi terkait |
Menggunakan Container-Optimized OS dengan runtime containerd
| ID kontrol Google | GKE-CO-1.5 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Gunakan Container-Optimized OS untuk menerapkan OS container yang telah melalui proses hardening dan dikelola. Sistem operasi serbaguna mencakup banyak program tambahan yang tidak diperlukan untuk menjalankan container dan oleh karena itu menciptakan target yang lebih besar dan tidak perlu bagi penyerang. Container-Optimized OS adalah sistem operasi minimalis dan terkunci yang secara signifikan mengurangi permukaan serangan ini dengan hanya menyertakan apa yang diperlukan. Sebagai OS terkelola, Container-Optimized OS juga memiliki patch keamanan yang diterapkan secara otomatis oleh Google, yang membantu memastikan kerentanan penting diperbaiki dan mengurangi beban kerja operasional Anda. Image yang menyertakan Container-Optimized OS dengan containerd (cos_containerd) memiliki containerd sebagai runtime container utama yang terintegrasi langsung dengan Kubernetes. containerd adalah komponen runtime inti Docker dan dirancang untuk memberikan fungsionalitas container inti untuk Antarmuka Runtime Container (CRI) Kubernetes. containerd jauh lebih sederhana daripada daemon Docker yang lengkap, sehingga memiliki permukaan serangan yang lebih kecil. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Menggunakan Workload Identity Federation for GKE
| ID kontrol Google | GKE-CO-1.6 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Gunakan Workload Identity Federation for GKE untuk melakukan autentikasi ke Google Cloud API secara aman dari workload Google Kubernetes Engine (GKE). Workload Identity Federation for GKE memberikan alternatif yang lebih sederhana dan aman untuk menggunakan kunci akun layanan. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Mengaktifkan GKE Sandbox
| ID kontrol Google | GKE-CO-1.7 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Gunakan GKE Sandbox untuk memberikan lapisan keamanan tambahan guna membantu mencegah kode yang tidak tepercaya memengaruhi kernel host di node cluster Google Kubernetes Engine (GKE) Anda. GKE Sandbox meningkatkan isolasi workload untuk workload yang tidak tepercaya atau sensitif, sehingga memberikan lapisan perlindungan tambahan terhadap serangan container escape. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Menonaktifkan port hanya baca kubelet
| ID kontrol Google | GKE-CO-1.9 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Nonaktifkan port hanya baca kubelet 10255 dan gunakan port 10250 yang lebih aman. Kubernetes tidak melakukan pemeriksaan autentikasi atau otorisasi apa pun di port ini. Kubelet melayani endpoint yang sama di port 10250 yang lebih aman dan diautentikasi. Anda hanya dapat menonaktifkan port kubelet hanya baca yang tidak aman di GKE versi 1.26.4-gke.500 atau yang lebih baru. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Informasi terkait |
Menggunakan namespace dan RBAC untuk membatasi akses ke resource cluster
| ID kontrol Google | GKE-CO-1.10 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Buat namespace atau cluster terpisah untuk setiap tim dan lingkungan guna menerapkan akses hak istimewa terendah ke Kubernetes. Tetapkan pusat biaya dan label yang sesuai ke setiap namespace untuk akuntabilitas dan penagihan balik. Hanya berikan tingkat akses secukupnya kepada developer agar dapat mengakses namespace untuk men-deploy dan mengelola aplikasi mereka, terutama dalam produksi. Petakan tugas yang perlu dilakukan pengguna terhadap cluster dan tentukan izin yang diperlukan untuk melakukan setiap tugas. Tetapkan peran Identity and Access Management (IAM) yang sesuai untuk Google Kubernetes Engine (GKE) kepada grup dan pengguna untuk memberikan izin di tingkat project dan gunakan RBAC untuk memberikan izin di tingkat cluster dan namespace. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Informasi terkait |
Membatasi traffic di antara pod
| ID kontrol Google | GKE-CO-1.11 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Secara default, semua pod dalam cluster dapat saling berkomunikasi. Kontrol komunikasi antar-pod sesuai dengan kebutuhan workload Anda. Membatasi akses jaringan ke layanan dapat mempersempit ruang gerak penyerang dalam cluster Anda, dan juga memberikan perlindungan tambahan terhadap denial of service baik yang disengaja maupun tidak. Ada dua cara untuk mengontrol traffic:
|
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Informasi terkait |
Menggunakan pengontrol penerimaan untuk menerapkan kebijakan
| ID kontrol Google | GKE-CO-1.12 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Pengontrol penerimaan adalah plugin yang mengatur dan menerapkan cara penggunaan cluster. Aktifkan plugin ini agar dapat menggunakan beberapa fitur keamanan lanjutan di Kubernetes karena plugin ini merupakan bagian penting dari pendekatan pertahanan yang mendalam untuk melakukan hardening pada cluster Anda. Secara default, pod di Kubernetes dapat beroperasi dengan kemampuan melebihi yang dibutuhkan. Gunakan kontrol penerimaan untuk membatasi kemampuan pod hanya pada yang diperlukan untuk workload tersebut. GKE mendukung banyak kontrol untuk membatasi pod Anda agar dijalankan dengan kemampuan yang diberikan secara eksplisit. Misalnya, Pengontrol Kebijakan tersedia untuk cluster dalam fleet. Kubernetes juga memiliki pengontrol penerimaan PodSecurity bawaan yang memungkinkan Anda menerapkan Standar Keamanan Pod untuk tiap-tiap cluster. Pengontrol Kebijakan adalah fitur GKE yang memungkinkan Anda menerapkan dan memvalidasi keamanan pada cluster GKE dalam skala besar menggunakan kebijakan deklaratif. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Informasi terkait |
Membatasi kemampuan workload dalam modifikasi mandiri
| ID kontrol Google | GKE-CO-1.13 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Workload Kubernetes tertentu, terutama workload sistem, memiliki izin untuk menjalankan modifikasi mandiri. Sebagai contoh, beberapa workload melakukan penskalaan otomatis secara vertikal. Meskipun berguna, modifikasi mandiri dapat memungkinkan penyerang yang telah menyusupi node untuk menjelajahi cluster lebih dalam lagi. Misalnya, penyerang dapat membuat workload pada node melakukan modifikasi mandiri untuk dijalankan sebagai akun layanan dengan hak istimewa yang berada di namespace yang sama. Jangan berikan izin kepada workload untuk melakukan modifikasi mandiri secara default. Jika memerlukan modifikasi mandiri, batasi izin dengan menerapkan batasan Pemilah Komunikasi atau Pengontrol Kebijakan, seperti NoUpdateServiceAccount dari library open source Pemilah Komunikasi, yang memberikan beberapa solusi keamanan bermanfaat. Saat Anda men-deploy kebijakan, izinkan pengontrol yang mengelola siklus proses cluster untuk mengabaikan kebijakan tersebut. Pengontrol harus membuat perubahan pada cluster, seperti menerapkan upgrade cluster. Misalnya, jika Anda men-deploy kebijakan NoUpdateServiceAccount di GKE, Anda harus menetapkan parameter berikut dalam batasan: parameters: allowedGroups: - system:masters allowedUsers: - system:addon-manager |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Informasi terkait |
Memantau konfigurasi cluster Anda
| ID kontrol Google | GKE-CO-1.14 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Audit konfigurasi cluster Anda untuk menemukan penyimpangan dari setelan yang ditentukan. Setelan yang dibahas dalam praktik terbaik ini, serta kesalahan konfigurasi umum lainnya, dapat diperiksa secara otomatis menggunakan Security Command Center. |
| Produk yang berlaku |
|
| Kontrol NIST-800-53 terkait |
|
| Informasi terkait |
Menerapkan Otorisasi Biner
| ID kontrol Google | BIN-CO-1.1 |
|---|---|
| Penerapan | Wajib |
| Deskripsi | Gunakan Otorisasi Biner untuk memastikan image tepercaya di-deploy ke Google Kubernetes Engine (GKE) dan Cloud Run. Otorisasi Biner membantu memastikan bahwa hanya image container terverifikasi dan tepercaya yang dapat di-deploy di cluster Anda, sehingga memperkuat keamanan supply chain software. |
| Produk yang berlaku |
|
| Jalur | constraints/binaryauthorization.requireBinauthz |
| Operator | == |
| Nilai |
|
| Kontrol NIST-800-53 terkait |
|
| Kontrol profil CRI terkait |
|
| Informasi terkait |
Langkah berikutnya
Tinjau kontrol pengelolaan data.
Lihat Google Cloud praktik terbaik dan panduan keamanan lainnya.