Azure App Service'te güvenlik

Bu makalede, Azure Uygulaması Hizmeti'nin web uygulamanızın, mobil uygulamanızın arka ucunun, API uygulamanızın ve işlev uygulamanızın güvenliğini sağlama konusunda nasıl yardımcı olduğu gösterilir. Ayrıca yerleşik App Service özellikleriyle uygulamanızın güvenliğini nasıl daha fazla sağlayabileceğinizi de gösterir.

App Service'in Azure VM'leri, depolama, ağ bağlantıları, web çerçeveleri, yönetim ve tümleştirme özellikleri gibi platform bileşenleri etkin bir şekilde güvenlik altına alınmış ve sağlamlaştırılmıştır. App Service, şundan emin olmak için sürekli olarak güçlü uyumluluk denetimlerini gerçekleştirir:

Azure'da altyapı ve platform güvenliği hakkında daha fazla bilgi için bkz . Azure Güven Merkezi.

Aşağıdaki bölümlerde App Service uygulamanızı tehditlere karşı nasıl daha fazla koruyabileceğiniz gösterilmektedir.

HTTPS ve Sertifikalar

App Service, HTTPS ile uygulamalarınızın güvenliğini sağlamanızı sağlar. Uygulamanız oluşturulduğunda, varsayılan etki alanı adına (<app_name.azurewebsites.net>) HTTPS kullanılarak zaten erişilebilir. Uygulamanız için özel bir etki alanı yapılandırıyorsanız, istemci tarayıcılarının özel etki alanınıza güvenli HTTPS bağlantıları yapabilmesi için bunu bir TLS/SSL sertifikasıyla da güvenlik altına almalısınız. App Service tarafından desteklenen çeşitli sertifika türleri vardır:

  • Ücretsiz App Service Yönetilen Sertifikası
  • App Service sertifikası
  • Üçüncü taraf sertifikası
  • Azure Key Vault'tan içeri aktarılan sertifika

Daha fazla bilgi için bkz. Azure Uygulaması Hizmetinde TLS/SSL sertifikası ekleme.

Güvenli olmayan protokoller (HTTP, TLS 1.0, FTP)

Uygulamanızın tüm şifrelenmemiş (HTTP) bağlantılarına karşı güvenliğini sağlamak için App Service, HTTPS'yi zorunlu kılmak için tek tıklamayla yapılandırma sağlar. Güvenli olmayan istekler uygulama kodunuzla daha ulaşmadan geri çevrilir. Daha fazla bilgi için bkz . HTTPS'yi zorunlu kılma.

TLS 1.0 artık PCI DSS gibi endüstri standartları tarafından güvenli olarak kabul edilmez. App Service, TLS 1.1/1.2'yi zorunlu kılarak eski protokolleri devre dışı bırakmanıza olanak tanır.

App Service dosyalarınızı dağıtmak için hem FTP hem de FTPS'yi destekler. Ancak mümkünse FTPS yerine FTPS kullanılmalıdır. Bu protokollerden biri veya her ikisi de kullanımda olmadığında, bunları devre dışı bırakmanız gerekir.

Statik IP kısıtlamaları

App Service uygulamanız varsayılan olarak İnternet'ten gelen tüm IP adreslerinden gelen istekleri kabul eder, ancak bu erişimi ip adreslerinin küçük bir alt kümesiyle sınırlayabilirsiniz. Windows'da App Service, uygulamanıza erişmesine izin verilen IP adreslerinin listesini tanımlamanıza olanak tanır. İzin verilenler listesi tek tek IP adreslerini veya alt ağ maskesi tarafından tanımlanan bir IP adresi aralığını içerebilir. Daha fazla bilgi için bkz. hizmet statik IP kısıtlamaları Azure Uygulaması.

Windows'da App Service için, web.config'i yapılandırarak IP adreslerini dinamik olarak kısıtlayabilirsiniz. Daha fazla bilgi için bkz. Dinamik IP Güvenliği <dynamicIpSecurity>.

İstemci kimlik doğrulaması ve yetkilendirme

Azure Uygulaması Hizmeti, kullanıcıların veya istemci uygulamalarının anahtar teslimi kimlik doğrulaması ve yetkilendirmesini sağlar. Etkinleştirildiğinde, çok az uygulama koduyla veya hiç uygulama kodu olmadan kullanıcılarda ve istemci uygulamalarında oturum açabilir. Kendi kimlik doğrulama ve yetkilendirme çözümünüzü uygulayabilir veya App Service'in sizin yerinize bunu işlemesine izin vekleyebilirsiniz. Kimlik doğrulama ve yetkilendirme modülü, web isteklerini uygulama kodunuzla göndermeden önce işler ve kodunuza ulaşmadan önce yetkisiz istekleri reddeder.

App Service kimlik doğrulaması ve yetkilendirmesi Microsoft Entra ID, Microsoft hesapları, Facebook, Google ve Twitter dahil olmak üzere birden çok kimlik doğrulama sağlayıcısını destekler. Daha fazla bilgi için bkz. Azure App Service’de kimlik doğrulama ve yetkilendirme.

Hizmetten hizmete kimlik doğrulaması

Bir arka uç hizmetinde kimlik doğrulaması yaparken App Service, ihtiyacınıza bağlı olarak iki farklı mekanizma sağlar:

  • Hizmet kimliği - Uygulamanın kimliğini kullanarak uzak kaynakta oturum açın. App Service, Azure SQL Veritabanı veya Azure Key Vault gibi diğer hizmetlerle kimlik doğrulaması yapmak için kullanabileceğiniz bir yönetilen kimliği kolayca oluşturmanıza olanak tanır. Bu yaklaşımın uçtan uca öğreticisi için bkz. Yönetilen kimlik kullanarak App Service'ten güvenli Azure SQL Veritabanı bağlantısı.
  • Adına (OBO) - Kullanıcı adına uzak kaynaklara temsilci erişimi yapın. Kimlik doğrulama sağlayıcısı olarak Microsoft Entra Id ile App Service uygulamanız, Microsoft Graph veya App Service'teki bir uzak API uygulaması gibi uzak bir hizmette temsilcili oturum açma gerçekleştirebilir. Bu yaklaşımın uçtan uca öğreticisi için bkz. Azure Uygulaması Hizmeti'nde uçtan uca kullanıcıların kimliğini doğrulama ve yetkilendirme.

Uzak kaynaklara Bağlan üretkenlik

Uygulamanızın erişmesi gereken üç tür uzak kaynak vardır:

Bu durumların her birinde, App Service güvenli bağlantılar kurmanız için bir yol sağlar, ancak yine de en iyi güvenlik yöntemlerini gözlemlemeniz gerekir. Örneğin, arka uç kaynağı şifrelenmemiş bağlantılara izin veriyor olsa bile her zaman şifrelenmiş bağlantıları kullanın. Ayrıca, arka uç Azure hizmetinizin en düşük IP adresi kümesine izin verdiğinden emin olun. Uygulamanızın giden IP adreslerini Azure Uygulaması Hizmeti'ndeki Gelen ve giden IP adresleri bölümünde bulabilirsiniz.

Azure kaynakları

Uygulamanız SQL Veritabanı ve Azure Depolama gibi Azure kaynaklarına bağlandığında, bağlantı Azure'da kalır ve ağ sınırlarını aşmaz. Ancak, bağlantı Azure'daki paylaşılan ağ üzerinden gider, bu nedenle her zaman bağlantınızın şifrelendiğinden emin olun.

Uygulamanız bir App Service ortamında barındırılıyorsa, Sanal Ağ hizmet uç noktalarını kullanarak desteklenen Azure hizmetlerine bağlanmanız gerekir.

Azure Sanal Ağ içindeki kaynaklar

