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 menjelaskan contoh pembuatan dua jaringan VPC, pembuatan instance virtual machine (VM) di jaringan VPC, penyiapan kebijakan firewall hierarkis dengan aturan firewall, lalu pengujian 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 Nama folder, masukkan test-folder.

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

  5. Di kolom Lokasi, klik Cari, 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 Create project.

  3. Untuk Project name, masukkan test-project.

  4. Pilih akun penagihan untuk project.

  5. Di 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, di project yang Anda buat di bagian sebelumnya.

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

    Buka pemilih project

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

    Buka jaringan VPC

  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.
    • Rentang IPv4: 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.
    • Rentang IPv4: 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.
    • Rentang IPv4: 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.

Buat dua VM di jaringan test-vpc

Buat dua VM, satu tanpa alamat IP eksternal dan satu lagi dengan alamat IP eksternal. Saat 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 VM instances. Anda memerlukan alamat IP eksternal ini nanti.

Buat Cloud Router dan gateway Cloud NAT

Di bagian sebelumnya, di jaringan myvpc, Anda membuat VM myvpc-vm tanpa alamat IP eksternal. Untuk mengizinkan VM myvpc-vm 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 Mulai. Jika Anda sudah memiliki gateway, Google Cloud tombol gateway Create Cloud NAT akan ditampilkan. Untuk membuat gateway lain, klik Create Cloud NAT gateway.

  3. Untuk Gateway name, masukkan myvpc-gateway.

  4. Untuk NAT type, pilih Public.

  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 guna mengaktifkan akses administratif ke VM.
  • Izinkan traffic masuk ke semua VM di jaringan test-vpc.
  • Mendelegasikan 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. Di konsol Google Cloud , buka halaman Firewall policies.

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

Tambahkan aturan firewall untuk mengaktifkan IAP di semua VM dalam test-folder

Untuk mengaktifkan IAP agar 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 buat 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.
  • Mengizinkan 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. Di konsol Google Cloud , buka halaman Firewall policies.

    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 Sumber, untuk Rentang IP, masukkan 35.235.240.0/20.

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

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

  10. Klik Buat.

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

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

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

  9. Di bagian Sumber, untuk Rentang IP, masukkan 0.0.0.0/0.

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

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

  12. Klik Buat.

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 keluar yang diizinkan IPv4 implisit.

  1. Di konsol Google Cloud , buka halaman Firewall policies.

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

  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 Buat dua VM di jaringan test-vpc.

  10. Klik Buat.

Tambahkan 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. Di konsol Google Cloud , buka halaman Firewall policies.

    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 Tujuan, untuk Rentang IP, masukkan 0.0.0.0/0.

  8. Klik Buat.

Menguji kebijakan firewall hierarkis

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

  1. Buka konsol Google Cloud .

    Buka Google Cloud konsol

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

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

    Buka instance VM

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

  5. Pada dialog SSH di browser, klik Authorize dan tunggu hingga koneksi dibuat.

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

      Buka instance VM

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

    3. Dalam dialog SSH di browser, klik Authorize, lalu tunggu hingga 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 dalam 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.

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

Menghapus kebijakan firewall hierarkis

  1. Buka konsol Google Cloud .

    Buka Google Cloud konsol

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

  3. Di konsol Google Cloud , buka halaman Firewall policies.

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

  7. Pada dialog Hapus hubungan 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 Google Cloud konsol

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

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

    Buka instance VM

  4. Centang kotak untuk myvpc-vm, testvpc-vm, dan testvpc-apache-vm.

  5. Klik Hapus.

  6. Pada dialog Hapus 3 instance, klik Hapus.

Menghapus Cloud Router dan gateway Cloud NAT

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

    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 subnetnya

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

    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, buka daftar Organization di kolom Name.

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

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

Langkah berikutnya