Az App Service-környezetbe irányuló bejövő forgalom szabályozása

Fontos

Ez a cikk az App Service Environment 1-ről szól. Az App Service Environment 1-et 2024. augusztus 31-én kivonjuk. Az App Service Environment új verziója egyszerűbben használható és hatékonyabb infrastruktúrán futtatható. Az új verzióról az App Service-környezet bemutatása című cikkből tudhat meg többet. Ha jelenleg az App Service Environment 1-es verzióját használja, kövesse a cikkben leírt lépéseket az új verzióra való migráláshoz.

2024. január 29-étől már nem hozhat létre új App Service Environment v1-erőforrásokat az elérhető módszerek , például ARM/Bicep-sablonok, Azure Portal, Azure CLI vagy REST API használatával. 2024. augusztus 31-ig át kell telepítenie az App Service Environment v3-ra az erőforrás törlésének és adatvesztésének megakadályozása érdekében.

Áttekintés

Az App Service-környezet létrehozható egy Azure Resource Manager virtuális hálózatban vagy egy klasszikus üzemi modell virtuális hálózatában. Új virtuális hálózat és új alhálózat definiálható az App Service-környezet létrehozásakor. Ehelyett létrehozhat egy App Service-környezetet egy meglévő virtuális hálózaton és egy meglévő alhálózaton. 2016 júniusától az A Standard kiadás is üzembe helyezhető olyan virtuális hálózatokban, amelyek nyilvános címtartományokat vagy RFC1918 címtereket (privát címeket) használnak. További információ: A Standard kiadás v1 létrehozása sablonból.

Mindig hozzon létre egy App Service-környezetet egy alhálózaton belül. Az alhálózat egy hálózati határt biztosít, amellyel zárolható a bejövő forgalom a felsőbb rétegbeli eszközök és szolgáltatások mögött. Ez a beállítás csak adott, felsőbb rétegbeli IP-címek számára engedélyezi a HTTP- és HTTPS-forgalom elfogadását.

Az alhálózat bejövő és kimenő hálózati forgalmát egy hálózati biztonsági csoport szabályozza. A bejövő forgalom szabályozásához hozzon létre hálózati biztonsági szabályokat egy hálózati biztonsági csoportban. Ezután rendelje hozzá a hálózati biztonsági csoportot az App Service-környezetet tartalmazó alhálózathoz.

Miután hozzárendelt egy hálózati biztonsági csoportot egy alhálózathoz, az App Service-környezetben lévő alkalmazások bejövő forgalma a hálózati biztonsági csoportban meghatározott engedélyezési és megtagadási szabályok alapján engedélyezett vagy letiltható.

Feljegyzés

Habár ez a cikk a webalkalmazásokra vonatkozik, az API-alkalmazásokra és mobilalkalmazásokra egyaránt érvényes.

App Service-környezetben használt bejövő hálózati portok

Mielőtt hálózati biztonsági csoporttal zárolja a bejövő hálózati forgalmat, ismerje meg az App Service-környezet által használt szükséges és opcionális hálózati portokat. Ha véletlenül bezárja a forgalmat bizonyos portok felé, az az App Service-környezet funkcióvesztéséhez vezethet.

