App Service Ortamı Gelen Trafiği Denetleme

Önemli

Bu makale App Service Ortamı v1 hakkındadır. App Service Ortamı v1, 31 Ağustos 2024 tarihinde kullanımdan kaldırılacaktır. Kullanımı daha kolay olan ve daha güçlü bir altyapı üzerinde çalışan yeni bir App Service Ortamı sürümü vardır. Yeni sürüm hakkında daha fazla bilgi edinmek için App Service Ortamı giriş ile başlayın. Şu anda App Service Ortamı v1 kullanıyorsanız yeni sürüme geçmek için lütfen bu makaledeki adımları izleyin.

29 Ocak 2024 itibarıyla ARM/Bicep şablonları, Azure Portal, Azure CLI veya REST API gibi kullanılabilir yöntemlerden herhangi birini kullanarak yeni App Service Ortamı v1 kaynakları oluşturamıyabilirsiniz. Kaynak silme ve veri kaybını önlemek için 31 Ağustos 2024'e kadar App Service Ortamı v3'e geçmeniz gerekir.

Genel bakış

Azure Resource Manager sanal ağında veya klasik dağıtım modeli sanal ağında bir App Service Ortamı oluşturulabilir. Yeni bir sanal ağ ve yeni alt ağ, bir App Service Ortamı oluşturulduğunda tanımlanabilir. Bunun yerine, önceden var olan bir sanal ağda ve önceden var olan bir alt ağda bir App Service Ortamı oluşturulabilir. Haziran 2016 itibarıyla, ASE'ler genel adres aralıkları veya RFC1918 adres alanları (özel adresler) kullanan sanal ağlara da dağıtılabilir. Daha fazla bilgi için bkz . Şablondan ASEv1 Oluşturma.

Her zaman alt ağ içinde bir App Service Ortamı oluşturun. Alt ağ, yukarı akış cihazlarının ve hizmetlerinin arkasındaki gelen trafiği kilitlemek için kullanılabilecek bir ağ sınırı sağlar. Bu kurulum yalnızca belirli yukarı akış IP adreslerinin HTTP ve HTTPS trafiğini kabul etmesine izin verir.

Bir alt ağ üzerindeki gelen ve giden ağ trafiği, bir ağ güvenlik grubu kullanılarak denetlenilir. Gelen trafiği denetlemek için bir ağ güvenlik grubunda ağ güvenlik kuralları oluşturun. Ardından ağ güvenlik grubunu App Service Ortamı içeren alt ağı atayın.

Bir alt ağa ağ güvenlik grubu atadıktan sonra, ağ güvenlik grubunda tanımlanan izin verme ve reddetme kurallarına bağlı olarak App Service Ortamı uygulamalara gelen trafiğe izin verilir veya engellenir.

Not

Bu makale web uygulamalarıyla ilgili olsa da, API uygulamaları ve mobil uygulamalara da uygulanır.

App Service Ortamında Kullanılan Gelen Ağ Bağlantı Noktaları

Gelen ağ trafiğini bir ağ güvenlik grubuyla kilitlemeden önce, bir App Service Ortamı tarafından kullanılan gerekli ve isteğe bağlı ağ bağlantı noktaları kümesini bilin. Bazı bağlantı noktalarına gelen trafiğin yanlışlıkla kapatılması, bir App Service Ortamı işlevsellik kaybına neden olabilir.

