Merencanakan dan menerapkan Kelompok Keamanan Jaringan (NSG) dan Kelompok Keamanan Aplikasi (ASG)

Selesai

Anda dapat menggunakan kelompok keamanan jaringan Azure untuk memfilter lalu lintas jaringan antara sumber daya Azure di jaringan virtual Azure. Kelompok keamanan jaringan berisi aturan keamanan yang memungkinkan atau menolak lalu lintas jaringan masuk ke, atau, lalu lintas jaringan keluar dari, beberapa jenis sumber daya Azure. Untuk setiap aturan, Anda dapat menentukan sumber dan tujuan, port, dan protokol.

Grup Keamanan Jaringan (NSG)

Aturan keamanan

Grup keamanan jaringan berisi aturan sebanyak yang diinginkan, dalam batas langganan Azure. Setiap aturan menentukan properti berikut:

Properti Penjelasan
Nama Nama unik dalam grup keamanan jaringan. Panjang nama bisa hingga 80 karakter. Ini harus dimulai dengan karakter kata, dan harus diakhir dengan karakter kata atau dengan '_'. Nama mungkin berisi karakter kata atau '.', '-', '_'.
Prioritas Angka antara 100 dan 4096. Aturan diproses dalam urutan prioritas, dengan angka yang lebih rendah diproses sebelum angka yang lebih tinggi, karena angka yang lebih rendah memiliki prioritas yang lebih tinggi. Setelah lalu lintas cocok dengan aturan, pemrosesan dihentikan. Akibatnya, setiap aturan yang ada dengan prioritas yang lebih rendah (angka yang lebih tinggi) yang memiliki atribut sama seperti aturan dengan prioritas yang lebih tinggi, tidak diproses.
Aturan keamanan default Azure diberi angka tertinggi dengan prioritas terendah untuk memastikan bahwa aturan kustom selalu diproses terlebih dahulu.
Sumber atau tujuan Setiap, atau alamat IP individual, blok perutean antar domain tanpa kelas (CIDR) (10.0.0.0/24, misalnya), tag layanan, atau kelompok keamanan aplikasi. Jika Anda menentukan alamat untuk sumber daya Azure, tentukan alamat IP privat yang ditetapkan ke sumber daya. Kelompok keamanan jaringan diproses setelah Azure menerjemahkan alamat IP publik ke alamat IP pribadi untuk lalu lintas masuk, dan sebelum Azure menerjemahkan alamat IP pribadi ke alamat IP publik untuk lalu lintas keluar. Aturan keamanan yang diperlukan saat Anda menentukan rentang, tag layanan, atau grup keamanan aplikasi lebih sedikit. Kemampuan untuk menetapkan banyak alamat dan rentang IP individual (Anda tidak dapat menetapkan banyak tag layanan atau grup aplikasi) dalam aturan disebut sebagai aturan keamanan tambahan. Aturan keamanan tambahan hanya dapat dibuat di kelompok keamanan jaringan yang dibuat melalui model penyebaran Azure Resource Manager. Anda tidak dapat menetapkan banyak alamat IP dan rentang alamat IP dalam grup keamanan jaringan yang dibuat melalui model penyebaran klasik.
Protokol TCP, UDP, ICMP, ESP, AH, atau Apapun. Protokol ESP dan AH saat ini tidak tersedia melalui portal Azure tetapi dapat digunakan melalui templat Azure Resource Manager.
Arah Apakah aturan tersebut berlaku untuk lalu lintas masuk atau keluar.
Rentang port Anda dapat menentukan satu atau rentang porta. Misalnya, Anda dapat menentukan 80 atau 10000-10005. Menentukan rentang memungkinkan Anda membuat lebih sedikit aturan keamanan. Aturan keamanan tambahan hanya dapat dibuat di kelompok keamanan jaringan yang dibuat melalui model penyebaran Azure Resource Manager. Anda tidak dapat menetapkan banyak port atau rentang port dalam aturan keamanan yang sama dalam grup keamanan jaringan yang dibuat melalui model penyebaran klasik.
Perbuatan Izinkan atau tolak

