Zabezpečení nasazení služby Azure App Service

Azure App Service poskytuje prostředí paaS (platforma jako služba), které umožňuje vytvářet, nasazovat a škálovat webové aplikace, back-endy mobilních aplikací, rozhraní RESTful API a aplikace funkcí. Při nasazování této služby je důležité dodržovat osvědčené postupy zabezpečení k ochraně aplikací, dat a infrastruktury.

Tento článek obsahuje pokyny k zajištění nejlepšího zabezpečení nasazení služby Azure App Service.

Azure App Service aktivně zabezpečuje a zlepšuje zabezpečení komponent platformy, včetně virtuálních počítačů Azure, úložiště, síťových připojení, webových architektur a funkcí pro správu a integraci. Služba App Service prochází nepřetržitými a přísnými kontrolami dodržování předpisů, aby se zajistilo, že:

Další informace o zabezpečení infrastruktury a platformy v Azure najdete v Centru zabezpečení Azure.

Doporučení zabezpečení v tomto článku implementují principy nulové důvěryhodnosti: "Ověřit explicitně", "Použít přístup s nejnižšími oprávněními" a "Předpokládat porušení zabezpečení". Pro podrobné pokyny k principu nulová důvěra (Zero Trust) navštivte Centrum pro pokyny k nulová důvěra (Zero Trust).

Zabezpečení specifické pro službu

Azure App Service má jedinečné bezpečnostní aspekty, které byste měli zvážit, abyste zajistili celkovou bezpečnost svých webových aplikací.

  • Zakázat základní ověřování: Zakažte základní ověřování pomocí uživatelského jména a hesla pro koncové body FTP a SCM ve prospěch ověřování založeného na ID microsoftu Entra, které poskytuje ověřování založené na tokenech OAuth 2.0 s vylepšeným zabezpečením. Další informace najdete v článku Zakázání základního ověřování v nasazeních Azure App Service.

  • Zabezpečené nasazení FTP/FTPS: Zakažte přístup FTP nebo vynucujte režim jen FTPS při použití protokolu FTP pro nasazení, aby se zabránilo přenosu přihlašovacích údajů a obsahu ve formátu prostého textu. Pro více informací viz Nasadit svou aplikaci do Azure App Service pomocí FTP/S.

  • Dosažení úplné izolace sítě: Pomocí služby App Service Environment můžete spouštět aplikace ve vyhrazené službě App Service Environment ve vaší vlastní instanci služby Azure Virtual Network. Toto nastavení poskytuje úplnou síťovou izolaci od sdílené infrastruktury s dedikovanými veřejnými koncovými body, možnostmi interního load balanceru (ILB) pro přístup pouze interní a možností používat ILB za firewallem webových aplikací pro ochranu na úrovni podniku. Pro více informací viz Úvod do Azure App Service Environments.

  • Implementujte ochranu proti DDoS: Nainstalujte Azure Front Door s Web Application Firewall (WAF) před vaší App Service aplikací, abyste absorbovali a filtrovali DDoS útoky na síťové i aplikační vrstvě dříve, než dorazí k vaší aplikaci. Pro více informací viz Azure Front Door a ochrana před DDoS.

Zabezpečení sítě

App Service podporuje řadu funkcí zabezpečení sítě, které umožňují uzamknout aplikace a zabránit neoprávněnému přístupu.

  • Konfigurace privátních koncových bodů: Eliminujte vystavení veřejného internetu směrováním provozu do služby App Service prostřednictvím virtuální sítě pomocí služby Azure Private Link a zajištění zabezpečeného připojení pro klienty ve vašich privátních sítích. Pro více informací viz Use private endpoints for Azure App Service.

  • Implementace integrace virtuální sítě: Zabezpečte odchozí provoz tím, že aplikaci povolíte přístup k prostředkům ve virtuální síti Azure nebo prostřednictvím virtuální sítě Azure a přitom zachováte izolaci od veřejného internetu. Další informace viz Integrace aplikace do virtuální sítě Azure.

  • Nakonfigurujte omezení přístupu IP adres: Omezte přístup k aplikaci definováním seznamu povolených IP adres a podsítí, které mají přístup k vaší aplikaci a blokují veškerý ostatní provoz. Můžete definovat jednotlivé IP adresy nebo rozsahy definované maskami podsítě a nakonfigurovat dynamická omezení IP adres prostřednictvím web.config souborů v aplikacích pro Windows. Další informace najdete v tématu Nastavení omezení přístupu ke službě Aplikace Azure Service.

  • Nastavení omezení koncového bodu služby: Zamkněte příchozí přístup k vaší aplikaci z konkrétních podsítí ve virtuálních sítích pomocí koncových bodů služby, které spolupracují s omezeními přístupu ip adres k zajištění filtrování na úrovni sítě. Další informace najdete v tématu Omezení přístupu ke službě Azure App Service.

  • Použití firewallu webových aplikací: Vylepšení ochrany před běžnými webovými ohroženími zabezpečení a útoky implementací služby Azure Front Door nebo Application Gateway s funkcemi firewallu webových aplikací před vaší službou App Service. Další informace najdete v článku Azure Web Application Firewall v Azure Application Gateway.

