Megosztás a következőn keresztül:


Hálózati forgalom szűrése hálózati biztonsági csoporttal a PowerShell használatával

A virtuális hálózatok alhálózatainak bejövő vagy kimenő hálózati forgalmát hálózati biztonsági csoport segítségével szűrheti. A hálózati biztonsági csoportok biztonsági szabályokat tartalmaznak, amelyek IP-cím, port és protokoll szerint szűrik a hálózati forgalmat. A biztonsági szabályok az egyes alhálózatokban üzembe helyezett erőforrásokra vonatkoznak. Ebben a cikkben az alábbiakkal ismerkedhet meg:

  • Hálózati biztonsági csoport és biztonsági szabályok létrehozása
  • Virtuális hálózat létrehozása és hálózati biztonsági csoport hozzárendelése egy alhálózathoz
  • Virtuális gépek üzembe helyezése egy alhálózaton
  • Forgalomszűrők tesztelése

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Azure Cloud Shell

Az Azure által üzemeltetett Azure Cloud Shell egy interaktív felület, amelyet a böngészőből használhat. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. A Cloud Shell előre telepített parancsaival futtathatja a jelen cikkben szereplő kódot anélkül, hogy bármit telepítenie kellene a helyi környezetben.

Az Azure Cloud Shell indítása:

Lehetőség Példa/hivatkozás
Válassza a Kipróbálás lehetőséget egy kód vagy parancsblokk jobb felső sarkában. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Screenshot that shows an example of Try It for Azure Cloud Shell.
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. Button to launch Azure Cloud Shell.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Screenshot that shows the Cloud Shell button in the Azure portal

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shellt.

  2. A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).

  3. Illessze be a kódot vagy parancsot a Cloud Shell-munkamenetbe a Windows és Linux rendszeren a Ctrl Shift+V billentyűkombinációval+, vagy a Cmd+Shift+V macOS rendszeren való kiválasztásával.

  4. A kód vagy parancs futtatásához válassza az Enter lehetőséget .

Ha a PowerShell helyi telepítése és használata mellett dönt, ehhez a cikkhez az Azure PowerShell-modul 1.0.0-s vagy újabb verziójára van szükség. A telepített verzió azonosításához futtassa a következőt: Get-Module -ListAvailable Az. Ha frissíteni szeretne, olvassa el az Azure PowerShell-modul telepítését ismertető cikket. Ha helyileg futtatja a PowerShellt, akkor emellett a Connect-AzAccount futtatásával kapcsolatot kell teremtenie az Azure-ral.

Hálózati biztonsági csoport létrehozása

A hálózati biztonsági csoportok biztonsági szabályokat tartalmaznak. A biztonsági szabályok egy forrást és egy célt határoznak meg. A források és célok lehetnek alkalmazásbiztonsági csoportok.

Alkalmazásbiztonsági csoportok létrehozása

Először hozzon létre egy erőforráscsoportot a cikkben létrehozott összes erőforráshoz a New-AzResourceGroup használatával. A következő példa létrehoz egy erőforráscsoportot az eastus helyen:

New-AzResourceGroup -ResourceGroupName myResourceGroup -Location EastUS

Hozzon létre egy alkalmazásbiztonsági csoportot a New-AzApplicationSecurityGroup használatával. Az alkalmazásbiztonsági csoportok lehetővé teszik, hogy csoportokba rendezze a hasonló portszűrési követelményekkel rendelkező kiszolgálókat. Az alábbi példa két alkalmazásbiztonsági csoportot hoz létre.

$webAsg = New-AzApplicationSecurityGroup `
  -ResourceGroupName myResourceGroup `
  -Name myAsgWebServers `
  -Location eastus

$mgmtAsg = New-AzApplicationSecurityGroup `
  -ResourceGroupName myResourceGroup `
  -Name myAsgMgmtServers `
  -Location eastus

Biztonsági szabályok létrehozása

