Konfigurasikan 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 lain 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. Pada Konsol Google Cloud, buka halaman Kelola resource

    Buka Kelola resource

  2. Klik Create folder.

  3. Untuk Folder name, masukkan test-folder.

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

  5. Di kolom Location, klik Browse, lalu pilih resource organisasi.

  6. Klik Create.

Membuat project

Buat project di folder yang Anda buat di bagian sebelumnya.

  1. Pada Konsol Google Cloud, buka halaman Kelola resource

    Buka Kelola resource

  2. Klik Create project.

  3. Untuk Project name, masukkan test-project.

  4. Pilih akun penagihan untuk project tersebut.

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

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

  7. Klik Create.

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

Membuat VM

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

Buat VM di jaringan myvpc

Buat VM tanpa alamat IP eksternal di jaringan myvpc.

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

    Buka Buat instance

  2. Klik Create instance.

  3. Untuk Name, masukkan myvpc-vm.

  4. Untuk Region, pilih us-central1 (Iowa).

  5. Perluas Advanced options, lalu luaskan Networking.

  6. Di bagian Network interfaces, perluas antarmuka jaringan yang ada dan tentukan parameter konfigurasi berikut:

    • Network: Pilih myvpc.
    • Subnetwork: Pilih subnet-1 IPv4 (10.0.0.0/24).
    • External IPv4 address: Pilih None.
  7. Klik Done.

  8. Klik Create.

Membuat dua VM di jaringan test-vpc

Buat dua VM, satu tanpa alamat IP eksternal dan VM lainnya 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 Buat instance

  2. Klik Create instance.

  3. Untuk Name, masukkan testvpc-vm.

  4. Untuk Region, pilih us-central1 (Iowa).

  5. Perluas Advanced options, lalu luaskan Networking.

  6. Di bagian Network interfaces, perluas antarmuka jaringan yang ada dan tentukan parameter konfigurasi berikut:

    • Network: Pilih test-vpc.
    • Subnetwork: Pilih testvpc-subnet-1 IPv4 (10.0.0.0/16).
    • External IPv4 address: Pilih None.
  7. Klik Done.

  8. Klik Create.

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

  1. Klik Create instance.
  2. Untuk Name, masukkan testvpc-apache-vm.
  3. Untuk Region, pilih us-central1 (Iowa).
  4. Perluas Advanced options, lalu luaskan Networking.
  5. Di bagian Network interfaces, perluas antarmuka jaringan yang ada dan tentukan parameter konfigurasi berikut:
    • Network: Pilih test-vpc.
    • Subnetwork: Pilih testvpc-subnet-ext IPv4 (192.168.1.0/24).
    • External IPv4 address: Pilih Ephemeral.
  6. Luaskan Pengelolaan.
  7. Di bagian Metadata, 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.

  8. Klik Done.

  9. Klik Create.

  10. Catat alamat IP eksternal sementara yang ditetapkan ke VM ini dari halaman VM instances. 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 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 Get started. Jika Anda sudah memiliki gateway, Google Cloud akan menampilkan tombol gateway Create Cloud NAT. Untuk membuat gateway lain, klik Create Cloud NAT.

  3. Untuk Gateway name, masukkan myvpc-gateway.

  4. Untuk NAT type, pilih Public.

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

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

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 guna 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 lain 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 Description, masukkan example-firewall-policy.

  6. Klik Lanjutkan.

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

  8. Di bagian Kaitkan kebijakan dengan resource, klik Tambahkan.

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

  10. Klik Create.

Tambahkan 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 Anda inginkan agar dapat diakses dengan 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 Anda inginkan agar dapat diakses dengan 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 Description, 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 Create.

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

Tambahkan aturan firewall untuk mengizinkan traffic web HTTP yang 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 Description, 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 Create.

Tambahkan 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 aturan firewall VPC izinkan traffic keluar IPv4 implisit.

  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 Description, 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 Create.

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

Terakhir, tambahkan aturan firewall yang menolak traffic yang keluar dari semua jaringan VPC lain 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 Description, masukkan block-egress-all-traffic.

  5. Untuk Direction of traffic, pilih Egress.

  6. Untuk Action on match, pilih Deny.

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

  8. Klik Create.

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

  6. Untuk memastikan 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 bahwa koneksi keluar dari myvpc diizinkan.

  7. Untuk memastikan bahwa traffic keluar diblokir dari jaringan VPC lain di organisasi, lakukan langkah 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 berhasil dibuat.

    4. Untuk memastikan 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 menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam panduan memulai ini, hapus setiap resource, lalu hapus project dan folder tersebut.

Untuk menghapus referensi yang dibuat di panduan memulai ini, selesaikan tugas-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 Firewall policy yang terkait dengan node ini atau diwarisi oleh node, klik fw-egress-specific-vpc.

  5. Klik tab Pengaitan.

  6. Centang kotak untuk test-folder, lalu klik Hapus pengaitan.

  7. Di dialog Hapus atribusi dengan test-folder, klik Hapus.

  8. Klik Delete.

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

  6. Pada dialog Delete instance 3 instances, klik Delete.

Menghapus Cloud Router dan gateway Cloud NAT

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

    Buka Cloud Router

  2. Pilih kotak centang untuk myvpc-router.

  3. Klik Delete.

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

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

Menghapus jaringan VPC dan subnetnya

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

    Buka VPC networks

  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. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Jika project yang ingin Anda hapus tertaut ke organisasi, buka daftar Organization di kolom Name.
  3. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  4. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Menghapus folder

  1. Pada Konsol Google Cloud, buka halaman Kelola resource

    Buka Kelola resource

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

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

  4. Pada dialog, ketik ID folder, lalu klik Tetap hapus untuk menghapus project.

Langkah selanjutnya