Untuk memeriksa traffic terenkripsi dan melindungi jaringan Virtual Private Cloud (VPC) Anda dari ancaman tersembunyi, konfigurasikan pemeriksaan Transport Layer Security (TLS) untuk Cloud Next Generation Firewall.
Jika Anda adalah administrator jaringan atau engineer keamanan yang mengonfigurasi pemeriksaan TLS, gunakan dokumen ini untuk menyiapkan lingkungan Anda.
Dokumen ini menunjukkan cara menyelesaikan tugas berikut:
- Mengonfigurasi resource certificate authority (CA)
- Membuat resource konfigurasi kepercayaan
- Mengaktifkan pemeriksaan TLS
Sebelum memulai, tinjau konsep dalam ringkasan pemeriksaan TLS.
Sebelum memulai
Sebelum mengonfigurasi pemeriksaan TLS, selesaikan tugas di bagian berikut.
Mengaktifkan Certificate Authority Service
Cloud NGFW menggunakan Certificate Authority Service untuk membuat certificate authority (CA) perantara. Cloud NGFW menggunakan CA perantara ini untuk membuat sertifikat yang digunakan untuk pemeriksaan TLS.
Anda dapat mengaktifkan CA Service API menggunakan Google Cloud konsol:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda
membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin).
Pelajari cara memberikan peran.
Untuk mengaktifkan CA Service menggunakan Google Cloud CLI, gunakan perintah berikut:
gcloud services enable privateca.googleapis.com
Mengaktifkan Certificate Manager
Cloud NGFW menggunakan Certificate Manager untuk membuat konfigurasi kepercayaan. Jika Anda tidak ingin menggunakan konfigurasi kepercayaan, lewati langkah ini.
Anda dapat mengaktifkan Certificate Manager API menggunakan Google Cloud konsol:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda
membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin).
Pelajari cara memberikan peran.
Untuk mengaktifkan Certificate Manager menggunakan Google Cloud CLI, gunakan perintah berikut:
gcloud services enable certificatemanager.googleapis.com
Membuat konfigurasi kepercayaan
Ini langkah opsional. Untuk membuat konfigurasi kepercayaan, ikuti langkah-langkah di bagian ini.
-
CA pool yang Anda buat pada langkah ini berbeda dengan CA pool yang Anda buat untuk mengonfigurasi kebijakan pemeriksaan TLS.
Buat CA root menggunakan CA pool yang Anda buat sebelumnya.
Atau, gunakan CA root eksternal yang ada dengan membuat CA bawahan dalam layanan CA. CA root eksternal harus menandatangani CA bawahan ini. Agar Cloud NGFW dapat menggunakan CA, CA root dan bawahan di CA pool harus memiliki panjang jalur minimal satu. Kolom
pathLenConstraintdalam sertifikat CA menentukan panjang jalur. Kolom ini menentukan jumlah maksimum sertifikat CA bawahan yang dapat ada di jalur sertifikasi di bawah sertifikat CA saat ini.Buat sertifikat menggunakan kunci yang dibuat otomatis. Gunakan nama CA pool yang sama dengan yang Anda buat sebelumnya.
Dapatkan sertifikat publik CA dari sertifikat yang dibuat.
$PEM-CERT=$(gcloud privateca roots describe ROOT_CA_NAME \ --location LOCATION \ --project PROJECT_ID \ --pool CA_POOL \ --format "value(pemCaCertificates)")
Ganti kode berikut:
ROOT_CA_NAME: nama CA rootLOCATION: lokasi CA rootPROJECT_ID: project ID CA rootCA_POOL: nama CA pool untuk membuat sertifikat
Buat dan impor konfigurasi kepercayaan menggunakan
PEM-CERTyang diperoleh pada langkah sebelumnya. Jika Anda menggunakan CA sendiri, gunakan sertifikat publik yang diperoleh dari CA Anda.
Anda menggunakan konfigurasi kepercayaan ini untuk membuat kebijakan pemeriksaan TLS.
Membuat CA pool
Anda harus membuat CA pool sebelum dapat menggunakan CA Service untuk membuat CA.
Untuk membuat CA pool, ikuti petunjuk di Membuat CA pool.
Anda menggunakan CA pool ini untuk membuat kebijakan pemeriksaan TLS.
Membuat CA root
Jika tidak memiliki CA root yang ada, Anda dapat membuatnya dalam CA Service. Untuk membuat CA root, ikuti petunjuk di Membuat CA root, dan gunakan CA pool yang sama dengan yang Anda buat sebelumnya (lihat bagian Membuat CA pool).
Untuk menggunakan CA root eksternal yang ada, buat CA bawahan dalam layanan CA, yang ditandatangani oleh CA root eksternal Anda.
Untuk NGFW Enterprise, sertifikat Bawahan memerlukan batasan panjang jalur minimal 1 agar dapat membuat CA perantara. Secara default, sertifikat bawahan dan CSR dibuat dengan batasan panjang jalur 0. Hal ini harus diubah. Saat ini, hal ini tidak dapat dilakukan melalui konsol dan hanya melalui perintah Google Cloud CLI yang disediakan CAS menggunakan beberapa flag berikut
Flag
--extended-key-usages: menentukan penggunaan kunci yang diperluas untuk sertifikat.Flag
--key-usages: menentukan penggunaan kunci untuk sertifikat.Flag
--max-chain-length: menentukan kedalaman maksimum CA bawahan yang diizinkan di bawah CA ini untuk sertifikat CA.
gcloud
gcloud privateca subordinates create SUBORDINATE_CA_ID \
--pool=SUBORDINATE_POOL_ID \
--location=LOCATION \
--create-csr --csr-output-file=FILE_NAME \
--key-algorithm="ec-p256-sha256" \
--subject="CN=Example Server TLS CA, O=Example LLC
--key-algorithm=rsa-pss-4096-sha256 \
--key-usages=cert_sign,crl_sign \
--extended-key-usages=server_auth \
--max-chain-length=1"
Ganti kode berikut:
- SUBORDINATE_CA_ID: ID unik CA bawahan.
- SUBORDINATE_POOL_ID: nama CA pool.
- LOCATION: lokasi CA pool.
- FILE_NAME: nama file tempat CSR berenkode PEM ditulis.
Tindakan ini akan membuat CSR yang menampilkan hal berikut
Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID] and saved CSR to FILE_NAME.
Untuk mengaktifkan CA bawahan, Anda harus menandatangani CSR setelah dibuat.
Membuat akun layanan
Jika tidak memiliki akun layanan, Anda harus membuatnya dan memberikan izin yang diperlukan.
Buat akun layanan:
gcloud beta services identity create \ --service networksecurity.googleapis.com \ --project PROJECT_IDGanti
PROJECT_IDdengan project ID akun layanan.Google Cloud CLI membuat akun layanan bernama
service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com. Di sini,PROJECT_NUMBERadalah ID unikPROJECT_IDyang Anda berikan dalam perintah sebelumnya.Berikan izin ke akun layanan Anda untuk membuat sertifikat yang menggunakan CA pool Anda:
gcloud privateca pools add-iam-policy-binding CA_POOL \ --member 'serviceAccount:SERVICE_ACCOUNT' \ --role 'roles/privateca.certificateRequester' \ --location REGIONGanti kode berikut:
CA_POOL: nama CA pool untuk membuat sertifikatSERVICE_ACCOUNT: nama akun layanan yang Anda buat pada langkah sebelumnyaLOCATION: region CA pool
Mengonfigurasi pemeriksaan TLS
Sebelum melanjutkan tugas di bagian ini, pastikan Anda telah mengonfigurasi sertifikat, atau telah 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 konsol, buka halaman Kebijakan pemeriksaan TLS.
Di menu pemilih project, pilih project Anda.
Klik Buat kebijakan pemeriksaan TLS.
Untuk Nama, 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 tidak memiliki CA pool yang dikonfigurasi, klik Pool Baru dan ikuti petunjuk di Membuat CA pool.
Opsional: Di daftar Versi TLS minimum, pilih versi TLS minimum yang didukung oleh kebijakan.
Untuk Konfigurasi Kepercayaan, pilih salah satu opsi berikut:
- Hanya CA publik: Pilih opsi ini jika Anda ingin memercayai server dengan sertifikat yang ditandatangani secara publik.
Hanya CA pribadi: Pilih opsi ini jika Anda ingin memercayai server dengan sertifikat yang ditandatangani secara pribadi.
Di daftar Konfigurasi kepercayaan pribadi, 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: Di daftar profil cipher suite, pilih jenis profil TLS. Anda dapat memilih salah satu nilai berikut:
- Kompatibel: memungkinkan kumpulan klien terluas, termasuk klien yang hanya mendukung fitur TLS yang sudah tidak berlaku, untuk melakukan negosiasi TLS.
- Modern: mendukung berbagai fitur TLS, sehingga klien modern dapat melakukan negosiasi TLS.
- Dibatasi: mendukung kumpulan fitur TLS yang dikurangi ditujukan untuk memenuhi persyaratan kepatuhan yang lebih ketat.
Kustom: memungkinkan Anda memilih fitur TLS satu per satu.
Di daftar Paket cipher, pilih nama paket cipher yang didukung oleh profil kustom.
Klik Buat.
gcloud
Buat file YAML
TLS_INSPECTION_FILE.yaml. GantiTLS_INSPECTION_FILEdengan nama file pilihan Anda.Tambahkan kode berikut ke file YAML untuk mengonfigurasi kebijakan pemeriksaan TLS.
name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL minTlsVersion: TLS_VERSION tlsFeatureProfile: PROFILE_TYPECIPHER_NAME excludePublicCaSet: `TRUE`|`FALSE` trustConfig: projects/PROJECT_ID/locations/REGION/trustConfigs/TRUST_CONFIG_NAMEGanti kode berikut:
PROJECT_ID: project ID kebijakan pemeriksaan TLSREGION: region tempat kebijakan pemeriksaan TLS dibuatTLS_INSPECTION_NAME: nama kebijakan pemeriksaan TLSCA_POOL: nama CA pool untuk membuat sertifikatCA pool harus ada dalam region yang sama.
TLS_VERSION: argumen opsional yang menentukan versi TLS minimum yang didukung oleh Cloud NGFWAnda dapat memilih salah satu nilai berikut:
TLS_1_0TLS_1_1TLS_1_2
PROFILE_TYPE: argumen opsional yang menentukan jenis profil TLSAnda dapat memilih salah satu nilai berikut:
PROFILE_COMPATIBLE: memungkinkan kumpulan klien terluas, termasuk klien yang hanya mendukung fitur TLS yang sudah tidak berlaku, untuk melakukan negosiasi TLS.PROFILE_MODERN: mendukung berbagai fitur TLS, sehingga klien modern dapat melakukan negosiasi TLS.PROFILE_RESTRICTED: mendukung kumpulan fitur TLS yang dikurangi dan ditujukan untuk memenuhi persyaratan kepatuhan yang lebih ketat.PROFILE_CUSTOM: memungkinkan Anda memilih fitur TLS satu per satu.
CIPHER_NAME: argumen opsional untuk menentukan nama paket cipher suite yang didukung oleh profil kustomAnda hanya menentukan argumen ini jika jenis profil ditetapkan ke
PROFILE_CUSTOM.excludePublicCaSet: flag opsional untuk menyertakan atau mengecualikan kumpulan CA publik. Secara default, flag ini ditetapkan ke false. Jika flag ini ditetapkan ke true, koneksi TLS tidak akan memercayai server CA publik. Dalam hal ini, Cloud NGFW hanya dapat membuat koneksi TLS ke server dengan sertifikat yang ditandatangani oleh CA dalam konfigurasi kepercayaan.TRUST_CONFIG_NAME: argumen opsional untuk menentukan nama resource konfigurasi kepercayaan
Impor kebijakan pemeriksaan TLS yang Anda buat di bagian Membuat kebijakan pemeriksaan TLS
gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \ --source TLS_INSPECTION_FILE.yaml \ --location REGIONGanti kode berikut:
TLS_INSPECTION_NAME: nama kebijakan pemeriksaan TLSTLS_INSPECTION_FILE: nama file YAML kebijakan pemeriksaan TLS
Menambahkan kebijakan pemeriksaan TLS ke asosiasi endpoint firewall
Untuk menambahkan kebijakan pemeriksaan TLS ke asosiasi endpoint firewall, ikuti langkah-langkah yang disebutkan di Membuat asosiasi endpoint firewall.
Mengonfigurasi aturan kebijakan firewall dengan pemeriksaan TLS
Untuk mengaktifkan pemeriksaan TLS untuk jaringan Virtual Private Cloud (VPC), tetapkan flag --tls-inspect dalam aturan kebijakan firewall Anda. Flag ini menunjukkan
bahwa pemeriksaan TLS dapat dilakukan saat
grup profil keamanan
diterapkan.
Untuk mempelajari lebih lanjut cara mengaktifkan flag --tls-inspect dalam aturan kebijakan firewall hierarkis, lihat Membuat aturan.
Untuk mempelajari lebih lanjut cara mengaktifkan flag --tls-inspect dalam aturan kebijakan firewall jaringan global, lihat Membuat aturan.
Apa langkah selanjutnya?
- Mengelola pemeriksaan TLS
- Mengonfigurasi layanan pemfilteran URL
- Mengonfigurasi layanan deteksi dan pencegahan penyusupan
- Membuat dan mengelola endpoint firewall