Hozzon létre egy biztonsági szabályt a New-AzNetworkSecurityRuleConfig használatával. Az alábbi példa egy olyan szabályt hoz létre, amely engedélyezi az internetről a myWebServers alkalmazásbiztonsági csoportba bejövő forgalmat a 80-as és 443-as porton keresztül.

$webRule = New-AzNetworkSecurityRuleConfig `
  -Name "Allow-Web-All" `
  -Access Allow `
  -Protocol Tcp `
  -Direction Inbound `
  -Priority 100 `
  -SourceAddressPrefix Internet `
  -SourcePortRange * `
  -DestinationApplicationSecurityGroupId $webAsg.id `
  -DestinationPortRange 80,443

The following example creates a rule that allows traffic inbound from the internet to the *myMgmtServers* application security group over port 3389:

$mgmtRule = New-AzNetworkSecurityRuleConfig `
  -Name "Allow-RDP-All" `
  -Access Allow `
  -Protocol Tcp `
  -Direction Inbound `
  -Priority 110 `
  -SourceAddressPrefix Internet `
  -SourcePortRange * `
  -DestinationApplicationSecurityGroupId $mgmtAsg.id `
  -DestinationPortRange 3389

Ebben a cikkben az RDP (3389-as port) elérhető az interneten a myAsgMgmtServers virtuális gép számára. Éles környezet esetében a 3389-es port közvetlenül az internetre való csatlakoztatása helyett javasolt VPN vagy privát hálózati kapcsolat használatával csatlakozni a kezelni kívánt Azure-erőforrásokhoz.

Hálózati biztonsági csoport létrehozása

Hozzon létre egy hálózati biztonsági csoportot a New-AzNetworkSecurityGroup használatával. Az alábbi példa egy myNsg nevű hálózati biztonsági csoportot hoz létre:

$nsg = New-AzNetworkSecurityGroup `
  -ResourceGroupName myResourceGroup `
  -Location eastus `
  -Name myNsg `
  -SecurityRules $webRule,$mgmtRule

Virtuális hálózat létrehozása

Hozzon létre egy virtuális hálózatot a New-AzVirtualNetwork használatával. Az alábbi példa egy myVirtualNetwork virtuális hálózatot hoz létre:

