Membatasi versi TLS
Halaman ini menjelaskan cara mencegah akses ke resource Google Cloud dengan menolak permintaan yang dibuat menggunakan Transport Layer Security (TLS) 1.0 atau 1.1.
Ringkasan
Google Cloud mendukung beberapa versi protokol TLS. Untuk
memenuhi persyaratan kepatuhan, sebaiknya tolak permintaan handshake dari
klien yang menggunakan versi TLS sebelumnya. Untuk melakukannya, Anda dapat menggunakan
batasan kebijakan organisasi gcp.restrictTLSVersion
.
Batasan gcp.restrictTLSVersion
dapat diterapkan ke organisasi, folder, atau project dalam
hierarki resource.
Batasan ini menggunakan
daftar yang ditolak,
yang menolak nilai eksplisit dan mengizinkan semua nilai lainnya. Error akan terjadi jika Anda
mencoba menggunakan daftar yang diizinkan.
Karena perilaku evaluasi hierarki kebijakan organisasi, batasan versi TLS berlaku untuk node resource yang ditentukan dan semua turunannya. Misalnya, jika Anda menolak TLS versi 1.0 untuk organisasi, TLS tersebut juga akan ditolak untuk semua folder dan project (turunan) yang berasal dari organisasi tersebut.
Anda dapat mengganti batasan versi TLS yang diwarisi dengan memperbarui kebijakan organisasi di resource turunan. Misalnya, jika kebijakan organisasi Anda menolak TLS 1.0 di tingkat organisasi, Anda dapat menghapus batasan untuk folder turunan dengan menetapkan kebijakan organisasi terpisah di folder tersebut. Jika folder memiliki turunan, kebijakan folder juga akan diterapkan pada setiap resource turunan karena pewarisan kebijakan.
Sebelum memulai
- Untuk menetapkan, mengubah, atau menghapus kebijakan organisasi, Anda harus terlebih dahulu diberi
peran Identity and Access Management (IAM) Organization Policy Administrator (
roles/orgpolicy.policyAdmin
).
Membatasi versi TLS
Untuk membatasi satu atau beberapa versi TLS, selesaikan langkah-langkah berikut:
Konsol
Buka halaman Organization policies di konsol Google Cloud .
Pilih pemilih project di bagian atas halaman.
Dari pemilih project, pilih resource yang ingin Anda tetapkan kebijakan organisasinya.
Pilih batasan Batasi Versi TLS dari daftar di halaman Kebijakan organisasi.
Untuk memperbarui kebijakan organisasi untuk resource ini, klik Edit.
Pada halaman Edit, pilih Customize.
Di bagian Policy enforcement, pilih opsi penerapan:
Untuk menggabungkan dan mengevaluasi kebijakan organisasi Anda secara bersamaan, pilih Gabungkan dengan induk. Untuk informasi selengkapnya tentang pewarisan dan hierarki resource, lihat Memahami evaluasi hierarki.
Untuk mengganti kebijakan yang diwarisi dari resource induk, pilih Ganti.
Klik Tambahkan Aturan.
Di bagian Policy values, nilai default ditetapkan ke Deny all. Sebagai gantinya, pilih Kustom.
Di bagian Jenis kebijakan, pilih Tolak.
Di bagian Custom values, masukkan versi TLS yang akan ditolak. Nilai berikut adalah nilai kustom yang valid:
TLS_VERSION_1
untuk TLS 1.0TLS_VERSION_1_1
untuk TLS 1.1
Jika Anda membatasi lebih dari satu versi TLS, klik Add value dan masukkan nilai di kolom tambahan.
Untuk menyelesaikan dan menerapkan kebijakan organisasi, klik Save.
gcloud
Gunakan perintah gcloud org-policies set-policy
untuk menetapkan kebijakan organisasi pada resource:
gcloud org-policies set-policy POLICY_PATH
POLICY_PATH adalah jalur lengkap ke file kebijakan organisasi Anda, yang akan terlihat seperti berikut jika menggunakan format YAML:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
rules:
- values:
deniedValues:
- TLS_VERSION_1
- TLS_VERSION_1_1
Ganti dengan kode berikut:
RESOURCE_TYPE
adalahorganizations
,folders
, atauprojects
.RESOURCE_ID
adalah ID organisasi, ID folder, project ID, atau nomor project Anda, bergantung pada jenis resource yang ditentukan diRESOURCE_TYPE
.
Jalankan perintah berikut untuk memverifikasi bahwa kebijakan Anda telah diterapkan:
gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective
Ganti dengan kode berikut:
RESOURCE_TYPE
adalahorganization
,folder
, atauproject
.RESOURCE_ID
adalah ID organisasi, ID folder, project ID, atau nomor project Anda, bergantung pada jenis resource yang ditentukan diRESOURCE_TYPE
.
Menguji kebijakan
Batasan kebijakan pembatasan versi TLS dapat diuji untuk layanan dalam cakupan. Contoh perintah curl berikut memvalidasi batasan versi TLS untuk bucket Cloud Storage.
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/GCS_BUCKET_NAME/o" \ --tlsvTLS_VERSION --tls-max TLS_VERSION --ciphers DEFAULT@SECLEVEL=0
Tidak ada spasi di antara --tlsv
dan nilai. Contoh: --tlsv1.1
Ganti dengan kode berikut:
GCS_BUCKET_NAME
adalah nama bucket Cloud Storage di project Anda, sepertimybucketname
.TLS_VERSION
adalah versi TLS seperti1.0
atau1.1
yang ditolak dalam kebijakan yang dikonfigurasi.
Contoh permintaan curl
berikut menunjukkan GCS_BUCKET_NAME yang ditetapkan
ke mybucketname
dan TLS_VERSION yang ditetapkan ke 1.1
:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/mybucketname/o" \ --tlsv1.1 --tls-max 1.1 --ciphers DEFAULT@SECLEVEL=0
Jika kebijakan organisasi dikonfigurasi untuk membatasi TLS_VERSION_X
, setiap
upaya untuk mengakses resource dengan TLS_VERSION_X
dalam project yang dibatasi kebijakan
dalam contoh perintah ini akan gagal. Pesan error akan ditampilkan yang
menjelaskan alasan kegagalan ini.
Request is disallowed by organization's constraints/gcp.restrictTLSVersion constraint for 'projects/PROJECT_NUMBER' to use service 'SERVICE_NAME.googleapis.com' by violated TLS version `TLS_VERSION_X`
Output ini mencakup nilai-nilai berikut:
PROJECT_NUMBER
: nomor project yang menghosting resource yang dirujuk dalam perintah sebelumnya.SERVICE_NAME
: nama layanan dalam cakupan yang diblokir oleh kebijakan pembatasan TLS.
Layanan yang didukung
Pembatasan versi TLS didukung oleh API resource Google Cloud yang memiliki header yang ditandatangani oleh Google Front End (GFE).
Layanan yang tidak didukung
Batasan kebijakan organisasi pembatasan versi TLS tidak berlaku untuk layanan berikut:
- App Engine (
*.appspot.com
) - Fungsi Cloud Run (
*.cloudfunctions.net
), - Cloud Run (
*.run.app
) - Private Service Connect
- Domain kustom
Untuk membatasi versi TLS untuk layanan ini, gunakan Cloud Load Balancing
bersama dengan kebijakan SSL. Anda juga dapat
menggunakan batasan constraints/compute.requireSslPolicy
yang telah ditentukan sebelumnya
bersama dengan batasan kustom untuk kebijakan SSL guna
menerapkan batasan versi TLS dan cipher suite untuk load balancer.
Langkah selanjutnya
- Pelajari produk yang didukung untuk setiap paket kontrol.