Správa identit a přístupu

Správná správa identit a řízení přístupu je nezbytná pro zabezpečení nasazení služby Azure App Service proti neoprávněnému použití a potenciálnímu krádeži přihlašovacích údajů.

  • Povolte spravované identity pro odchozí požadavky: Zabezpečené ověřování ve službách Azure z vaší aplikace bez uložení přihlašovacích údajů v kódu nebo konfiguraci pomocí spravovaných identit, což eliminuje nutnost spravovat instanční objekty a připojovací řetězce. Spravované identity poskytují vaší aplikaci automaticky spravovanou identitu v Microsoft Entra ID, která se použije při provádění odchozích požadavků na jiné služby Azure, jako je Azure SQL Database, Azure Key Vault a Azure Storage. App Service podporuje spravované identity přiřazené systémem i spravované identity přiřazené uživatelem. Další informace najdete v tématu Použití spravovaných identit pro App Service a Azure Functions.

  • Konfigurace ověřování a autorizace: Implementujte ověřování nebo autorizaci služby App Service pro zabezpečení vaší aplikace pomocí Microsoft Entra ID nebo jiných zprostředkovatelů identity, což brání neoprávněnému přístupu bez psaní vlastního ověřovacího kódu. Vestavěný autentizační modul zpracovává webové požadavky před jejich předáním do vašeho aplikačního kódu a podporuje více poskytovatelů včetně Microsoft Entra ID, Microsoft účtů, Facebooku, Googlu a X. Pro více informací viz Autentizace a autorizace v Azure App Service.

  • Implementace řízení přístupu na základě role pro operace správy: Řídit, kdo může spravovat a konfigurovat prostředky služby App Service (rovina správy) přiřazením minimálních potřebných oprávnění Azure RBAC uživatelům a instančním objektům podle principu nejnižšího oprávnění. To řídí administrativní přístup k operacím, jako je vytváření aplikací, úprava konfiguračních nastavení a správa nasazení, odděleně od autentizace na úrovni aplikace (Easy Auth) nebo autentizace aplikace k zdroji (spravované identity). Pro více informací viz Azure vestavěné role pro web a mobilní zařízení.

  • Implementujte ověřování jménem uživatele: Delegujte přístup ke vzdáleným prostředkům jménem uživatelů pomocí Microsoft Entra ID jako zprostředkovatele ověřování. Aplikace App Service může provádět delegované přihlašování ke službám, jako jsou Microsoft Graph nebo vzdálené aplikace api služby App Service. Pro více informací viz Autentizace a autorizace uživatelů end-to-end v Azure App Service.

  • Povolit vzájemné ověřování TLS: Vyžadování klientských certifikátů pro přidání zabezpečení, když vaše aplikace potřebuje ověřit identitu klienta, zejména pro scénáře B2B nebo interní aplikace. Pro více informací viz Configure TLS mutual authentication for Azure App Service.

Ochrana dat

