Zabezpečení ve službě Azure App Service

Tento článek ukazuje, jak Azure App Service zabezpečení webové aplikace, back-endu mobilní aplikace, aplikace API a aplikace funkcí. Ukazuje také, jak můžete pomocí integrovaných funkcí zabezpečení aplikace App Service zabezpečení.

Komponenty platformy App Service, včetně virtuálních počítačů Azure, úložiště, síťových připojení, webových rozhraní, funkcí pro správu a integrace, jsou aktivně zabezpečeny a zpřísněny. App Service projde průběžnými kontrolami dodržování předpisů, aby se zajistilo, že:

  • Prostředky vaší aplikace jsou zabezpečené z prostředků Azure jiných zákazníků.
  • Instance virtuálních počítačů a běhový software se pravidelně aktualizují a řeší nově zjištěná ohrožení zabezpečení.
  • Komunikace s tajnými kódy (jako jsou připojovací řetězce) mezi vaší aplikací a dalšími prostředky Azure (například SQL Database) zůstává v Azure a nepřekračuje žádné hranice sítě. Tajné kódy jsou při uložení vždy zašifrovány.
  • Veškerá komunikace přes App Service funkce připojení, jako je hybridní připojení, je zašifrovaná.
  • Připojení ke vzdáleným nástrojům pro správu, jako je Azure PowerShell, Azure CLI, sady SDK Azure a rozhraní REST API, jsou šifrovaná.
  • 24 hodinová Správa hrozeb chrání infrastrukturu a platformu proti malwaru, distribuovaným útokům na DDoS (man-in-the-middle), MITM a dalším hrozbám.

Další informace o infrastruktuře a zabezpečení platforem v Azure najdete v tématu Centrum zabezpečení Azure.

Následující části ukazují, jak dál chránit vaši aplikaci App Service před hrozbami.

HTTPS a certifikáty

App Service vám umožňuje zabezpečit aplikace pomocí protokolu HTTPS. Po vytvoření aplikace je její výchozí název domény ( <app_name> .azurewebsites.net) již přístupný pomocí protokolu HTTPS. Pokud pro svou aplikacinakonfigurujete vlastní doménu, měli byste ji také zabezpečit certifikátem TLS/SSL, aby klientské prohlížeče mohli zabezpečená připojení HTTPS k vaší vlastní doméně. Existuje několik typů certifikátů podporovaných App Service:

  • Spravovaný certifikát App Service free
  • App Service certifikátu
  • Certifikát třetí strany
  • Certifikát importovaný z Azure Key Vault

Další informace najdete v tématu Přidání certifikátu TLS/SSL v Azure App Service.

Nezabezpečené protokoly (HTTP, TLS 1.0, FTP)

K zabezpečení aplikace před všemi nešifrovanou připojením (HTTP) poskytuje App Service konfiguraci jedním kliknutím pro vynucení protokolu HTTPS. Nezabezpečené požadavky se před tím, než vůbec dostanou do kódu vaší aplikace, odhodí. Další informace najdete v tématu Vynucení HTTPS.

Protokol TLS 1.0 se už nepovažuje za zabezpečený podle oborových standardů, jako je PCI DSS. App Service umožňuje zakázat zastaralé protokoly vynucováním protokolu TLS 1.1/1.2.

App Service pro nasazování souborů podporuje protokol FTP i FTPS. Pokud je to možné, měli byste místo FTP použít FTPS. Pokud se jeden nebo oba tyto protokoly nepoužují, měli byste je zakázat.

Omezení statických IP adres

Vaše aplikace App Service ve výchozím nastavení přijímá požadavky ze všech IP adres z internetu, ale tento přístup můžete omezit na malou podmnožinu IP adres. App Service na Windows umožňuje definovat seznam IP adres, které mají povolený přístup k vaší aplikaci. Seznam povolených ip adres může obsahovat jednotlivé IP adresy nebo rozsah IP adres definovaný maskou podsítě. Další informace najdete v tématu Azure App Service omezení statických IP adres.

Například App Service v Windows můžete IP adresy dynamicky omezit konfigurací web.config. Další informace najdete v tématu Dynamické zabezpečení PROTOKOLU IP. <dynamicIpSecurity>

Ověřování a autorizace klientů

Azure App Service ověřování na klíč a autorizaci uživatelů nebo klientských aplikací. Když je tato možnost povolená, může přihlašovat uživatele a klientské aplikace s malým nebo žádným kódem aplikace. Můžete implementovat vlastní řešení ověřování a autorizace nebo povolit, App Service vám ho může zpracovat za vás. Modul ověřování a autorizace zpracovává webové požadavky před jejich předáním kódu vaší aplikace a odmítá neoprávněné žádosti, než se dostanou do vašeho kódu.

App Service ověřování a autorizace podporují více zprostředkovatelů ověřování, včetně Azure Active Directory, účtů Microsoft, Facebooku, Googlu a Twitteru. Další informace najdete v tématu Ověřování a autorizace ve službě Azure App Service.

Ověřování služba-služba

Při ověřování vůči back-endové službě App Service dva různé mechanismy v závislosti na vašich nárocích:

  • Identita služby – přihlaste se ke vzdálenému prostředku pomocí identity samotné aplikace. App Service umožňuje snadno vytvořit spravovanou identitu, kterou můžete použít k ověřování pomocí jiných služeb, jako je Azure SQL Database nebo Azure Key Vault. Úplný kurz tohoto přístupu najdete v tématu Zabezpečení připojení Azure SQL Database z App Service pomocí spravované identity.
  • On-behalf-of (OBO) – Jménem uživatele zajistěte delegovaný přístup ke vzdáleným prostředkům. Když Azure Active Directory zprostředkovatel ověřování, může vaše aplikace App Service provádět delegované přihlášení ke vzdálené službě, jako je microsoft Graph API nebo vzdálená aplikace API v App Service. Komplexní kurz tohoto přístupu najdete v tématu Ověřování a autorizace koncových uživatelů v Azure App Service.