Az alábbi lista az App Service-környezet által használt portokat tartalmazza. Minden port TCP, kivéve, ha másként egyértelműen fel van jegyezve:

  • 454: Az Azure-infrastruktúra által az App Service-környezetek TLS-en keresztüli kezeléséhez és karbantartásához szükséges port . Ne tiltsa le a port felé történő forgalmat. Ez a port mindig egy A Standard kiadás nyilvános VIP-címéhez van kötve.
  • 455: Az Azure-infrastruktúra által az App Service-környezetek TLS-en keresztüli kezeléséhez és karbantartásához szükséges port . Ne tiltsa le a port felé történő forgalmat. Ez a port mindig egy A Standard kiadás nyilvános VIP-címéhez van kötve.
  • 80: Az App Service-környezetben futó App Service-csomagokban futó alkalmazások bejövő HTTP-forgalmának alapértelmezett portja. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez van kötve.
  • 443: Az App Service-környezetben az App Service-csomagokban futó alkalmazások bejövő TLS-forgalmának alapértelmezett portja. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez van kötve.
  • 21: Az FTP-csatorna vezérlése. Ez a port biztonságosan blokkolható, ha az FTP nincs használatban. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez köthető.
  • 990: Az FTPS vezérlési csatornája. Ez a port biztonságosan blokkolható, ha az FTPS nincs használatban. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez köthető.
  • 10001-10020: Ftp-adatcsatornák. A vezérlőcsatornához hasonlóan ezek a portok is biztonságosan blokkolhatók, ha az FTP nincs használatban. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez köthető.
  • 4016: Távoli hibakereséshez használható a Visual Studio 2012-vel. Ez a port biztonságosan blokkolható, ha a szolgáltatás nincs használatban. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez van kötve.
  • 4018: A Visual Studio 2013 távoli hibakereséséhez használatos. Ez a port biztonságosan blokkolható, ha a szolgáltatás nincs használatban. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez van kötve.
  • 4020: Távoli hibakereséshez használható a Visual Studio 2015-ben. Ez a port biztonságosan blokkolható, ha a szolgáltatás nincs használatban. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez van kötve.
  • 4022: A Visual Studio 2017 távoli hibakereséséhez használatos. Ez a port biztonságosan blokkolható, ha a szolgáltatás nincs használatban. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez van kötve.
  • 4024 A Visual Studio 2019 távoli hibakereséséhez használatos. Ez a port biztonságosan blokkolható, ha a szolgáltatás nincs használatban. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez van kötve.
  • 4026: Távoli hibakereséshez használható a Visual Studio 2022-vel. Ez a port biztonságosan blokkolható, ha a szolgáltatás nincs használatban. Az ILB-kompatibilis A Standard kiadás ez a port az A Standard kiadás ILB-címéhez van kötve.

Kimenő kapcsolat és DNS-követelmények

Ahhoz, hogy az App Service-környezet megfelelően működjön, kimenő hozzáférést is igényel a különböző végpontokhoz. Az A Standard kiadás által használt külső végpontok teljes listája az ExpressRoute hálózati konfigurációjának "Szükséges hálózati Csatlakozás ivity" című szakaszában található.

Az App Service-környezetekhez érvényes, a virtuális hálózathoz konfigurált DNS-infrastruktúra szükséges. Ha a DNS-konfiguráció az App Service-környezet létrehozása után módosul, a fejlesztők kényszeríthetik az App Service-környezetet az új DNS-konfiguráció felvételére. Ha elindít egy gördülő környezet újraindítását az Újraindítás ikonnal, a környezet felveszi az új DNS-konfigurációt. (A Az Újraindítás ikon az App Service Environment felügyeleti paneljének tetején, az Azure Portalon található.)

Azt is javasoljuk, hogy az App Service-környezet létrehozása előtt előre állítsa be a virtuális hálózaton lévő egyéni DNS-kiszolgálókat. Ha egy virtuális hálózat DNS-konfigurációja módosul egy App Service-környezet létrehozása során, az App Service Environment létrehozási folyamata meghiúsul. Hasonlóképpen, ha van egy egyéni DNS-kiszolgáló, amely nem érhető el vagy nem érhető el a VPN-átjáró másik végén, az App Service Environment létrehozási folyamata is sikertelen lesz.

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

A hálózati biztonsági csoportok működésével kapcsolatos részletes információkért tekintse meg az alábbi információkat. Az alábbi Azure Service Management-példa a hálózati biztonsági csoportok kiemeléseit ismerteti. A példa egy hálózati biztonsági csoportot konfigurál és alkalmaz egy App Service-környezetet tartalmazó alhálózatra.

Megjegyzés: A hálózati biztonsági csoportok grafikusan konfigurálhatók az Azure Portal vagy az Azure PowerShell használatával.

A hálózati biztonsági csoportok először különálló entitásként jönnek létre egy előfizetéshez társítva. Mivel a hálózati biztonsági csoportok egy Azure-régióban vannak létrehozva, hozza létre a hálózati biztonsági csoportot ugyanabban a régióban, mint az App Service Environment.

Az alábbi parancs egy hálózati biztonsági csoport létrehozását mutatja be:

New-AzureNetworkSecurityGroup -Name "testNSGexample" -Location "South Central US" -Label "Example network security group for an app service environment"

