Mengonfigurasi kebijakan firewall hierarkis untuk mengizinkan traffic keluar dari jaringan VPC tertentu

Pelajari cara membuat dan mengonfigurasi kebijakan firewall hierarkis untuk mengizinkan traffic keluar yang berasal dari jaringan Virtual Private Cloud (VPC) tertentu di folder Anda ke alamat IP tertentu sebagai tujuan. Kebijakan firewall memblokir semua traffic keluar lainnya yang berasal dari folder Anda. Halaman ini membahas contoh pembuatan dua jaringan VPC, membuat instance virtual machine (VM) di jaringan VPC, menyiapkan kebijakan firewall hierarkis dengan aturan firewall, lalu menguji kebijakan firewall.

Sebelum memulai

Membuat folder

Buat folder di organisasi Anda.

  1. Di Konsol Google Cloud, buka halaman Manage resources.

    Buka Kelola resource

  2. Klik Create folder.

  3. Untuk Folder name, masukkan test-folder.

  4. Dalam daftar Organization, pilih nama resource organisasi Anda.

  5. Di kolom Lokasi, klik Jelajahi, lalu pilih resource organisasi Anda.

  6. Klik Buat.

Membuat project

Buat project di folder yang Anda buat di bagian sebelumnya.

  1. Di Konsol Google Cloud, buka halaman Manage resources.

    Buka Kelola resource

  2. Klik Buat proyek.

  3. Untuk Project name, masukkan test-project.

  4. Pilih akun penagihan untuk project tersebut.

  5. Dalam daftar Organization, pilih nama resource organisasi Anda.

  6. Di kolom Location, klik Browse, luaskan nama resource organisasi Anda, lalu pilih test-folder.

  7. Klik Buat.

Membuat dua jaringan VPC kustom dengan subnet IPv4

Buat dua jaringan VPC mode kustom, myvpc dengan subnet khusus IPv4 dan test-vpc dengan dua subnet khusus IPv4, dalam project yang Anda buat di bagian sebelumnya.

  1. Di konsol Google Cloud, pada halaman pemilih project, pilih test-project.

    Buka pemilih project

  2. Di konsol Google Cloud, buka halaman jaringan VPC.

    Buka VPC networks

  3. Klik Create VPC network.

  4. Untuk Name, masukkan myvpc.

  5. Untuk Mode pembuatan subnet, klik Kustom.

  6. Di bagian New subnet tentukan parameter konfigurasi berikut untuk subnet:

    • Nama: Masukkan myvpc-subnet-1.
    • Region: Pilih us-central1.
    • IPv4 range: Masukkan 10.0.0.0/24.
  7. Klik Selesai, lalu klik Buat.

  8. Untuk membuat jaringan VPC lain, klik Create VPC network.

  9. Untuk Name, masukkan test-vpc.

  10. Untuk Mode pembuatan subnet, klik Kustom.

  11. Di bagian New subnet, tentukan parameter konfigurasi berikut untuk subnet, lalu klik Done:

    • Nama: Masukkan testvpc-subnet-1.
    • Region: Pilih us-central1.
    • IPv4 range: Masukkan 10.0.0.0/16.
  12. Untuk menambahkan subnet lain ke jaringan test-vpc, klik Tambahkan subnet.

  13. Di bagian New subnet, tentukan parameter konfigurasi berikut untuk subnet, lalu klik Done:

    • Nama: Masukkan testvpc-subnet-ext.
    • Region: Pilih us-central1.
    • IPv4 range: Masukkan 192.168.1.0/24.
  14. Klik Buat.

Membuat VM

Buat tiga VM di subnet yang Anda konfigurasi di bagian sebelumnya.

Membuat VM di jaringan myvpc

Buat VM tanpa alamat IP eksternal di jaringan myvpc.

  1. Di konsol Google Cloud, buka halaman Create an instance.

    Buka halaman Buat instance

  2. Di panel Machine configuration, lakukan hal berikut:

    1. Untuk Name, masukkan myvpc-vm.
    2. Untuk Region, pilih us-central1 (Iowa).
  3. Di menu navigasi, klik Networking.

    1. Di bagian Network interfaces, klik default dan tentukan parameter konfigurasi berikut:
      • Jaringan: myvpc
      • Subnetwork: subnet-1 IPv4 (10.0.0.0/24)
      • External IPv4 address: None
    2. Klik Selesai.
  4. Klik Buat.

Membuat dua VM di jaringan test-vpc

Buat dua VM, satu tanpa alamat IP eksternal dan satu lagi dengan alamat IP eksternal. Saat Anda membuat VM dengan alamat IP eksternal, teruskan skrip startup untuk menginstal dan memulai server web Apache di VM tersebut.

