Mengonfigurasi kebijakan firewall jaringan global untuk mengaktifkan traffic masuk


Dalam jaringan Virtual Private Cloud (VPC) kustom dengan beberapa subnet, secara default, traffic keluar diizinkan, tetapi traffic masuk ditolak. Untuk mengaktifkan traffic masuk dan mengizinkan instance VM di subnet yang berbeda untuk berkomunikasi satu sama lain, Anda dapat membuat kebijakan firewall jaringan global di Cloud Next Generation Firewall pada jaringan VPC, yang memungkinkan traffic masuk dari rentang alamat IP tertentu dalam subnet.

Tutorial ini menjelaskan cara mengonfigurasi kebijakan firewall jaringan global untuk mengizinkan traffic internal antar-subnet VM di jaringan VPC kustom.

Tujuan

Tutorial ini menunjukkan kepada Anda cara menyelesaikan tugas-tugas berikut:

  • Buat jaringan VPC kustom dengan dua subnet.
  • Buat dua instance VM Linux (VM klien dan VM server) tanpa alamat IP eksternal di subnet jaringan VPC yang terpisah.
  • Buat Cloud Router dan gateway Cloud NAT sebagai praktik terbaik untuk mendownload paket software.
  • Instal server Apache pada VM server.
  • Buat kebijakan firewall jaringan global dengan aturan berikut:
    • Mengizinkan traffic keluar ke tujuan mana pun.
    • Aktifkan logging firewall.
    • Menggunakan Identity-Aware Proxy (IAP) untuk mengizinkan konektivitas SSH ke VM.
    • Izinkan VM klien untuk terhubung ke VM server yang menjalankan server Apache.
  • Uji koneksi.

Diagram berikut menunjukkan alur traffic antar-subnet pada jaringan VPC kustom setelah kebijakan firewall jaringan global mengizinkan traffic masuk internal.

Kebijakan firewall jaringan global yang mengizinkan traffic masuk dari subnet dalam jaringan VPC kustom.
Kebijakan firewall jaringan global yang mengizinkan traffic masuk dari subnet di jaringan VPC kustom (klik untuk memperbesar).

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  5. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  6. Aktifkan Compute Engine API untuk project Anda.
  7. Pastikan Anda memiliki peran Identity and Access Management Admin Jaringan Compute (roles/compute.networkAdmin).
  8. Jika Anda lebih suka bekerja dari command line, instal Google Cloud CLI. Untuk mengetahui informasi konseptual dan penginstalan tentang alat ini, baca ringkasan gcloud CLI.

    Catatan: Jika Anda belum pernah menjalankan Google Cloud CLI, jalankan gcloud init terlebih dahulu untuk menginisialisasi direktori gcloud CLI Anda.

Membuat jaringan VPC kustom dengan subnet

Di bagian ini, Anda akan membuat jaringan VPC mode kustom dengan dua subnet IPv4.

Konsol

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

    Buka VPC networks

  2. Klik Create VPC network.

  3. Untuk Name, masukkan vpc-fw-rules.

  4. Untuk Description, masukkan VPC network for the firewall rules tutorial.

  5. Untuk Mode pembuatan subnet, klik Kustom.

  6. Di bagian Subnet baru, tentukan parameter konfigurasi berikut untuk subnet:

    • Name: subnet-fw-rules-server
    • Region: us-central1 (Iowa)
    • Rentang IPv4: 10.0.0.0/24
    • Akses Google Pribadi: Aktif
  7. Klik Done.

  8. Klik Tambahkan subnet, lalu tentukan parameter konfigurasi berikut:

    • Name: subnet-fw-rules-client
    • Region: us-central1 (Iowa)
    • Rentang IPv4: 192.168.10.0/24
    • Akses Google Pribadi: Aktif
  9. Klik Done.

  10. Scroll ke bawah, lalu klik Buat.