A hálózati biztonsági csoport létrehozása után egy vagy több hálózati biztonsági szabályt ad hozzá. Mivel a szabályok halmaza idővel változhat, célszerű a szabályprioritásokhoz használt számozási sémát eltűrni. Ez a gyakorlat megkönnyíti a további szabályok időbeli beszúrását.

Az alábbi példában egy szabály kifejezetten hozzáférést biztosít az Azure-infrastruktúra által az App Service-környezet kezeléséhez és karbantartásához szükséges felügyeleti portokhoz. Minden felügyeleti forgalom a TLS-en halad át, és az ügyféltanúsítványok védik. Annak ellenére, hogy a portok meg vannak nyitva, az Azure felügyeleti infrastruktúrától eltérő entitások nem érhetik el őket.

Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Set-AzureNetworkSecurityRule -Name "ALLOW AzureMngmt" -Type Inbound -Priority 100 -Action Allow -SourceAddressPrefix 'INTERNET'  -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '454-455' -Protocol TCP

Amikor zárolja a hozzáférést a 80-s és a 443-as porthoz, hogy "elrejtse" az App Service-környezetet a felsőbb rétegbeli eszközök vagy szolgáltatások mögött, jegyezze meg a felsőbb rétegbeli IP-címet. Ha például webalkalmazási tűzfalat (WAF) használ, a WAF saját IP-címmel vagy címmel fog rendelkezni. A WAF ezeket használja az alsóbb rétegbeli App Service-környezetbe irányuló forgalom proxyzásakor. Ezt az IP-címet egy hálózati biztonsági szabály SourceAddressPrefix paraméterében kell használnia.

Az alábbi példában egy adott felsőbb rétegbeli IP-címről érkező bejövő forgalom kifejezetten engedélyezett. Az 1.2.3.4 cím helyőrzőként szolgál egy felsőbb rétegbeli WAF IP-címéhez. Módosítsa az értéket úgy, hogy megfeleljen a felsőbb rétegbeli eszköz vagy szolgáltatás által használt címnek.

Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Set-AzureNetworkSecurityRule -Name "RESTRICT HTTP" -Type Inbound -Priority 200 -Action Allow -SourceAddressPrefix '1.2.3.4/32'  -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '80' -Protocol TCP
Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Set-AzureNetworkSecurityRule -Name "RESTRICT HTTPS" -Type Inbound -Priority 300 -Action Allow -SourceAddressPrefix '1.2.3.4/32'  -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '443' -Protocol TCP

Ha FTP-támogatást szeretne, használja az alábbi szabályokat sablonként az FTP-vezérlőporthoz és az adatcsatorna-portokhoz való hozzáférés biztosításához. Mivel az FTP állapotalapú protokoll, előfordulhat, hogy nem tudja átirányítani az FTP-forgalmat egy hagyományos HTTP-/HTTPS-tűzfalon vagy proxyeszközön. Ebben az esetben a SourceAddressPrefix értékét egy másik értékre kell beállítania, például azon fejlesztői vagy üzembehelyezési gépek IP-címtartományát, amelyeken FTP-ügyfelek futnak.

Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Set-AzureNetworkSecurityRule -Name "RESTRICT FTPCtrl" -Type Inbound -Priority 400 -Action Allow -SourceAddressPrefix '1.2.3.4/32'  -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '21' -Protocol TCP
Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Set-AzureNetworkSecurityRule -Name "RESTRICT FTPDataRange" -Type Inbound -Priority 500 -Action Allow -SourceAddressPrefix '1.2.3.4/32'  -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '10001-10020' -Protocol TCP

(Megjegyzés: az adatcsatorna porttartománya az előzetes verzió időszakában változhat.)

Ha távoli hibakeresést használ a Visual Studióval, az alábbi szabályok bemutatják, hogyan lehet hozzáférést biztosítani. A Visual Studio minden támogatott verziójához külön szabály tartozik, mivel minden verzió egy másik portot használ a távoli hibakereséshez. Az FTP-hozzáféréshez hasonlóan előfordulhat, hogy a távoli hibakeresési forgalom nem megfelelően halad át egy hagyományos WAF- vagy proxyeszközön. A SourceAddressPrefix ehelyett a Visual Studiót futtató fejlesztői gépek IP-címtartományára állítható be.

Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Set-AzureNetworkSecurityRule -Name "RESTRICT RemoteDebuggingVS2012" -Type Inbound -Priority 600 -Action Allow -SourceAddressPrefix '1.2.3.4/32'  -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '4016' -Protocol TCP
Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Set-AzureNetworkSecurityRule -Name "RESTRICT RemoteDebuggingVS2013" -Type Inbound -Priority 700 -Action Allow -SourceAddressPrefix '1.2.3.4/32'  -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '4018' -Protocol TCP
Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Set-AzureNetworkSecurityRule -Name "RESTRICT RemoteDebuggingVS2015" -Type Inbound -Priority 800 -Action Allow -SourceAddressPrefix '1.2.3.4/32'  -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '4020' -Protocol TCP