Připojení ke vzdáleným prostředkům

Existují tři typy vzdálených prostředků, ke kterým může vaše aplikace potřebovat přístup:

V každém z těchto případů App Service způsob, jak vytvořit zabezpečená připojení, ale přesto byste měli dodržovat osvědčené postupy zabezpečení. Šifrovaná připojení používejte například vždy, i když back-endový prostředek umožňuje nešifrovaná připojení. Dále se ujistěte, že back-endová služba Azure umožňuje minimální sadu IP adres. Odchozí IP adresy vaší aplikace najdete v části Příchozí a odchozí IPadresy v Azure App Service .

Prostředky Azure

Když se vaše aplikace připojí k prostředkům Azure, jako jsou SQL Database a Azure Storage,zůstane připojení v rámci Azure a překročí žádné hranice sítě. Připojení ale prochází přes sdílené sítě v Azure, proto se vždy ujistěte, že je vaše připojení zašifrované.

Pokud je vaše aplikace hostovaná v App Service,měli byste se připojit k podporovaným službám Azure pomocí Virtual Network koncových bodů služby.

Prostředky uvnitř azure Virtual Network

Vaše aplikace má přístup k prostředkům v azure Virtual Network prostřednictvím Virtual Network integrace. Integrace se na základě Virtual Network pomocí sítě VPN point-to-site. Aplikace pak může přistupovat k prostředkům v Virtual Network pomocí svých privátních IP adres. Připojení point-to-site ale stále prochádí sdílené sítě v Azure.

Pokud chcete připojení k prostředkům zcela izolovat od sdílených sítí v Azure, vytvořte aplikaci v App Service prostředí. Vzhledem k App Service prostředí se vždy nasazovat do vyhrazeného Virtual Network, je připojení mezi vaší aplikací a prostředky v rámci Virtual Network plně izolované. Další aspekty zabezpečení sítě v prostředí App Service najdete v tématu Izolace sítě.

Místní prostředky

K místním prostředkům, jako jsou databáze, můžete bezpečně přistupovat třemi způsoby:

  • Hybridní připojení – Vytvoří připojení typu point-to-point ke vzdálenému prostředku prostřednictvím tunelu TCP. Tunel TCP je vytvořen pomocí protokolu TLS 1.2 s klíči sdíleného přístupového podpisu (SAS).
  • Virtual Network integraci s site-to-site VPN – Jak je popsáno v části Prostředky uvnitř Azure Virtual Network, ale Virtual Network je možné připojit k místní síti prostřednictvím site-to-site VPN. V této topologii sítě se vaše aplikace může připojit k místním prostředkům, jako jsou jiné prostředky v Virtual Network.
  • App Service prostředí s site-to-site VPN – Jak je popsáno v části Prostředky uvnitř Azure Virtual Network, ale Virtual Network se může připojit k místní síti prostřednictvím site-to-site VPN. V této topologii sítě se vaše aplikace může připojit k místním prostředkům, jako jsou jiné prostředky v Virtual Network.

Tajné kódy aplikací

Neukládejte tajné kódy aplikací, jako jsou přihlašovací údaje k databázi, tokeny rozhraní API a privátní klíče, do kódu nebo konfiguračních souborů. Běžně se k nim přistupuje jako k proměnným prostředí pomocí standardního vzoru ve vašem jazyce podle vašeho výběru. V App Service je způsob definování proměnných prostředí prostřednictvím nastavení aplikace (a zejména u aplikací .NET připojovací řetězce). Nastavení aplikace a připojovací řetězce se ukládají zašifrované v Azure a dešifrují se až před tím, než se při spuštění aplikace vhodí do procesní paměti vaší aplikace. Šifrovací klíče se pravidelně obměnají.

Alternativně můžete svou aplikaci integrovat App Service s Azure Key Vault pro pokročilou správu tajných kódů. Přístupem ke Key Vault spravované identitěmůže vaše App Service bezpečně přistupovat k tajným kódům, které potřebujete.

Izolace sítě

S výjimkou izolované cenové úrovně spouštěly všechny úrovně aplikace ve sdílené síťové infrastruktuře v App Service. Veřejné IP adresy a front-endové nástroje pro vyrovnávání zatížení se například sdílí s jinými tenanty. Úroveň Isolated poskytuje úplnou izolaci sítě tím, že aplikace provozujete ve vyhrazeném App Service prostředí. Prostředí App Service běží ve vaší vlastní instanci Azure Virtual Network. Umožňuje vám:

  • Obsluhovat aplikace prostřednictvím vyhrazeného veřejného koncového bodu s vyhrazeným front-endsem.
  • Obsluhovat interní aplikaci pomocí interního nástroje pro vyrovnávání zatížení (ILB), který umožňuje přístup pouze z vaší služby Azure Virtual Network. ILB má IP adresu z vaší privátní podsítě, která poskytuje celkovou izolaci vašich aplikací od internetu.
  • Použijte nástroj ILB za Firewallem webových aplikací (WAF). WAF nabízí pro veřejné aplikace ochranu na podnikové úrovni, jako je ochrana před DDoS, filtrování identifikátorů URI a ochrana SQL injektáží.

Další informace najdete v tématu Úvod do Azure App Service prostředí.