Mengonfigurasi aturan Azure Firewall

Anda dapat mengonfigurasi aturan NAT, aturan jaringan, dan aturan aplikasi di Azure Firewall menggunakan aturan klasik atau Kebijakan Firewall. Azure Firewall menolak semua lalu lintas secara default, hingga aturan dikonfigurasi secara manual untuk mengizinkan lalu lintas.

Pemrosesan aturan menggunakan aturan klasik

Kumpulan aturan diproses sesuai dengan jenis aturan dalam urutan prioritas, angka yang lebih rendah ke angka yang lebih tinggi dari 100 hingga 65.000. Nama kumpulan aturan hanya boleh memiliki huruf, angka, garis bawah, titik, atau tanda hubung. Nama harus dimulai dengan huruf atau angka dan diakhiri dengan huruf, angka, atau garis bawah. Panjang nama maksimal adalah 80 karakter.

Yang terbaik adalah awalnya memberi spasi pada nomor prioritas kumpulan aturan Anda dalam tahapan 100 (100, 200, 300, dan sebagainya) sehingga Anda memiliki ruang untuk menambahkan lebih banyak kumpulan aturan jika diperlukan.

Pemrosesan aturan menggunakan Kebijakan Firewall

Dengan Kebijakan Firewall, aturan diatur di dalam Koleksi Aturan dan Grup Koleksi Aturan. Grup Koleksi Aturan berisi nol atau lebih Koleksi Aturan. Koleksi Aturan adalah jenis NAT, Jaringan, atau Aplikasi. Anda dapat menentukan beberapa jenis Koleksi Aturan dalam satu Grup Aturan. Anda dapat menentukan nol atau lebih Aturan dalam Koleksi Aturan. Aturan dalam Koleksi Aturan harus memiliki jenis yang sama (NAT, Jaringan, atau Aplikasi).

Aturan diproses berdasarkan Prioritas Grup Koleksi Aturan dan prioritas Koleksi Aturan. Prioritas adalah angka antara 100 (prioritas tertinggi) hingga 65.000 (prioritas terendah). Grup Koleksi Aturan dengan prioritas tertinggi diproses terlebih dahulu. Di dalam grup koleksi aturan, Koleksi Aturan dengan prioritas tertinggi (angka terendah) diproses terlebih dahulu.

Jika Kebijakan Firewall diwarisi dari kebijakan induk, Grup Koleksi Aturan dalam kebijakan induk selalu diprioritaskan terlepas dari prioritas kebijakan turunan.

Catatan

Aturan aplikasi selalu diproses setelah aturan Jaringan, yang diproses setelah aturan DNAT terlepas dari grup Koleksi aturan atau prioritas Koleksi aturan dan pewarisan kebijakan.

Berikut ini contoh kebijakan:

Dengan asumsi BaseRCG1 adalah prioritas grup kumpulan aturan (200) yang berisi kumpulan aturan: DNATRC1, DNATRC3,NetworkRC1.
BaseRCG2 adalah prioritas grup kumpulan aturan (300) yang berisi kumpulan aturan: AppRC2, NetworkRC2.
ChildRCG1 adalah prioritas grup kumpulan aturan (200) yang berisi kumpulan aturan: ChNetRC1, ChAppRC1.
ChildRCG2 adalah grup kumpulan aturan yang berisi kumpulan aturan: ChNetRC2, ChAppRC2,ChDNATRC3.

Sesuai tabel berikut:

Nama Jenis Prioritas Aturan Diperoleh dari
BaseRCG1 Grup koleksi aturan 200 8 Kebijakan induk
DNATRC1 Koleksi aturan DNAT 600 7 Kebijakan induk
DNATRC3 Koleksi aturan DNAT 610 3 Kebijakan induk
NetworkRC1 Kumpulan aturan jaringan 800 1 Kebijakan induk
BaseRCG2 Grup koleksi aturan 300 3 Kebijakan induk
AppRC2 Kumpulan aturan aplikasi 1200 2 Kebijakan induk
NetworkRC2 Kumpulan aturan jaringan 1300 1 Kebijakan induk
ChildRCG1 Grup koleksi aturan 300 5 -
ChNetRC1 Kumpulan aturan jaringan 700 3 -
ChAppRC1 Kumpulan aturan aplikasi 900 2 -
ChildRCG2 Grup koleksi aturan 650 9 -
ChNetRC2 Kumpulan aturan jaringan 1100 2 -
ChAppRC2 Kumpulan aturan aplikasi 2000 7 -
ChDNATRC3 Koleksi aturan DNAT 3000 2 -

