Contoh kebijakan firewall hierarkis

Halaman ini menampilkan contoh penerapan kebijakan firewall hierarkis. Anda mengasumsikan bahwa Anda sudah memahami konsep yang dijelaskan dalam Kebijakan firewall hierarkis.

Contoh 1: Mengizinkan prober mengakses semua VM

Dalam kasus penggunaan ini, semua instance virtual machine (VM) dalam organisasi harus dipindai dan diinventarisasi menggunakan pemeriksaan dari alamat IP tertentu (10.100.0.1) ke port tujuan tertentu (123). Admin keamanan organisasi memastikan bahwa tidak ada admin jaringan atau admin keamanan lainnya yang dapat memblokir port tersebut pada instance VM apa pun dalam organisasi.

Contoh ini mengasumsikan bahwa tidak ada kebijakan firewall tingkat folder yang di-deploy.

Penyiapan konfigurasi untuk kasus penggunaan ini dijelaskan dalam diagram berikut.

Izinkan prober mengakses semua VM
Izinkan pemeriksaan untuk mengakses semua VM

Kebijakan efektif diterapkan di VM

Dalam contoh ini, kebijakan firewall VM yang efektif setelah evaluasi aturan di seluruh hierarki adalah sebagai berikut.

Koneksi masuk

  • Koneksi masuk dengan IP sumber 10.100.0.1 dan port tujuan 123 diizinkan, seperti yang ditentukan dalam kebijakan. Jika ada kecocokan di kebijakan organisasi, koneksi pemeriksaan diizinkan dan tidak ada aturan lebih lanjut yang dievaluasi dalam hierarki.

  • Untuk setiap koneksi masuk selain dari IP sumber 10.100.0.1 dan port tujuan 123, tidak ada kecocokan. Oleh karena itu, aturan masuk default dalam aturan firewall VPC berlaku untuk menolak koneksi tersebut.

Koneksi keluar

  • Tidak ada kecocokan di seluruh aturan yang ditentukan hierarki. Oleh karena itu, aturan keluar default dalam aturan firewall VPC berlaku, sehingga koneksi keluar dapat dilakukan.

Cara mengonfigurasi

  1. Buat kebijakan firewall untuk memuat aturan:

    gcloud compute firewall-policies create \
         --organization=123456789012 \
         --short-name="example-firewall-policy" \
         --description="rules that apply to all VMs in the organization"
    
  2. Tambahkan aturan ke kebijakan firewall:

    gcloud compute firewall-policies rules create 1000 \
        --action=allow \
        --description="allow-scan-probe" \
        --layer4-configs=tcp:123 \
        --firewall-policy=example-firewall-policy \
        --organization=123456789012 \
        --src-ip-ranges=10.100.0.1/32
  3. Kaitkan kebijakan firewall dengan node organisasi:

    gcloud compute firewall-policies associations create \
        --firewall-policy=example-firewall-policy \
        --organization=123456789012

Contoh 2: Menolak semua koneksi eksternal kecuali ke port tertentu

Dalam kasus penggunaan ini, kebijakan firewall memblokir semua koneksi dari sumber internet eksternal, kecuali untuk koneksi pada port tujuan 80, 443, dan 22. Koneksi internet masuk pada port mana pun yang bukan 80, 443, dan 22 akan diblokir, terlepas dari aturan firewall apa pun di tingkat jaringan VPC. Untuk koneksi apa pun pada port 80, 443, atau 22, kebijakan ini akan mendelegasikan perilaku yang ingin diterapkan kepada admin keamanan VPC dalam jaringan VPC masing-masing untuk port tersebut.

Penyiapan konfigurasi untuk kasus penggunaan ini dijelaskan dalam diagram berikut.

Menolak semua koneksi eksternal kecuali port tujuan tertentu
Menolak semua koneksi eksternal kecuali port tujuan tertentu

Kebijakan efektif diterapkan di VM

Dalam contoh ini, kebijakan firewall VM yang efektif setelah evaluasi aturan di seluruh hierarki adalah sebagai berikut.

Koneksi masuk

  • Setiap koneksi masuk dari 10.0.0.0/8 cocok dengan aturan tingkat organisasi dengan prioritas tertinggi delegate-internal-traffic dan mengabaikan aturan lainnya dalam kebijakan organisasi yang akan dievaluasi terhadap aturan firewall yang dikonfigurasi di tingkat jaringan VPC. Dalam aturan firewall VPC, koneksi dari 10.2.0.0/16 diizinkan, dan koneksi lainnya dievaluasi terhadap aturan ingress tersirat, yaitu deny.

  • Koneksi masuk dengan rentang IP sumber yang bukan 10.0.0.0/8 untuk port tujuan 22, 80, dan 443 didelegasikan ke level berikutnya, dengan port 80 dan 443 diizinkan, tetapi 22 tidak.

  • Semua koneksi lainnya akan diblokir.

