Halaman ini menjelaskan cara mengaktifkan pemeriksaan Transport Layer Security (TLS) untuk instance Secure Web Proxy Anda. Secure Web Proxy menawarkan layanan pemeriksaan TLS yang memungkinkan Anda mencegat traffic TLS, memeriksa permintaan terenkripsi, dan menerapkan kebijakan keamanan. Untuk informasi selengkapnya tentang pemeriksaan TLS, lihat Ringkasan pemeriksaan TLS.
Sebelum memulai
Sebelum mengonfigurasi instance Secure Web Proxy untuk pemeriksaan TLS, selesaikan tugas di bagian berikut.
Mengaktifkan Certificate Authority Service
Secure Web Proxy menggunakan Certificate Authority Service untuk membuat sertifikat yang digunakan untuk pemeriksaan TLS.
Untuk mengaktifkan Layanan CA, gunakan perintah berikut:
gcloud services enable privateca.googleapis.com
Membuat kumpulan CA
Kumpulan certificate authority (CA) adalah kumpulan beberapa CA dengan kebijakan penerbitan sertifikat dan kebijakan Identity and Access Management (IAM) yang sama. Kumpulan CA memberikan kemampuan untuk merotasi rantai kepercayaan tanpa pemadaman atau periode nonaktif untuk payload-nya.
Anda harus membuat kumpulan CA sebelum dapat menggunakan Layanan CA untuk membuat CA. Bagian ini akan memandu Anda melalui izin yang diperlukan untuk menyelesaikan tugas ini, lalu menjelaskan cara membuat kumpulan CA.
Untuk membuat sertifikat, pemeriksaan TLS menggunakan akun layanan terpisah untuk setiap project yang disebut
service-[PROJECT_NUMBER]@gcp-sa-certmanager.iam.gserviceaccount.com
.
Pastikan Anda telah memberikan izin ke akun layanan ini untuk menggunakan kumpulan CA Anda. Jika akses ini dicabut, pemeriksaan TLS akan berhenti berfungsi.
Untuk mengambil PROJECT_NUMBER
menggunakan
PROJECT_ID
project kumpulan CA, gunakan perintah
berikut:
gcloud projects describe <var>PROJECT_ID</var>
--format="value(projectNumber)"
Untuk membuat kumpulan, gunakan perintah gcloud privateca pools create
dan
tentukan ID kumpulan subordinat, tingkat, project ID, dan lokasi.
gcloud privateca pools create SUBORDINATE_POOL_ID \ --tier=TIER \ --project=PROJECT_ID \ --location=REGION
Ganti kode berikut:
SUBORDINATE_POOL_ID
: nama kumpulan CATIER
: Tingkat CA,devops
atauenterprise
Sebaiknya buat kumpulan CA di tingkat
devops
karena pelacakan sertifikat yang dikeluarkan satu per satu tidak diperlukan.PROJECT_ID
: ID project CA poolREGION
: lokasi kumpulan CA
Membuat kumpulan CA subordinat
Jika memiliki beberapa skenario penerbitan sertifikat, Anda dapat membuat CA subordinat untuk setiap skenario tersebut. Anda dapat membuat CA subordinat di kumpulan CA, dan root CA akan menandatangani semua CA di kumpulan CA tersebut. Sertifikat ini digunakan untuk menandatangani sertifikat server yang dihasilkan untuk pemeriksaan TLS.
Untuk membuat kumpulan CA subordinat, gunakan salah satu metode berikut.
Membuat kumpulan CA turunan menggunakan root CA yang ada dan disimpan dalam Layanan Certificate Authority
Untuk membuat CA subordinat, lakukan hal berikut:
Membuat kumpulan CA subordinat menggunakan root CA yang ada dan disimpan secara eksternal
Untuk membuat CA subordinat, lakukan hal berikut:
Membuat CA root
Jika CA root tidak ada, Anda dapat membuatnya dalam Layanan CA.
Untuk membuat CA root, lakukan hal berikut:
- Membuat root CA
- Membuat kumpulan CA subordinat menggunakan root CA yang ada dan disimpan dalam Layanan CA
Membuat akun layanan
Akun layanan membantu memberikan izin yang diperlukan untuk pemeriksaan TLS tanpa mengorbankan keamanan akun pengguna atau instance Secure Web Proxy itu sendiri.
Jika tidak memiliki akun layanan, Anda harus membuatnya, lalu memberikan izin yang diperlukan ke akun layanan tersebut.
Membuat akun layanan.
gcloud beta services identity create \ --service=networksecurity.googleapis.com \ --project=PROJECT_ID
Sebagai respons, Google Cloud CLI akan membuat akun layanan bernama
service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com
.Untuk mengambil
PROJECT_NUMBER
menggunakanPROJECT_ID
project kumpulan CA, gunakan perintah berikut:gcloud projects describe PROJECT_ID --format="value(projectNumber)"
Untuk akun layanan yang Anda buat, berikan izin untuk membuat sertifikat dengan kumpulan CA Anda.
gcloud privateca pools add-iam-policy-binding CA_POOL \ --member='serviceAccount:SERVICE_ACCOUNT' \ --role='roles/privateca.certificateManager' \ --location='REGION'
Mengonfigurasi Secure Web Proxy untuk pemeriksaan TLS
Anda dapat melanjutkan tugas di bagian ini hanya setelah menyelesaikan tugas prasyarat yang tercantum di bagian Sebelum memulai.
Untuk mengonfigurasi pemeriksaan TLS, selesaikan tugas di bagian berikut.
Membuat kebijakan pemeriksaan TLS
Konsol
Di Google Cloud console, buka halaman TLS inspection policies.
Di menu pemilih project, pilih project Anda.
Klik Create TLS Inspection Policy.
Untuk Name, masukkan nama.
Opsional: Di kolom Deskripsi, masukkan deskripsi.
Di daftar Region, pilih region tempat Anda ingin membuat kebijakan pemeriksaan TLS.
Di daftar CA pool, pilih CA pool tempat Anda ingin membuat sertifikat.
Jika Anda belum mengonfigurasi kumpulan CA, klik Kumpulan Baru dan ikuti petunjuk di Membuat kumpulan CA.
Opsional: Dalam daftar Minimum TLS version, pilih versi TLS minimum yang didukung oleh kebijakan.
Untuk Trust Configuration, pilih salah satu opsi berikut:
- Khusus CA publik: pilih opsi ini jika Anda ingin memercayai server dengan sertifikat yang ditandatangani secara publik.
Khusus CA Pribadi: pilih opsi ini jika Anda ingin memercayai server dengan sertifikat yang ditandatangani secara pribadi.
Dalam daftar Private trust configuration, pilih konfigurasi kepercayaan dengan trust store yang dikonfigurasi untuk digunakan dalam memercayai sertifikat server upstream. Untuk mengetahui informasi selengkapnya tentang cara membuat konfigurasi kepercayaan, lihat Membuat konfigurasi kepercayaan.
CA publik dan pribadi: pilih opsi ini jika Anda ingin menggunakan CA publik dan pribadi.
Opsional: Dalam daftar Cipher suite profile, pilih jenis profil TLS. Anda dapat memilih dari salah satu nilai berikut:
- Kompatibel: memungkinkan kumpulan klien terluas, termasuk klien yang hanya mendukung fitur TLS yang sudah tidak berlaku, untuk menegosiasikan TLS.
- Modern: mendukung berbagai fitur TLS, yang memungkinkan klien modern menegosiasikan TLS.
- Dibatasi: mendukung kumpulan fitur TLS yang dikurangi yang dimaksudkan untuk memenuhi persyaratan kepatuhan yang lebih ketat.
Kustom: memungkinkan Anda memilih fitur TLS satu per satu.
Dalam daftar Cipher suites, pilih cipher suites yang didukung oleh profil kustom.
Klik Create.
gcloud
Buat file
TLS_INSPECTION_FILE.yaml
. GantiTLS_INSPECTION_FILE
dengan nama file yang diperlukan.Tambahkan kode berikut ke file YAML untuk mengonfigurasi TlsInspectionPolicy yang diperlukan:
name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL
Ganti kode berikut:
PROJECT_ID
: ID projectREGION
: region tempat kebijakan akan dibuatTLS_INSPECTION_NAME
: nama kebijakan pemeriksaan TLS Secure Web ProxyCA_POOL
: nama kumpulan CA tempat sertifikat akan dibuat
Kumpulan CA harus ada dalam region yang sama.
Mengimpor kebijakan pemeriksaan TLS
Impor kebijakan pemeriksaan TLS yang Anda buat di langkah sebelumnya:
gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \
--source=TLS_INSPECTION_FILE.yaml \
--location=REGION
Menambahkan kebijakan pemeriksaan TLS ke kebijakan keamanan
Konsol
Membuat kebijakan proxy web
Di Google Cloud console, buka halaman SWP Policies.
Klik
Buat kebijakan.Masukkan nama untuk kebijakan yang ingin Anda buat, seperti
myswppolicy
.Masukkan deskripsi kebijakan, seperti
My new swp policy
.Dalam daftar Regions, pilih region tempat Anda ingin membuat kebijakan Secure Web Proxy.
Untuk mengonfigurasi pemeriksaan TLS, pilih Configure TLS inspection.
Dalam daftar TLS inspection policy, pilih kebijakan pemeriksaan TLS yang Anda buat.
Jika Anda ingin membuat aturan untuk kebijakan, klik Lanjutkan, lalu klik Tambahkan aturan. Untuk mengetahui detailnya, lihat Membuat aturan Secure Web Proxy.
Klik Create.
Membuat aturan Secure Web Proxy
Di Google Cloud console, buka halaman SWP Policies.
Di menu pemilih project, pilih ID organisasi atau folder yang berisi kebijakan Anda.
Klik nama kebijakan Anda.
Klik
Tambahkan aturan.Isi kolom aturan:
- Nama
- Deskripsi
- Status
- Prioritas: urutan evaluasi numerik aturan. Aturan
dievaluasi dari prioritas tertinggi ke terendah dengan
0
adalah prioritas tertinggi. - Di bagian Action, tentukan apakah koneksi yang cocok dengan aturan diizinkan (Allow) atau ditolak (Deny).
- Di bagian Session Match, tentukan kriteria untuk
mencocokkan sesi. Untuk informasi selengkapnya tentang sintaksis untuk
SessionMatcher
, lihat referensi bahasa pencocok CEL. - Untuk mengaktifkan pemeriksaan TLS, pilih Enable TLS inspection.
- Di bagian Application Match, tentukan kriteria untuk mencocokkan permintaan. Jika Anda tidak mengaktifkan aturan untuk pemeriksaan TLS, permintaan hanya dapat cocok dengan traffic HTTP.
- Klik Create.
Klik Tambahkan aturan untuk menambahkan aturan lain.
Klik Create untuk membuat kebijakan.
Menyiapkan proxy web
Di Google Cloud console, buka halaman Web Proxies.
Klik
Create a secure web proxy.Masukkan nama untuk proxy web yang ingin Anda buat, seperti
myswp
.Masukkan deskripsi proxy web, seperti
My new swp
.Di daftar Regions, pilih region tempat Anda ingin membuat proxy web.
Di daftar Network, pilih jaringan tempat Anda ingin membuat proxy web.
Di daftar Subnetwork, pilih subnetwork tempat Anda ingin membuat proxy web.
Masukkan alamat IP proxy web.
Di daftar Certificate, pilih sertifikat yang ingin Anda gunakan untuk membuat proxy web.
Di daftar Policy, pilih kebijakan yang Anda buat untuk mengaitkan proxy web.
Klik Create.
Cloud Shell
Buat file
policy.yaml
:description: basic Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1 tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
Buat kebijakan Secure Web Proxy:
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml --location=REGION
Buat file
rule.yaml
:name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-example-com description: Allow example.com enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'example.com' applicationMatcher: request.path.contains('index.html') tlsInspectionEnabled: true
Buat aturan kebijakan keamanan.
gcloud network-security gateway-security-policies rules import allow-example-com \ --source=rule.yaml \ --location=REGION \ --gateway-security-policy=policy1
Untuk melampirkan kebijakan pemeriksaan TLS ke kebijakan keamanan yang ada, buat file
POLICY_FILE
.yaml. GantiPOLICY_FILE
dengan nama file Anda.description: My Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME