Membuat grup keamanan jaringan (klasik) menggunakan PowerShell

Anda dapat menggunakan NSG untuk mengontrol lalu lintas ke satu atau beberapa mesin virtual (VM), instans peran, adaptor jaringan (NIC), atau subnet di jaringan virtual Anda. NSG berisi aturan kontrol akses yang memungkinkan atau menolak lalu lintas berdasarkan arah lalu lintas, protokol, alamat sumber dan port, dan alamat tujuan dan port. Aturan NSG dapat diubah kapan saja, dan perubahan diterapkan ke semua instans terkait.

Untuk informasi lebih lanjut tentang NSG, kunjungi apa itu NSG.

Penting

Sebelum Anda bekerja dengan sumber daya Azure, penting untuk memahami bahwa Azure saat ini memiliki dua model penyebaran: Azure Resource Manager dan klasik. Pastikan Anda memahami model dan alat penyebaran sebelum bekerja dengan sumber daya Azure apa pun. Anda dapat melihat dokumentasi untuk alat yang berbeda dengan mengklik tab di bagian atas artikel ini.

Artikel ini membahas model penerapan klasik. Anda juga dapat membuat NSG dalam model penyebaran Resource Manager.

Skenario

Untuk mengilustrasikan cara membuat NSG dengan lebih baik, dokumen ini menggunakan skenario berikut:

VNet scenario

Dalam skenario ini, Anda membuat NSG untuk setiap subnet di jaringan virtual TestVNet , sebagai berikut:

  • NSG-FrontEnd. NSG front-end diterapkan ke subnet FrontEnd , dan berisi dua aturan:
    • rdp-rule. Memungkinkan lalu lintas RDP ke subnet FrontEnd .
    • aturan web. Memungkinkan lalu lintas HTTP ke subnet FrontEnd .
  • NSG-BackEnd. NSG back-end diterapkan ke subnet BackEnd , dan berisi dua aturan:
    • sql-rule. Memungkinkan lalu lintas SQL hanya dari subnet FrontEnd.
    • aturan web. Menolak semua lalu lintas terikat internet dari subnet BackEnd .

Kombinasi aturan-aturan ini menciptakan skenario seperti DMZ, di mana subnet back-end hanya dapat menerima lalu lintas masuk untuk SQL dari subnet front-end, dan tidak memiliki akses ke Internet, sedangkan subnet front-end dapat berkomunikasi dengan Internet, dan menerima permintaan HTTP yang masuk saja.

Contoh perintah PowerShell di bawah ini mengharapkan lingkungan sederhana yang sudah dibuat berdasarkan skenario di atas. Jika Anda ingin menjalankan perintah seperti yang ditampilkan dalam dokumen ini, pertama-tama bangun lingkungan pengujian dengan membuat VNet.

Membuat NSG untuk subnet front-end

  1. Jika Anda belum pernah menggunakan Azure PowerShell, lihat Cara Menginstal dan Mengonfigurasi Azure PowerShell.

  2. Buat grup keamanan jaringan bernama NSG-FrontEnd:

    New-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" -Location uswest `
      -Label "Front end subnet NSG"
    
  3. Buat aturan keamanan yang memungkinkan akses dari internet ke port 3389:

    Get-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" `
      | Set-AzureNetworkSecurityRule -Name rdp-rule `
      -Action Allow -Protocol TCP -Type Inbound -Priority 100 `
      -SourceAddressPrefix Internet  -SourcePortRange '*' `
      -DestinationAddressPrefix '*' -DestinationPortRange '3389'
    
  4. Buat aturan keamanan yang memungkinkan akses dari internet ke port 80:

    Get-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" `
      | Set-AzureNetworkSecurityRule -Name web-rule `
      -Action Allow -Protocol TCP -Type Inbound -Priority 200 `
      -SourceAddressPrefix Internet  -SourcePortRange '*' `
      -DestinationAddressPrefix '*' -DestinationPortRange '80'
    
  5. Kaitkan grup keamanan jaringan ke subnet:

    Get-AzureNetworkSecurityGroup -Name "NSG-Frontend" `
    | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName "TestVNet" `
    -Subnet "FrontEnd"
    

Membuat NSG untuk subnet back-end

  1. Buat grup keamanan jaringan bernama NSG-BackEnd:

    New-AzureNetworkSecurityGroup -Name "NSG-BackEnd" -Location uswest `
      -Label "Back end subnet NSG"
    
  2. Buat aturan keamanan yang memungkinkan akses dari subnet front-end ke port 1433 (port default yang digunakan oleh SQL Server):

    Get-AzureNetworkSecurityGroup -Name "NSG-FrontEnd" `
      | Set-AzureNetworkSecurityRule -Name rdp-rule `
      -Action Allow -Protocol TCP -Type Inbound -Priority 100 `
      -SourceAddressPrefix 192.168.1.0/24  -SourcePortRange '*' `
      -DestinationAddressPrefix '*' -DestinationPortRange '1433'
    
  3. Buat aturan keamanan yang memblokir akses dari subnet ke internet:

    Get-AzureNetworkSecurityGroup -Name "NSG-BackEnd" `
      | Set-AzureNetworkSecurityRule -Name block-internet `
      -Action Deny -Protocol '*' -Type Outbound -Priority 200 `
      -SourceAddressPrefix '*'  -SourcePortRange '*' `
      -DestinationAddressPrefix Internet -DestinationPortRange '*'
    
  4. Kaitkan grup keamanan jaringan ke subnet:

    Get-AzureNetworkSecurityGroup -Name "NSG-Backend" `
    | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName "TestVNet" `
    -Subnet "BackEnd"