Koneksi keluar

  • Tidak ada kecocokan di seluruh aturan yang ditentukan hierarki. Oleh karena itu, aturan keluar default dalam aturan firewall VPC berlaku, sehingga koneksi keluar dapat dilakukan.

Cara mengonfigurasi

  1. Buat kebijakan firewall untuk memuat aturan:

    gcloud compute firewall-policies create \
        --organization=123456789012 \
        --short-name="example-firewall-policy" \
        --description="rules that apply to all VMs in the organization"
    
  2. Tambahkan aturan untuk mendelegasikan koneksi internal kepada pemilik project:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description="delegate-internal-traffic" \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy" \
        --src-ip-ranges=10.0.0.0/8
    
  3. Tambahkan aturan untuk mendelegasikan aturan koneksi eksternal ke port 80/443/22 kepada pemilik project:

    gcloud compute firewall-policies rules create 2000 \
        --action=goto_next \
        --description="delegate-external-traffic-spec-ports" \
        --layer4-configs=tcp:80,tcp:443,tcp:22 \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy"
  4. Tambahkan aturan untuk menolak semua koneksi eksternal lainnya:

    gcloud compute firewall-policies rules create 3000 \
        --action=deny \
        --description="block-other-external-traffic-spec-ports" \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy" \
        --src-ip-ranges=0.0.0.0/0
    
  5. Kaitkan kebijakan firewall dengan node organisasi:

    gcloud compute firewall-policies associations create \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy"
  6. Dalam project ini, tambahkan aturan firewall untuk mengizinkan koneksi internal dari subnet yang ditetapkan:

    gcloud compute firewall-rules create allow-internal-traffic \
        --action=allow \
        --priority=1000 \
        --source-ranges=10.2.0.0/16
    
  7. Dalam project ini, tambahkan aturan firewall untuk mengizinkan koneksi 80/443 TCP eksternal:

    gcloud compute firewall-rules create allow-external-traffic \
        --action=allow \
        --priority=2000 \
        --rules=tcp:80,tcp:443
    

Contoh 3: Menolak koneksi keluar kecuali dari jaringan VPC tertentu

Dalam kasus penggunaan ini, admin keamanan organisasi tidak mengizinkan koneksi keluar di jaringan VPC mana pun, kecuali untuk koneksi yang berasal dari jaringan VPC myvpc. Admin mendelegasikan keputusan untuk membuka traffic keluar ke server publik 203.0.113.1 ke admin keamanan myvpc.

Contoh ini mengasumsikan bahwa tidak ada kebijakan firewall tingkat folder yang di-deploy. Penyiapan konfigurasi untuk kasus penggunaan ini dijelaskan dalam diagram berikut.

Menolak koneksi keluar kecuali dari jaringan tertentu
Menolak koneksi keluar kecuali dari jaringan tertentu

Kebijakan efektif diterapkan di VM

Dalam contoh ini, kebijakan firewall VM yang efektif setelah evaluasi aturan di seluruh hierarki adalah sebagai berikut.

Koneksi masuk

  • Tidak ada kecocokan di seluruh aturan yang ditentukan hierarki. Oleh karena itu, aturan masuk default dalam aturan firewall VPC berlaku untuk menolak koneksi masuk.

Koneksi keluar

  • Semua koneksi keluar yang ditujukan ke 203.0.113.1 diizinkan; koneksi lainnya akan ditolak. Semua koneksi keluar yang ditujukan ke 203.0.113.1 cocok dengan aturan delegate-egress-my-vpc dan mengabaikan aturan lainnya dalam kebijakan organisasi.

  • Koneksi keluar kemudian dievaluasi terhadap aturan firewall yang dikonfigurasi di myvpc. Aturan default mengizinkan koneksi keluar. Aturan block-egress-traffic-sepc-ports dalam kebijakan tingkat organisasi menolak koneksi lainnya.

Cara mengonfigurasi

  1. Buat kebijakan firewall untuk memuat aturan:

    gcloud compute firewall-policies create \
        --organization=123456789012 \
        --short-name="example-firewall-policy" \
        --description="rules that apply to all VMs in the organization"
    
  2. Tambahkan aturan untuk mendelegasikan koneksi keluar tertentu:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description="delegate-egress-myvpc" \
        --dest-ip-ranges=203.0.113.1/32
        --direction=egress
        --organization=123456789012 \
        --short-name="example-firewall-policy" \
        --target-resources=projects/PROJECT_ID/networks/myvpc
    
  3. Tambahkan aturan untuk menolak semua koneksi keluar lainnya:

    gcloud compute firewall-policies rules create 2000 \
        --action=deny \
        --description="block-egress-external-traffic-spec-ports" \
        --direction=egress \
        --dest-ip-ranges=0.0.0.0/0 \
        --organization=123456789012 \
        --short-name="example-firewall-policy"
  4. Kaitkan kebijakan firewall dengan node organisasi:

    gcloud compute firewall-policies associations create \
        --organization=123456789012 \
        --short-name="example-firewall-policy"

