Gyakorlat – Az Azure Storage-hoz való hozzáférés korlátozása szolgáltatásvégpontok használatával

Befejeződött

Megoldástervezőként Ön azt tervezi, hogy a bizalmas mérnöki diagramfájlokat áthelyezi az Azure Storage-ba. A fájlok csak a vállalati hálózaton belüli számítógépek számára lehetnek elérhetők. Egy virtuális hálózati szolgáltatásvégpontot szeretne létrehozni az Azure Storage számára a tárfiókok kapcsolatainak védelme céljából.

Ebben a leckében egy szolgáltatásvégpontot fog létrehozni, és hálózati szabályokkal korlátozza az Azure Storage-hozzáférést. Egy virtuális hálózati szolgáltatásvégpontot fog hozzáadni az Azure Storage-hoz a Databases alhálózaton. Majd meggyőződik arról, hogy a DataServer nevű virtuális gép hozzáfér az Azure Storage-hoz. Végül pedig ellenőrzi, hogy az AppServer nevű virtuális gép, amely egy másik alhálózaton van, valóban nem fér-e hozzá a tárterülethez.

Diagram of exercise scenario service endpoint and rules.

Szabályok hozzáadása a hálózati biztonsági csoporthoz

Itt gondoskodhat arról, hogy az Azure Storage-ral folytatott kommunikáció áthaladjon a szolgáltatásvégponton. Kimenő szabályokat fog hozzáadni a Storage szolgáltatáshoz való hozzáférés engedélyezéséhez, de az összes többi internetes forgalmat megtagadja.

  1. Ha kimenő szabályt szeretne létrehozni a Storage-hoz való hozzáférés engedélyezéséhez, futtassa a következő parancsot a Cloud Shellben:

    az network nsg rule create \
        --resource-group $rg \
        --nsg-name ERP-SERVERS-NSG \
        --name Allow_Storage \
        --priority 190 \
        --direction Outbound \
        --source-address-prefixes "VirtualNetwork" \
        --source-port-ranges '*' \
        --destination-address-prefixes "Storage" \
        --destination-port-ranges '*' \
        --access Allow \
        --protocol '*' \
        --description "Allow access to Azure Storage"
    
  2. Ha kimenő szabályt szeretne létrehozni az összes internet-hozzáférés megtagadásához, futtassa a következő parancsot a Cloud Shellben:

    az network nsg rule create \
        --resource-group $rg \
        --nsg-name ERP-SERVERS-NSG \
        --name Deny_Internet \
        --priority 200 \
        --direction Outbound \
        --source-address-prefixes "VirtualNetwork" \
        --source-port-ranges '*' \
        --destination-address-prefixes "Internet" \
        --destination-port-ranges '*' \
        --access Deny \
        --protocol '*' \
        --description "Deny access to Internet."
    

Most az alábbi szabályoknak kell szerepelniük az ERP-SERVERS-NSG hálózati biztonsági csoportban:

Szabály neve Direction Prioritás Cél
AllowSSHRule Inbound 100 Bejövő SSH-forgalom engedélyezése
httpRule Inbound 150 Az AppServer és a DataServer közötti forgalom letiltása a 80-as porton
Allow_Storage Outbound 190 Az Azure Storage-hoz való hozzáférés engedélyezése
Deny_Internet Outbound 200 Az internethez való hozzáférés letiltása a virtuális hálózaton

Ezen a ponton az AppServer és a DataServer is hozzáfér az Azure Storage szolgáltatáshoz.

Tárfiók és fájlmegosztás konfigurálása

Ebben a lépésben létrehoz egy új tárfiókot, majd hozzáad egy Azure-fájlmegosztást ehhez a fiókhoz. Ebben a fájlmegosztásban fogja tárolni a mérnöki diagramokat.

  1. A mérnöki dokumentumok tárfiókjának létrehozásához futtassa a következő parancsot a Cloud Shellben:

    STORAGEACCT=$(az storage account create \
                    --resource-group $rg \
                    --name engineeringdocs$RANDOM \
                    --sku Standard_LRS \
                    --query "name" | tr -d '"')
    
  2. A tárfiók elsődleges kulcsának változóban való tárolásához futtassa a következő parancsot a Cloud Shellben:

    STORAGEKEY=$(az storage account keys list \
                    --resource-group $rg \
                    --account-name $STORAGEACCT \
                    --query "[0].value" | tr -d '"')
    
  3. Az erp-data-share nevű Azure-fájlmegosztás létrehozásához futtassa a következő parancsot a Cloud Shellben:

    az storage share create \
        --account-name $STORAGEACCT \
        --account-key $STORAGEKEY \
        --name "erp-data-share"
    