Buat VM tanpa alamat IP eksternal:

  1. Di konsol Google Cloud, buka halaman Create an instance.

    Buka halaman Buat instance

  2. Di panel Machine configuration, lakukan hal berikut:

    1. Untuk Name, masukkan testvpc-vm.
    2. Untuk Region, pilih us-central1 (Iowa).
  3. Di menu navigasi, klik Networking.

    1. Di bagian Network interfaces, klik default dan tentukan parameter konfigurasi berikut:
      • Jaringan: test-vpc
      • Subnetwork: testvpc-subnet-1 IPv4 (10.0.0.0/16)
      • External IPv4 address: None
    2. Klik Selesai.
  4. Klik Buat.

Buat VM dengan alamat IP eksternal efemeral, dan teruskan skrip startup untuk menginstal dan memulai server web Apache:

  1. Di konsol Google Cloud, buka halaman Create an instance.

    Buka halaman Buat instance

  2. Di panel Machine configuration, lakukan hal berikut:

    1. Untuk Name, masukkan testvpc-apache-vm.
    2. Untuk Region, pilih us-central1 (Iowa).
  3. Di menu navigasi, klik Networking.

    1. Di bagian Network interfaces, klik default dan tentukan parameter konfigurasi berikut:
      • Jaringan: test-vpc
      • Subnetwork: testvpc-subnet-ext IPv4 (192.168.1.0/24)
      • External IPv4 address: Ephemeral
    2. Klik Selesai.
  4. Di menu navigasi, klik Advanced dan masukkan skrip berikut di kolom Startup script:

    #! /bin/bash
    apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    a2enmod ssl
    # Read VM network configuration:
    md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
    vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
    filter="{print \$NF}"
    vm_network="$(curl $md_vm/network-interfaces/0/network \
    -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
    vm_zone="$(curl $md_vm/zone \
    -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
    # Apache configuration:
    echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
    tee /var/www/html/index.html
    systemctl restart apache2
    

    Skrip sebelumnya men-deploy dan memulai server web Apache di VM ini.

  5. Klik Buat.

  6. Perhatikan alamat IP eksternal sementara yang ditetapkan ke VM ini dari halaman instance VM. Anda memerlukan alamat IP eksternal ini nanti.

Membuat Cloud Router dan gateway Cloud NAT

Di bagian sebelumnya, di jaringan myvpc, Anda telah membuat VM myvpc-vm tanpa alamat IP eksternal. Agar VM myvpc-vm dapat mengakses server web Apache yang berjalan di testvpc-apache-vm melalui internet publik, buat Cloud Router dan gateway Cloud NAT di subnet yang sama dengan tempat Anda membuat VM myvpc-vm.

  1. Di Konsol Google Cloud, buka halaman Cloud NAT.

    Buka Cloud NAT

  2. Klik Get started atau Create Cloud NAT gateway.

    Catatan: Jika ini adalah gateway Cloud NAT pertama yang Anda buat, klik Mulai. Jika Anda sudah memiliki gateway, Google Cloud akan menampilkan tombol gateway Create Cloud NAT. Untuk membuat gateway lain, klik gateway Create Cloud NAT.

  3. Untuk Gateway name, masukkan myvpc-gateway.

  4. Untuk Jenis NAT, pilih Publik.

  5. Di bagian Select Cloud Router, tentukan parameter konfigurasi berikut:

    • Jaringan: Pilih myvpc.
    • Region: Pilih us-central1 (Iowa).
    • Cloud Router: Klik Create new router.
      1. Untuk Name, masukkan myvpc-router.
      2. Klik Buat.
  6. Klik Buat.

Membuat kebijakan firewall hierarkis dan menambahkan aturan firewall

Buat kebijakan firewall hierarkis dan tambahkan aturan kebijakan firewall berikut ke dalamnya:

  • Aktifkan IAP untuk semua VM di test-folder untuk mengaktifkan akses administratif ke VM.
  • Izinkan traffic masuk ke semua VM di jaringan test-vpc.
  • Delegasikan traffic keluar dari jaringan myvpc ke aturan berikutnya dalam hierarki, yaitu aturan VPC firewall implied IPv4 rule egress all.
  • Tolak traffic keluar yang berasal dari semua jaringan VPC lainnya di test-folder.