Contoh 4: Mengonfigurasi aturan di seluruh organisasi dan aturan khusus folder

Dalam kasus penggunaan ini, admin keamanan tidak mengizinkan koneksi masuk ke VM apa pun di organisasi, kecuali yang berasal dari rentang yang diizinkan 203.0.113.0/24. Admin mendelegasikan keputusan lebih lanjut tentang tindakan yang harus dilakukan dengan koneksi dari 203.0.113.0/24 ke admin keamanan di tingkat folder.

Ada dua folder yang berbeda:

  • Folder1, yang kebijakannya mengizinkan koneksi hanya ke port 80 dan 443 di VM backend, dan port lainnya akan diblokir.
  • Folder2, di mana kebijakan ini memberlakukan bahwa tidak ada VM di Folder2 yang dapat memblokir port tujuan apa pun untuk traffic dari alamat IP 203.0.113.1. Admin keamanan Folder2 mendelegasikan keputusan lain kepada admin keamanan VPC, yang memutuskan untuk membuka port 80, 443, dan 22, serta menolak port lainnya.

Penyiapan konfigurasi untuk kasus penggunaan ini dijelaskan dalam diagram berikut.

Aturan seluruh organisasi dan khusus folder
Aturan seluruh organisasi dan khusus folder

Kebijakan efektif diterapkan di VM

Dalam contoh ini, kebijakan firewall VM yang efektif setelah evaluasi aturan di seluruh hierarki adalah sebagai berikut.

Untuk VM milik my-vpc

  • Semua koneksi masuk dari 203.0.113.0/24 dengan port tujuan TCP 80 dan 443 diizinkan. Koneksi masuk lainnya akan ditolak.

  • Semua koneksi traffic keluar diterima sesuai dengan aturan firewall VPC yang diterapkan karena tidak ada kecocokan dalam aturan kebijakan firewall di level yang lebih tinggi.

Untuk VM milik vpc2

  • Semua koneksi masuk dari 203.0.113.1 diizinkan. Koneksi masuk dari sumber 203.0.113.0/24 selain 203.0.113.1 hanya diizinkan ke port 80, 443, dan 22. Semua koneksi masuk lainnya akan ditolak.

  • Semua koneksi traffic keluar diterima sesuai dengan aturan firewall VPC yang diterapkan karena tidak ada kecocokan dalam aturan kebijakan firewall di level yang lebih tinggi.

Cara mengonfigurasi

  1. Buat kebijakan firewall untuk memuat aturan Org_A:

    gcloud compute firewall-policies create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a" \
        --description="rules that apply to all VMs in the organization"
    
  2. Tambahkan aturan untuk mendelegasikan traffic masuk dari 203.0.113.0/24 ke pemilik project:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description="delegate-ingress" \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a" \
        --src-ip-ranges=203.0.113.0/24
    
  3. Tambahkan aturan untuk menolak semua koneksi eksternal lainnya:

    gcloud compute firewall-policies rules create 2000 \
        --action=deny
        --description="block-ingress-external-traffic"
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a" \
        --src-ip-ranges=0.0.0.0/0
    
  4. Kaitkan kebijakan firewall dengan node organisasi:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a"
  5. Buat kebijakan firewall agar dapat menampung aturan untuk Folder1:

    gcloud compute firewall-policies create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1" \
        --description="rules that apply to all VMs under Folder1"
    
  6. Tambahkan aturan untuk mengizinkan semua traffic masuk HTTP(S):

    gcloud compute firewall-policies rules create 1000 \
        --action=allow \
        --description="allow-http-s-ingress" \
        --layer4-configs=tcp:80,tcp:443 \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1"
  7. Tambahkan aturan untuk menolak ingress di semua port atau protokol lain:

    gcloud compute firewall-policies rules create 2000 \
        --action=deny \
        --description="block-ingress-external-traffic" \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1" \
        --src-ip-ranges=0.0.0.0/0
  8. Kaitkan kebijakan firewall dengan Folder1:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1" \
        --folder=200000000000
  9. Buat kebijakan firewall untuk memuat aturan untuk Folder2:

    gcloud compute firewall-policies create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder2" \
        --description="rules that apply to all VMs under Folder2"
  10. Tambahkan aturan untuk mengizinkan traffic masuk dari 203.0.113.1:

    gcloud compute firewall-policies rules create 1000 \
        --action=allow \
        --description="allow-vul-scan-ingress" \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder2" \
        --src-ip-ranges=203.0.113.1/32
  11. Kaitkan kebijakan firewall dengan Folder2:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder2" \
        --folder=300000000000
  12. Tambahkan aturan firewall untuk mengizinkan traffic masuk koneksi HTTP(S):

    gcloud compute firewall-rules create allow-internal-traffic \
        --action=allow \
        --rules=tcp:80,tcp:443,tcp:22
    

Langkah selanjutnya