gcloud

  1. Untuk membuat jaringan VPC, jalankan perintah berikut:

    gcloud compute networks create vpc-fw-rules \
      --subnet-mode=custom \
      --description="VPC network for the firewall rules tutorial"
    
  2. Opsional: Pada dialog Otorisasi cloud shell, klik Otorisasi.

  3. Untuk membuat subnet, jalankan perintah berikut:

    gcloud compute networks subnets create subnet-fw-rules-server \
      --network=vpc-fw-rules \
      --region=us-central1 \
      --range=10.0.0.0/24 \
      --enable-private-ip-google-access
    
  4. Untuk membuat subnet lain, jalankan perintah berikut:

    gcloud compute networks subnets create subnet-fw-rules-client \
      --network=vpc-fw-rules \
      --region=us-central1 \
      --range=192.168.10.0/24 \
      --enable-private-ip-google-access
    

Secara default, jaringan VPC memiliki dua aturan IPv4 tersirat:

  • Aturan traffic keluar allow dengan tujuan 0.0.0.0/0 dan prioritas serendah mungkin (65535) yang memungkinkan instance apa pun mengirim traffic ke tujuan mana pun, kecuali traffic yang diblokir oleh Google Cloud.
  • Traffic masuk deny dengan 0.0.0.0/0 sumber dan prioritas serendah mungkin (65535) yang melindungi semua instance dengan memblokir koneksi masuk ke instance tersebut.

Untuk informasi selengkapnya, lihat Aturan tersirat.

Membuat VM klien dan server

Di bagian ini, Anda akan membuat dua VM Linux tanpa alamat IP eksternal di subnet jaringan VPC yang Anda buat di bagian sebelumnya.

Membuat VM server

Konsol

Untuk membuat VM server, ikuti langkah-langkah berikut:

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

    Buka Create an instance

  2. Untuk Name, masukkan vm-fw-rules-server.

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

  4. Scroll ke bawah dan luaskan Advanced options, lalu luaskan Networking.

  5. Di bagian Network interfaces, tentukan parameter konfigurasi berikut:

    • Jaringan: vpc-fw-rules
    • Subnetwork: subnet-fw-rules-server IPv4 (10.0.0.0/24)
    • Alamat IPv4 eksternal: Tidak ada
  6. Klik Done.

  7. Klik Create.

gcloud

Untuk membuat VM server, jalankan perintah berikut:

gcloud compute instances create vm-fw-rules-server \
    --network=vpc-fw-rules \
    --zone=us-central1-a \
    --subnet=subnet-fw-rules-server \
    --stack-type=IPV4_ONLY \
    --no-address

Membuat VM klien

Konsol

Untuk membuat VM klien, ikuti langkah-langkah berikut:

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

    Buka Create an instance

  2. Untuk Name, masukkan vm-fw-rules-client.

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

  4. Scroll ke bawah dan luaskan Advanced options, lalu luaskan Networking.

  5. Di bagian Network interfaces, tentukan parameter konfigurasi berikut:

    • Jaringan: vpc-fw-rules
    • Subnetwork: subnet-fw-rules-client IPv4 (192.168.10.0/24)
    • Alamat IPv4 eksternal: Tidak ada
  6. Klik Done.

  7. Klik Create.

gcloud

Untuk membuat VM klien, jalankan perintah berikut:

gcloud compute instances create vm-fw-rules-client \
    --network=vpc-fw-rules \
    --zone=us-central1-a \
    --subnet=subnet-fw-rules-client \
    --stack-type=IPV4_ONLY \
    --no-address

Membuat Cloud Router dan gateway Cloud NAT

Di bagian sebelumnya, Anda telah membuat dua VM Linux tanpa alamat IPv4 publik. Untuk mengizinkan VM tersebut mengakses internet publik, Anda perlu membuat Cloud Router dan gateway Cloud NAT.

Konsol

  1. Di Konsol Google Cloud, buka halaman Cloud NAT.

    Buka Cloud NAT

  2. Klik Get started atau Create Cloud NAT gateway.

  3. Untuk Gateway name, masukkan gateway-fw-rules.

  4. Untuk jenis NAT, pilih Publik.

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

    • Jaringan: vpc-fw-rules
    • Wilayah: us-central1
    • Cloud Router: Membuat router baru.
      1. Untuk Name, masukkan router-fw-rules.
      2. Klik Create.
  6. Klik Create.

