Azure App Service dağıtımınızın güvenliğini sağlama

Azure App Service, web uygulamaları, mobil uygulama arka uçları, RESTful API'leri ve işlev uygulamaları oluşturmanızı, dağıtmanızı ve ölçeklendirmenizi sağlayan bir hizmet olarak platform (PaaS) ortamı sağlar. Bu hizmeti dağıtırken uygulamalarınızı, verilerinizi ve altyapınızı korumak için en iyi güvenlik yöntemlerini izlemeniz önemlidir.

Bu makalede, Azure App Service dağıtımınızın güvenliğini en iyi şekilde sağlamaya yönelik yönergeler sağlanır.

Azure App Service, Azure sanal makineleri (VM' ler), depolama, ağ bağlantıları, web çerçeveleri ve yönetim ve tümleştirme özellikleri dahil olmak üzere platform bileşenlerinin güvenliğini etkin bir şekilde sağlar ve sağlamlaştırmaktadır. App Service, aşağıdakileri sağlamak için sürekli, sıkı uyumluluk denetimlerinden geçer:

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

Bu makaledeki güvenlik önerileri Sıfır Güven ilkelerini uygular: "Açıkça doğrula", "En az ayrıcalık erişimi kullan" ve "İhlal varsay". Kapsamlı Sıfır Güven kılavuzu için bkz. Sıfır Güven Kılavuzu Merkezi.

Hizmete özgü güvenlik

Azure App Service'in, web uygulamalarınızın genel güvenliğini sağlamak için dikkate almanız gereken benzersiz güvenlik hususlarına sahiptir.

  • Temel kimlik doğrulamasını devre dışı bırakma: Gelişmiş güvenlikle OAuth 2.0 belirteç tabanlı kimlik doğrulaması sağlayan Microsoft Entra ID tabanlı kimlik doğrulamasının yerine FTP ve SCM uç noktaları için temel kullanıcı adı ve parola kimlik doğrulamasını devre dışı bırakın. Daha fazla bilgi için bkz. Azure App Service dağıtımlarında temel kimlik doğrulamayı devre dışı bırak.

  • Güvenli FTP/FTPS dağıtımları: Kimlik bilgilerinin ve içeriğin düz metin olarak aktarılmasını önlemek için dağıtımlar için FTP kullanırken FTP erişimini devre dışı bırakın veya yalnızca FTPS modunu zorunlu kılın. Daha fazla bilgi için, FTP/S kullanarak uygulamanızı Azure App Service'e dağıtın bölümüne bakınız.

  • Tam ağ yalıtımı elde edin: Uygulamalarınızı kendi Azure Sanal Ağ örneğinizde ayrılmış bir App Service Ortamı içinde çalıştırmak için App Service Ortamı'nı kullanın. Bu kurulum, paylaşılan altyapıdan tam bir izolasyon sağlar; özel halka açık uç noktalar, yalnızca dahili erişim için dahili yük dengeleyici (ILB) seçenekleri ve kurumsal düzeyde koruma için web uygulama güvenlik duvarı arkasında bir ILB kullanma imkanı sunar. Daha fazla bilgi için bkz. Introduction to Azure App Service Environments.

  • DDoS korumasını uygulayın: Azure Front Door'u App Service uygulamanızın önüne bir Web Uygulaması Güvenlik Duvarı (WAF) ile yerleştirin; böylece ağ katmanı ve uygulama katmanı DDoS saldırılarını uygulamanıza ulaşmadan önce süzebilir ve filtreleyin. Daha fazla bilgi için Azure Front Door ve DDoS koruması bölümlerine bakınız.

Ağ güvenliği

App Service, uygulamalarınızı kilitlemek ve yetkisiz erişimi önlemek için birçok ağ güvenlik özelliğini destekler.

  • Özel uç noktaları yapılandırma: Azure Özel Bağlantı'yı kullanarak trafiği sanal ağınız üzerinden App Service'inize yönlendirerek genel İnternet'e maruz kalma durumunu ortadan kaldırın ve özel ağlarınızdaki istemciler için güvenli bağlantı sağlayın. Daha fazla bilgi için Azure App Service için özel uç noktaları kullanma bölümüne bakın.

  • Azure Sanal Ağ Tümleştirmesini Uygulama: Uygulamanızın Azure sanal ağı içindeki veya Azure sanal ağı üzerinden kaynaklara erişmesini sağlarken genel internetten yalıtımını koruyarak çıkış trafiğinizi güvenceye alın. Daha fazla bilgi için bkz. Uygulamanızı bir Azure sanal ağı ile tümleştirme.

  • IP erişim kısıtlamalarını yapılandırma: Uygulamanıza erişebilecek IP adreslerinin ve alt ağların izin verdiği bir liste tanımlayarak uygulamanıza erişimi kısıtlayın ve diğer tüm trafiği engelleyin. Alt ağ maskeleri tarafından tanımlanan tek tek IP adreslerini veya aralıkları tanımlayabilir ve Windows uygulamalarındaki web.config dosyaları aracılığıyla dinamik IP kısıtlamaları yapılandırabilirsiniz. Daha fazla bilgi için bkz. Azure Uygulaması Hizmeti erişim kısıtlamalarını ayarlama.

  • Hizmet uç noktası kısıtlamalarını ayarlama: Ağ düzeyinde filtreleme sağlamak için IP erişim kısıtlamalarıyla birlikte çalışan hizmet uç noktalarını kullanarak sanal ağlarınızdaki belirli alt ağlardan uygulamanıza gelen erişimi kilitleyin. Daha fazla bilgi için bkz Azure Uygulama Hizmeti erişim kısıtlamaları.

  • Web Uygulaması Güvenlik Duvarı'nı kullanma: App Service'inizin önünde Web Uygulaması Güvenlik Duvarı özellikleriyle Azure Front Door veya Application Gateway uygulayarak yaygın web güvenlik açıklarına ve saldırılarına karşı korumayı geliştirin. Daha fazla bilgi için Azure Application Gateway üzerinde Azure Web Uygulaması Güvenlik Duvarı bölümüne bakın.

Kimlik ve erişim yönetimi

Kimlikleri ve erişim denetimlerini düzgün bir şekilde yönetmek, Azure App Service dağıtımlarınızın yetkisiz kullanıma ve olası kimlik bilgisi hırsızlığına karşı güvenliğini sağlamak için gereklidir.

  • Giden istekler için yönetilen kimlikleri etkinleştirme: Yönetilen kimlikleri kullanarak kodunuzda veya yapılandırmanızda kimlik bilgilerini depolamadan uygulamanızdan Azure hizmetlerinde güvenli bir şekilde kimlik doğrulaması yaparak hizmet sorumlularını ve bağlantı dizelerini yönetme gereksinimini ortadan kaldırır. Yönetilen kimlikler, uygulamanızın Azure SQL Veritabanı, Azure Key Vault ve Azure Depolama gibi diğer Azure hizmetlerine giden istekler yaparken kullanması için Microsoft Entra Id'de otomatik olarak yönetilen bir kimlik sağlar. App Service hem sistem tarafından atanan hem de kullanıcı tarafından atanan yönetilen kimlikleri destekler. Daha fazla bilgi için bkz. App Service ve Azure İşlevleri için yönetilen kimlikleri kullanma.

  • Kimlik doğrulama ve yetkilendirmeyi yapılandırma: Uygulamanızın güvenliğini Microsoft Entra Id veya diğer kimlik sağlayıcılarıyla sağlamak için App Service Kimlik Doğrulaması/Yetkilendirmesi uygulayın ve özel kimlik doğrulama kodu yazmadan yetkisiz erişimi engelleyin. Yerleşik kimlik doğrulama modülü, web taleplerini uygulama kodunuza iletmeden önce işler ve Microsoft Entra ID, Microsoft hesapları, Facebook, Google ve X dahil olmak üzere birden fazla sağlayıcıyı destekler. Daha fazla bilgi için Azure App Service'te Kimlik doğrulama ve yetkilendirme bölümüne bakınız.

  • Yönetim işlemleri için rol tabanlı erişim denetimi uygulama: En düşük ayrıcalık ilkesini izleyerek kullanıcılara ve hizmet sorumlularına gerekli en düşük Azure RBAC izinlerini atayarak App Service kaynaklarınızı (yönetim düzlemi) kimlerin yönetebileceğini ve yapılandırabileceğini denetleyin. Bu, uygulama oluşturma, yapılandırma ayarlarını değiştirme ve dağıtım yönetimi gibi işlemlere yönetici erişimini kontrol eder; uygulama düzeyinde kimlik doğrulama (Kolay Doğrulama) veya uygulamadan kaynağa kimlik doğrulama (yönetilen kimlikler) ayrı olarak. Daha fazla bilgi için web ve mobil için Azure yerleşik rollerine bakınız.

  • Adına kimlik doğrulaması uygulama: Kimlik doğrulama sağlayıcısı olarak Microsoft Entra Id kullanarak uzak kaynaklara kullanıcılar adına erişim yetkisi verin. App Service uygulamanız, Microsoft Graph veya uzak App Service API uygulamaları gibi hizmetlerde temsilcili oturum açma gerçekleştirebilir. Daha fazla bilgi için Azure App Service’te kullanıcıların uçtan uca kimliğini doğrulama ve yetkilendirme konusuna bakın.

  • Karşılıklı TLS kimlik doğrulamasını etkinleştirme: Uygulamanızın özellikle B2B senaryoları veya iç uygulamalar için istemci kimliğini doğrulaması gerektiğinde ek güvenlik için istemci sertifikaları gerektir. Daha fazla bilgi için Configure TLS mutual authentication for Azure App Service sayfasına bakınız.

Veri koruma

Aktarımdaki ve bekleyen verileri korumak, uygulamalarınızın ve verilerinizin gizliliğini ve bütünlüğünü korumak için çok önemlidir.

  • HTTPS'yi zorunlu kılma: İstemciler ile uygulamanız arasındaki tüm iletişimin şifrelendiğinden emin olarak yalnızca HTTPS modunu etkinleştirerek tüm HTTP trafiğini HTTPS'ye yönlendirin. Sadece HTTPS yönlendirmesi varsayılan olarak açık değildir, bu yüzden açıkça etkinleştirin; uygulamanızın varsayılan alan adının <app_name>.azurewebsites.net zaten HTTPS üzerinden erişilebilir olduğunu unutmayın. Daha fazla bilgi için genel ayarları yapılandırma bölümünü inceleyebilirsiniz.

  • TLS sürümünü yapılandırma: En düşük TLS sürümünü 1.2 veya üzeri bir sürüme yapılandırarak modern TLS protokollerini kullanın ve olası güvenlik açıklarını önlemek için eski, güvenli olmayan protokolleri devre dışı bırakın. App Service TLS 1.3 (en son), TLS 1.2 (varsayılan minimum) ve TLS 1.1/1.0'ı destekler (yalnızca geriye dönük uyumluluk için). Hem web uygulamanız hem de SCM siteniz için en düşük TLS sürümünü yapılandırın. Daha fazla bilgi için genel ayarları yapılandırma bölümünü inceleyebilirsiniz.

  • TLS/SSL sertifikalarını yönetme: Güvenilir bağlantılar kurmak için düzgün yapılandırılmış TLS/SSL sertifikaları kullanarak özel etki alanlarının güvenliğini sağlayın. App Service birden çok sertifika türünü destekler: ücretsiz App Service tarafından yönetilen sertifikalar, App Service sertifikaları, üçüncü taraf sertifikaları ve Azure Key Vault'tan içeri aktarılan sertifikalar. Özel bir etki alanı yapılandırıyorsanız, tarayıcıların güvenli HTTPS bağlantıları yapabilmesi için bunu bir TLS/SSL sertifikasıyla güvenli hale getirin. Daha fazla bilgi için bkz. Azure App Service'te TLS/SSL sertifikaları ekleme ve yönetme.

  • Gizli dizileri Key Vault'ta depolama: Veritabanı kimlik bilgileri, API belirteçleri ve özel anahtarlar gibi hassas yapılandırma değerlerini, bunları uygulama ayarlarında veya kodda depolamak yerine Azure Key Vault'ta depolayarak ve yönetilen kimlikleri kullanarak erişerek koruyun. App Service uygulamanız, yönetilen kimlik kimlik doğrulaması kullanarak Key Vault'a güvenli bir şekilde erişebilir. Daha fazla bilgi için bkz. App Service ve Azure İşlevleri için Key Vault başvurularını kullanma.

  • Uygulama ayarlarında sırları sıkı kodlamaktan kaçının: Sırları kod veya yapılandırma dosyalarında saklamayın. App Service, uygulama ayarlarını ve bağlantı dizileri dinlenme halindeyken saklar ve bunları uygulamanızın işlem belleğine enjekte etmeden hemen önce şifrelerini çözer, ancak hassas sırlar için Key Vault referanslarını tercih eder, böylece sırlar merkezi olarak yönetilir ve uygulama yapılandırmasında asla saklanmaz. Programlama diliniz için standart desenleri kullanarak bu değerlere ortam değişkenleri olarak erişin. Daha fazla bilgi için bkz . Uygulama ayarlarını yapılandırma.

  • Güvenli uzak bağlantılar: Arka uç kaynağı şifrelenmemiş bağlantılara izin veriyor olsa bile uzak kaynaklara erişirken her zaman şifreli bağlantılar kullanın. Azure SQL Veritabanı ve Azure Depolama gibi Azure kaynakları için bağlantılar Azure içinde kalır ve ağ sınırlarını aşmaz. Sanal ağ kaynakları için noktadan siteye VPN ile sanal ağ tümleştirmesini kullanın. Şirket içi kaynaklar için TLS 1.2 ile karma bağlantıları veya siteden siteye VPN ile sanal ağ tümleştirmesini kullanın. Uygulamanızdan yalnızca en az sayıda IP adresine izin vermesi için arka uç Azure hizmetlerini yapılandırın. Daha fazla bilgi için Giden IP'leri Bul sayfasına bakınız.

Kayıt ve izleme

Kapsamlı günlük kaydı ve izleme uygulamak, olası güvenlik tehditlerini algılamak ve Azure App Service dağıtımınızla ilgili sorunları gidermek için gereklidir.

  • Tanılama günlüğünü etkinleştirme: Güvenlik sorunlarını belirlemek ve sorunları gidermek için Uygulama hatalarını, web sunucusu günlüklerini, başarısız istek izlemelerini ve ayrıntılı hata iletilerini izlemek için Azure App Service tanılama günlüklerini yapılandırın. Daha fazla bilgi için, bkz. Azure App Service'te uygulamalar için tanılama logunu etkinleştir.

  • Azure İzleyici ile tümleştirme: Güvenlik olayları ve performans sorunları için kapsamlı izleme ve uyarı sağlayarak App Service'inizden günlükleri ve ölçümleri toplamak ve analiz etmek için Azure İzleyici'yi ayarlayın. Daha fazla bilgi için bkz. Monitor apps in Azure App Service.

  • Application Insights'ı yapılandırma: Gerçek zamanlı izleme ve analiz özellikleriyle uygulama performansı, kullanım desenleri ve olası güvenlik sorunları hakkında ayrıntılı içgörüler elde etmek için Application Insights'ı uygulayın. Daha fazla bilgi için bkz. Azure Uygulaması Hizmeti performansını izleme.

  • Güvenlik uyarıları ayarlama: App Service kaynaklarınızı etkileyen anormal kullanım düzenleri, olası güvenlik ihlalleri veya hizmet kesintileri hakkında sizi bilgilendirmek için özel uyarılar oluşturun. Daha fazla bilgi için bkz Azure İzleyici kullanarak ölçüm uyarılarını oluşturma, görüntüleme ve yönetme.

  • Sistem durumu denetimlerini etkinleştirme: Uygulamanızın çalışma durumunu izlemek ve mümkün olduğunda sorunları otomatik olarak düzeltmek için sistem durumu denetimlerini yapılandırın. Daha fazla bilgi için bkz. Health check kullanarak App Service instance'larını izleme.

Uyumluluk ve idare

Azure App Service uygulamalarının güvenli çalışması için uygun idarenin oluşturulması ve ilgili standartlara uyumluluğun sağlanması çok önemlidir.

  • Azure İlkesi uygulama: Uyumluluk gereksinimlerini denetleyerek ve uygulayan Azure İlkesi tanımları oluşturup atayarak App Service dağıtımlarınız için kuruluş genelinde güvenlik standartlarını zorunlu kılın. Daha fazla bilgi için bkz. Azure İlkesi Regulatory Compliance controls for Azure App Service.

  • Güvenlik önerilerini gözden geçirin: Microsoft Defender for Cloud kullanarak güvenlik açıklarını ve yanlış yapılandırmaları tespit edip gidermek için App Service güvenlik durumunuzu düzenli olarak değerlendirin. Daha fazla bilgi için Protect your Azure App Service web apps and APIs bölümüne bakınız.

  • Güvenlik değerlendirmeleri yapın: App Service uygulamalarınızda düzenli güvenlik değerlendirmeleri ve sızma testleri uygulayarak erişim kısıtlamalarını, TLS ayarlarını ve Kolay Doğrulama yapılandırmasını doğrulayın. Microsoft'un bulut penetrasyon testi uygulama kurallarına uyun. Daha fazla bilgi için Penetrasyon testi bölümüne bakınız.

  • Düzenleyici uyumu koruyun: Uygulama Hizmeti kontrollerini içeren yerleşik düzenleyici uyum politikası girişimleri (PCI DSS, HIPAA/HITRUST veya ISO 27001 gibi) atamak, özellikle veri koruma ve gizlilik konusundaki sektörünüz ve bölgeniz gereksinimlerine göre uygulamalarınızı denetleyin. Daha fazla bilgi için bkz. Azure İlkesi'nde Mevzuat Uyumluluğu.

  • Güvenli DevOps uygulamalarını uygulayın: App Service'e dağıtım için güvenli CI/CD boru hatları oluşturun: aşamalı doğrulama için dağıtım slotlarını kullanın, SCM/FTP uç noktalarında temel kimlik doğrulamayı devre dışı bırakın ve yönetilen kimlik tabanlı dağıtımı tercih edin; kod tarama ve bağımlılık kontrolleri ekleyin. Daha fazla bilgi için Dağıtım en iyi uygulamalar bölümüne bakınız.

Yedekleme ve kurtarma

Azure App Service dağıtımlarınızda iş sürekliliğini ve veri korumasını sağlamak için sağlam yedekleme ve kurtarma mekanizmaları uygulamak çok önemlidir.

  • Otomatik yedeklemeleri etkinleştirme: Yanlışlıkla silme, bozulma veya diğer hatalarda uygulamalarınızı ve verilerinizi kurtarabileceğinizden emin olmak için App Service uygulamalarınız için zamanlanmış yedeklemeleri yapılandırın. Daha fazla bilgi için, Azure App Service'te uygulamanızı yedekleme ve restore bölümüne bakabilirsiniz.

  • Yedekleme saklamayı yapılandırma: İş gereksinimlerinize ve uyumluluk gereksinimlerinize göre yedeklemeleriniz için uygun saklama sürelerini ayarlayarak kritik verilerin gerekli süre boyunca korunmasını sağlayın. Daha fazla bilgi için, Azure App Service'te uygulamanızı yedekleme ve restore bölümüne bakabilirsiniz.

  • Çok bölgeli dağıtımları uygulayın: Bölgesel kesintiler durumunda yüksek erişilebilirlik ve felaket kurtarma yetenekleri sağlamak için kritik uygulamalarınızı birden fazla bölgeye dağıtın. Daha fazla bilgi için Tutorial: App Service'de çok erişilebilir çok bölgeli uygulama oluşturma bölümüne bakınız.

  • Yedekleme geri yüklemesini test etme: Yedeklemelerin geçerli olduğundan ve gerektiğinde başarıyla geri yüklendiğinden emin olmak için yedekleme geri yükleme işleminizi düzenli olarak test edin ve hem uygulama işlevselliğini hem de veri bütünlüğünü doğrulayın. Daha fazla bilgi için bkz. Bir uygulamayı yedeklemeden geri yükleme.

  • Belge kurtarma yordamları: Hizmet kesintileri veya olağanüstü durumlar sırasında hızlı ve etkili yanıt sağlamak amacıyla kurtarma yordamları için kapsamlı belgeler oluşturun ve bunları koruyun. Daha fazla bilgi için Azure App Service'te Güvenilirlik bölümüne bakın.