Mengonfigurasi kebijakan firewall jaringan global untuk mengaktifkan traffic masuk

Di 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 di jaringan VPC, yang mengizinkan traffic masuk dari rentang alamat IP tertentu dari subnet.

Tutorial ini menjelaskan cara mengonfigurasi kebijakan firewall jaringan global untuk mengizinkan traffic internal antara subnet VM dalam jaringan VPC kustom.

Membuat jaringan VPC kustom dengan subnet

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

Konsol

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

    Buka jaringan VPC

  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 New subnet, tentukan parameter konfigurasi berikut untuk subnet:

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

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

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

  10. Klik Create.

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: Di dialog Authorize cloud shell, klik Authorize.

  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 keluar allow dengan tujuan 0.0.0.0/0 dan prioritas serendah mungkin (65535) yang mengizinkan instance mana pun mengirim traffic ke tujuan mana pun, kecuali traffic yang diblokir oleh Google Cloud.
  • Ingress deny dengan sumber 0.0.0.0/0 dan prioritas terendah (65535) yang melindungi semua instance dengan memblokir koneksi masuk ke instance tersebut.

Untuk mengetahui 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 halaman Buat instance

  2. Di panel Machine configuration, lakukan hal berikut:

    1. Untuk Name, masukkan vm-fw-rules-server.
    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: vpc-fw-rules
      • Subnetwork: subnet-fw-rules-server IPv4 (10.0.0.0/24)
      • External IPv4 address: None
    2. Klik Selesai.
  4. 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 halaman Buat instance

  2. Di panel Machine configuration, lakukan hal berikut:

    1. Untuk Name, masukkan vm-fw-rules-client.
    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: vpc-fw-rules
      • Subnetwork: subnet-fw-rules-client IPv4 (192.168.10.0/24)
      • External IPv4 address: None
    2. Klik Selesai.
  4. 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

Buat Cloud Router dan gateway Cloud NAT

Di bagian sebelumnya, Anda telah membuat dua VM Linux tanpa alamat IPv4 publik. Agar VM tersebut dapat mengakses internet publik, Anda 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 NAT type, pilih Public.

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

    • Jaringan: vpc-fw-rules
    • Region: us-central1
    • Cloud Router: Create new router.
      1. Untuk Name, masukkan router-fw-rules.
      2. Klik Buat.
  6. Klik Buat.

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:

  • 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 Lanjutkan.

  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 Egress.
    3. Untuk Logs, pilih On.
    4. Di bagian Target, untuk Jenis target, pilih Semua instance di jaringan.
    5. Di bagian Tujuan, untuk Rentang IP, masukkan 0.0.0.0/0.
    6. Di bagian Protocol and ports, pilih Allow all.
    7. Klik Buat.
  6. Klik Lanjutkan.

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

  8. Centang kotak vpc-fw-rules, lalu klik Hubungkan.

  9. Klik Lanjutkan.

  10. Klik Buat.

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.

Untuk mengizinkan IAP terhubung ke instance VM Anda, buat aturan firewall yang:

  • berlaku untuk semua instance VM yang ingin Anda buat dapat diakses oleh menggunakan IAP.
  • mengizinkan traffic masuk dari rentang IP 35.235.240.0/20. Rentang ini berisi semua alamat IP yang digunakan IAP untuk penerusan TCP.

    Untuk VM IPv6, gunakan rentang IP berikut: 2600:2d00:1:7::/64.

  • mengizinkan koneksi ke semua port yang ingin Anda akses 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 hal berikut:

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

  5. Untuk Direction of traffic, pilih Ingress.

  6. Untuk Logs, pilih On.

  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. Centang kotak TCP, lalu untuk Ports, masukkan 22 dan 3389 yang dipisahkan dengan koma.

  11. Klik Buat.

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

    Buka instance VM

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

  3. Dalam dialog SSH di browser, klik Authorize dan tunggu hingga koneksi 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 memverifikasi bahwa Apache sedang 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 VM instances.

    Buka instance VM

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

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

  4. Dalam dialog SSH di browser, klik Authorize dan tunggu hingga koneksi 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, Anda menambahkan aturan masuk ke kebijakan firewall.

  6. Tutup dialog SSH-in-browser.

Perbarui 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 Logs, pilih On.

  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 Tujuan, untuk Jenis IP, 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 Buat.

gcloud

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

    Buka instance VM

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

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

  4. Dalam dialog SSH di browser, klik Authorize dan tunggu hingga koneksi 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, lihat Melihat log.