$virtualNetwork = New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroup `
  -Location EastUS `
  -Name myVirtualNetwork `
  -AddressPrefix 10.0.0.0/16

Hozzon létre egy alhálózat-konfigurációt a New-AzVirtualNetworkSubnetConfig használatával, majd írja be az alhálózat konfigurációját a virtuális hálózatba a Set-AzVirtualNetwork használatával. Az alábbi példa egy mySubnet nevű alhálózatot ad hozzá a virtuális hálózathoz, és hozzárendeli a myNsg hálózati biztonsági csoportot.

Add-AzVirtualNetworkSubnetConfig `
  -Name mySubnet `
  -VirtualNetwork $virtualNetwork `
  -AddressPrefix "10.0.2.0/24" `
  -NetworkSecurityGroup $nsg
$virtualNetwork | Set-AzVirtualNetwork

Virtuális gépek létrehozása

A virtuális gépek létrehozása előtt kérje le a virtuális hálózati objektumot az alhálózattal a Get-AzVirtualNetwork használatával:

$virtualNetwork = Get-AzVirtualNetwork `
 -Name myVirtualNetwork `
 -Resourcegroupname myResourceGroup

Hozzon létre egy nyilvános IP-címet minden egyes virtuális géphez a New-AzPublicIpAddress használatával:

$publicIpWeb = New-AzPublicIpAddress `
  -AllocationMethod Dynamic `
  -ResourceGroupName myResourceGroup `
  -Location eastus `
  -Name myVmWeb

$publicIpMgmt = New-AzPublicIpAddress `
  -AllocationMethod Dynamic `
  -ResourceGroupName myResourceGroup `
  -Location eastus `
  -Name myVmMgmt

Hozzon létre két hálózati adaptert a New-AzNetworkInterface használatával, és rendeljen hozzá egy nyilvános IP-címet a hálózati adapterhez. Az alábbi példa létrehoz egy hálózati adaptert, hozzárendeli a myVmWeb nyilvános IP-címet, és felveszi azt a myAsgWebServers alkalmazásbiztonsági csoport tagjai közé:

$webNic = New-AzNetworkInterface `
  -Location eastus `
  -Name myVmWeb `
  -ResourceGroupName myResourceGroup `
  -SubnetId $virtualNetwork.Subnets[0].Id `
  -ApplicationSecurityGroupId $webAsg.Id `
  -PublicIpAddressId $publicIpWeb.Id

Az alábbi példa létrehoz egy hálózati adaptert, hozzárendeli a myVmMgmt nyilvános IP-címet, és felveszi azt a myAsgMgmtServers alkalmazásbiztonsági csoport tagjai közé:

$mgmtNic = New-AzNetworkInterface `
  -Location eastus `
  -Name myVmMgmt `
  -ResourceGroupName myResourceGroup `
  -SubnetId $virtualNetwork.Subnets[0].Id `
  -ApplicationSecurityGroupId $mgmtAsg.Id `
  -PublicIpAddressId $publicIpMgmt.Id

Hozzon létre két virtuális gépet a virtuális hálózatban, hogy érvényesíthesse majd a fogalom szűrését egy később lépésben.

Hozzon létre egy virtuálisgép-konfigurációt a New-AzVMConfig használatával, majd hozza létre a virtuális gépet a New-AzVM használatával. Az alábbi példa egy virtuális gépet hoz létre, amely webkiszolgálóként fog szolgálni. Az -AsJob kapcsoló a háttérben hozza létre a virtuális gépet, így Ön eközben folytathatja a következő lépéssel.

# Create user object
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."

$webVmConfig = New-AzVMConfig `
  -VMName myVmWeb `
  -VMSize Standard_DS1_V2 | `
Set-AzVMOperatingSystem -Windows `
  -ComputerName myVmWeb `
  -Credential $cred | `
Set-AzVMSourceImage `
  -PublisherName MicrosoftWindowsServer `
  -Offer WindowsServer `
  -Skus 2016-Datacenter `
  -Version latest | `
Add-AzVMNetworkInterface `
  -Id $webNic.Id
New-AzVM `
  -ResourceGroupName myResourceGroup `
  -Location eastus `
  -VM $webVmConfig `
  -AsJob

Hozzon létre egy felügyeleti kiszolgálóként szolgáló virtuális gépet:

# Create user object
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."

# Create the web server virtual machine configuration and virtual machine.
$mgmtVmConfig = New-AzVMConfig `
  -VMName myVmMgmt `
  -VMSize Standard_DS1_V2 | `
Set-AzVMOperatingSystem -Windows `
  -ComputerName myVmMgmt `
  -Credential $cred | `
Set-AzVMSourceImage `
  -PublisherName MicrosoftWindowsServer `
  -Offer WindowsServer `
  -Skus 2016-Datacenter `
  -Version latest | `
Add-AzVMNetworkInterface `
  -Id $mgmtNic.Id
New-AzVM `
  -ResourceGroupName myResourceGroup `
  -Location eastus `
  -VM $mgmtVmConfig

A virtuális gép létrehozása néhány percet vesz igénybe. Ne ugorjon a következő lépésre, amíg az Azure be nem fejezte a virtuális gép létrehozását.

Forgalomszűrők tesztelése

A Get-AzPublicIpAddress használatával adja vissza a virtuális gép nyilvános IP-címét. Az alábbi példa a myVmMgmt virtuális gép nyilvános IP-címét adja vissza:

