Mengaktifkan pemeriksaan TLS

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 CA
  • TIER: Tingkat CA, devops atau enterprise

    Sebaiknya buat kumpulan CA di tingkat devops karena pelacakan sertifikat yang dikeluarkan satu per satu tidak diperlukan.

  • PROJECT_ID: ID project CA pool

  • REGION: 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:

  1. Membuat kumpulan CA
  2. Membuat subordinate CA dalam kumpulan CA

Membuat kumpulan CA subordinat menggunakan root CA yang ada dan disimpan secara eksternal

Untuk membuat CA subordinat, lakukan hal berikut:

  1. Membuat kumpulan CA
  2. Membuat subordinate CA yang ditandatangani oleh root CA eksternal

Membuat CA root

Jika CA root tidak ada, Anda dapat membuatnya dalam Layanan CA.

Untuk membuat CA root, lakukan hal berikut:

  1. Membuat root CA
  2. 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.

  1. 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 menggunakan PROJECT_ID project kumpulan CA, gunakan perintah berikut:

    gcloud projects describe PROJECT_ID
        --format="value(projectNumber)"
    
  2. 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

  1. Di Google Cloud console, buka halaman TLS inspection policies.

    Buka kebijakan pemeriksaan TLS

  2. Di menu pemilih project, pilih project Anda.

  3. Klik Create TLS Inspection Policy.

  4. Untuk Name, masukkan nama.

  5. Opsional: Di kolom Deskripsi, masukkan deskripsi.

  6. Di daftar Region, pilih region tempat Anda ingin membuat kebijakan pemeriksaan TLS.

  7. 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.

  8. Opsional: Dalam daftar Minimum TLS version, pilih versi TLS minimum yang didukung oleh kebijakan.

  9. 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.

  10. 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.

  11. Klik Create.

gcloud

  1. Buat file TLS_INSPECTION_FILE.yaml. Ganti TLS_INSPECTION_FILE dengan nama file yang diperlukan.

  2. 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 project
    • REGION: region tempat kebijakan akan dibuat
    • TLS_INSPECTION_NAME: nama kebijakan pemeriksaan TLS Secure Web Proxy
    • CA_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

  1. Di Google Cloud console, buka halaman SWP Policies.

    Buka Kebijakan SWP

  2. Klik Buat kebijakan.

  3. Masukkan nama untuk kebijakan yang ingin Anda buat, seperti myswppolicy.

  4. Masukkan deskripsi kebijakan, seperti My new swp policy.

  5. Dalam daftar Regions, pilih region tempat Anda ingin membuat kebijakan Secure Web Proxy.

  6. Untuk mengonfigurasi pemeriksaan TLS, pilih Configure TLS inspection.

  7. Dalam daftar TLS inspection policy, pilih kebijakan pemeriksaan TLS yang Anda buat.

  8. Jika Anda ingin membuat aturan untuk kebijakan, klik Lanjutkan, lalu klik Tambahkan aturan. Untuk mengetahui detailnya, lihat Membuat aturan Secure Web Proxy.

  9. Klik Create.

Membuat aturan Secure Web Proxy

  1. Di Google Cloud console, buka halaman SWP Policies.

    Buka Kebijakan SWP

  2. Di menu pemilih project, pilih ID organisasi atau folder yang berisi kebijakan Anda.

  3. Klik nama kebijakan Anda.

  4. Klik Tambahkan aturan.

  5. Isi kolom aturan:

    1. Nama
    2. Deskripsi
    3. Status
    4. Prioritas: urutan evaluasi numerik aturan. Aturan dievaluasi dari prioritas tertinggi ke terendah dengan 0 adalah prioritas tertinggi.
    5. Di bagian Action, tentukan apakah koneksi yang cocok dengan aturan diizinkan (Allow) atau ditolak (Deny).
    6. Di bagian Session Match, tentukan kriteria untuk mencocokkan sesi. Untuk informasi selengkapnya tentang sintaksis untuk SessionMatcher, lihat referensi bahasa pencocok CEL.
    7. Untuk mengaktifkan pemeriksaan TLS, pilih Enable TLS inspection.
    8. Di bagian Application Match, tentukan kriteria untuk mencocokkan permintaan. Jika Anda tidak mengaktifkan aturan untuk pemeriksaan TLS, permintaan hanya dapat cocok dengan traffic HTTP.
    9. Klik Create.
  6. Klik Tambahkan aturan untuk menambahkan aturan lain.

  7. Klik Create untuk membuat kebijakan.

Menyiapkan proxy web

  1. Di Google Cloud console, buka halaman Web Proxies.

    Buka Proxy Web

  2. Klik Create a secure web proxy.

  3. Masukkan nama untuk proxy web yang ingin Anda buat, seperti myswp.

  4. Masukkan deskripsi proxy web, seperti My new swp.

  5. Di daftar Regions, pilih region tempat Anda ingin membuat proxy web.

  6. Di daftar Network, pilih jaringan tempat Anda ingin membuat proxy web.

  7. Di daftar Subnetwork, pilih subnetwork tempat Anda ingin membuat proxy web.

  8. Masukkan alamat IP proxy web.

  9. Di daftar Certificate, pilih sertifikat yang ingin Anda gunakan untuk membuat proxy web.

  10. Di daftar Policy, pilih kebijakan yang Anda buat untuk mengaitkan proxy web.

  11. Klik Create.

Cloud Shell

  1. 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
    
  2. Buat kebijakan Secure Web Proxy:

      gcloud network-security gateway-security-policies import policy1 \
          --source=policy.yaml --location=REGION
    
  3. 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
    
  4. Buat aturan kebijakan keamanan.

      gcloud network-security gateway-security-policies rules import allow-example-com \
          --source=rule.yaml \
          --location=REGION \
          --gateway-security-policy=policy1
    
  5. Untuk melampirkan kebijakan pemeriksaan TLS ke kebijakan keamanan yang ada, buat file POLICY_FILE.yaml. Ganti POLICY_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
    

Apa langkah selanjutnya?