Mengonfigurasi MACsec pada port ExpressRoute Direct
Artikel ini menyediakan panduan tentang cara mengonfigurasi MACsec, protokol keamanan yang melindungi komunikasi antara router tepi Anda dan router tepi Microsoft, menggunakan perintah PowerShell.
Sebelum Anda mulai
Sebelum Anda mulai mengonfigurasi MACsec, pastikan Anda memenuhi prasyarat berikut:
- Anda membiasakan diri dengan alur kerja provisi ExpressRoute Direct.
- Anda membuat sumber daya port ExpressRoute Direct sesuai instruksi.
- Anda menginstal versi terbaru Azure PowerShell di komputer Jika Anda berniat menjalankan PowerShell secara lokal.
Bekerja dengan Azure PowerShell
Langkah-langkah dan contoh dalam artikel ini menggunakan modul Az Azure PowerShell. Untuk memasang modul Az secara lokal di komputer Anda, lihat Memasang Azure PowerShell. Untuk mempelajari selengkapnya tentang modul Az baru, lihat Memperkenalkan modul Az Azure PowerShell baru. Cmdlet PowerShell sering diperbarui. Jika Anda tidak menjalankan versi terbaru, nilai yang ditetapkan dalam instruksi mungkin gagal. Untuk menemukan versi PowerShell yang diinstal di sistem Anda, gunakan cmdlet Get-Module -ListAvailable Az
.
Anda dapat menggunakan Azure Cloud Shell untuk menjalankan sebagian besar perintah cmdlet PowerShell dan CLI, ketimbang menginstal Azure PowerShell atau CLI secara lokal. Azure Cloud Shell adalah shell interaktif gratis yang memiliki alat Azure umum yang telah diinstal sebelumnya dan dikonfigurasi untuk digunakan dengan akun Anda. Untuk menjalankan segala kode yang terkandung dalam artikel ini di Azure Cloud Shell, buka sesi Cloud Shell, gunakan tombol Salin pada blok kode untuk menyalin kode, dan menempelkannya ke sesi Cloud Shell dengan Ctrl+Shift+V di Windows dan Linux, atau Cmd+Shift+V di macOS. Teks yang ditempelkan tidak dijalankan secara otomatis, tekan Enter untuk menjalankan kode.
Ada beberapa cara untuk membuka Cloud Shell:
Opsi | Tautan |
---|---|
Pilih Coba di sudut kanan atas blok kode. |
![]() |
Buka Cloud Shell di browser Anda. | ![]() |
Pilih tombol Cloud Shell pada menu pada bagian kanan atas di portal Microsoft Azure. |
![]() |
Masuk dan pilih langganan yang tepat
Ikuti langkah-langkah berikut untuk memulai konfigurasi:
Masuk ke akun Azure Anda menggunakan kredensial Anda.
Pilih langganan yang ingin Anda gunakan untuk konfigurasi ini.
Jika Anda menggunakan Azure Cloud Shell, Anda masuk ke akun Azure Anda secara otomatis setelah mengklik 'Coba'. Untuk masuk secara lokal, buka konsol PowerShell Anda dengan hak istimewa yang lebih tinggi dan jalankan cmdlet untuk terhubung.
Connect-AzAccount
Jika Anda memiliki lebih dari satu langganan, dapatkan daftar langganan Azure Anda.
Get-AzSubscription
Tentukan langganan yang ingin Anda gunakan.
Select-AzSubscription -SubscriptionName "Name of subscription"
Membuat Azure Key Vault, rahasia MACsec, dan identitas pengguna
Untuk menyimpan rahasia MACsec dengan aman, Anda perlu membuat instans Key Vault di grup sumber daya baru. Key Vault adalah layanan yang memungkinkan Anda mengelola dan melindungi kunci kriptografi, sertifikat, dan rahasia di Azure. Untuk informasi selengkapnya, lihat Apa itu Azure Key Vault?.
New-AzResourceGroup -Name "your_resource_group" -Location "resource_location" $keyVault = New-AzKeyVault -Name "your_key_vault_name" -ResourceGroupName "your_resource_group" -Location "resource_location" -SoftDeleteRetentionInDays 90
Anda dapat menggunakan kembali Key Vault atau grup sumber daya yang ada untuk konfigurasi ini. Namun, Anda harus memastikan bahwa [fitur penghapusan sementara] diaktifkan di Key Vault Anda. Fitur ini memungkinkan Anda memulihkan kunci, rahasia, dan sertifikat yang dihapus dalam periode retensi. Jika Key Vault Anda tidak mengaktifkan penghapusan sementara, jalankan perintah berikut untuk mengaktifkannya:
($resource = Get-AzResource -ResourceId (Get-AzKeyVault -VaultName "your_existing_keyvault").ResourceId).Properties | Add-Member -MemberType "NoteProperty" -Name "enableSoftDelete" -Value "true" Set-AzResource -ResourceId $resource.ResourceId -Properties $resource.Properties
Catatan
- ExpressRoute adalah layanan tepercaya dalam Azure yang mendukung kebijakan Keamanan Jaringan dalam Azure Key Vault. Untuk informasi selengkapnya, lihat Mengonfigurasi Azure Key Vault Firewall dan Virtual Networks.
- Anda tidak boleh menempatkan Azure Key Vault di belakang titik akhir privat, karena ini akan mencegah komunikasi dengan bidang manajemen ExpressRoute. Bidang manajemen ExpressRoute bertanggung jawab untuk mengelola kunci dan parameter MACsec untuk koneksi Anda.
Untuk membuat identitas pengguna baru, Anda perlu menggunakan
New-AzUserAssignedIdentity
cmdlet. Cmdlet ini membuat identitas terkelola yang ditetapkan pengguna di ID Microsoft Entra dan mendaftarkannya dengan langganan dan grup sumber daya yang ditentukan. Identitas terkelola yang ditetapkan pengguna adalah sumber daya Azure mandiri yang dapat ditetapkan ke layanan Azure apa pun yang mendukung identitas terkelola. Anda dapat menggunakan identitas ini untuk mengautentikasi dan mengotorisasi akses ke sumber daya Azure tanpa menyimpan kredensial apa pun dalam kode atau file konfigurasi Anda. Untuk informasi selengkapnya, lihat Apa identitas terkelola untuk sumber daya Azure?$identity = New-AzUserAssignedIdentity -Name "identity_name" -Location "resource_location" -ResourceGroupName "your_resource_group"
Untuk menggunakan identitas pengguna yang sudah ada, jalankan perintah berikut:
$identity = Get-AzUserAssignedIdentity -ResourceGroupName "your_resource_group" -Name "identity_name"
Instal modul berikut dalam mode Administrator jika PowerShell tidak mengenali
New-AzUserAssignedIdentity
atauGet-AzUserAssignedIdentity
sebagai cmdlet yang valid. Kemudian, jalankan perintah lagi.Install-Module -Name Az.ManagedServiceIdentity
Buat kunci asosiasi konektivitas (CAK) dan nama kunci asosiasi konektivitas (CKN) dan simpan di Key Vault.
$CAK = ConvertTo-SecureString "your_key" -AsPlainText -Force $CKN = ConvertTo-SecureString "your_key_name" -AsPlainText -Force $MACsecCAKSecret = Set-AzKeyVaultSecret -VaultName "your_key_vault_name" -Name "CAK_name" -SecretValue $CAK $MACsecCKNSecret = Set-AzKeyVaultSecret -VaultName "your_key_vault_name" -Name "CKN_name" -SecretValue $CKN
Catatan
- CKN harus berupa string dengan panjang genap hingga 64 digit heksadesimal (0-9, A-F).
- Panjang CAK tergantung pada cipher suite yang ditentukan:
- Untuk GcmAes128 dan GcmAesXpn128, CAK harus berupa string panjang genap dengan 32 digit heksadesimal (0-9, A-F).
- Untuk GcmAes256 dan GcmAesXpn256, CAK harus berupa string dengan panjang genap dengan 64 digit heksadesimal (0-9, A-F).
- Untuk CAK, panjang penuh kunci harus digunakan. Jika kunci lebih pendek dari panjang yang diperlukan, maka
0's
akan ditambahkan ke akhir kunci untuk memenuhi persyaratan panjang. Misalnya, CAK dari 1234 akan menjadi 12340000... untuk 128-bit dan 256-bit berdasarkan cipher.
Berikan identitas pengguna otorisasi untuk melakukan
GET
operasi.Set-AzKeyVaultAccessPolicy -VaultName "your_key_vault_name" -PermissionsToSecrets get -ObjectId $identity.PrincipalId
Identitas pengguna memperoleh akses untuk mengambil rahasia, seperti CAK dan CKN, dari Key Vault.
Konfigurasikan identitas pengguna sebagai perwakilan layanan yang ditunjuk untuk ExpressRoute.
$erIdentity = New-AzExpressRoutePortIdentity -UserAssignedIdentityId $identity.Id
Mengonfigurasi MACsec pada port ExpressRoute Direct
Cara mengaktifkan MACsec
Setiap instans ExpressRoute Direct terdiri dari dua port fisik. Anda dapat mengaktifkan MACsec pada kedua port secara bersamaan atau pada satu port satu per satu. Opsi terakhir memungkinkan Anda mengalihkan lalu lintas ke port yang berfungsi sambil mempertahankan port lain, yang dapat mengurangi gangguan jika ExpressRoute Direct Anda beroperasi.
Catatan
Anda dapat mengonfigurasi baik xpN maupun non-XPN dengan sandi:
- GcmAes128
- GcmAes256
- GcmAesXpn128
- GcmAesXpn256
Praktik terbaik yang disarankan adalah menyiapkan enkripsi dengan cipher xpn untuk mencegah kegagalan sesi sporadis yang terjadi dengan cipher non-xpn pada tautan kecepatan tinggi.
Buat rahasia dan sandi MACsec dan tautkan identitas pengguna dengan port untuk mengaktifkan kode manajemen ExpressRoute untuk mengambil rahasia MACsec jika diperlukan.
$erDirect = Get-AzExpressRoutePort -ResourceGroupName "your_resource_group" -Name "your_direct_port_name" $erDirect.Links[0]. MacSecConfig.CknSecretIdentifier = $MacSecCKNSecret.Id $erDirect.Links[0]. MacSecConfig.CakSecretIdentifier = $MacSecCAKSecret.Id $erDirect.Links[0]. MacSecConfig.Cipher = "GcmAes256" $erDirect.Links[1]. MacSecConfig.CknSecretIdentifier = $MacSecCKNSecret.Id $erDirect.Links[1]. MacSecConfig.CakSecretIdentifier = $MacSecCAKSecret.Id $erDirect.Links[1]. MacSecConfig.Cipher = "GcmAes256" $erDirect.identity = $erIdentity Set-AzExpressRoutePort -ExpressRoutePort $erDirect
(Opsional) Jika port berada dalam status Administratif Tidak Berfungsi, Anda dapat menjalankan perintah berikut untuk memunculkan port.
$erDirect = Get-AzExpressRoutePort -ResourceGroupName "your_resource_group" -Name "your_direct_port_name" $erDirect.Links[0].AdminState = "Enabled" $erDirect.Links[1].AdminState = "Enabled" Set-AzExpressRoutePort -ExpressRoutePort $erDirect
MACsec sekarang diaktifkan di port ExpressRoute Direct di sisi Microsoft. Jika Anda tidak mengonfigurasinya di perangkat edge, Anda dapat melanjutkan untuk mengonfigurasinya dengan rahasia dan sandi MACsec yang sama.
(Opsional) Untuk mengaktifkan port yang dalam status Tidak Berfungsi Administratif, jalankan perintah berikut:
$erDirect = Get-AzExpressRoutePort -ResourceGroupName "your_resource_group" -Name "your_direct_port_name" $erDirect.Links[0].MacSecConfig.SciState = "Enabled" $erDirect.Links[1].MacSecConfig.SciState = "Enabled" Set-AzExpressRoutePort -ExpressRoutePort $erDirect
SCI sekarang diaktifkan pada port ExpressRoute Direct.
Cara menonaktifkan MACsec
Untuk menonaktifkan MACsec pada instans ExpressRoute Direct Anda, jalankan perintah berikut:
$erDirect = Get-AzExpressRoutePort -ResourceGroupName "your_resource_group" -Name "your_direct_port_name"
$erDirect.Links[0]. MacSecConfig.CknSecretIdentifier = $null
$erDirect.Links[0]. MacSecConfig.CakSecretIdentifier = $null
$erDirect.Links[1]. MacSecConfig.CknSecretIdentifier = $null
$erDirect.Links[1]. MacSecConfig.CakSecretIdentifier = $null
$erDirect.identity = $null
Set-AzExpressRoutePort -ExpressRoutePort $erDirect
MACsec sekarang dinonaktifkan pada port ExpressRoute Direct di sisi Microsoft.
Uji konektivitas
Setelah Anda menyiapkan MACsec (termasuk pembaruan kunci MACsec) pada port ExpressRoute Direct Anda, verifikasi status sesi BGP sirkuit. Jika Anda belum membuat sirkuit pada port, lakukan terlebih dahulu dan buat Azure Private Peering atau Microsoft Peering sirkuit. Konfigurasi MACsec yang salah, seperti ketidakcocokan kunci MACsec antara perangkat jaringan Anda dan perangkat jaringan Microsoft, mencegah Anda mengamati resolusi ARP pada lapisan 2 atau pembentukan BGP pada lapisan 3. Jika semuanya dikonfigurasi dengan benar, Anda akan melihat rute BGP yang diiklankan dengan benar di kedua arah dan aliran data aplikasi Anda yang sesuai melalui ExpressRoute.