Aşağıdaki liste, bir App Service Ortamı tarafından kullanılan bağlantı noktalarını içerir. Aksi açıkça belirtilmediği sürece tüm bağlantı noktaları TCP'dir:

  • 454: TLS aracılığıyla App Service Ortamı yönetmek ve korumak için Azure altyapısı tarafından kullanılan gerekli bağlantı noktası. Bu bağlantı noktasına gelen trafiği engellemeyin. Bu bağlantı noktası her zaman bir ASE'nin genel VIP'sine bağlıdır.
  • 455: TLS aracılığıyla App Service Ortamı yönetmek ve korumak için Azure altyapısı tarafından kullanılan gerekli bağlantı noktası. Bu bağlantı noktasına gelen trafiği engellemeyin. Bu bağlantı noktası her zaman bir ASE'nin genel VIP'sine bağlıdır.
  • 80: Bir App Service Ortamı App Service Planlarında çalışan uygulamalara gelen HTTP trafiği için varsayılan bağlantı noktası. ILB özellikli bir ASE'de, bu bağlantı noktası ASE'nin ILB adresine bağlıdır.
  • 443: Bir App Service Ortamı App Service Planlarında çalışan uygulamalara gelen TLS trafiği için varsayılan bağlantı noktası. ILB özellikli bir ASE'de, bu bağlantı noktası ASE'nin ILB adresine bağlıdır.
  • 21: FTP için denetim kanalı. FTP kullanılmıyorsa bu bağlantı noktası güvenli bir şekilde engellenebilir. ILB özellikli bir ASE'de, bu bağlantı noktası bir ASE'nin ILB adresine bağlanabilir.
  • 990: FTPS için denetim kanalı. FTPS kullanılmıyorsa bu bağlantı noktası güvenli bir şekilde engellenebilir. ILB özellikli bir ASE'de, bu bağlantı noktası bir ASE'nin ILB adresine bağlanabilir.
  • 10001-10020: FTP için veri kanalları. Denetim kanalında olduğu gibi, FTP kullanılmıyorsa bu bağlantı noktaları güvenle engellenebilir. ILB özellikli bir ASE'de bu bağlantı noktası ASE'nin ILB adresine bağlanabilir.
  • 4016: Visual Studio 2012 ile uzaktan hata ayıklama için kullanılır. Özellik kullanılmıyorsa bu bağlantı noktası güvenli bir şekilde engellenebilir. ILB özellikli bir ASE'de, bu bağlantı noktası ASE'nin ILB adresine bağlıdır.
  • 4018: Visual Studio 2013 ile uzaktan hata ayıklama için kullanılır. Özellik kullanılmıyorsa bu bağlantı noktası güvenli bir şekilde engellenebilir. ILB özellikli bir ASE'de, bu bağlantı noktası ASE'nin ILB adresine bağlıdır.
  • 4020: Visual Studio 2015 ile uzaktan hata ayıklama için kullanılır. Özellik kullanılmıyorsa bu bağlantı noktası güvenli bir şekilde engellenebilir. ILB özellikli bir ASE'de, bu bağlantı noktası ASE'nin ILB adresine bağlıdır.
  • 4022: Visual Studio 2017 ile uzaktan hata ayıklama için kullanılır. Özellik kullanılmıyorsa bu bağlantı noktası güvenli bir şekilde engellenebilir. ILB özellikli bir ASE'de, bu bağlantı noktası ASE'nin ILB adresine bağlıdır.
  • 4024 Visual Studio 2019 ile uzaktan hata ayıklama için kullanılır. Özellik kullanılmıyorsa bu bağlantı noktası güvenli bir şekilde engellenebilir. ILB özellikli bir ASE'de, bu bağlantı noktası ASE'nin ILB adresine bağlıdır.
  • 4026: Visual Studio 2022 ile uzaktan hata ayıklama için kullanılır. Özellik kullanılmıyorsa bu bağlantı noktası güvenli bir şekilde engellenebilir. ILB özellikli bir ASE'de, bu bağlantı noktası ASE'nin ILB adresine bağlıdır.

Giden Bağlantı ve DNS Gereksinimleri

Bir App Service Ortamı düzgün çalışması için çeşitli uç noktalara giden erişim de gerekir. ASE tarafından kullanılan dış uç noktaların tam listesi, ExpressRoute için Ağ Yapılandırması makalesinin "Gerekli Ağ Bağlan üretkenliği" bölümündedir.

App Service Ortamı, sanal ağ için yapılandırılmış geçerli bir DNS altyapısı gerektirir. DNS yapılandırması bir App Service Ortamı oluşturulduktan sonra değiştirilirse, geliştiriciler yeni DNS yapılandırmasını almak için bir App Service Ortamı zorlayabilir. Yeniden Başlat simgesini kullanarak sıralı bir ortam yeniden başlatması tetiklerseniz, ortam yeni DNS yapılandırmasını alır. (Yeniden başlatma simgesi, Azure portalında App Service Ortamı yönetim dikey penceresinin en üstünde bulunur.)