Hálózati biztonsági csoport hozzárendelése alhálózathoz

A hálózati biztonsági csoportok alapértelmezett biztonsági szabálya az összes külső forgalomhoz való hozzáférést letiltja. Ha a fenti hálózati biztonsági szabályokkal kombinálja ezt a szabályt, csak az Engedélyezés művelethez társított forráscímtartományokból érkező forgalom képes forgalmat küldeni az App Service-környezetben futó alkalmazásokba.

Ha egy hálózati biztonsági csoport biztonsági szabályokkal van feltöltve, rendelje hozzá az App Service-környezetet tartalmazó alhálózathoz. A hozzárendelési parancs két névre hivatkozik: annak a virtuális hálózatnak a nevére, amelyben az App Service-környezet található, és annak az alhálózatnak a neve, ahol az App Service-környezet létrejött.

Az alábbi példa egy alhálózathoz és virtuális hálózathoz rendelt hálózati biztonsági csoportot mutat be:

Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName 'testVNet' -SubnetName 'Subnet-test'

A hozzárendelés egy hosszú ideig futó művelet, és eltarthat néhány percig. Ha a hálózati biztonsági csoport hozzárendelése sikeres, csak az Engedélyezési szabályoknak megfelelő bejövő forgalom éri el sikeresen az appokat az App Service-környezetben.

A teljesség érdekében az alábbi példa bemutatja, hogyan távolíthatja el és távolíthatja el a hálózati biztonsági csoportot az alhálózatról:

Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Remove-AzureNetworkSecurityGroupFromSubnet -VirtualNetworkName 'testVNet' -SubnetName 'Subnet-test'

Az explicit IP-SSL speciális szempontjai

Ha egy alkalmazás explicit IP-SSL-címmel van konfigurálva (csak a nyilvános VIP-vel rendelkező A Standard kiadás esetén alkalmazható), az App Service-környezet alapértelmezett IP-címének használata helyett a HTTP és a HTTPS-forgalom is az alhálózatba áramlik a 80-443-as portokon kívül.

Az egyes IP-SSL-címek által használt portpárok megkereséséhez nyissa meg a portált, és tekintse meg az App Service Environment adat-UX paneljét. Válassza az Összes beállítás>IP-címét. Az IP-címek panelen az App Service-környezethez kifejezetten konfigurált IP-SSL-címek táblázata látható. A panelen látható az egyes IP-SSL-címekhez társított HTTP- és HTTPS-forgalom irányításához használt speciális portpár is. Használja ezt a portpárt a DestinationPortRange paraméterekhez, amikor szabályokat konfigurál egy hálózati biztonsági csoportban.

Ha egy A Standard kiadás-alapú alkalmazás IP-SSL használatára van konfigurálva, a külső ügyfelek nem fogják látni vagy aggódniuk a speciális portpárok leképezése miatt. Az alkalmazások felé a forgalom általában a konfigurált IP-SSL-címre fog áramlani. A speciális portpárra történő fordítás automatikusan belsőleg történik, az útválasztási forgalom utolsó szakasza során az A Standard kiadás tartalmazó alhálózatra.

Első lépések

Az App Service-környezetek használatának első lépéseit az App Service-környezet bemutatása című témakörben tekintheti meg.

További információ: Biztonságos csatlakozás háttérerőforrásokhoz App Service-környezetből.

Feljegyzés

Ha nem szeretne regisztrálni Azure-fiókot az Azure App Service megismerése előtt, lépjen Az Azure App Service kipróbálása oldalra, ahol azonnal létrehozhat egy rövid élettartamú alapszintű webalkalmazást az App Service-ben. Ehhez nincs szükség bankkártyára, és nem jár kötelezettségekkel.