Untuk membuat kebijakan firewall hierarkis, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman pemilih project, lalu pilih test-folder.

    Buka pemilih project

  2. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.

    Buka Kebijakan firewall

  3. Klik Create firewall policy.

  4. Di bagian Configure policy, untuk Policy name, masukkan fw-egress-specific-vpc.

  5. Untuk Deskripsi, masukkan example-firewall-policy.

  6. Klik Lanjutkan.

  7. Di bagian Tambahkan aturan, klik Lanjutkan. Anda akan menambahkan aturan firewall di bagian berikutnya dalam panduan memulai ini.

  8. Di bagian Associate policy with resources, klik Add.

  9. Luaskan organisasi Anda, pilih test-folder, lalu klik Tambahkan.

  10. Klik Buat.

Menambahkan aturan firewall untuk mengaktifkan IAP di semua VM di test-folder

Agar IAP dapat terhubung ke semua VM di test-folder, Anda memerlukan aturan firewall dalam kebijakan firewall hierarkis dengan karakteristik berikut:

  • Berlaku untuk semua VM di test-folder yang ingin Anda akses menggunakan penerusan TCP IAP.
  • Mengizinkan traffic masuk dari rentang alamat IP 35.235.240.0/20. Rentang ini berisi semua alamat IP yang digunakan IAP untuk penerusan TCP.
  • Memungkinkan koneksi ke semua port yang ingin Anda akses menggunakan penerusan TCP IAP, misalnya, port 22 untuk SSH.

Untuk menambahkan aturan firewall, ikuti langkah-langkah berikut:

  1. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.

    Buka Kebijakan firewall

  2. Klik fw-egress-specific-vpc, lalu klik Add rule.

  3. Untuk Priority, masukkan 100.

  4. Untuk Deskripsi, masukkan enable-iap.

  5. Untuk Direction of traffic, pilih Ingress.

  6. Untuk Action on match, pilih Allow.

  7. Di bagian Source, untuk IP ranges, masukkan 35.235.240.0/20.

  8. Di bagian Protocols and ports, pilih Specified protocols and ports.

  9. Pilih kotak centang TCP, dan untuk Ports, masukkan 22.

  10. Klik Buat.

Menambahkan aturan firewall untuk mengizinkan traffic masuk di jaringan test-vpc

Tambahkan aturan firewall untuk mengizinkan traffic web HTTP masuk di port TCP 80 ke semua VM di jaringan test-vpc:

  1. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.

    Buka Kebijakan firewall

  2. Klik fw-egress-specific-vpc, lalu klik Add rule.

  3. Untuk Priority, masukkan 200.

  4. Untuk Deskripsi, masukkan allow-ingress-testvpc.

  5. Untuk Direction of traffic, pilih Ingress.

  6. Untuk Action on match, pilih Allow.

  7. Di bagian Target, klik Add network.

  8. Pilih project pengujian yang berisi jaringan test-vpc, lalu pilih test-vpc sebagai jaringan.

  9. Di bagian Source, untuk IP ranges, masukkan 0.0.0.0/0.

  10. Di bagian Protocols and ports, pilih Specified protocols and ports.

  11. Pilih kotak centang TCP, dan untuk Ports, masukkan 80.

  12. Klik Buat.

Menambahkan aturan firewall untuk mendelegasikan traffic keluar dari jaringan myvpc ke aturan berikutnya dalam hierarki

Tambahkan aturan firewall yang menggunakan tindakan goto_next untuk mendelegasikan traffic keluar dari jaringan myvpc ke aturan berikutnya di firewall, yaitu implied IPv4 allow egress aturan firewall VPC.

  1. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.

    Buka Kebijakan firewall

  2. Klik fw-egress-specific-vpc, lalu klik Add rule.

  3. Untuk Priority, masukkan 300.

  4. Untuk Deskripsi, masukkan delegate-egress-myvpc.

  5. Untuk Direction of traffic, pilih Egress.

  6. Untuk Action on match, pilih Go to next.

  7. Di bagian Target, klik Add network.

  8. Pilih nama project pengujian yang berisi myvpc, lalu pilih myvpc sebagai jaringan.

  9. Di bagian Destination, untuk IP ranges, masukkan alamat IP eksternal sementara untuk VM yang menjalankan server web Apache. Anda telah mencatat alamat IP ini di bagian Membuat dua VM di jaringan test-vpc.

  10. Klik Buat.

Menambahkan aturan firewall untuk menolak traffic keluar yang berasal dari semua jaringan VPC lainnya

Terakhir, tambahkan aturan firewall yang menolak traffic keluar dari semua jaringan VPC lainnya di test-folder.

  1. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.

    Buka Kebijakan firewall

  2. Klik fw-egress-specific-vpc, lalu klik Add rule.

  3. Untuk Priority, masukkan 400.

  4. Untuk Deskripsi, masukkan block-egress-all-traffic.

  5. Untuk Direction of traffic, pilih Egress.

  6. Untuk Action on match, pilih Deny.

  7. Di bagian Destination, untuk IP ranges, masukkan 0.0.0.0/0.

  8. Klik Buat.