Pemrosesan Awal:

Proses dimulai dengan memeriksa grup kumpulan aturan (RCG) dengan angka terendah, yaitu BaseRCG1 dengan prioritas 200. Dalam grup ini, ia mencari kumpulan aturan DNAT dan mengevaluasinya sesuai dengan prioritas mereka. Dalam hal ini, DNATRC1 (prioritas 600) dan DNATRC3 (prioritas 610) ditemukan dan diproses sesuai.
Selanjutnya, ia pindah ke RCG berikutnya, BaseRCG2 (prioritas 200), tetapi tidak menemukan kumpulan aturan DNAT.
Setelah itu, ia melanjutkan ke ChildRCG1 (prioritas 300), juga tanpa kumpulan aturan DNAT.
Terakhir, ini memeriksa ChildRCG2 (prioritas 650) dan menemukan kumpulan aturan ChDNATRC3 (prioritas 3000).

Iterasi Dalam Grup Kumpulan Aturan:

Kembali ke BaseRCG1, iterasi berlanjut, kali ini untuk aturan JARINGAN. Hanya NetworkRC1 (prioritas 800) yang ditemukan.
Kemudian, ia pindah ke BaseRCG2, di mana NetworkRC2 (prioritas 1300) berada.
Beralih ke ChildRCG1, ia menemukan ChNetRC1 (prioritas 700) sebagai aturan JARINGAN.
Terakhir, di ChildRCG2, ia menemukan ChNetRC2 (prioritas 1100) sebagai kumpulan aturan JARINGAN.

Perulangan Akhir untuk Aturan APLIKASI:

Kembali ke BaseRCG1, proses berulang untuk aturan APLIKASI, tetapi tidak ada yang ditemukan.
Di BaseRCG2, ia mengidentifikasi AppRC2 (prioritas 1200) sebagai aturan APLIKASI.
Di ChildRCG1, ChAppRC1 (prioritas 900) ditemukan sebagai aturan APLIKASI.
Akhirnya, di ChildRCG2, ia menemukan ChAppRC2 (prioritas 2000) sebagai aturan APLIKASI.

Singkatnya, urutan pemrosesan aturan adalah sebagai berikut: DNATRC1, DNATRC3, ChDNATRC3, NetworkRC1, NetworkRC2, ChNetRC1, ChNetRC2, AppRC2, ChAppRC1, ChAppRC2.

Proses ini melibatkan analisis grup kumpulan aturan berdasarkan prioritas, dan dalam setiap grup, mengurutkan aturan sesuai dengan prioritas mereka untuk setiap jenis aturan (DNAT, JARINGAN, dan APLIKASI).

Jadi pertama-tama semua aturan DNAT diproses dari semua grup kumpulan aturan, menganalisis grup kumpulan aturan berdasarkan urutan prioritas dan mengurutkan aturan DNAT dalam setiap grup kumpulan aturan berdasarkan urutan prioritas. Kemudian proses yang sama untuk aturan JARINGAN, dan akhirnya untuk aturan APLIKASI.

Untuk informasi selengkapnya tentang kumpulan aturan Kebijakan Firewall, lihat kumpulan aturan Kebijakan Azure Firewall.

Inteligensi Ancaman

Jika Anda mengaktifkan pemfilteran berbasis inteligensi ancaman, aturan tersebut adalah prioritas tertinggi dan selalu diproses terlebih dahulu (sebelum aturan jaringan dan aplikasi). Pemfilteran inteligensi ancaman dapat menolak lalu lintas sebelum aturan yang dikonfigurasi diproses. Untuk informasi selengkapnya, lihat Pemfilteran berbasis inteligensi ancaman Azure Firewall.

IDPS