A szolgáltatásvégpont engedélyezése

Most úgy kell konfigurálnia a tárfiókot, hogy csak adatbázis-kiszolgálókról legyen elérhető, ha hozzárendeli a tárvégpontot az Adatbázisok alhálózathoz. Ezután biztonsági szabályt kell hozzáadnia a tárfiókhoz.

  1. A Microsoft.Storage-végpont alhálózathoz való hozzárendeléséhez futtassa a következő parancsot a Cloud Shellben:

    az network vnet subnet update \
        --vnet-name ERP-servers \
        --resource-group $rg \
        --name Databases \
        --service-endpoints Microsoft.Storage
    
  2. Az összes hozzáférés megtagadásához módosítsa az alapértelmezett műveletet Deny az alábbi parancs futtatásával a Cloud Shellben. A hálózati hozzáférés megtagadása után a tárfiók nem érhető el egyetlen hálózatról sem.

    az storage account update \
        --resource-group $rg \
        --name $STORAGEACCT \
        --default-action Deny
    
  3. A tárfiókhoz való hozzáférés korlátozásához futtassa a következő parancsot a Cloud Shellben. Alapértelmezés szerint a tárfiókok minden forgalmat átengednek. Ön viszont azt szeretné, ha csak a Databases alhálózat férhetne hozzá a tárolóhoz.

    az storage account network-rule add \
        --resource-group $rg \
        --account-name $STORAGEACCT \
        --vnet-name ERP-servers \
        --subnet Databases
    

A tárolási erőforrásokhoz való hozzáférés tesztelése

Ebben a lépésben mindkét kiszolgálóhoz csatlakozik, és ellenőrzi, hogy csak a DataServer rendelkezik-e hozzáféréssel az Azure-fájlmegosztáshoz a tárfiókban.

  1. Ha az AppServer és a DataServer nyilvános IP-címeit változókba szeretné menteni, futtassa a következő parancsot a Cloud Shellben:

    APPSERVERIP="$(az vm list-ip-addresses \
                        --resource-group $rg \
                        --name AppServer \
                        --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
                        --output tsv)"
    
    DATASERVERIP="$(az vm list-ip-addresses \
                        --resource-group $rg \
                        --name DataServer \
                        --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
                        --output tsv)"
    
  2. Az AppServer virtuális géphez való csatlakozáshoz és az Azure-fájlmegosztás csatlakoztatásához futtassa a következő parancsot a Cloud Shellben:

    ssh -t azureuser@$APPSERVERIP \
        "mkdir azureshare; \
        sudo mount -t cifs //$STORAGEACCT.file.core.windows.net/erp-data-share azureshare \
        -o vers=3.0,username=$STORAGEACCT,password=$STORAGEKEY,dir_mode=0777,file_mode=0777,sec=ntlmssp; findmnt \
        -t cifs; exit; bash"
    
  3. Adja meg a virtuális gép létrehozásakor megadott jelszót.

  4. A válaszban szerepelni fog egy mount error üzenetnek. Ez a kapcsolat nem engedélyezett, mert az Alkalmazások alhálózaton nincs szolgáltatásvégpont a tárfiókhoz.

  5. A DataServer virtuális géphez való csatlakozáshoz és az Azure-fájlmegosztás csatlakoztatásához futtassa a következő parancsot a Cloud Shellben:

    ssh -t azureuser@$DATASERVERIP \
        "mkdir azureshare; \
        sudo mount -t cifs //$STORAGEACCT.file.core.windows.net/erp-data-share azureshare \
        -o vers=3.0,username=$STORAGEACCT,password=$STORAGEKEY,dir_mode=0777,file_mode=0777,sec=ntlmssp;findmnt \
        -t cifs; exit; bash"
    
  6. Adja meg a virtuális gép létrehozásakor megadott jelszót.

  7. A csatlakoztatásnak sikeresnek kell lennie, és a válasznak tartalmaznia kell a csatlakoztatási pont részleteit. Ez azért lehetséges, mert létrehozta a szolgáltatásvégpontot a Databases alhálózaton található tárfiókhoz.

A Databases alhálózaton szereplő szolgáltatásvégpont használatával sikeresen ellenőrizte, hogy a DataServer hozzáfér-e a tárolóhoz. Emellett meggyőződött arról, hogy az AppServer nem rendelkezik hozzáféréssel a tárolóhoz. Ennek az az oka, hogy ez a kiszolgáló egy másik alhálózaton található, és nem rendelkezik hozzáféréssel a virtuális hálózati szolgáltatásvégponthoz.