gcloud

  1. Untuk membuat Cloud Router, jalankan perintah berikut:

    gcloud compute routers create router-fw-rules \
      --network=vpc-fw-rules \
      --region=us-central1
    
  2. Untuk membuat gateway Cloud NAT, jalankan perintah berikut:

    gcloud compute routers nats create gateway-fw-rules \
      --router=router-fw-rules \
      --region=us-central1 \
      --auto-allocate-nat-external-ips \
      --nat-all-subnet-ip-ranges
    

Membuat kebijakan firewall jaringan global

Di bagian ini, Anda akan membuat kebijakan firewall jaringan global dengan kode berikut:

  • Aturan keluar dengan 0.0.0.0./0 sebagai tujuan.
  • Logging diaktifkan. Firewall Rules Logging memungkinkan Anda mengaudit, memverifikasi, dan menganalisis efek aturan firewall Anda.

Konsol

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

    Buka Kebijakan firewall

  2. Klik Create firewall policy.

  3. Di bagian Configure policy, untuk Policy name, masukkan fw-policy.

  4. Untuk Cakupan deployment, pilih Global, lalu klik Continue.

  5. Untuk membuat aturan bagi kebijakan Anda, di bagian Tambahkan aturan, klik Tambahkan aturan.

    1. Untuk Priority, masukkan 65534.
    2. Untuk Direction of traffic, pilih Traffic keluar.
    3. Untuk Log, pilih Aktif.
    4. Di bagian Target, untuk Jenis target, pilih Semua instance di jaringan.
    5. Di bagian Destination, untuk IP rentang, masukkan 0.0.0.0/0.
    6. Di bagian Protocol and ports, pilih Allow all.
    7. Klik Create.
  6. Klik Lanjutkan.

  7. Untuk mengaitkan jaringan VPC dengan kebijakan tersebut, di bagian Associate policy with VPC networks, klik Associate.

  8. Centang kotak vpc-fw-rules lalu klik Associate.

  9. Klik Lanjutkan.

  10. Klik Create.

gcloud

  1. Untuk membuat kebijakan firewall, jalankan perintah berikut:

    gcloud compute network-firewall-policies create fw-policy \
        --global
    
  2. Untuk membuat aturan firewall yang mengizinkan traffic ke semua tujuan dan mengaktifkan log, jalankan perintah berikut:

    gcloud compute network-firewall-policies rules create 65534 \
        --firewall-policy=fw-policy \
        --direction=EGRESS \
        --action=ALLOW \
        --dest-ip-ranges=0.0.0.0/0 \
        --layer4-configs=all \
        --global-firewall-policy \
        --enable-logging
    
  3. Untuk mengaitkan kebijakan firewall dengan jaringan VPC, jalankan perintah berikut:

    gcloud compute network-firewall-policies associations create \
        --firewall-policy=fw-policy \
        --network=vpc-fw-rules \
        --name=pol-association-fw-rules \
        --global-firewall-policy
    

Menambahkan aturan firewall untuk IAP

Di bagian sebelumnya, Anda telah membuat VM Linux tanpa alamat IP eksternal. Di bagian ini, Anda akan mengaktifkan Identity-Aware Proxy (IAP) untuk mengizinkan akses administratif ke instance VM yang tidak memiliki alamat IP eksternal.

Agar IAP dapat terhubung ke instance VM Anda, buat aturan firewall yang:

  • berlaku untuk semua instance VM yang ingin dapat diakses menggunakan IAP.
  • memungkinkan traffic masuk dari rentang 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 diakses dengan menggunakan penerusan TCP IAP, misalnya, port 22 untuk SSH dan port 3389 untuk RDP.

Konsol

Untuk mengizinkan akses RDP dan SSH ke semua instance VM di jaringan vpc-fw-rules, lakukan langkah berikut:

  1. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.

    Buka Kebijakan firewall

  2. Di bagian Network firewall policies, klik fw-policy.

  3. Klik Buat aturan.

  4. Untuk Priority, masukkan 500.

  5. Untuk Direction of traffic, pilih Ingress.

  6. Untuk Log, pilih Aktif.

  7. Di bagian Target, untuk Jenis target, pilih Semua instance di jaringan.

  8. Di bagian Sumber, untuk rentang IP, masukkan 35.235.240.0/20.

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

  10. Pilih kotak centang TCP, dan untuk Ports, masukkan 22 dan 3389 yang dipisahkan oleh koma.

  11. Klik Create.