Saat IDPS dikonfigurasi dalam mode Pemberitahuan, mesin IDPS bekerja secara paralel dengan logika pemrosesan aturan dan menghasilkan pemberitahuan pada tanda tangan yang cocok untuk aliran masuk dan keluar. Untuk kecocokan tanda tangan IDPS, pemberitahuan dicatat di log firewall. Namun, karena mesin IDPS berfungsi secara paralel dengan mesin pemrosesan aturan, lalu lintas ditolak atau diizinkan oleh aturan aplikasi/jaringan mungkin masih menghasilkan entri log lain.

Saat IDPS dikonfigurasikan dalam mode Pemberitahuan dan Abaikan, mesin IDPS akan sebaris dan diaktifkan setelah mesin pemroses aturan. Jadi kedua mesin menghasilkan pemberitahuan dan mungkin memblokir aliran yang cocok. 

Penurunan sesi yang dilakukan oleh IDPS memblokir aliran secara diam-diam. Jadi tidak ada RST yang dikirim pada level TCP. Karena IDPS selalu memeriksa lalu lintas setelah aturan Jaringan/Aplikasi dicocokkan (Izinkan/Tolak) dan ditandai di log, pesan Dihilangkan lain mungkin dicatat di mana IDPS memutuskan untuk menolak sesi karena kecocokan tanda tangan.

Saat pemeriksaan TLS diaktifkan, lalu lintas yang tidak terenkripsi dan terenkripsi akan diperiksa. 

Konektivitas keluar

Aturan jaringan dan aturan aplikasi

Jika Anda mengonfigurasi aturan jaringan dan aturan aplikasi, aturan jaringan diterapkan dalam urutan prioritas sebelum aturan aplikasi. Aturannya dihentikan. Jadi, jika kecocokan ditemukan dalam aturan jaringan, tidak ada aturan lain yang diproses. Jika dikonfigurasi, IDPS dilakukan pada semua lalu lintas yang dilalui dan setelah pencocokan tanda tangan, IDPS dapat memperingatkan atau/dan memblokir lalu lintas yang mencurigakan.

Aturan aplikasi kemudian mengevaluasi paket dalam urutan prioritas jika tidak ada kecocokan aturan jaringan, dan jika protokolnya adalah HTTP, HTTPS, atau MSSQL.

Untuk HTTP, Azure Firewall mencari kecocokan aturan aplikasi menurut header Host. Untuk HTTPS, Azure Firewall mencari kecocokan aturan aplikasi menurut SNI saja.

Dalam kasus HTTPS yang diperiksa HTTP dan TLS, firewall mengabaikan alamat IP tujuan paket dan menggunakan alamat IP yang diselesaikan DNS dari header Host. Firewall mengharapkan untuk mendapatkan nomor port di header Host, jika tidak maka akan mengasumsikan port standar 80. Jika ada ketidakcocokan port antara port TCP yang sebenarnya dan port di header host, lalu lintas akan dihentikan. Resolusi DNS dilakukan oleh Azure DNS atau DNS kustom jika dikonfigurasi di firewall. 

Catatan

Baik protokol HTTP maupun HTTPS (dengan pemeriksaan TLS) selalu diisi oleh Azure Firewall dengan header XFF (X-Forwarded-For) yang sama dengan alamat IP sumber asli. 

Ketika aturan aplikasi berisi pemeriksaan TLS, mesin aturan firewall memproses SNI, Host Header, dan juga URL untuk mencocokkan aturan.

Jika masih tidak ditemukan kecocokan dalam aturan aplikasi, maka paket dievaluasi terhadap koleksi aturan infrastruktur. Jika masih tidak ada yang cocok, maka paket akan ditolak secara default.

Catatan

Aturan jaringan dapat dikonfigurasi untuk protokol IP TCP, UDP, ICMP, atau Semua. Protokol IP apa pun menyertakan semua protokol IP sebagaimana ditentukan dalam dokumen Nomor Protokol Internet Assigned Numbers Authority (IANA). Jika port tujuan dikonfigurasi secara eksplisit, maka aturan tersebut diterjemahkan ke aturan TCP+UDP. Sebelum 9 November 2020 Semua berarti TCP, atau UDP, atau ICMP. Jadi, Anda mungkin telah mengonfigurasi aturan sebelum tanggal tersebut dengan Protocol = Any, dan destination ports = '*'. Jika Anda tidak bermaksud untuk mengizinkan protokol IP apa pun seperti yang ditentukan saat ini, maka ubah aturan untuk secara eksplisit mengonfigurasi protokol yang Anda inginkan (TCP, UDP, atau ICMP).