Get-AzPublicIpAddress `
  -Name myVmMgmt `
  -ResourceGroupName myResourceGroup `
  | Select IpAddress

Az alábbi parancs használatával hozzon létre egy távoli asztali munkamenetet a myVmMgmt virtuális géppel a helyszíni számítógépéről. Cserélje ki a <publicIpAddress> kifejezést az előző parancs által visszaadott nyilvános IP-címre.

mstsc /v:<publicIpAddress>

Nyissa meg a letöltött RDP-fájlt. Ha a rendszer kéri, válassza a Csatlakozás lehetőséget.

Adja meg a virtuális gép létrehozásakor megadott felhasználónevet és jelszót (előfordulhat, hogy a virtuális gép létrehozásakor beírt hitelesítő adatok megadásához ki kell választania a További lehetőségek, majd a Másik fiók használata elemet), majd válassza az OK gombot. A bejelentkezés során egy figyelmeztetés jelenhet meg a tanúsítvánnyal kapcsolatban. Válassza az Igen lehetőséget a csatlakozás folytatásához.

A kapcsolat sikeresen létrejön, mert a 3389-es porton engedélyezve van az internetről a myAsgMgmtServers alkalmazásbiztonsági csoportba (amelyben a myVmMgmt virtuális géphez csatlakoztatott hálózati adapter található) bejövő forgalom.

Az alábbi parancs PowerShellben történő használatával hozzon létre egy távoli asztali kapcsolatot a myVmWeb virtuális géppel a myVmMgmt virtuális gépről:

mstsc /v:myvmWeb

A kapcsolat sikeresen létrejön, mert az egyes hálózati biztonsági csoportokon belüli alapértelmezett biztonsági szabály minden porton keresztül engedélyezi a forgalmat a virtuális hálózaton belüli összes IP-cím között. Nem hozhat létre távoli asztali kapcsolatot a myVmWeb virtuális géppel az internetről, mert a myAsgWebServers biztonsági szabálya nem engedélyezi az internetről bejövő forgalmat a 3389-es porton keresztül.

Az alábbi parancs PowerShellben történő használatával telepítse a Microsoft IIS-t a myVmWeb virtuális gépre:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

Az IIS telepítésének befejezése után csatlakozzon le a myVmWeb virtuális gépről. Így csak a myVmMgmt virtuális géppel létesített távoli asztali kapcsolat marad. Az IIS üdvözlőképernyőjének megtekintéséhez nyisson meg egy webböngészőt, és keresse meg a http://myVmWeb.

Csatlakozzon le a myVmMgmt virtuális gépről.

A számítógépén írja be az alábbi parancsot a PowerShellben a myVmWeb kiszolgáló nyilvános IP-címének lekéréséhez.

Get-AzPublicIpAddress `
  -Name myVmWeb `
  -ResourceGroupName myResourceGroup `
  | Select IpAddress

Annak megerősítéséhez, hogy eléri a myVmWeb webkiszolgálót az Azure-on kívülről is, nyisson meg egy webböngészőt a számítógépen, és lépjen a következő helyre: http://<public-ip-address-from-previous-step>. A kapcsolat sikeresen létrejön, mert a 80-as porton engedélyezve van az internetről a myAsgWebServers alkalmazásbiztonsági csoportba (amelyben a myVmWeb virtuális géphez csatlakoztatott hálózati adapter található) bejövő forgalom.

Az erőforrások eltávolítása

Ha már nincs rá szükség, a Remove-AzResourceGroup használatával eltávolíthatja az erőforráscsoportot és az összes benne lévő erőforrást:

Remove-AzResourceGroup -Name myResourceGroup -Force

Következő lépések

Ebben a cikkben létrehozott egy hálózati biztonsági csoportot, és hozzárendelte egy virtuális hálózati alhálózathoz. A hálózati biztonsági csoportokkal kapcsolatos további információ: Hálózati biztonsági csoportok áttekintése és Hálózati biztonsági csoportok kezelése.

Az Azure alapértelmezés szerint irányítja a forgalmat az alhálózatok között. Ehelyett lehetősége van arra, hogy egy virtuális gépen keresztül irányítsa a forgalmat az alhálózatok között, amely így például tűzfalként is szolgálhat. További információ: Útvonaltábla létrehozása.