gcloud

Untuk mengizinkan akses RDP dan SSH ke semua instance VM di jaringan vpc-fw-rules, jalankan perintah berikut:

gcloud compute network-firewall-policies rules create 500 \
    --firewall-policy=fw-policy \
    --direction=INGRESS \
    --action=ALLOW \
    --src-ip-ranges=35.235.240.0/20 \
    --global-firewall-policy \
    --layer4-configs tcp:22,tcp:3389 \
    --enable-logging

Menginstal server Apache

Di bagian ini, Anda akan menginstal server Apache di VM server.

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Di kolom Connect pada VM vm-fw-rules-server, klik SSH.

  3. Pada dialog SSH-in-browser, klik Authorize dan tunggu hingga koneksi berhasil dibuat.

  4. Untuk menginstal paket apache2, di command prompt, jalankan perintah berikut:

    sudo apt update && sudo apt -y install apache2
    

    Setelah menginstal Apache, sistem operasi akan otomatis memulai server Apache.

  5. Untuk memastikan Apache sudah berjalan, jalankan perintah berikut:

    sudo systemctl status apache2 --no-pager
    
  6. Untuk menimpa halaman web default server web Apache, jalankan perintah berikut:

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
    
  7. Tutup dialog SSH-in-browser.

Menguji koneksi

Setelah menginstal server Apache di VM server, hubungkan ke VM server dari VM klien menggunakan alamat IP internal VM server.

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Dari kolom Internal IP pada VM vm-fw-rules-server, salin alamat IP internal VM.

  3. Di kolom Connect pada VM vm-fw-rules-client, klik SSH.

  4. Pada dialog SSH-in-browser, klik Authorize dan tunggu hingga koneksi berhasil dibuat.

  5. Untuk memverifikasi koneksi, jalankan perintah berikut:

    curl INTERNAL_IP -m 2
    

    Ganti INTERNAL_IP dengan alamat IP VM vm-fw-rules-server.

    Pesan Connection timed out diharapkan karena setiap VM membuat aturan firewall masuk implisit yang menolak semua traffic. Untuk mengizinkan traffic, tambahkan aturan ingress ke kebijakan firewall.

  6. Tutup dialog SSH-in-browser.

Memperbarui kebijakan firewall jaringan global untuk mengizinkan traffic internal

Di bagian ini, Anda akan memperbarui kebijakan firewall jaringan global untuk mengizinkan traffic internal dari subnet VM klien.

Konsol

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

    Buka Kebijakan firewall

  2. Di bagian Network firewall policies, klik fw-policy.

  3. Klik Buat aturan.

  4. Untuk Priority, masukkan 501.

  5. Untuk Direction of traffic, pilih Ingress.

  6. Untuk Log, pilih Aktif.

  7. Di bagian Target, untuk Jenis target, pilih Semua instance di jaringan.

  8. Di bagian Sumber, untuk rentang IP, masukkan 192.168.10.0/24.

    Ingat, rentang IP 192.168.10.0/24 ditetapkan ke subnet-fw-rules-client.

  9. Di bagian Destination, untuk IP type, pilih IPv4. Di rentang IP, tentukan 10.0.0.0/24.

    Ingat, rentang IP 10.0.0.0/24 ditetapkan ke subnet-fw-rules-server.

  10. Klik Create.

gcloud

Untuk memperbarui kebijakan firewall, jalankan perintah berikut:

gcloud compute network-firewall-policies rules create 501 \
    --firewall-policy=fw-policy \
    --direction=INGRESS \
    --action=ALLOW \
    --src-ip-ranges=192.168.10.0/24 \
    --dest-ip-ranges=10.0.0.0/24 \
    --layer4-configs=all \
    --global-firewall-policy \
    --enable-logging

Menguji koneksi

