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
- 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
-
Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.
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 Jelajahi, lalu pilih resource organisasi Anda.
Klik Buat.
Membuat project
Buat project di folder yang Anda buat di bagian sebelumnya.
Di Konsol Google Cloud, buka halaman Manage resources.
Klik Buat proyek.
Untuk Project name, masukkan
test-project
.Pilih akun penagihan untuk project tersebut.
Dalam daftar Organization, pilih nama resource organisasi Anda.
Di kolom Location, klik Browse, luaskan nama resource organisasi Anda, lalu pilih test-folder.
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.
Di konsol Google Cloud, pada halaman pemilih project, pilih test-project.
Di konsol Google Cloud, buka halaman jaringan VPC.
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 Selesai, lalu klik Buat.
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 Tambahkan 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 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
.
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
default
dan tentukan parameter konfigurasi berikut:- Jaringan:
myvpc
- Subnetwork:
subnet-1 IPv4 (10.0.0.0/24)
- External IPv4 address: None
- Jaringan:
- Klik Selesai.
- Di bagian Network interfaces, klik
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:
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
default
dan tentukan parameter konfigurasi berikut:- Jaringan:
test-vpc
- Subnetwork:
testvpc-subnet-1 IPv4 (10.0.0.0/16)
- External IPv4 address: None
- Jaringan:
- Klik Selesai.
- Di bagian Network interfaces, klik
Klik Buat.
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
default
dan tentukan parameter konfigurasi berikut:- Jaringan:
test-vpc
- Subnetwork:
testvpc-subnet-ext IPv4 (192.168.1.0/24)
- External IPv4 address: Ephemeral
- Jaringan:
- Klik Selesai.
- Di bagian Network interfaces, klik
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.
Klik Buat.
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
.
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 Mulai. Jika Anda sudah memiliki gateway, Google Cloud akan menampilkan tombol gateway Create Cloud NAT. Untuk membuat gateway lain, klik gateway Create Cloud NAT.
Untuk Gateway name, masukkan
myvpc-gateway
.Untuk Jenis NAT, pilih Publik.
Di bagian Select Cloud Router, tentukan parameter konfigurasi berikut:
- Jaringan: Pilih myvpc.
- Region: Pilih us-central1 (Iowa).
- Cloud Router: Klik Create new router.
- Untuk Name, masukkan
myvpc-router
. - Klik Buat.
- Untuk Name, masukkan
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 aturanVPC 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:
Di konsol Google Cloud, buka halaman pemilih project, lalu pilih test-folder.
Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
Klik Create firewall policy.
Di bagian Configure policy, untuk Policy name, masukkan
fw-egress-specific-vpc
.Untuk Deskripsi, 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 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:
Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
Klik fw-egress-specific-vpc, lalu klik Add rule.
Untuk Priority, masukkan
100
.Untuk Deskripsi, masukkan
enable-iap
.Untuk Direction of traffic, pilih Ingress.
Untuk Action on match, pilih Allow.
Di bagian Source, untuk IP ranges, masukkan
35.235.240.0/20
.Di bagian Protocols and ports, pilih Specified protocols and ports.
Pilih kotak centang TCP, dan untuk Ports, masukkan
22
.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
:
Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
Klik fw-egress-specific-vpc, lalu klik Add rule.
Untuk Priority, masukkan
200
.Untuk Deskripsi, masukkan
allow-ingress-testvpc
.Untuk Direction of traffic, pilih Ingress.
Untuk Action on match, pilih Allow.
Di bagian Target, klik Add network.
Pilih project pengujian yang berisi jaringan
test-vpc
, lalu pilih test-vpc sebagai jaringan.Di bagian Source, untuk IP ranges, masukkan
0.0.0.0/0
.Di bagian Protocols and ports, pilih Specified protocols and ports.
Pilih kotak centang TCP, dan untuk Ports, masukkan
80
.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.
Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
Klik fw-egress-specific-vpc, lalu klik Add rule.
Untuk Priority, masukkan
300
.Untuk Deskripsi, masukkan
delegate-egress-myvpc
.Untuk Direction of traffic, pilih Egress.
Untuk Action on match, pilih Go to next.
Di bagian Target, klik Add network.
Pilih nama project pengujian yang berisi
myvpc
, lalu pilihmyvpc
sebagai 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 Membuat dua VM di jaringan
test-vpc
.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
.
Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
Klik fw-egress-specific-vpc, lalu klik Add rule.
Untuk Priority, masukkan
400
.Untuk Deskripsi, masukkan
block-egress-all-traffic
.Untuk Direction of traffic, pilih Egress.
Untuk Action on match, pilih Deny.
Di bagian Destination, untuk IP ranges, masukkan
0.0.0.0/0
.Klik Buat.
Menguji kebijakan firewall hierarkis
Setelah Anda mengonfigurasi kebijakan firewall hierarkis, ikuti langkah-langkah berikut untuk menguji kebijakan:
Buka konsol Google Cloud.
Dari pemilih project di bagian atas halaman, pilih
test-project
tempat Anda telah membuat jaringan VPC.Di konsol Google Cloud, buka halaman Instance VM.
Di kolom Connect untuk
myvpc-vm
, klik SSH.Pada dialog SSH-in-browser, klik Authorize dan tunggu koneksi terbentuk.
Untuk memverifikasi bahwa traffic keluar ke
testvpc-apache-vm
darimyvpc
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 darimyvpc
diizinkan.Untuk memverifikasi bahwa traffic keluar diblokir dari jaringan VPC lain di organisasi, lakukan hal berikut:
Di konsol Google Cloud, buka halaman Instance VM.
Di kolom Connect untuk
testvpc-vm
, klik SSH.Pada dialog SSH-in-browser, klik Authorize, lalu tunggu koneksi dibuat.
Untuk memverifikasi bahwa traffic keluar dari
testvpc-vm
ketestvpc-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 darimyvpc
.
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
Buka konsol Google Cloud.
Dari pemilih project di bagian atas halaman, pilih
test-folder
tempat Anda membuat resource untuk panduan memulai ini.Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
Di bagian Kebijakan firewall yang terkait dengan node ini atau diwarisi oleh node, klik fw-egress-specific-vpc.
Klik tab Pengaitan.
Centang kotak test-folder, lalu klik Remove association.
Pada dialog Hapus pengaitan 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 Instance VM.
Pilih kotak centang untuk myvpc-vm, testvpc-vm, dan testvpc-apache-vm.
Klik Hapus.
Pada dialog Hapus instance 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 subnet-nya
Di konsol Google Cloud, buka halaman jaringan VPC.
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
- In the Google Cloud console, go to the Manage resources page.
- If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Menghapus folder
Di Konsol Google Cloud, buka halaman Manage resources.
Jika folder yang ingin Anda hapus tertaut ke organisasi, luaskan 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 Ringkasan kebijakan firewall.
- Untuk konsep aturan kebijakan firewall, lihat Ringkasan aturan kebijakan firewall.
- Untuk membuat, memperbarui, memantau, dan menghapus aturan firewall VPC, lihat Menggunakan aturan firewall VPC.
- Untuk menentukan biaya, lihat harga Cloud NGFW.