A MACsec konfigurálása az ExpressRoute Direct-portokon
Ez a cikk útmutatást nyújt a MACsec, a peremhálózati útválasztók és a Microsoft peremhálózati útválasztói közötti kommunikációt PowerShell-parancsokkal védő biztonsági protokoll konfigurálásához.
Mielőtt elkezdené
A MACsec konfigurálása előtt győződjön meg arról, hogy megfelel az alábbi előfeltételeknek:
- Megismerkedett az ExpressRoute Direct kiépítési munkafolyamataival.
- Az utasításoknak megfelelően létrehozott egy ExpressRoute Direct-porterőforrást .
- Ha helyileg szeretné futtatni a PowerShellt, telepítette az Azure PowerShell legújabb verzióját a számítógépre.
Az Azure PowerShell használata
A cikkben szereplő lépések és példák az Azure PowerShell Az-modulokat használják. Az Az-modulok helyi telepítéséhez tekintse meg az Azure PowerShell telepítését. Az új Az modulról az új Azure PowerShell Az modul bemutatása című témakörben olvashat bővebben. A PowerShell-parancsmagok gyakran frissülnek. Ha nem a legújabb verziót futtatja, az utasításokban megadott értékek sikertelenek lehetnek. A PowerShell telepített verzióinak megkereséséhez használja a Get-Module -ListAvailable Az
parancsmagot.
Az Azure Cloud Shell használatával a legtöbb PowerShell-parancsmagot és CLI-parancsot futtathatja az Azure PowerShell vagy a CLI helyi telepítése helyett. Az Azure Cloud Shell egy ingyenes interaktív rendszerhéj, amely előre telepítve van a közös Azure-eszközökkel, és a fiókjával való használatra van konfigurálva. A cikkben szereplő kód Azure Cloud Shellen való futtatásához nyisson meg egy Cloud Shell-munkamenetet, másolja a kódot a kódblokk Másolás gombjára, és illessze be a Cloud Shell-munkamenetbe a Windows és Linux rendszeren a Ctrl+Shift+V billentyűkombinációval, macOS rendszeren pedig a Cmd+Shift+V billentyűkombinációval. A beillesztett szöveg nem lesz automatikusan végrehajtva, a kód futtatásához nyomja le az Enter billentyűt .
Néhány módszer a Cloud Shell indításához:
Jelentkezzen be, és válassza ki a megfelelő előfizetést
A konfiguráció megkezdéséhez kövesse az alábbi lépéseket:
Jelentkezzen be azure-fiókjába a hitelesítő adataival.
Válassza ki a konfigurációhoz használni kívánt előfizetést.
Ha az Azure Cloud Shellt használja, a Kipróbálás gombra kattintva automatikusan bejelentkezik az Azure-fiókjába. Ha helyileg szeretne bejelentkezni, nyissa meg a PowerShell-konzolt emelt szintű jogosultságokkal, és futtassa a parancsmagot a csatlakozáshoz.
Connect-AzAccount
Ha több előfizetéssel rendelkezik, kérje le az Azure-előfizetések listáját.
Get-AzSubscription
Válassza ki a használni kívánt előfizetést.
Select-AzSubscription -SubscriptionName "Name of subscription"
Azure Key Vault, MACsec-titkos kódok és felhasználói identitás létrehozása
A MACsec titkos kulcsainak biztonságos tárolásához létre kell hoznia egy Key Vault-példányt egy új erőforráscsoportban. A Key Vault egy szolgáltatás, amely lehetővé teszi a titkosítási kulcsok, tanúsítványok és titkos kódok kezelését és védelmét az Azure-ban. További információ: Mi az 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
Ehhez a konfigurációhoz újra felhasználhat egy meglévő Key Vaultot vagy erőforráscsoportot. Azonban meg kell győződnie arról, hogy a [helyreállítható törlési funkció] engedélyezve van a Key Vaultban. Ez a funkció lehetővé teszi a törölt kulcsok, titkos kulcsok és tanúsítványok helyreállítását egy megőrzési időszakon belül. Ha a Key Vaultban nincs engedélyezve a helyreállítható törlés, futtassa az alábbi parancsokat az engedélyezéséhez:
($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
Feljegyzés
- Az ExpressRoute egy megbízható szolgáltatás az Azure-ban, amely támogatja az Azure Key Vault hálózati biztonsági szabályzatát. További információ: Az Azure Key Vault tűzfalának és virtuális hálózatainak konfigurálása.
- Ne helyezze az Azure Key Vaultot privát végpont mögé, mivel ez megakadályozza az ExpressRoute felügyeleti síkkal való kommunikációt. Az ExpressRoute felügyeleti síkja felelős a kapcsolat MACsec-kulcsainak és paramétereinek kezeléséért.
Új felhasználói identitás létrehozásához a
New-AzUserAssignedIdentity
parancsmagot kell használnia. Ez a parancsmag létrehoz egy felhasználó által hozzárendelt felügyelt identitást a Microsoft Entra-azonosítóban, és regisztrálja azt a megadott előfizetésben és erőforráscsoportban. A felhasználó által hozzárendelt felügyelt identitás egy önálló Azure-erőforrás, amely bármely olyan Azure-szolgáltatáshoz hozzárendelhető, amely támogatja a felügyelt identitásokat. Ezzel az identitással hitelesítheti és engedélyezheti az Azure-erőforrásokhoz való hozzáférést anélkül, hogy hitelesítő adatokat tárolhat a kódban vagy a konfigurációs fájlokban. További információ: Mi az Azure-erőforrások felügyelt identitása?$identity = New-AzUserAssignedIdentity -Name "identity_name" -Location "resource_location" -ResourceGroupName "your_resource_group"
Meglévő felhasználói identitás használatához futtassa a következő parancsot:
$identity = Get-AzUserAssignedIdentity -ResourceGroupName "your_resource_group" -Name "identity_name"
Telepítse a következő modult Rendszergazda módban, ha a PowerShell nem ismeri fel
New-AzUserAssignedIdentity
vagyGet-AzUserAssignedIdentity
nem érvényes parancsmagként használja. Ezután hajtsa végre ismét a fenti parancsot.Install-Module -Name Az.ManagedServiceIdentity
Hozzon létre egy kapcsolattársítási kulcsot (CAK) és egy kapcsolattársítási kulcsnevet (CKN), és tárolja őket a Key Vaultban.
$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
Feljegyzés
- A CKN-nek legfeljebb 64 hexadecimális számjegyig (0-9, A-F) álló hosszúságú sztringnek kell lennie.
- A CAK hossza a megadott titkosítási csomagtól függ:
- GcmAes128 és GcmAesXpn128 esetén a CAK-nak 32 hexadecimális számjegyet (0-9, A-F) tartalmazó páros hosszúságú sztringnek kell lennie.
- GcmAes256 és GcmAesXpn256 esetén a CAK-nak 64 hexadecimális számjegyet (0-9, A-F) tartalmazó páros hosszúságú sztringnek kell lennie.
- CAK esetén a kulcs teljes hosszát kell használni. Ha a kulcs rövidebb, mint a szükséges hossz, akkor
0's
a rendszer hozzáadja a kulcs végéhez, hogy megfeleljen a hosszkövetelménynek. Például az 1234-es CAK 12340000 lesz... a 128 bites és a 256 bites titkosítás alapján is.
Adja meg a felhasználó identitásának a művelet végrehajtásához
GET
szükséges engedélyt.Set-AzKeyVaultAccessPolicy -VaultName "your_key_vault_name" -PermissionsToSecrets get -ObjectId $identity.PrincipalId
A felhasználói identitás hozzáférést szerzett a titkos kulcsok( például CAK és CKN) lekéréséhez a Key Vaultból.
Konfigurálja a felhasználói identitást az ExpressRoute kijelölt szolgáltatásnévként.
$erIdentity = New-AzExpressRoutePortIdentity -UserAssignedIdentityId $identity.Id
A MACsec konfigurálása az ExpressRoute Direct-portokon
A MACsec engedélyezése
Minden ExpressRoute Direct-példány két fizikai portból áll. A MACsec mindkét porton egyszerre vagy egyenként is aktiválható. Az utóbbi lehetőség lehetővé teszi, hogy a forgalmat egy működő portra irányítsa a másik port fenntartása mellett, ami csökkentheti a fennakadást, ha az ExpressRoute Direct működik.
Feljegyzés
Az XPN és a nem XPN titkosítást is konfigurálhatja:
- GcmAes128
- GcmAes256
- GcmAesXpn128
- GcmAesXpn256
A javasolt ajánlott eljárás a titkosítás xpn titkosítással történő beállítása, amely megakadályozza a nem xpn titkosítással nagy sebességű hivatkozásokon előforduló szórványos munkamenethibákat.
Hozza létre a MACsec titkos kulcsokat és titkosítást, és kapcsolja össze a felhasználói identitást a porttal, hogy az ExpressRoute felügyeleti kód szükség esetén lekérhesse a MACsec titkos kulcsokat.
$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
(Nem kötelező) Ha a portok rendszergazdai leállási állapotban vannak, a következő parancsokat futtatva hozhatja létre a portokat.
$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
A MACsec mostantól engedélyezve van a Microsoft oldalán található ExpressRoute Direct-portokon. Ha nem a peremeszközökön konfigurálta, akkor ugyanezekkel a MACsec-titkos kódokkal és titkosítással konfigurálhatja őket.
(Nem kötelező) A Felügyeleti le állapotú portok aktiválásához futtassa a következő parancsokat:
$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
Az SCI mostantól engedélyezve van az ExpressRoute Direct-portokon.
A MACsec letiltása
Ha az ExpressRoute Direct-példányon szeretné inaktiválni a MACsec-et, futtassa a következő parancsokat:
$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
A MACsec mostantól le van tiltva a Microsoft oldalán található ExpressRoute Direct-portokon.
Kapcsolat tesztelése
Miután beállította a MACsec-et (beleértve a MACsec-kulcs frissítését) az ExpressRoute Direct-portokon, ellenőrizze a kapcsolatcsoportok BGP-munkameneteinek állapotát. Ha még nem hozott létre kapcsolatcsoportot a portokon, először hozza létre az Azure Private Peering vagy a Microsoft Peering kapcsolatcsoportot. Helytelen MACsec-konfiguráció, például a hálózati eszközök és a Microsoft hálózati eszközei közötti MACsec-kulcseltérés megakadályozza, hogy a 2. rétegben vagy a BGP-létesítményben megfigyelje az ARP felbontását a 3. rétegben. Ha minden megfelelően van konfigurálva, a BGP-útvonalak mindkét irányban megfelelően lesznek meghirdetve, és az alkalmazás adatfolyama ennek megfelelően az ExpressRoute-on keresztül.
Következő lépések
- ExpressRoute-kapcsolatcsoport létrehozása az ExpressRoute Directen
- Virtuális hálózat összekapcsolása egy ExpressRoute-kapcsolatcsoporttal
- Az ExpressRoute-kapcsolat ellenőrzése