Ochrana dat během přenosu a v klidu je klíčová pro zachování důvěrnosti a integrity vašich aplikací a jejich dat.

  • Vynucení HTTPS: Přesměrujte veškerý provoz HTTP na HTTPS tím, že povolíte režim pouze HTTPS a zajistíte, že veškerá komunikace mezi klienty a vaší aplikací je šifrovaná. Přesměrování pouze přes HTTPS není ve výchozím nastavení zapnuté, takže ho explicitně povolte; všimněte si, že výchozí doména <app_name>.azurewebsites.net vaší aplikace je již přístupná přes HTTPS. Pro více informací viz Nastavit obecná nastavení.

  • Konfigurace verze protokolu TLS: Použijte moderní protokoly TLS tím, že nakonfigurujete minimální verzi protokolu TLS na verzi 1.2 nebo vyšší a zakážete zastaralé nezabezpečené protokoly, abyste zabránili potenciálním ohrožením zabezpečení. App Service podporuje protokol TLS 1.3 (nejnovější), TLS 1.2 (výchozí minimum) a TLS 1.1/1.0 (pouze kvůli zpětné kompatibilitě). Nakonfigurujte minimální verzi protokolu TLS pro webovou aplikaci i web SCM. Pro více informací viz Nastavit obecná nastavení.

  • Správa certifikátů TLS/SSL: Zabezpečte vlastní domény pomocí správně nakonfigurovaných certifikátů TLS/SSL pro navázání důvěryhodných připojení. App Service podporuje více typů certifikátů: bezplatné spravované certifikáty služby App Service, certifikáty služby App Service, certifikáty třetích stran a certifikáty importované ze služby Azure Key Vault. Pokud nakonfigurujete vlastní doménu, zabezpečte ji pomocí certifikátu TLS/SSL, aby prohlížeče mohly vytvářet zabezpečená připojení HTTPS. Další informace najdete v tématu Přidání a správa certifikátů TLS/SSL ve službě Azure App Service.

  • Ukládání tajných kódů ve službě Key Vault: Ochrana citlivých hodnot konfigurace, jako jsou přihlašovací údaje databáze, tokeny rozhraní API a privátní klíče, jejich uložením ve službě Azure Key Vault a přístupem k nim pomocí spravovaných identit místo jejich ukládání do nastavení aplikace nebo kódu. Aplikace služby App Service může bezpečně přistupovat ke službě Key Vault pomocí ověřování spravované identity. Další informace najdete v tématu Použití odkazů na Key Vault pro App Service a Azure Functions.

  • Vyhněte se tvrdému kódování tajemství v nastavení aplikace: Neukládejte tajemství do kódu nebo konfiguračních souborů. App Service ukládá nastavení aplikace a spojovací řetězce zašifrované v klidu a dešifruje je těsně před vložením do paměťové paměti vašich procesů, ale u citlivých tajemství preferuje reference Key Vault, aby byla tajemství centrálně spravována a nikdy uložena v konfiguraci aplikace. K těmto hodnotám můžete přistupovat jako k proměnným prostředí pomocí standardních vzorů pro váš programovací jazyk. Další informace najdete v tématu Konfigurace nastavení aplikace.

  • Zabezpečená vzdálená připojení: Při přístupu ke vzdáleným prostředkům vždy používejte šifrovaná připojení, i když back-endový prostředek umožňuje nešifrovaná připojení. Pro prostředky Azure, jako je Azure SQL Database a Azure Storage, zůstanou připojení v Azure a nepřekračují hranice sítě. Pro virtuální prostředky sítě použijte integraci virtuální sítě s VPN typu Point-to-Site. Pro místní prostředky použijte hybridní připojení s protokolem TLS 1.2 nebo integrací virtuální sítě s vpn typu site-to-site. Zajistěte, aby back-endové služby Azure umožňovaly jenom nejmenší možnou sadu IP adres z vaší aplikace. Pro více informací viz Zjistit odchozí IP adresy.

Protokolování a monitorování

Implementace komplexního protokolování a monitorování je nezbytná pro detekci potenciálních bezpečnostních hrozeb a řešení potíží s nasazením služby Azure App Service.

  • Povolit protokolování diagnostiky: Konfigurace diagnostických protokolů služby Azure App Service pro sledování chyb aplikací, protokolů webového serveru, trasování neúspěšných požadavků a podrobných chybových zpráv pro identifikaci problémů se zabezpečením a řešení problémů Pro více informací viz Povolit logování diagnostiky pro aplikace v Azure App Service.

  • Integrace se službou Azure Monitor: Nastavte Azure Monitor tak, aby shromažďovali a analyzovali protokoly a metriky z vaší služby App Service, což umožňuje komplexní monitorování a upozorňování na události zabezpečení a problémy s výkonem. Pro více informací viz Monitor apps in Azure App Service.

  • Konfigurace Application Insights: Implementujte Application Insights, abyste získali podrobné přehledy o výkonu aplikací, vzorech využití a potenciálních problémech se zabezpečením s možnostmi monitorování a analýzy v reálném čase. Další informace najdete v tématu Monitorování výkonu služby Aplikace Azure Service.

  • Nastavení výstrah zabezpečení: Vytvořte vlastní výstrahy, které vás upozorní na neobvyklé vzorce použití, potenciální porušení zabezpečení nebo přerušení služeb ovlivňující vaše prostředky služby App Service. Další informace najdete v tématu Vytváření, zobrazování a správa upozornění metrik pomocí služby Azure Monitor.

  • Povolte kontroly stavu: Nakonfigurujte kontroly stavu, abyste mohli monitorovat provozní stav vaší aplikace a automaticky opravovat problémy, pokud je to možné. Další informace najdete v tématu Monitorování instancí služby App Service s využitím kontroly stavu.

