Hálózati forgalom szűrése hálózati biztonsági csoporttal az Azure CLI 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
If you don't have an Azure subscription, create an Azure free account before you begin.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
- Ez a cikk az Azure CLI 2.0.28-es vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
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 az az group create használatával. A következő példa létrehoz egy erőforráscsoportot az eastus helyen:
az group create \
--name myResourceGroup \
--location eastus
Hozzon létre egy alkalmazásbiztonsági csoportot az az network asg create 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.
az network asg create \
--resource-group myResourceGroup \
--name myAsgWebServers \
--location eastus
az network asg create \
--resource-group myResourceGroup \
--name myAsgMgmtServers \
--location eastus
Hálózati biztonsági csoport létrehozása
Hozzon létre egy hálózati biztonsági csoportot az network nsg create használatával. Az alábbi példa egy myNsg nevű hálózati biztonsági csoportot hoz létre:
# Create a network security group
az network nsg create \
--resource-group myResourceGroup \
--name myNsg
Biztonsági szabályok létrehozása
Hozzon létre egy biztonsági szabályt az az network nsg rule create 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.
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNsg \
--name Allow-Web-All \
--access Allow \
--protocol Tcp \
--direction Inbound \
--priority 100 \
--source-address-prefix Internet \
--source-port-range "*" \
--destination-asgs "myAsgWebServers" \
--destination-port-range 80 443
Az alábbi példa létrehoz egy szabályt, amely engedélyezi az internetről a myMgmtServers alkalmazás biztonsági csoportjába irányuló forgalmat a 22-s porton keresztül:
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNsg \
--name Allow-SSH-All \
--access Allow \
--protocol Tcp \
--direction Inbound \
--priority 110 \
--source-address-prefix Internet \
--source-port-range "*" \
--destination-asgs "myAsgMgmtServers" \
--destination-port-range 22
Ebben a cikkben az SSH (22-as port) elérhető az interneten a myAsgMgmtServers virtuális gép számára. Éles környezetekben a 22-s port internetes megjelenítése helyett ajánlott olyan Azure-erőforrásokhoz csatlakozni, amelyeket VPN- vagy magánhálózati kapcsolattal szeretne kezelni.
Virtuális hálózat létrehozása
Hozzon létre egy virtuális hálózatot az az network vnet create paranccsal. Az alábbi példa egy myVirtualNetwork virtuális hálózatot hoz létre:
az network vnet create \
--name myVirtualNetwork \
--resource-group myResourceGroup \
--address-prefixes 10.0.0.0/16
Alhálózat hozzáadása virtuális hálózathoz az az network vnet subnet create 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.
az network vnet subnet create \
--vnet-name myVirtualNetwork \
--resource-group myResourceGroup \
--name mySubnet \
--address-prefix 10.0.0.0/24 \
--network-security-group myNsg
Virtuális gépek létrehozása
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ális gépet az az vm create paranccsal. Az alábbi példa egy virtuális gépet hoz létre, amely webkiszolgálóként fog szolgálni. A --asgs myAsgWebServers
beállítás hatására az Azure a virtuális gép számára létrehozott hálózati adaptert a myAsgWebServers alkalmazásbiztonsági csoport tagjának állítja be.
A --nsg ""
beállítás meg van adva, hogy az Azure ne hozzon létre alapértelmezett hálózati biztonsági csoportot az Azure által a virtuális gép létrehozásakor létrehozott hálózati adapterhez. A cikk egyszerűsítése érdekében a rendszer jelszót használ. A kulcsokat általában éles környezetben használják. Kulcsok használata esetén az SSH-ügynök továbbítását is konfigurálnia kell a többi lépéshez. További információkért tekintse meg az SSH-ügyfél dokumentációját. Cserélje le <replace-with-your-password>
a következő parancsot egy választott jelszóra.
adminPassword="<replace-with-your-password>"
az vm create \
--resource-group myResourceGroup \
--name myVmWeb \
--image Ubuntu2204 \
--vnet-name myVirtualNetwork \
--subnet mySubnet \
--nsg "" \
--asgs myAsgWebServers \
--admin-username azureuser \
--admin-password $adminPassword
A virtuális gép üzembe helyezése néhány percet vesz igénybe. A virtuális gép létrehozása után a rendszer az alábbi példához hasonló kimenetet ad vissza:
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVmWeb",
"location": "eastus",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "13.90.242.231",
"resourceGroup": "myResourceGroup"
}
Jegyezze fel a publicIpAddress értékét. Ezzel a címmel érheti el a virtuális gépet az internetről egy későbbi lépésben. Hozzon létre egy felügyeleti kiszolgálóként szolgáló virtuális gépet:
az vm create \
--resource-group myResourceGroup \
--name myVmMgmt \
--image Ubuntu2204 \
--vnet-name myVirtualNetwork \
--subnet mySubnet \
--nsg "" \
--asgs myAsgMgmtServers \
--admin-username azureuser \
--admin-password $adminPassword
A virtuális gép üzembe helyezése néhány percet vesz igénybe. A virtuális gép létrehozása után jegyezze fel a publicIpAddress függvényt a visszaadott kimenetben. Ezzel a címmel érheti el a virtuális gépet a következő lépésben. 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
Az alábbi paranccsal hozzon létre egy SSH-munkamenetet a myVmMgmt virtuális géppel. Cserélje le <a publicIpAddress elemet> a virtuális gép nyilvános IP-címére. A fenti példában az IP-cím 13.90.242.231.
ssh azureuser@<publicIpAddress>
Amikor a rendszer jelszót kér, adja meg a virtuális gépek létrehozása területen megadott jelszót.
A kapcsolat sikeres, mert a 22-as port az internetről a myAsgMgmtServers alkalmazás biztonsági csoportjába engedélyezett, amelyben a myVmMgmt virtuális géphez csatlakoztatott hálózati adapter található.
A következő paranccsal SSH-t használhat a myVmWeb virtuális gépre a myVmMgmt virtuális gépről:
ssh azureuser@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. A myVmWeb virtuális géphez nem lehet SSH-t csatlakoztatni az internetről, mert a myAsgWebServers biztonsági szabálya nem engedélyezi a 22-s portot az internetről.
A következő parancsokkal telepítse az nginx webkiszolgálót a myVmWeb virtuális gépre:
# Update package source
sudo apt-get -y update
# Install NGINX
sudo apt-get -y install nginx
A myVmWeb virtuális gép az internetre kifelé haladva lekérheti az nginxet, mert egy alapértelmezett biztonsági szabály lehetővé teszi az internet felé irányuló kimenő forgalmat. Lépjen ki a myVmWeb SSH-munkamenetből, amely a username@myVmMgmt:~$
myVmMgmt virtuális gép parancssorából indul ki. Ha le szeretné kérni az nginx üdvözlőképernyőjét a myVmWeb virtuális gépről, írja be a következő parancsot:
curl myVmWeb
A myVmMgmt virtuális gép kijelentkezése. Annak ellenőrzéséhez, hogy hozzáfér-e a myVmWeb webkiszolgálóhoz az Azure-on kívülről, írja be curl <publicIpAddress>
a saját számítógépéről. A kapcsolat sikeres, mert a 80-as port be van kapcsolva az internetről a myAsgWebServers alkalmazás biztonsági csoportjába, amelyben a myVmWeb virtuális géphez csatlakoztatott hálózati adapter található.
Clean up resources
Ha már nincs rá szükség, az az group delete használatával távolítsa el az erőforráscsoportot és az összes benne lévő erőforrást.
az group delete --name myResourceGroup --yes
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.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: