Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano, jak usługa Azure App Service pomaga zabezpieczyć aplikację internetową, zaplecze aplikacji mobilnej, aplikację interfejsu API lub aplikację funkcji. W tym artykule opisano również, jak można dodatkowo zabezpieczyć aplikację przy użyciu wbudowanych funkcji usługi App Service.
Usługa Azure App Service aktywnie zabezpiecza i wzmacnia jej składniki platformy, w tym maszyny wirtualne platformy Azure, magazyn, połączenia sieciowe, struktury internetowe oraz funkcje zarządzania i integracji. Usługa App Service przechodzi ciągłe, rygorystyczne kontrole zgodności w celu zapewnienia, że:
- Każda aplikacja jest oddzielona od innych aplikacji i zasobów platformy Azure.
- Regularne aktualizacje maszyn wirtualnych i oprogramowania środowiska uruchomieniowego dotyczą nowo wykrytych luk w zabezpieczeniach.
- Komunikacja wpisów tajnych i parametrów połączenia między aplikacjami i innymi zasobami platformy Azure, takimi jak usługa Azure SQL Database , odbywa się tylko na platformie Azure bez przekraczania granic sieci. Przechowywane wpisy tajne są zawsze szyfrowane.
- Cała komunikacja za pośrednictwem funkcji łączności usługi App Service, takich jak połączenie hybrydowe , są szyfrowane.
- Wszystkie połączenia za pośrednictwem narzędzi do zarządzania zdalnego, takich jak program Azure PowerShell, interfejs wiersza polecenia platformy Azure, zestawy AZURE SDK i interfejsy API REST, są szyfrowane.
- Ciągłe zarządzanie zagrożeniami chroni infrastrukturę i platformę przed złośliwym oprogramowaniem, rozproszoną odmową usługi (DDoS) i atakami typu man-in-the-middle oraz innymi zagrożeniami.
Aby uzyskać więcej informacji na temat zabezpieczeń infrastruktury i platformy na platformie Azure, zobacz Centrum zaufania Platformy Azure.
W poniższych sekcjach opisano więcej sposobów ochrony aplikacji usługi App Service przed zagrożeniami.
Protokół HTTPS i certyfikaty
Usługa App Service umożliwia zabezpieczanie aplikacji za pośrednictwem protokołu HTTPS. Po utworzeniu aplikacji domyślna nazwa <app_name>.azurewebsites.net
domeny jest już dostępna za pośrednictwem protokołu HTTPS. Jeśli skonfigurujesz domenę niestandardową dla aplikacji, zabezpiecz ją przy użyciu certyfikatu TLS/SSL , aby przeglądarki klienckie mogły zabezpieczyć połączenia HTTPS z domeną niestandardową.
Usługa App Service obsługuje następujące typy certyfikatów:
- Bezpłatny certyfikat zarządzany usługi App Service
- Certyfikat usługi App Service
- Certyfikat innej firmy
- Certyfikat zaimportowany z usługi Azure Key Vault
Aby uzyskać więcej informacji, zobacz Dodawanie certyfikatów TLS/SSL i zarządzanie nimi w usłudze Azure App Service.
Niezabezpieczone protokoły (HTTP, TLS 1.0, FTP)
Domyślnie usługa App Service wymusza przekierowanie z żądań HTTP do protokołu HTTPS. Niezabezpieczone żądania są przekierowywane przed dotarciem do kodu aplikacji. Aby zmienić to zachowanie, zobacz Konfigurowanie ustawień ogólnych.
Usługa Azure App Service obsługuje następujące wersje protokołu Transport Layer Security (TLS) dla żądań przychodzących do aplikacji internetowej:
- TLS 1.3: najnowsza i najbezpieczniejsza wersja.
- TLS 1.2: domyślna minimalna wersja protokołu TLS dla nowych aplikacji internetowych.
- TLS 1.1 i TLS 1.0: wersje obsługiwane w celu zapewnienia zgodności z poprzednimi wersjami, ale nie są uznawane za bezpieczne przez standardy branżowe, takie jak Payment Card Industry Data Security Standard (PCI DSS).
Minimalną wersję protokołu TLS można skonfigurować dla żądań przychodzących do aplikacji internetowej i witryny Menedżera kontroli źródła (SCM). Domyślnie wartość minimalna jest ustawiona na tls 1.2. Aby zezwolić na różne wersje protokołu TLS, zobacz Konfigurowanie ustawień ogólnych.
Usługa App Service obsługuje zarówno protokół FTP, jak i FTPS na potrzeby wdrażania plików aplikacji. Nowe aplikacje są domyślnie akceptowane tylko za pomocą protokołu FTPS. Aby zwiększyć bezpieczeństwo, użyj protokołu FTPS zamiast protokołu FTP, jeśli to możliwe. Jeśli nie używasz protokołu FTP/S, należy go wyłączyć. Aby uzyskać więcej informacji, zobacz Wdrażanie aplikacji w usłudze Azure App Service przy użyciu protokołu FTP/S.
Ograniczenia statycznych adresów IP
Domyślnie aplikacja usługi App Service akceptuje żądania ze wszystkich internetowych adresów IP, ale można ograniczyć dostęp do podzestawu adresów IP. Usługa App Service w systemie Windows umożliwia zdefiniowanie listy adresów IP, które mogą uzyskiwać dostęp do aplikacji. Lista dozwolonych może zawierać poszczególne adresy IP lub zakres adresów IP zdefiniowanych przez maskę podsieci. Aby uzyskać więcej informacji, zobacz Konfigurowanie ograniczeń dostępu do usługi aplikacja systemu Azure.
W przypadku usługi App Service w systemie Windows można również dynamicznie ograniczać adresy IP, konfigurując plik web.config . Aby uzyskać więcej informacji, zobacz Dynamic IP Security <dynamicIpSecurity>.
Uwierzytelnianie i autoryzacja klienta
Usługa App Service zapewnia wbudowane uwierzytelnianie i autoryzację użytkowników lub aplikacji klienckich. Możesz zaimplementować własne rozwiązanie uwierzytelniania i autoryzacji lub zezwolić usłudze App Service na jej obsługę.
Po włączeniu wbudowane uwierzytelnianie i autoryzację mogą logować użytkowników i aplikacje klienckie przy bardzo małym użyciu kodu aplikacji. Moduł uwierzytelniania i autoryzacji obsługuje żądania internetowe przed przekazaniem ich do kodu aplikacji i odrzuca nieautoryzowane żądania.
Uwierzytelnianie i autoryzacja usługi App Service obsługują wielu dostawców uwierzytelniania, w tym Microsoft Entra ID, konta Microsoft, Facebook, Google i X. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie i autoryzacja w Azure App Service.
Uwierzytelnianie między usługami
Podczas uwierzytelniania w usłudze zaplecza usługa App Service udostępnia dwa mechanizmy w zależności od potrzeb:
Tożsamość usługi loguje się do zdalnego zasobu, korzystając z tożsamości samej aplikacji. W usłudze App Service można utworzyć tożsamość zarządzaną , za pomocą której można uwierzytelnić inne usługi, takie jak Usługa Azure SQL Database lub Azure Key Vault. Aby zapoznać się z kompleksowym samouczkiem, zapoznaj się ze Łączenie aplikacji internetowej platformy Azure z bazą danych Azure SQL Database bez wpisów tajnych przy użyciu tożsamości zarządzanej.
Uwierzytelnianie w trybie OBO (On Behalf Of) deleguje dostęp do zasobów zdalnych na rzecz użytkownika. Z Microsoft Entra ID jako dostawcą uwierzytelniania, aplikacja usługi App Service może wykonywać delegowane logowanie do zdalnej usługi, takiej jak Microsoft Graph, lub do zdalnej aplikacji interfejsu API usługi App Service. Zapoznaj się z kompleksowym samouczkiem, Uwierzytelnianie i autoryzowanie użytkowników końcowych w usłudze Azure App Service.
Łączność z zasobami zdalnymi
Aplikacja może wymagać dostępu do zasobów platformy Azure, zasobów lokalnych lub zasobów w sieci wirtualnej platformy Azure. Usługa App Service udostępnia bezpieczną metodę połączenia dla każdego z tych scenariuszy. Należy również obserwować najlepsze rozwiązania w zakresie zabezpieczeń, takie jak zawsze używanie szyfrowanych połączeń, nawet jeśli zasób zaplecza zezwala na niezaszyfrowane połączenia.
Upewnij się również, że usługa zaplecza Azure zezwala na najmniejszy możliwy zestaw adresów IP. Aby znaleźć adresy IP ruchu wychodzącego dla aplikacji, zobacz Znajdowanie wychodzących adresów IP.
Zasoby platformy Azure
Gdy aplikacja łączy się z zasobami platformy Azure, takimi jak Azure SQL Database i Azure Storage, połączenie pozostaje na platformie Azure i nie przekracza żadnych granic sieci. Połączenie korzysta z sieci udostępnionej na platformie Azure, dlatego upewnij się, że jest ona zaszyfrowana.
Jeśli aplikacja jest hostowana w środowisku App Service Environment, należy nawiązać połączenie z obsługiwanymi usługami platformy Azure przy użyciu punktów końcowych usługi sieci wirtualnej.
Zasoby w sieci wirtualnej platformy Azure
Aplikacja może uzyskiwać dostęp do zasobów w sieci wirtualnej platformy Azure za pośrednictwem integracji sieci wirtualnej przy użyciu sieci VPN typu punkt-lokacja. Aplikacja może następnie uzyskać dostęp do zasobów w sieci wirtualnej przy użyciu prywatnych adresów IP. Połączenie typu punkt-lokacja nadal przechodzi przez udostępnione sieci na platformie Azure.
Aby całkowicie odizolować łączność zasobów z sieci udostępnionych na platformie Azure, utwórz aplikację w środowisku App Service Environment. Ponieważ środowisko App Service Environment jest zawsze wdrażane w dedykowanej sieci wirtualnej, łączność między aplikacją a innymi zasobami w sieci wirtualnej jest w pełni izolowana. Aby uzyskać więcej informacji na temat zabezpieczeń sieci w środowisku App Service Environment, zobacz Izolacja sieci.
Zasoby lokalne
Możesz bezpiecznie uzyskać dostęp do zasobów lokalnych, takich jak bazy danych, w następujący sposób:
Połączenie hybrydowe ustanawia połączenie punkt-punkt z zasobem zdalnym za pośrednictwem tunelu protokołu TCP (Transmission Control Protocol), który używa protokołu TLS 1.2 z kluczami sygnatur dostępu współdzielonego.
Integracja sieci wirtualnej z siecią VPN typu lokacja-lokacja lub środowiskiem App Service Environment z siecią VPN typu lokacja-lokacja. Te metody łączą sieć wirtualną aplikacji z siecią lokalną zgodnie z opisem w temacie Zasoby wewnątrz sieci wirtualnej platformy Azure, ale sieć wirtualna łączy się z siecią lokalną za pośrednictwem sieci VPN typu lokacja-lokacja. W tych topologiach sieci aplikacja może łączyć się z zasobami lokalnymi w taki sam sposób, jak łączy się z innymi zasobami w sieci wirtualnej.
Sekrety aplikacji
Nie przechowuj sekretów aplikacji, takich jak poświadczenia bazy danych, tokeny interfejsu API i klucze prywatne w kodzie lub plikach konfiguracyjnych. Uzyskaj dostęp do nich jako zmienne środowiskowe przy użyciu standardowego wzorca języka kodu. W usłudze App Service definiujesz zmienne środowiskowe za pomocą ustawień aplikacji , a zwłaszcza w przypadku aplikacji .NET za pomocą parametrów połączenia.
Ustawienia aplikacji i parametry połączenia są przechowywane zaszyfrowane na platformie Azure i są odszyfrowywane tuż przed wstrzyknięciem ich do pamięci procesu aplikacji po uruchomieniu aplikacji. Klucze szyfrowania są regularnie obracane.
Alternatywnie, możesz zintegrować aplikację usługi App Service z usługą Azure Key Vault w celu zaawansowanego zarządzania tajemnicami. Aplikacja usługi App Service może bezpiecznie dostać dostęp do magazynu kluczy przy użyciu tożsamości zarządzanej, aby uzyskać potrzebne tajne informacje.
Izolacja sieciowa
Wszystkie warstwy cenowe usługi App Service uruchamiają aplikacje w udostępnionej infrastrukturze sieciowej platformy Azure z wyjątkiem warstwy cenowej Izolowana. Na przykład publiczne adresy IP i równoważniki obciążenia front-end są współużytkowane z innymi najemcami.
Warstwa Izolowana zapewnia pełną izolację sieci, uruchamiając aplikacje w dedykowanym App Service Environment we własnej instancji Azure Virtual Network. Przy użyciu izolacji sieciowej można wykonywać następujące czynności:
- Udostępnianie aplikacji za pośrednictwem dedykowanego publicznego punktu końcowego z dedykowanymi frontonami.
- Obsługa aplikacji wewnętrznych przy użyciu wewnętrznego modułu równoważenia obciążenia (ILB), który umożliwia dostęp tylko z sieci wirtualnej platformy Azure. ILB (wewnętrzny moduł równoważenia obciążenia) ma adres IP z prywatnej podsieci, co zapewnia całkowitą izolację Twoich aplikacji od Internetu.
- Użyj wewnętrznego modułu równoważenia obciążenia (ILB) za zaporą aplikacji internetowej (WAF). Zapora aplikacji internetowej oferuje filtrowanie URI klasy korporacyjnej, ochronę przed rozproszonymi atakami typu "odmowa usługi" (DDoS) oraz zapobieganie wstrzyknięciu kodu SQL dla publicznie dostępnych aplikacji.
ochrona przed atakami DDoS
W przypadku obciążeń internetowych użyj WAF i Azure DDoS Protection, aby chronić przed pojawiającymi się atakami DDoS. Inną opcją jest wdrożenie usługi Azure Front Door z zaporą aplikacji internetowej na potrzeby ochrony na poziomie platformy przed atakami DDoS na poziomie sieci.