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 mengetahui 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 CA Service, gunakan perintah berikut:

  gcloud services enable privateca.googleapis.com
  

Membuat CA pool

CA pool adalah kumpulan beberapa CA dengan kebijakan penerbitan sertifikat dan kebijakan Identity and Access Management (IAM) yang sama. CA pool memberikan kemampuan untuk merotasi rantai kepercayaan tanpa gangguan atau waktu henti untuk payload-nya.

Anda harus membuat CA pool sebelum dapat menggunakan CA Service untuk membuat CA. Bagian ini memandu Anda memahami izin yang diperlukan untuk menyelesaikan tugas ini, lalu menjelaskan cara membuat CA pool.

Untuk membuat sertifikat, pemeriksaan TLS menggunakan akun layanan terpisah untuk setiap project yang disebut service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com. Pastikan Anda telah memberikan izin ke akun layanan ini untuk menggunakan CA pool Anda. Jika akses ini dicabut, pemeriksaan TLS akan berhenti berfungsi.

Untuk mengambil PROJECT_NUMBER menggunakan PROJECT_ID project CA pool, gunakan perintah berikut:

gcloud projects describe <var>PROJECT_ID</var>
    --format="value(projectNumber)"

Untuk membuat pool, gunakan perintah gcloud privateca pools create dan tentukan ID pool subordinat, tingkat, ID project, dan lokasi.

gcloud privateca pools create SUBORDINATE_POOL_ID \
    --tier=TIER \
    --project=PROJECT_ID \
    --location=REGION

Ganti kode berikut:

  • SUBORDINATE_POOL_ID: nama CA pool
  • TIER: tingkat CA, baik devops atau enterprise

    Sebaiknya buat CA pool di tingkat devops karena pelacakan sertifikat yang diterbitkan satu per satu tidak diperlukan.

  • PROJECT_ID: ID project CA pool

  • REGION: lokasi CA pool

Membuat CA pool subordinat

Jika Anda memiliki beberapa skenario penerbitan sertifikat, Anda dapat membuat CA subordinat untuk setiap skenario tersebut. Anda dapat membuat CA subordinat di CA pool, dan CA root menandatangani semua CA di CA pool tersebut. Sertifikat ini digunakan untuk menandatangani sertifikat server yang dibuat untuk pemeriksaan TLS.

Untuk membuat CA pool subordinat, gunakan salah satu metode berikut.

Membuat CA pool subordinat menggunakan CA root yang ada dan disimpan dalam Certificate Authority Service

Untuk membuat CA subordinat, lakukan hal berikut:

  1. Membuat CA pool
  2. Membuat CA subordinat dalam CA pool

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

Untuk membuat CA subordinat, lakukan hal berikut:

  1. Membuat CA pool
  2. Membuat CA subordinat yang ditandatangani oleh CA root eksternal

Membuat CA root

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

Untuk membuat CA root, lakukan hal berikut:

  1. Membuat CA root
  2. Membuat CA pool subordinat menggunakan CA root yang ada dan disimpan dalam CA Service

Membuat akun layanan

Akun layanan membantu memberikan izin yang diperlukan untuk pemeriksaan TLS tanpa mengorbankan keamanan akun pengguna atau instance Secure Web Proxy Anda.

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 membuat akun layanan yang disebut service-[PROJECT_NUMBER]@gcp-sa-networksecurity.iam.gserviceaccount.com.

    Untuk mengambil PROJECT_NUMBER menggunakan PROJECT_ID project CA pool, gunakan perintah berikut:

    gcloud projects describe PROJECT_ID
        --format="value(projectNumber)"
    
  2. Untuk akun layanan yang Anda buat, berikan izin untuk membuat sertifikat dengan CA pool 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 konsol, buka halaman TLS inspection policies.

    Buka TLS inspection policies

  2. Di menu pemilih project, pilih project Anda.

  3. Klik Create TLS inspection policy.

  4. Di kolom Name, masukkan nama untuk kebijakan.

  5. Opsional: Di kolom Description, masukkan deskripsi untuk kebijakan.

  6. Dalam daftar Region, pilih region tempat Anda ingin membuat kebijakan.

  7. Dalam daftar CA pool, pilih CA pool tempat Anda ingin membuat sertifikat.

    Jika belum mengonfigurasi CA pool, klik New Pool dan ikuti petunjuk di bagian Membuat CA pool.

  8. 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 CA pool tempat sertifikat akan dibuat

    CA pool harus ada dalam region yang sama.

Mengimpor kebijakan pemeriksaan TLS

Impor kebijakan pemeriksaan TLS yang Anda buat pada 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 konsol, buka halaman SWP Policies.

    Buka SWP Policies

  2. Klik Create a policy.

  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 ingin membuat aturan untuk kebijakan Anda, klik Continue, lalu klik Add rule. Untuk mengetahui detailnya, lihat Membuat aturan Secure Web Proxy.

  9. Klik Create.

Membuat aturan Secure Web Proxy

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

    Buka SWP Policies

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

  3. Klik nama kebijakan Anda.

  4. Klik Add rule.

  5. Isi kolom aturan:

    1. Name
    2. Description
    3. Status
    4. Prioritas: urutan evaluasi numerik aturan. Aturan dievaluasi dari prioritas tertinggi hingga 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 mengetahui 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 Add rule untuk menambahkan aturan lain.

  7. Klik Create untuk membuat kebijakan.

Menyiapkan proxy web

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

    Buka Web Proxies

  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. Dalam daftar Regions, pilih region tempat Anda ingin membuat proxy web.

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

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

  8. Opsional: Masukkan alamat IP Secure Web Proxy. Anda dapat memasukkan alamat IP dari rentang alamat IP Secure Web Proxy yang berada di subnetwork yang Anda buat pada langkah sebelumnya. Jika Anda tidak memasukkan alamat IP, instance Secure Web Proxy akan otomatis memilih alamat IP dari subnetwork yang dipilih.

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

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