Ayrıca App Service Ortamı oluşturmadan önce sanal ağ üzerindeki tüm özel DNS sunucularının önceden ayarlanması önerilir. App Service Ortamı oluşturulurken sanal ağın DNS yapılandırması değiştirilirse, App Service Ortamı oluşturma işlemi başarısız olur. Benzer şekilde, VPN ağ geçidinin diğer ucunda ulaşılamayan veya kullanılamayan özel bir DNS sunucusu varsa, App Service Ortamı oluşturma işlemi de başarısız olur.

Ağ Güvenlik Grubu oluşturma

Ağ güvenlik gruplarının çalışma şekliyle ilgili tüm ayrıntılar için aşağıdaki bilgilere bakın. Aşağıdaki Azure Hizmet Yönetimi örneği, ağ güvenlik gruplarının vurgularına değinmektedir. Örnek, ağ güvenlik grubunu yapılandırıp App Service Ortamı içeren bir alt ağa uygular.

Not: Ağ güvenlik grupları, Azure portalı kullanılarak veya Azure PowerShell aracılığıyla grafik olarak yapılandırılabilir.

Ağ güvenlik grupları ilk olarak bir abonelikle ilişkilendirilmiş tek başına bir varlık olarak oluşturulur. Ağ güvenlik grupları bir Azure bölgesinde oluşturulduğundan, ağ güvenlik grubunu App Service Ortamı ile aynı bölgede oluşturun.

Aşağıdaki komut bir ağ güvenlik grubu oluşturmayı gösterir:

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

Bir ağ güvenlik grubu oluşturulduktan sonra, bir veya daha fazla ağ güvenlik kuralı eklenir. Kural kümesi zaman içinde değişebileceğinden, kural öncelikleri için kullanılan numaralandırma düzeninin alanını doldurmanız gerekir. Bu uygulama, zaman içinde ek kurallar eklemeyi kolaylaştırır.

Aşağıdaki örnekte bir kural, bir App Service Ortamı yönetmek ve korumak için Azure altyapısının ihtiyaç duyduğu yönetim bağlantı noktalarına açıkça erişim verir. Tüm yönetim trafiği TLS üzerinden akar ve istemci sertifikaları tarafından güvenli hale getirilir. Bağlantı noktaları açılmış olsa da, Azure yönetim altyapısı dışındaki herhangi bir varlık tarafından erişilemez.

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

Yukarı akış cihazlarının veya hizmetlerin arkasındaki bir App Service Ortamı "gizlemek" için 80 ve 443 numaralı bağlantı noktasına erişimi kilitlediğinizde, yukarı akış IP adresini unutmayın. Örneğin, bir web uygulaması güvenlik duvarı (WAF) kullanıyorsanız WAF'nin kendi IP adresi veya adresleri olur. WAF, trafiği aşağı akış App Service Ortamı proxy'lerken kullanır. Bu IP adresini bir ağ güvenlik kuralının SourceAddressPrefix parametresinde kullanmanız gerekir.

Aşağıdaki örnekte, belirli bir yukarı akış IP adresinden gelen trafiğe açıkça izin verilir. 1.2.3.4 adresi, yukarı akış WAF'sinin IP adresi için yer tutucu olarak kullanılır. Değeri yukarı akış cihazınız veya hizmetiniz tarafından kullanılan adresle eşleşecek şekilde değiştirin.

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

FTP desteği isteniyorsa, FTP denetim bağlantı noktası ve veri kanalı bağlantı noktalarına erişim vermek için şablon olarak aşağıdaki kuralları kullanın. FTP durum bilgisi olan bir protokol olduğundan, FTP trafiğini geleneksel bir HTTP/HTTPS güvenlik duvarı veya ara sunucu cihazı üzerinden yönlendiremeyebilirsiniz. Bu durumda SourceAddressPrefix değerini, FTP istemcilerinin çalıştığı geliştirici veya dağıtım makinelerinin IP adresi aralığı gibi farklı bir değere ayarlamanız gerekir.

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

(Not: Veri kanalı bağlantı noktası aralığı önizleme döneminde değişebilir.)

