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
- Pastikan Anda memiliki akses ke resource organisasi.
- Pastikan Anda memiliki peran Identity and Access Management (IAM) berikut:
-
Peran Administrator Organisasi
(roles/resourcemanager.organizationAdmin) -
Peran Folder Admin
(roles/resourcemanager.folderAdmin) -
Peran Project Creator
(roles/resourcemanager.projectCreator) -
Peran Project Deleter
(roles/resourcemanager.projectDeleter) -
Peran Compute Network Admin (
roles/compute.networkAdmin) -
Peran Compute Organization Firewall Policy Admin (
roles/compute.orgFirewallPolicyAdmin)
-
Peran Administrator Organisasi
Aktifkan Compute Engine API dan Identity-Aware Proxy (IAP) API, jika ada yang belum diaktifkan.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.
Membuat folder
Buat folder di organisasi Anda.
Di konsol Google Cloud , buka halaman Manage resources.
Klik Create folder.
Untuk Folder name, masukkan
test-folder.Dalam daftar Organization, pilih nama resource organisasi Anda.
Di kolom Lokasi, klik Cari, lalu pilih resource organisasi Anda.
Klik Create.
Membuat project
Buat project di folder yang Anda buat di bagian sebelumnya.
Di konsol Google Cloud , buka halaman Manage resources.
Klik Create project.
Untuk Project name, masukkan
test-project.Pilih akun penagihan untuk project.
Dalam daftar Organization, pilih nama resource organisasi Anda.
Di kolom Location, klik Browse, luaskan nama resource organisasi Anda, lalu pilih test-folder.
Klik Create.
Buat 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.
Di konsol Google Cloud , pada halaman pemilih project, pilih test-project.
Di konsol Google Cloud , buka halaman VPC networks.
Klik Create VPC network.
Untuk Name, masukkan
myvpc.Untuk Mode pembuatan subnet, klik Kustom.
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.
- Nama: Masukkan
Klik Done, lalu klik Create.
Untuk membuat jaringan VPC lain, klik Create VPC network.
Untuk Name, masukkan
test-vpc.Untuk Mode pembuatan subnet, klik Kustom.
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.
- Nama: Masukkan
Untuk menambahkan subnet lain ke jaringan
test-vpc, klik Add subnet.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.
- Nama: Masukkan
Klik Create.
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.
Di konsol Google Cloud , buka halaman Create an instance.
Di panel Machine configuration, lakukan hal berikut:
- Untuk Name, masukkan
myvpc-vm. - Untuk Region, pilih
us-central1 (Iowa).
- Untuk Name, masukkan
Di menu navigasi, klik Networking.
- Di bagian Network interfaces, klik
defaultdan tentukan parameter konfigurasi berikut:- Jaringan:
myvpc - Subnetwork:
myvpc-subnet-1 IPv4 (10.0.0.0/24) - External IPv4 address: None
- Jaringan:
- Klik Done.
- Di bagian Network interfaces, klik
Klik Create.
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:
Di konsol Google Cloud , buka halaman Create an instance.
Di panel Machine configuration, lakukan hal berikut:
- Untuk Name, masukkan
testvpc-vm. - Untuk Region, pilih
us-central1 (Iowa).
- Untuk Name, masukkan
Di menu navigasi, klik Networking.
- Di bagian Network interfaces, klik
defaultdan tentukan parameter konfigurasi berikut:- Jaringan:
test-vpc - Subnetwork:
testvpc-subnet-1 IPv4 (10.0.0.0/16) - External IPv4 address: None
- Jaringan:
- Klik Done.
- Di bagian Network interfaces, klik
Klik Create.
Buat VM dengan alamat IP eksternal efemeral, dan teruskan skrip startup untuk menginstal dan memulai server web Apache:
Di konsol Google Cloud , buka halaman Create an instance.
Di panel Machine configuration, lakukan hal berikut:
- Untuk Name, masukkan
testvpc-apache-vm. - Untuk Region, pilih
us-central1 (Iowa).
- Untuk Name, masukkan
Di menu navigasi, klik Networking.
- Di bagian Network interfaces, klik
defaultdan tentukan parameter konfigurasi berikut:- Jaringan:
test-vpc - Subnetwork:
testvpc-subnet-ext IPv4 (192.168.1.0/24) - External IPv4 address: Ephemeral
- Jaringan:
- Klik Done.
- Di bagian Network interfaces, klik
Di menu navigasi, klik Advanced, lalu 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 apache2Skrip sebelumnya men-deploy dan memulai server web Apache di VM ini.
Klik Create.
Perhatikan alamat IP eksternal sementara yang ditetapkan ke VM ini dari halaman VM instances. Anda akan memerlukan alamat IP eksternal ini nanti.
Buat Cloud Router dan gateway Cloud NAT
Di bagian sebelumnya, di jaringan myvpc, Anda telah 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.
Di konsol Google Cloud , buka halaman Cloud NAT.
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 tombol gateway Create Cloud NAT akan ditampilkan. Untuk membuat gateway lain, klik Create Cloud NAT gateway.
Untuk Gateway name, masukkan
myvpc-gateway.Untuk NAT type, pilih Public.
Di bagian Select Cloud Router, tentukan parameter konfigurasi berikut:
- Network: Pilih myvpc.
- Region: Pilih us-central1 (Iowa).
- Cloud Router: Klik Create new router.
- Untuk Name, masukkan
myvpc-router. - Klik Create.
- Untuk Name, masukkan
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-folderguna mengaktifkan akses administratif ke VM. - Izinkan traffic masuk ke semua VM di jaringan
test-vpc. - Mendelegasikan traffic keluar dari jaringan
myvpcke aturan berikutnya dalam hierarki, yaitu aturanVPC 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:
Di konsol Google Cloud , buka halaman pemilih project, lalu pilih test-folder.
Di konsol Google Cloud , buka halaman Firewall policies.
Klik Create firewall policy.
Di bagian Configure policy, untuk Policy name, masukkan
fw-egress-specific-vpc.Untuk Description, masukkan
example-firewall-policy.Klik Lanjutkan.
Di bagian Tambahkan aturan, klik Lanjutkan. Anda akan menambahkan aturan firewall di bagian berikutnya dalam panduan memulai ini.
Di bagian Associate policy with resources, klik Add.
Luaskan organisasi Anda, pilih test-folder, lalu klik Tambahkan.
Klik Create.
Tambahkan aturan firewall untuk mengaktifkan IAP di semua VM dalam 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-folderyang 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
22untuk SSH.
Untuk menambahkan aturan firewall, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Firewall policies.
Klik fw-egress-specific-vpc, lalu klik Add rule.
Untuk Priority, masukkan
100.Untuk Description, masukkan
enable-iap.Untuk Direction of traffic, pilih Ingress.
Untuk Action on match, pilih Allow.
Di bagian Sumber, untuk Rentang IP, masukkan
35.235.240.0/20.Di bagian Protocols and ports, pilih Specified protocols and ports.
Pilih kotak centang TCP, lalu untuk Ports, masukkan
22.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:
Di konsol Google Cloud , buka halaman Firewall policies.
Klik fw-egress-specific-vpc, lalu klik Add rule.
Untuk Priority, masukkan
200.Untuk Description, masukkan
allow-ingress-testvpc.Untuk Direction of traffic, pilih Ingress.
Untuk Action on match, pilih Allow.
Di bagian Target, klik Tambahkan jaringan.
Pilih project pengujian yang berisi jaringan
test-vpc, lalu pilih test-vpc sebagai jaringan.Di bagian Sumber, untuk Rentang IP, masukkan
0.0.0.0/0.Di bagian Protocols and ports, pilih Specified protocols and ports.
Pilih kotak centang TCP, lalu untuk Ports, masukkan
80.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 keluar IPv4 tersirat.
Di konsol Google Cloud , buka halaman Firewall policies.
Klik fw-egress-specific-vpc, lalu klik Add rule.
Untuk Priority, masukkan
300.Untuk Description, masukkan
delegate-egress-myvpc.Untuk Direction of traffic, pilih Egress.
Untuk Action on match, pilih Go to next.
Di bagian Target, klik Tambahkan jaringan.
Pilih nama project pengujian yang berisi
myvpc, lalu pilihmyvpcsebagai jaringan.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.Klik Create.
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.
Di konsol Google Cloud , buka halaman Firewall policies.
Klik fw-egress-specific-vpc, lalu klik Add rule.
Untuk Priority, masukkan
400.Untuk Description, masukkan
block-egress-all-traffic.Untuk Direction of traffic, pilih Egress.
Untuk Action on match, pilih Deny.
Di bagian Tujuan, untuk Rentang IP, masukkan
0.0.0.0/0.Klik Create.
Menguji kebijakan firewall hierarkis
Setelah mengonfigurasi kebijakan firewall hierarkis, ikuti langkah-langkah berikut untuk menguji kebijakan:
Buka konsol Google Cloud .
Dari pemilih project di bagian atas halaman, pilih
test-projecttempat Anda membuat jaringan VPC.Di konsol Google Cloud , buka halaman VM instances.
Di kolom Connect untuk
myvpc-vm, klik SSH.Pada dialog SSH di browser, klik Authorize dan tunggu hingga koneksi dibuat.
Untuk memverifikasi bahwa traffic keluar ke
testvpc-apache-vmdarimyvpcdiizinkan, jalankan perintah berikut:curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
Perintah sebelumnya menampilkan konten yang telah Anda tentukan untuk halaman
index.htmlserver web Apache, yang berarti koneksi keluar darimyvpcdiizinkan.Untuk memverifikasi bahwa traffic keluar diblokir dari jaringan VPC lain di organisasi, lakukan hal berikut:
Di konsol Google Cloud , buka halaman VM instances.
Di kolom Connect untuk
testvpc-vm, klik SSH.Dalam dialog SSH-in-browser, klik Authorize, lalu tunggu hingga koneksi dibuat.
Untuk memverifikasi bahwa traffic keluar dari
testvpc-vmketestvpc-apache-vmdiblokir, jalankan perintah berikut:curl <internal_IP_testvpc_apache_vm> -m 2
Perintah di atas menampilkan pesan
Connection timed out, yang diharapkan karena Anda membuat aturan firewall untuk menolak traffic keluar dari semua jaringan VPC dalam organisasi, kecuali darimyvpc.
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya 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
Buka konsol Google Cloud .
Dari pemilih project di bagian atas halaman, pilih
test-foldertempat Anda membuat resource untuk panduan memulai ini.Di konsol Google Cloud , buka halaman Firewall policies.
Di bagian Kebijakan firewall yang terkait dengan node ini atau diwariskan oleh node, klik fw-egress-specific-vpc.
Klik tab Pengaitan.
Centang kotak test-folder, lalu klik Hapus atribusi.
Pada dialog Hapus hubungan dengan
test-folder, klik Hapus.Klik Hapus.
Pada dialog Hapus
fw-egress-specific-vpc, klik Hapus
Menghapus VM
Buka konsol Google Cloud .
Dari pemilih project di bagian atas halaman, pilih test-project.
Di konsol Google Cloud , buka halaman VM instances.
Centang kotak untuk myvpc-vm, testvpc-vm, dan testvpc-apache-vm.
Klik Hapus.
Pada dialog Hapus 3 instance, klik Hapus.
Menghapus Cloud Router dan gateway Cloud NAT
Di konsol Google Cloud , buka halaman Cloud routers.
Centang kotak untuk myvpc-router.
Klik Hapus.
Pada dialog Hapus
myvpc-router, klik Hapus.
Saat Anda menghapus Cloud Router, gateway Cloud NAT terkait juga akan dihapus.
Menghapus jaringan VPC dan subnetnya
Di konsol Google Cloud , buka halaman VPC networks.
Di kolom Name, klik myvpc.
Klik Delete VPC network.
Pada dialog Hapus jaringan, klik Hapus.
Demikian pula, hapus jaringan
test-vpc.
Saat Anda menghapus jaringan VPC, subnetnya juga akan dihapus.
Menghapus project
- Di konsol Google Cloud , buka halaman Manage resources.
- Jika project yang ingin Anda hapus tertaut ke organisasi, buka daftar Organization di kolom Name.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Hapus folder
Di konsol Google Cloud , buka halaman Manage resources.
Jika folder yang ingin Anda hapus tertaut ke organisasi, buka daftar Organization di kolom Name.
Di daftar folder, pilih test-folder, lalu klik Delete.
Pada dialog, ketik ID folder, lalu klik Delete anyway untuk menghapus project.
Langkah berikutnya
- Untuk konsep kebijakan firewall, lihat Kebijakan dan aturan firewall.
- Untuk konsep aturan kebijakan firewall, lihat Komponen aturan kebijakan firewall.
- Untuk membuat, memperbarui, memantau, dan menghapus aturan firewall VPC, lihat Menggunakan aturan firewall VPC.
- Untuk mengetahui biaya, lihat harga Cloud NGFW.