Uygulamanız azure Sanal Ağ Sanal Ağ tümleştirmesi aracılığıyla kaynaklara erişebilir. Tümleştirme, noktadan siteye VPN kullanılarak bir Sanal Ağ ile oluşturulur. Uygulama daha sonra özel IP adreslerini kullanarak Sanal Ağ kaynaklara erişebilir. Ancak noktadan siteye bağlantı, Azure'da paylaşılan ağlarda yine de çapraz geçiş sağlar.

Kaynak bağlantınızı Azure'daki paylaşılan ağlardan tamamen yalıtmak için uygulamanızı bir App Service ortamında oluşturun. App Service ortamı her zaman ayrılmış bir Sanal Ağ dağıtıldığından, uygulamanızla Sanal Ağ içindeki kaynaklar arasındaki bağlantı tamamen yalıtılır. App Service ortamında ağ güvenliğinin diğer yönleri için bkz . Ağ yalıtımı.

Şirket içi kaynaklar

Veritabanları gibi şirket içi kaynaklara üç yolla güvenli bir şekilde erişebilirsiniz:

Uygulama gizli dizileri

Veritabanı kimlik bilgileri, API belirteçleri ve özel anahtarlar gibi uygulama gizli dizilerini kod veya yapılandırma dosyalarınızda depolamayın. Yaygın olarak kabul edilen yaklaşım, seçtiğiniz dilde standart deseni kullanarak ortam değişkenleri olarak bunlara erişmektir. App Service'te ortam değişkenlerini tanımlamanın yolu uygulama ayarlarıdır (ve özellikle .NET uygulamaları için bağlantı dizesi). Uygulama ayarları ve bağlantı dizesi Azure'da şifrelenmiş olarak depolanır ve şifreleri yalnızca uygulama başlatıldığında uygulamanızın işlem belleğine eklenmeden önce çözülür. Şifreleme anahtarları düzenli olarak döndürülür.

Alternatif olarak, gelişmiş gizli dizi yönetimi için App Service uygulamanızı Azure Key Vault ile tümleştirebilirsiniz. Yönetilen kimlikle Key Vault'a erişerek App Service uygulamanız ihtiyacınız olan gizli dizilere güvenli bir şekilde erişebilir.

Ağ yalıtımı

Yalıtılmış fiyatlandırma katmanı dışında, tüm katmanlar uygulamalarınızı App Service'teki paylaşılan ağ altyapısında çalıştırır. Örneğin, genel IP adresleri ve ön uç yük dengeleyicileri diğer kiracılarla paylaşılır. Yalıtılmış katman, uygulamalarınızı ayrılmış bir App Service ortamında çalıştırarak tam ağ yalıtımı sağlar. App Service ortamı kendi Azure Sanal Ağ örneğinizde çalışır. Şunları yapmanızı sağlar:

  • Uygulamalarınıza ayrılmış ön uçlarla ayrılmış bir genel uç nokta üzerinden hizmet sağlayın.
  • Yalnızca Azure Sanal Ağ içinden erişim sağlayan bir iç yük dengeleyici (ILB) kullanarak iç uygulama sunma. ILB, özel alt ağınızdan gelen ve uygulamalarınızın İnternet'ten toplam yalıtımını sağlayan bir IP adresine sahiptir.
  • Web uygulaması güvenlik duvarının (WAF) arkasında ILB kullanın. WAF, DDoS koruması, URI filtreleme ve SQL ekleme önleme gibi genel kullanıma yönelik uygulamalarınıza kurumsal düzeyde koruma sunar.

DDoS koruması

Web iş yükleri için, yeni ortaya çıkan DDoS saldırılarına karşı koruma sağlamak için Azure DDoS koruması ve web uygulaması güvenlik duvarı kullanmanızı kesinlikle öneririz. Bir diğer seçenek de Azure Front Door'un yanı sıra bir web uygulaması güvenlik duvarı dağıtmaktır. Azure Front Door, ağ düzeyinde DDoS saldırılarına karşı platform düzeyinde koruma sunar.

Daha fazla bilgi için bkz. Azure Uygulaması Hizmet Ortamlarına Giriş.