Setelah membuat kebijakan firewall, hubungkan ke VM server dari VM klien menggunakan alamat IP internal VM server.

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Dari kolom Internal IP pada VM vm-fw-rules-server, salin alamat IP internal VM.

  3. Di kolom Connect pada VM vm-fw-rules-client, klik SSH.

  4. Pada dialog SSH-in-browser, klik Authorize dan tunggu hingga koneksi berhasil dibuat.

  5. Untuk memverifikasi koneksi, jalankan perintah berikut:

    curl INTERNAL_IP -m 2
    

    Ganti INTERNAL_IP dengan alamat IP VM vm-fw-rules-server.

    Pesan yang diharapkan adalah <!doctype html><html><body><h1>Hello World!</h1></body></html>.

  6. Tutup dialog SSH-in-browser.

Untuk melihat log firewall, buka bagian Melihat log.

Pembersihan

Agar tidak dikenakan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource-nya.

Di bagian ini, Anda akan menghapus resource yang dibuat dalam tutorial ini.

Menghapus kebijakan firewall

Konsol

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

    Buka Kebijakan firewall

  2. Di bagian Network firewall policies, klik nama fw-policy.

  3. Klik tab Pengaitan.

  4. Centang kotak vpc-fw-rules lalu klik Hapus atribusi.

  5. Pada dialog Remove a firewall policy attribution, klik Remove.

  6. Di samping judul fw-policy, klik Hapus.

  7. Pada dialog Delete a firewall policy, klik Delete.

    Setelah kebijakan dihapus, konsol Google Cloud akan menampilkan halaman Firewall policies.

gcloud

  1. Hapus pengaitan antara kebijakan firewall dan jaringan VPC.

    gcloud compute network-firewall-policies associations delete \
      --name=pol-association-fw-rules \
      --firewall-policy=fw-policy \
      --global-firewall-policy
    

    Jika Anda menyiapkan pengaitan antara kebijakan firewall dan jaringan VPC melalui Konsol Google Cloud, jangan gunakan perintah gcloud CLI untuk menghapus pengaitan tersebut. Jika Anda tidak dapat mengingat cara membuat atribusi atau mendapatkan error The network firewall policy does not have an association with pol-association-fw-rules. saat menjalankan perintah, gunakan konsol Google Cloud untuk menghapus atribusi tersebut.

  2. Hapus kebijakan firewall.

    gcloud compute network-firewall-policies delete fw-policy \
        --global
    

Menghapus VM

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Pilih kotak centang VM vm-fw-rules-client dan vm-fw-rules-server.

  3. Klik Delete.

  4. Pada dialog Hapus 2 instance?, klik Hapus.

gcloud

Untuk menghapus VM vm-fw-rules-client dan vm-fw-rules-server, jalankan perintah berikut:

gcloud compute instances delete vm-fw-rules-client vm-fw-rules-server \
    --zone=us-central1-a

Saat diminta, tekan Y untuk mengonfirmasi, lalu tekan Enter.

Menghapus gateway Cloud NAT dan Cloud Router

Konsol

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

    Buka Cloud router

  2. Centang kotak router-fw-rules.

  3. Klik Delete.

  4. Pada dialog Delete router-fw-rules, klik Delete.

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

gcloud

Untuk menghapus Cloud Router router-fw-rules, jalankan perintah berikut:

gcloud compute routers delete router-fw-rules \
    --region=us-central1

Saat diminta, tekan Y untuk mengonfirmasi, lalu tekan Enter.

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

Menghapus jaringan VPC dan subnetnya

Konsol

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

    Buka VPC networks

  2. Di kolom Nama, klik vpc-fw-rules.

  3. Klik Delete VPC network.

  4. Pada dialog Hapus jaringan, klik Hapus.

Saat Anda menghapus VPC, subnetnya juga akan dihapus.

gcloud

  1. Untuk menghapus subnet jaringan VPC vpc-fw-rules, jalankan perintah berikut:

    gcloud compute networks subnets delete subnet-fw-rules-client subnet-fw-rules-server \
        --region=us-central1
    

    Saat diminta, tekan Y untuk mengonfirmasi, lalu tekan Enter.

  2. Untuk menghapus jaringan VPC vpc-fw-rules, jalankan perintah berikut:

    gcloud compute networks delete vpc-fw-rules
    

    Saat diminta, tekan Y untuk mengonfirmasi, lalu tekan Enter.