Aturan keamanan dievaluasi dan diterapkan berdasarkan informasi lima tuple (1. sumber, 2. port sumber, 3. tujuan, 4. port tujuan, dan 5. protokol). Anda tidak boleh membuat dua aturan keamanan dengan prioritas dan arah yang sama. Rekaman aliran dibuat untuk koneksi yang sudah ada. Komunikasi diperbolehkan atau ditolak berdasarkan status koneksi rekaman aliran. Catatan aliran memungkinkan kelompok keamanan jaringan menjadi stateful. Jika Anda menentukan aturan keamanan keluar ke alamat mana pun di atas port 80, misalnya, Anda tidak perlu menentukan aturan keamanan masuk untuk respons terhadap lalu lintas keluar. Anda hanya perlu menentukan aturan keamanan masuk jika komunikasi dimulai secara eksternal. Sebaliknya juga benar. Jika lalu lintas masuk diizinkan melalui port, Anda tidak perlu menentukan aturan keamanan keluar untuk merespons lalu lintas di atas port.

Koneksi yang ada mungkin tidak terganggu ketika Anda menghapus aturan keamanan yang mengizinkan koneksi. Mengubah aturan grup keamanan jaringan hanya akan memengaruhi koneksi baru. Ketika aturan baru dibuat atau aturan yang ada diperbarui dalam grup keamanan jaringan, aturan tersebut hanya akan berlaku untuk koneksi baru. Koneksi yang ada tidak dievaluasi ulang dengan aturan baru.

Bagaimana cara kelompok keamanan jaringan memfilter lalu lintas jaringan

Anda dapat menyebarkan sumber daya dari beberapa layanan Azure ke jaringan virtual Azure. Anda dapat mengaitkan nol, atau satu, kelompok keamanan jaringan ke setiap subnet jaringan virtual dan antarmuka jaringan dalam komputer virtual. Kelompok keamanan jaringan yang sama dapat dikaitkan dengan subnet dan antarmuka jaringan sebanyak yang Anda pilih. Gambar berikut mengilustrasikan skenario yang berbeda tentang bagaimana kelompok keamanan jaringan mungkin disebarkan untuk memungkinkan lalu lintas jaringan ke dan dari internet melalui port TCP 80:

Diagram memperlihatkan contoh bagaimana kelompok keamanan jaringan mungkin disebarkan untuk memungkinkan lalu lintas jaringan ke dan dari internet melalui port TCP 80.

Referensikan gambar, bersama dengan teks berikut, untuk memahami bagaimana Azure memproses aturan masuk dan keluar untuk grup keamanan jaringan:

Lalu Lintas Masuk

Untuk lalu lintas masuk, Azure memproses aturan di kelompok keamanan jaringan yang terkait dengan subnet terlebih dahulu, jika ada, kemudian, aturan dalam kelompok keamanan jaringan yang terkait dengan antarmuka jaringan, jika ada. Proses ini juga mencakup lalu lintas intra-subnet.

  • VM1: Aturan keamanan di NSG1 diproses, karena dikaitkan dengan Subnet 1 dan VM1 ada di Subnet 1. Kecuali Anda telah membuat aturan yang memungkinkan port 80 masuk, aturan keamanan default DenyAllInbound menolak lalu lintas. Lalu lintas tidak dievaluasi oleh NSG2 karena dikaitkan dengan antarmuka jaringan. Jika NSG1 mengizinkan port 80 dalam aturan keamanannya, NSG2 memproses lalu lintas. Untuk memungkinkan port 80 ke komputer virtual, NSG1 dan NSG2 harus memiliki aturan yang memungkinkan port 80 dari internet.
  • VM2: Aturan di NSG1 diproses karena VM2 juga berada di Subnet 1. Karena VM2 tidak memiliki grup keamanan jaringan yang terkait dengan antarmuka jaringannya, VM2 menerima semua lalu lintas yang diizinkan melalui NSG1 atau ditolak semua lalu lintas yang ditolak oleh NSG1. Lalu lintas diperbolehkan atau ditolak masuk ke semua sumber daya dalam subnet yang sama ketika kelompok keamanan jaringan dikaitkan dengan subnet.
  • VM3: Karena tidak ada kelompok keamanan jaringan yang terkait dengan Subnet 2, lalu lintas diizinkan ke subnet dan diproses oleh NSG2, karena NSG2 dikaitkan dengan antarmuka jaringan yang melekat pada VM3.
  • VM4: Lalu lintas diizinkan ke VM4, karena grup keamanan jaringan tidak terkait dengan Subnet 3, atau antarmuka jaringan di komputer virtual. Semua lalu lintas jaringan diperbolehkan melalui subnet dan antarmuka jaringan jika mereka tidak memiliki kelompok keamanan jaringan terkait.

Lalu lintas keluar

