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

Pelajari cara membuat dan mengonfigurasi kebijakan {i>firewall<i} hierarkis untuk mengizinkan traffic keluar yang berasal dari Virtual Private Cloud (VPC) tertentu jaringan di folder Anda ke alamat IP tertentu sebagai tujuan. Tujuan kebijakan firewall memblokir semua traffic keluar lain yang berasal dari folder tersebut. Halaman ini akan memberikan contoh pembuatan dua VPC jaringan, membuat instance virtual machine (VM) di VPC jaringan, menyiapkan kebijakan {i>firewall<i} hierarkis dengan aturan {i>firewall<i}, dan kemudian menguji kebijakan {i>firewall<i}.

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 Organisasi, pilih nama resource organisasi Anda.

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

  6. Klik Create.

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 Organisasi, pilih nama resource organisasi Anda.

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

  7. Klik Create.

Membuat dua jaringan VPC kustom dengan subnet IPv4

Buat dua jaringan VPC mode kustom, myvpc dengan konfigurasi khusus IPv4 subnet 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 konfigurasi berikut parameter 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 konfigurasi berikut parameter 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 halaman 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 tetapkan 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 IP eksternal alamat IPv6 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. 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 tetapkan 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.

Membuat VM dengan alamat IP eksternal sementara, dan meneruskan skrip startup untuk diinstal dan jalankan 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 tetapkan 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 bagian 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 VM instances. Anda memerlukan alamat IP eksternal ini nanti.

Membuat Cloud Router dan gateway Cloud NAT

Di bagian sebelumnya, di jaringan myvpc, Anda membuat myvpc-vm VM tanpa alamat IP eksternal. Untuk mengaktifkan VM myvpc-vm agar dapat mengakses web Apache server yang berjalan di testvpc-apache-vm melalui internet publik, buat Cloud Router dan gateway Cloud NAT di subnet yang sama Anda telah 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 menampilkan tombol gateway Create Cloud NAT. Untuk membuat yang lain gateway, klik Create Cloud NAT.

  3. Untuk Gateway name, masukkan myvpc-gateway.

  4. Untuk NAT type, pilih Public.

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

    • 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 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 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 dari 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 {i>firewall<i} dalam kebijakan {i>firewall<i} hierarkis dengan karakteristik:

  • Berlaku untuk semua VM di test-folder yang Anda inginkan agar dapat diakses menggunakan penerusan TCP IAP.
  • Mengizinkan traffic masuk dari rentang alamat IP 35.235.240.0/20. Ini berisi semua alamat IP yang digunakan IAP untuk penerusan TCP.
  • Izinkan koneksi ke semua porta 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

Menambahkan aturan firewall untuk mengizinkan traffic web HTTP yang masuk di TCP port 80 ke semua VM dalam 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 yang implisit mengizinkan IPv4 mengizinkan traffic keluar.

  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 Tujuan, untuk rentang IP, masukkan fungsi eksternal efemeral Alamat IP untuk VM yang menjalankan server web Apache. Anda memiliki mencatat alamat IP ini di Buat dua VM di bagian test-vpc jaringan.

  10. Klik Create.

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

Terakhir, tambahkan aturan {i>firewall<i} yang menolak lalu lintas keluar dari Jaringan VPC 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 {i>firewall<i} hierarki, 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 di mana 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 hingga koneksi yang akan dibuat.

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

    curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
    

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

  7. Untuk memastikan bahwa traffic keluar diblokir dari jaringan VPC lainnya dalam 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. Dalam dialog SSH-in-browser, klik Authorize, lalu tunggu koneksi yang akan 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 dalam organisasi, kecuali dari myvpc.

Pembersihan

Agar tidak menimbulkan biaya ke akun Google Cloud Anda untuk resource yang digunakan dalam panduan memulai ini, hapus resource satu per satu, lalu hapus project dan folder.

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 di mana Anda telah membuat sumber daya 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 untuk test-folder, lalu klik Hapus pengaitan.

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

  8. Klik Hapus.

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

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

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

    Buka Kelola resource

  2. Jika folder yang akan 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