Konektivitas masuk

Aturan DNAT dan aturan Jaringan

Konektivitas Internet masuk dapat diaktifkan dengan mengonfigurasi Destination Network Address Translation (DNAT) seperti yang dijelaskan dalam Memfilter lalu lintas masuk dengan Azure Firewall DNAT menggunakan portal Azure. Aturan NAT diterapkan dalam prioritas sebelum aturan jaringan. Jika kecocokan ditemukan, lalu lintas diterjemahkan sesuai dengan aturan DNAT dan diizinkan oleh firewall. Jadi lalu lintas tidak tunduk pada pemrosesan lebih lanjut oleh aturan jaringan lain. Untuk alasan keamanan, pendekatan yang disarankan adalah menambahkan sumber internet tertentu untuk membuka akses DNAT ke jaringan dan menghindari penggunaan wildcard.

Aturan aplikasi tidak diterapkan untuk koneksi masuk. Jadi jika ingin memfilter lalu lintas HTTP/S masuk, Anda harus menggunakan Web Application Firewall (WAF). Untuk informasi selengkapnya, lihat Apa itu Azure Web Application Firewall?

Contoh

Contoh berikut menunjukkan hasil dari beberapa kombinasi aturan ini.

Contoh 1

Koneksi ke google.com diperbolehkan karena aturan jaringan yang cocok.

Aturan jaringan

  • Tindakan: Izinkan
nama Protokol Jenis sumber Sumber Tipe tujuan Alamat tujuan Port tujuan
Allow-web TCP Alamat IP * Alamat IP * 80,443

Aturan aplikasi

  • Tindakan: Tolak
nama Jenis sumber Sumber Protocol:Port Nama Domain yang Sepenuhnya Memenuhi Syarat Target
Tolak google Alamat IP * http:80,https:443 google.com

Hasil

Sambungan ke google.com diizinkan karena paket tersebut cocok dengan aturan jaringan Izinkan web. Pemrosesan aturan berhenti pada titik ini.

Contoh 2

Lalu lintas SSH ditolak karena kumpulan aturan jaringan Tolak dengan prioritas yang lebih tinggi memblokirnya.

Kumpulan aturan jaringan 1

  • Nama: Izinkan kumpulan
  • Prioritas: 200
  • Tindakan: Izinkan
nama Protokol Jenis sumber Sumber Tipe tujuan Alamat tujuan Port tujuan
Allow-SSH TCP Alamat IP * Alamat IP * 22

Kumpulan aturan jaringan 2

  • Nama: Tolak kumpulan
  • Prioritas: 100
  • Tindakan: Tolak
nama Protokol Jenis sumber Sumber Tipe tujuan Alamat tujuan Port tujuan
Deny-SSH TCP Alamat IP * Alamat IP * 22

Hasil

Lalu lintas SSH ditolak karena kumpulan aturan jaringan dengan prioritas yang lebih tinggi memblokirnya. Pemrosesan aturan berhenti pada titik ini.

Perubahan aturan

Jika Anda mengubah aturan untuk menolak lalu lintas yang diizinkan sebelumnya, sesi relevan apa pun yang ada akan dihapus.

Perilaku jabat tangan tiga arah

Sebagai layanan berstatus, Azure Firewall menyelesaikan jabat tangan tiga arah TCP untuk lalu lintas yang diizinkan, dari sumber ke tujuan. Misalnya, VNet-A ke VNet-B.

Membuat aturan perizinan dari VNet-A ke VNet-B tidak berarti bahwa koneksi baru yang dimulai dari VNet-B ke VNet-A akan diizinkan.

Akibatnya, tidak perlu membuat aturan penolakan eksplisit dari VNet-B ke VNet-A. Jika Anda membuat aturan tolak ini, Anda mengganggu jabat tangan tiga arah dari aturan izinkan awal dari VNet-A ke VNet-B.

Langkah berikutnya