Menguji kebijakan firewall hierarkis

Setelah Anda mengonfigurasi kebijakan firewall hierarkis, ikuti langkah-langkah berikut untuk menguji kebijakan:

  1. Buka konsol Google Cloud.

    Buka konsol Google Cloud

  2. Dari pemilih project di bagian atas halaman, pilih test-project tempat Anda telah membuat jaringan VPC.

  3. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  4. Di kolom Connect untuk myvpc-vm, klik SSH.

  5. Pada dialog SSH-in-browser, klik Authorize dan tunggu koneksi terbentuk.

  6. Untuk memverifikasi bahwa traffic keluar ke testvpc-apache-vm dari myvpc diizinkan, jalankan perintah berikut:

    curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
    

    Perintah sebelumnya menampilkan konten yang telah Anda tentukan untuk halaman index.html server web Apache, yang berarti koneksi keluar dari myvpc diizinkan.

  7. Untuk memverifikasi bahwa traffic keluar diblokir dari jaringan VPC lain di organisasi, lakukan hal berikut:

    1. Di konsol Google Cloud, buka halaman Instance VM.

      Buka instance VM

    2. Di kolom Connect untuk testvpc-vm, klik SSH.

    3. Pada dialog SSH-in-browser, klik Authorize, lalu tunggu koneksi dibuat.

    4. Untuk memverifikasi bahwa traffic keluar dari testvpc-vm ke testvpc-apache-vm diblokir, jalankan perintah berikut:

      curl <internal_IP_testvpc_apache_vm> -m 2
      

      Perintah sebelumnya menampilkan pesan Connection timed out, yang diharapkan karena Anda membuat aturan firewall untuk menolak traffic keluar dari semua jaringan VPC di organisasi, kecuali dari myvpc.

Pembersihan

Agar tidak dikenai biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam panduan memulai ini, hapus setiap resource, lalu hapus project dan folder.

Untuk menghapus resource yang dibuat dalam panduan memulai ini, selesaikan tugas berikut.

Menghapus kebijakan firewall hierarkis

  1. Buka konsol Google Cloud.

    Buka konsol Google Cloud

  2. Dari pemilih project di bagian atas halaman, pilih test-folder tempat Anda membuat resource untuk panduan memulai ini.

  3. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.

    Buka Kebijakan firewall

  4. Di bagian Kebijakan firewall yang terkait dengan node ini atau diwarisi oleh node, klik fw-egress-specific-vpc.

  5. Klik tab Pengaitan.

  6. Centang kotak test-folder, lalu klik Remove association.

  7. Pada dialog Hapus pengaitan dengan test-folder, klik Hapus.

  8. Klik Hapus.

  9. Pada dialog Hapus fw-egress-specific-vpc, klik Hapus

Menghapus VM

  1. Buka konsol Google Cloud.

    Buka konsol Google Cloud

  2. Dari pemilih project di bagian atas halaman, pilih test-project.

  3. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  4. Pilih kotak centang untuk myvpc-vm, testvpc-vm, dan testvpc-apache-vm.

  5. Klik Hapus.

  6. Pada dialog Hapus instance 3 instance, klik Hapus.

Menghapus Cloud Router dan gateway Cloud NAT

  1. Di konsol Google Cloud, buka halaman Cloud routers.

    Buka Cloud Router

  2. Centang kotak untuk myvpc-router.

  3. Klik Hapus.

  4. Pada dialog Hapus myvpc-router, klik Hapus.

Saat Anda menghapus Cloud Router, gateway Cloud NAT terkait juga akan dihapus.

Menghapus jaringan VPC dan subnet-nya

  1. Di konsol Google Cloud, buka halaman jaringan VPC.

    Buka jaringan VPC

  2. Di kolom Name, klik myvpc.

  3. Klik Delete VPC network.

  4. Pada dialog Hapus jaringan, klik Hapus.

    Demikian pula, hapus jaringan test-vpc.

Saat Anda menghapus jaringan VPC, subnetnya juga akan dihapus.

Menghapus project

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
  3. In the project list, select the project that you want to delete, and then click Delete.
  4. In the dialog, type the project ID, and then click Shut down to delete the project.

Menghapus folder

  1. Di Konsol Google Cloud, buka halaman Manage resources.

    Buka Kelola resource

  2. Jika folder yang ingin Anda hapus tertaut ke organisasi, luaskan daftar Organization di kolom Name.

  3. Di daftar folder, pilih test-folder, lalu klik Delete.

  4. Pada dialog, ketik ID folder, lalu klik Delete anyway untuk menghapus project.

Langkah berikutnya