Dodržování předpisů a zásady správného řízení

Vytvoření správných zásad správného řízení a zajištění dodržování příslušných standardů je zásadní pro zabezpečené fungování aplikací Azure App Service.

  • Implementace azure Policy: Vynucujte standardy zabezpečení pro nasazení služby App Service v celé organizaci vytvořením a přiřazením definic Azure Policy, které auditují a vynucují požadavky na dodržování předpisů. Další informace najdete v článku Regulační mechanismy dodržování předpisů služby Azure Policy pro Azure App Service.

  • Zkontrolujte bezpečnostní doporučení: Pravidelně hodnoťte svou bezpečnostní úroveň App Service pomocí Microsoft Defender for Cloud k identifikaci a nápravě bezpečnostních zranitelností a chybných konfigurací. Další informace najdete v článku Jak chránit webové aplikace a rozhraní API ve službě Azure App Service.

  • Provádějte bezpečnostní hodnocení: Provádějte pravidelné bezpečnostní hodnocení a penetrační testování aplikací App Service za účelem ověření přístupových omezení, nastavení TLS a konfigurace Easy Auth. Dodržujte pravidla pro provádění penetračního testování cloudových služeb Microsoftu. Pro více informací viz Penetrační testování.

  • Udržujte regulační soulad: Přidělte vestavěné iniciativy v oblasti regulační shody (například PCI DSS, HIPAA/HITRUST nebo ISO 27001), které zahrnují kontroly App Service pro audit vašich aplikací podle požadavků vašeho odvětví a regionu, zejména pokud jde o ochranu dat a soukromí. Další informace najdete v tématu Dodržování právních předpisů ve službě Azure Policy.

  • Zaveďte bezpečné postupy DevOps: Vytvořte zabezpečené kanály CI/CD pro nasazování do App Service: používejte sloty nasazení pro postupné ověřování, zakažte základní ověřování na koncových bodech SCM/FTP a místo něj používejte nasazování založené na spravované identitě a přidejte kontrolu kódu a závislostí. Pro více informací viz Osvědčené postupy nasazení.

Zálohování a obnovování

Implementace robustních mechanismů zálohování a obnovení je nezbytná pro zajištění kontinuity podnikových procesů a ochrany dat v nasazeních služby Azure App Service.

  • Povolení automatizovaných záloh: Nakonfigurujte naplánované zálohy pro aplikace služby App Service, abyste zajistili obnovení aplikací a dat v případě náhodného odstranění, poškození nebo jiných selhání. Pro více informací viz Zálohování a obnovení vaší aplikace v Azure App Service.

  • Konfigurace uchovávání záloh: Nastavte vhodná období uchovávání záloh na základě vašich obchodních požadavků a potřeb dodržování předpisů a zajistěte zachování důležitých dat po požadovanou dobu. Pro více informací viz Zálohování a obnovení vaší aplikace v Azure App Service.

  • Implementujte multiregionální nasazení: Nasaděte své kritické aplikace do více regionů, abyste poskytli vysokou dostupnost a schopnosti obnovy po havárii v případě regionálních výpadků. Pro více informací viz Návod: Vytvořte vysoce dostupnou aplikaci pro více regionů v App Service.

  • Test obnovení zálohování: Pravidelně testujte proces obnovení zálohování, abyste zajistili, že zálohy jsou platné a lze je v případě potřeby úspěšně obnovit, přičemž se ověřuje funkčnost aplikace a integrita dat. Pro více informací viz Obnovit aplikaci ze zálohy.

  • Postupy obnovení dokumentů: Vytvoření a údržba komplexní dokumentace pro postupy obnovení, zajištění rychlé a efektivní reakce během přerušení služby nebo havárie. Další informace najdete v tématu Reliability in Azure App Service.