Untuk lalu lintas keluar, Azure memproses aturan dalam grup keamanan jaringan yang terkait dengan antarmuka jaringan terlebih dahulu, jika ada, dan kemudian aturan dalam grup keamanan jaringan yang terkait dengan subnet, jika ada. Proses ini juga mencakup lalu lintas intra-subnet.

  • VM1: Aturan keamanan di NSG2 diproses. Aturan keamanan default AllowInternetOutbound di NSG1 dan NSG2 memungkinkan lalu lintas kecuali Anda membuat aturan keamanan yang menolak port 80 keluar ke internet. Jika NSG2 menolak port 80 dalam aturan keamanannya, NSG1 tidak pernah mengevaluasinya. Untuk menolak port 80 dari komputer virtual, baik salah satu maupun kedua kelompok keamanan jaringan, harus memiliki aturan yang menyangkal port 80 ke internet.
  • VM2: Semua lalu lintas dikirim melalui antarmuka jaringan ke subnet, karena antarmuka jaringan yang melekat pada VM2 tidak memiliki kelompok keamanan jaringan yang terkait dengannya. Aturan di NSG1 diproses.
  • VM3: Jika NSG2 menolak port 80 dalam aturan keamanannya, NSG2 menolak lalu lintas. Jika NSG2 tidak menolak port 80, aturan keamanan default AllowInternetOutbound di NSG2 memungkinkan lalu lintas karena tidak ada grup keamanan jaringan yang terkait dengan Subnet 2.
  • VM4: Semua lalu lintas jaringan diizinkan dari VM4, karena grup keamanan jaringan tidak terkait dengan antarmuka jaringan yang melekat pada komputer virtual, atau ke Subnet 3.

Lalu lintas Intra-Subnet

Penting untuk diingat bahwa aturan keamanan dalam NSG yang terkait dengan subnet dapat memengaruhi konektivitas antara VM di dalamnya. Secara default, mesin virtual dalam subnet yang sama dapat berkomunikasi berdasarkan aturan NSG default yang memungkinkan lalu lintas intra-subnet. Jika Anda menambahkan aturan ke NSG1 yang menolak semua lalu lintas masuk dan keluar, VM1 dan VM2 tidak akan dapat berkomunikasi satu sama lain.

Anda dapat dengan mudah melihat aturan agregat yang diterapkan ke antarmuka jaringan dengan melihat aturan keamanan yang efektif untuk antarmuka jaringan. Anda juga dapat menggunakan kemampuan verifikasi alur IP di Azure Network Watcher untuk menentukan apakah komunikasi diizinkan ke atau dari antarmuka jaringan. Anda dapat menggunakan verifikasi alur IP untuk menentukan apakah komunikasi diizinkan atau ditolak. Selain itu, Gunakan verifikasi alur IP untuk menampilkan identitas aturan keamanan jaringan yang bertanggung jawab untuk mengizinkan atau menolak lalu lintas.

Kelompok keamanan jaringan terkait dengan subnet atau komputer virtual dan layanan cloud yang disebarkan di model penyebaran klasik, dan untuk subnet atau antarmuka jaringan dalam model penyebaran Resource Manager.

Kecuali memiliki alasan khusus, Anda sebaiknya mengaitkan kelompok keamanan jaringan ke subnet, atau antarmuka jaringan, tetapi tidak keduanya. Karena aturan dalam kelompok keamanan jaringan yang terkait dengan subnet dapat berkonflik dengan aturan dalam kelompok keamanan jaringan yang terkait dengan antarmuka jaringan, Anda dapat memiliki masalah komunikasi tak terduga yang memerlukan pemecahan masalah.

Grup Keamanan Aplikasi (ASG)

Grup keamanan aplikasi memungkinkan Anda mengonfigurasi keamanan jaringan sebagai perpanjangan alami dari struktur aplikasi, sehingga Anda dapat mengelompokkan komputer virtual dan menentukan kebijakan keamanan jaringan berdasarkan kelompok tersebut. Anda dapat menggunakan kembali kebijakan keamanan Anda dengan skala tanpa pemeliharaan manual alamat IP eksplisit. Platform ini menangani kompleksitas alamat IP eksplisit dan beberapa set aturan, sehingga memungkinkan Anda untuk fokus pada logika bisnis Anda. Untuk lebih memahami kelompok keamanan aplikasi, pertimbangkan contoh berikut:

Diagram memperlihatkan contoh Grup Keamanan Jaringan Azure dan Kelompok Keamanan Aplikasi.