Visual Studio ile uzaktan hata ayıklama kullanılıyorsa, aşağıdaki kurallar erişim verme işlemini gösterir. Visual Studio'nun desteklenen her sürümü için ayrı bir kural vardır çünkü her sürüm uzaktan hata ayıklama için farklı bir bağlantı noktası kullanır. FTP erişiminde olduğu gibi, uzaktan hata ayıklama trafiği de geleneksel waf veya ara sunucu cihazı üzerinden düzgün şekilde akmayabilir. Bunun yerine SourceAddressPrefix , Visual Studio çalıştıran geliştirici makinelerinin IP adresi aralığına ayarlanabilir.

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

Alt Ağa Ağ Güvenlik Grubu Atama

Ağ güvenlik grubu, tüm dış trafiğe erişimi reddeden varsayılan bir güvenlik kuralına sahiptir. Bu kuralı yukarıdaki ağ güvenlik kurallarıyla birleştirdiğinizde, yalnızca İzin Ver eylemiyle ilişkili kaynak adres aralıklarından gelen trafik, bir App Service Ortamı çalışan uygulamalara trafik gönderebilir.

Bir ağ güvenlik grubu güvenlik kurallarıyla dolduruldıktan sonra, bunu App Service Ortamı içeren alt ağa atayın. Atama komutu iki ada başvurur: App Service Ortamı bulunduğu sanal ağın adı ve App Service Ortamı oluşturulduğu alt ağın adı.

Aşağıdaki örnekte bir alt ağa ve sanal ağa atanan bir ağ güvenlik grubu gösterilmektedir:

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

Atama uzun süre çalışan bir işlemdir ve tamamlanması birkaç dakika sürebilir. Ağ güvenlik grubu ataması başarılı olduktan sonra, yalnızca İzin ver kurallarıyla eşleşen gelen trafik App Service Ortamı uygulamalara başarıyla ulaşır.

Tamlık için aşağıdaki örnek, ağ güvenlik grubunun alt ağdan nasıl kaldırılacağını ve bağlantısının nasıl kaldırılacağını gösterir:

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

Açık IP-SSL için Özel Önemli Noktalar

Bir uygulama, App Service Ortamı varsayılan IP adresini kullanmak yerine açık bir IP-SSL adresiyle yapılandırılmışsa (yalnızca genel VIP'leri olan ASE'ler için geçerlidir), hem HTTP hem de HTTPS trafiği 80 ve 443 bağlantı noktaları dışındaki bağlantı noktaları üzerinden alt ağa akar.

Her IP-SSL adresi tarafından kullanılan tek tek bağlantı noktası çiftini bulmak için portala gidin ve App Service Ortamı ayrıntıları UX dikey penceresini görüntüleyin. Tüm ayarlar>IP adresleri'ne tıklayın. IP adresleri dikey penceresinde, App Service Ortamı için açıkça yapılandırılmış tüm IP-SSL adreslerinin bir tablosu gösterilir. Dikey pencere ayrıca her IP-SSL adresiyle ilişkili HTTP ve HTTPS trafiğini yönlendirmek için kullanılan özel bağlantı noktası çiftini de gösterir. Bir ağ güvenlik grubunda kuralları yapılandırırken DestinationPortRange parametreleri için bu bağlantı noktası çiftini kullanın.

ASE'de bir uygulama IP-SSL kullanacak şekilde yapılandırıldığında, dış müşteriler özel bağlantı noktası çifti eşlemesini görmez veya bu konuda endişelenmeleri gerekmez. Uygulamalara giden trafik normal olarak yapılandırılan IP-SSL adresine akacaktır. Özel bağlantı noktası çiftine çeviri, trafiğin son ayağı ASE'yi içeren alt ağa yönlendirme sırasında otomatik olarak dahili olarak gerçekleşir.

Kullanmaya başlama

App Service Ortamı kullanmaya başlamak için bkz. App Service Ortamı giriş.

Daha fazla bilgi için bkz. Bir App Service Ortamı Arka uç kaynaklarına güvenli bir şekilde bağlanma.

Not

Azure hesabı için kaydolmadan önce Azure App Service’i kullanmaya başlamak isterseniz, App Service’te hemen kısa süreli bir başlangıç web uygulaması oluşturabileceğiniz App Service’i Deneyin sayfasına gidin. Kredi kartı ve taahhüt gerekmez.