Pada gambar sebelumnya, NIC1 dan NIC2 adalah anggota kelompok keamanan aplikasi AsgWeb. NIC3 adalah anggota kelompok keamanan aplikasi AsgLogic. NIC4 adalah anggota kelompok keamanan aplikasi AsgDb. Meskipun setiap antarmuka jaringan (NIC) dalam contoh ini adalah anggota hanya dari satu kelompok keamanan jaringan, antarmuka jaringan dapat menjadi anggota beberapa kelompok keamanan aplikasi, hingga Batas Azure. Tak satu pun dari antarmuka jaringan memiliki kelompok keamanan jaringan terkait. NSG1 terkait dengan subnet dan berisi aturan berikut:

Allow-HTTP-Inbound-Internet

Aturan ini diperlukan untuk mengizinkan lalu lintas dari internet ke server web. Karena lalu lintas masuk dari internet ditolak oleh aturan keamanan default DenyAllInbound, tidak ada aturan tambahan yang diperlukan untuk kelompok keamanan aplikasi AsgLogic atau AsgDb .

Prioritas Sumber Port sumber Tujuan Port tujuan Protokol Access
100 Internet * AsgWeb 80 TCP Izinkan

Deny-Database-All

Karena aturan keamanan default AllowVNetInBound mengizinkan semua komunikasi antara sumber daya dalam jaringan virtual yang sama, aturan Deny-Database-All diperlukan untuk menolak lalu lintas dari semua sumber daya.

Prioritas Sumber Port sumber Tujuan Port tujuan Protokol Access
120 * * AsgDb 1433 Apa pun Tolak

Allow-Database-BusinessLogic

Aturan ini memungkinkan lalu lintas dari kelompok keamanan aplikasi AsgLogic ke kelompok keamanan aplikasi AsgDb. Prioritas untuk aturan ini lebih tinggi daripada prioritas untuk aturan Deny-Database-All. Akibatnya, aturan ini diproses sebelum aturan Deny-Database-All, sehingga lalu lintas dari kelompok keamanan aplikasi AsgLogic diizinkan, sedangkan semua lalu lintas lainnya diblokir.

Prioritas Sumber Port sumber Tujuan Port tujuan Protokol Access
110 AsgLogic * AsgDb 1433 TCP Izinkan

Antarmuka jaringan yang merupakan anggota kelompok keamanan aplikasi menerapkan aturan yang menentukannya sebagai sumber atau tujuan. Aturan tidak memengaruhi antarmuka jaringan lainnya. Jika antarmuka jaringan bukan anggota grup keamanan aplikasi, aturan tidak diterapkan ke antarmuka jaringan, meskipun kelompok keamanan jaringan dikaitkan dengan subnet.

Kelompok keamanan aplikasi memiliki batasan berikut:

  • Ada batasan jumlah grup keamanan aplikasi yang dapat Anda miliki dalam langganan, dan batasan lain yang terkait dengan kelompok keamanan aplikasi.

  • Semua antarmuka jaringan yang ditetapkan ke kelompok keamanan aplikasi harus berada di jaringan virtual yang sama dengan antarmuka jaringan pertama yang ditugaskan ke kelompok keamanan aplikasi di dalamnya. Misalnya, jika antarmuka jaringan pertama yang ditetapkan ke kelompok keamanan aplikasi bernama AsgWeb berada di jaringan virtual bernama VNet1, maka semua antarmuka jaringan berikutnya yang ditetapkan ke ASGWeb harus berada di VNet1. Anda tidak dapat menambahkan antarmuka jaringan dari jaringan virtual yang berbeda ke grup keamanan aplikasi yang sama.

  • Jika Anda menentukan kelompok keamanan aplikasi sebagai sumber dan tujuan dalam aturan keamanan, antarmuka jaringan di kedua kelompok keamanan aplikasi harus ada di jaringan virtual yang sama.

    • Contohnya adalah jika AsgLogic memiliki antarmuka jaringan dari VNet1 dan AsgDb memiliki antarmuka jaringan dari VNet2. Dalam hal ini, tidak mungkin untuk menetapkan AsgLogic sebagai sumber dan AsgDb sebagai tujuan dalam aturan. Semua antarmuka jaringan untuk kelompok keamanan aplikasi sumber dan tujuan harus berada di jaringan virtual yang sama.

Untuk meminimalkan jumlah aturan keamanan yang Anda butuhkan, dan kebutuhan untuk mengubah aturan, rencanakan kelompok keamanan aplikasi yang Anda butuhkan dan buat aturan menggunakan tag layanan atau kelompok keamanan aplikasi, bukan alamat IP tersendiri, atau rentang alamat IP, jika memungkinkan.