Notatka
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.
Ten artykuł zawiera informacje ułatwiające:
- Omówienie zalet zabezpieczeń hostowania aplikacji w chmurze
- Ocena zalet zabezpieczeń platformy jako usługi (PaaS) w porównaniu z innymi modelami usług w chmurze
- Zmień swój fokus zabezpieczeń ze skoncentrowanych na sieci na podejście do zabezpieczeń obwodowych skoncentrowanych na tożsamości
- Wdrażanie ogólnych najlepszych praktyk bezpieczeństwa PaaS
Opracowywanie bezpiecznych aplikacji na platformie Azure to ogólny przewodnik po pytaniach zabezpieczających i mechanizmach kontroli, które należy wziąć pod uwagę na każdej fazie cyklu tworzenia oprogramowania podczas tworzenia aplikacji dla chmury.
Zalety zabezpieczeń chmury
Ważne jest, aby zrozumieć podział odpowiedzialności między Tobą a firmą Microsoft. Lokalnie jesteś właścicielem całego stosu, ale w miarę przechodzenia do chmury niektóre obowiązki są przenoszone do firmy Microsoft.
Chmura zapewnia korzyści w zakresie bezpieczeństwa. W środowisku lokalnym organizacje prawdopodobnie mają niespełnione obowiązki i ograniczone zasoby na inwestycje w bezpieczeństwo. Ta sytuacja tworzy środowisko, w którym atakujący mogą wykorzystywać luki na wszystkich poziomach.
Organizacje mogą poprawić czas wykrywania zagrożeń i reagowania na nie, korzystając z możliwości zabezpieczeń opartych na chmurze dostawcy i analizy w chmurze. Przenosząc obowiązki do dostawcy usług w chmurze, organizacje mogą uzyskać więcej pokrycia zabezpieczeń, co umożliwia im reallokowanie zasobów zabezpieczeń i budżetu na inne priorytety biznesowe.
Zalety zabezpieczeń modelu usługi w chmurze PaaS
Przeanalizuj zalety bezpieczeństwa wdrożenia Azure PaaS w porównaniu z wdrożeniem lokalnym.
Rozpoczynając od najniższego poziomu stosu, czyli infrastruktury fizycznej, firma Microsoft zmniejsza typowe ryzyko i obowiązki. Ponieważ Microsoft nieustannie monitoruje chmurę Microsoft, trudno jest ją zaatakować. Nie ma sensu, aby atakujący obrał chmurę Microsoft za cel. Jeśli atakujący nie ma dużo pieniędzy i zasobów, prawdopodobnie przejdzie na inny cel.
W środkowej warstwie stosu wdrożenie PaaS i wdrożenie lokalne nie różnią się od siebie. Na warstwie aplikacji oraz na warstwie zarządzania kontami i dostępem występują podobne ryzyka. Sekcja kolejnych kroków w tym artykule przedstawia najlepsze praktyki eliminacji lub minimalizacji tych ryzyk.
Na szczycie stosu, czyli zarządzanie danymi i prawami, bierzesz na siebie jedno ryzyko, które zarządzanie kluczami może zminimalizować. Choć zarządzanie kluczami to dodatkowa odpowiedzialność, wdrożenie PaaS obejmuje obszary, których nie musisz już zarządzać. Możesz przekierować zasoby na zarządzanie kluczami.
Platforma Azure zapewnia również silną ochronę przed atakami DDoS przy użyciu różnych technologii opartych na sieci. Jednak wszystkie typy metod ochrony przed atakami DDoS opartymi na sieci mają swoje limity dla poszczególnych łączy i poszczególnych centrów danych. Aby uniknąć wpływu dużych ataków DDoS, możesz skorzystać z podstawowej funkcjonalności chmury platformy Azure, która pozwala na szybkie i automatyczne skalowanie w celu obrony przed atakami DDoS.
Tożsamość jako podstawowy obwód zabezpieczeń
Wdrożenia PaaS zmieniają ogólne podejście do bezpieczeństwa. Przechodzisz od potrzeby kontrolowania wszystkiego samodzielnie do dzielenia odpowiedzialności z firmą Microsoft.
Kolejną znaczącą różnicą między wdrożeniami PaaS i tradycyjnymi wdrożeniami lokalnymi jest nowy widok definiujący podstawowy obwód zabezpieczeń. Historycznie rzecz biorąc, głównym perymetrem bezpieczeństwa w środowisku lokalnym była sieć, a większość lokalnych architektur zabezpieczeń wykorzystuje sieć jako główny punkt odniesienia dla zabezpieczeń. W przypadku wdrożeń PaaS tożsamość traktuj jako główny perymetr bezpieczeństwa.
Jedną z pięciu podstawowych cech przetwarzania w chmurze jest szeroki dostęp do sieci, co sprawia, że myślenie skoncentrowane na sieci jest mniej istotne. Celem dużej części przetwarzania w chmurze jest umożliwienie użytkownikom dostępu do zasobów niezależnie od lokalizacji. Dla większości użytkowników ich lokalizacja znajduje się gdzieś w internecie.
Poniższy rysunek pokazuje, jak perymetr bezpieczeństwa ewoluował z obwodu sieciowego na perymetr tożsamości. Zabezpieczenia coraz mniej dotyczą obrony sieci, a bardziej kwestią obrony danych oraz zarządzania bezpieczeństwem aplikacji i użytkowników. Kluczową różnicą jest to, że chcesz przybliżyć zabezpieczenia do tego, co jest ważne dla Twojej firmy.
Początkowo usługi PaaS platformy Azure (na przykład Azure App Service i Azure SQL) zapewniały niewielkie lub żadne tradycyjne zabezpieczenia obwodowe sieci. Celem tego elementu było udostępnienie internetu (rola web), a uwierzytelnianie zapewnia nowy perymetr (na przykład Azure SQL).
Współczesne praktyki bezpieczeństwa zakładają, że przeciwnik przekroczył obwód sieci. Dlatego współczesne praktyki w zakresie ochrony koncentrują się na tożsamości. Organizacje muszą ustanowić obwód zabezpieczeń oparty na tożsamościach z silnym uwierzytelnianiem i higieną autoryzacji.
Najlepsze rozwiązania dotyczące zarządzania tożsamościami
Stosuj poniższe najlepsze praktyki podczas zarządzania granicami tożsamości.
Najlepsze praktyki: Po pierwsze, rozważ użycie zarządzanych tożsamości dla zasobów Azure, aby bezpiecznie uzyskiwać dostęp do innych usług bez konieczności przechowywania danych uwierzytelniających. Szczegóły: Zarządzane tożsamości automatycznie zapewniają tożsamość dla aplikacji działających w usługach Azure, co pozwala im uwierzytelniać się do usług obsługujących Microsoft Entra ID bez konieczności podawania danych poświadczeniowych w kodzie czy plikach konfiguracyjnych. Ta tożsamość zmniejsza ryzyko ujawnienia poświadczeń i upraszcza zarządzanie tożsamością dla Twoich aplikacji.
Najlepsze rozwiązanie: zabezpieczanie kluczy i poświadczeń w celu zabezpieczenia wdrożenia usługi PaaS. Szczegóły: Utrata kluczy i poświadczeń jest typowym problemem. Możesz użyć scentralizowanego rozwiązania, gdzie przechowujesz klucze i sekrety w sprzętowych modułach bezpieczeństwa (HSM). Azure Key Vault chroni Twoje klucze i sekrety, szyfrując klucze uwierzytelniające, konta magazynowe, klucze do szyfrowania danych, pliki .pfx oraz hasła za pomocą kluczy chronionych przez HSM.
Najlepsze rozwiązanie: nie umieszczaj poświadczeń ani innych wpisów tajnych w kodzie źródłowym ani w usłudze GitHub. Szczegóły: Jedyną rzeczą gorszą niż utrata kluczy i poświadczeń jest to, że nieautoryzowana osoba uzyska do nich dostęp. Osoby atakujące mogą korzystać z technologii botów w celu znajdowania kluczy i wpisów tajnych przechowywanych w repozytoriach kodu, takich jak GitHub. Nie umieszczaj kluczy i sekretów w tych publicznych repozytoriach kodu.
Najlepsze rozwiązanie: używanie silnych platform uwierzytelniania i autoryzacji. Szczegóły: Użyj Microsoft Entra ID do uwierzytelniania zamiast niestandardowych repozytoriów użytkowników. Korzystając z identyfikatora Entra firmy Microsoft, korzystasz z podejścia opartego na platformie i delegujesz zarządzanie autoryzowanymi tożsamościami. Podejście Microsoft Entra ID jest szczególnie ważne, gdy pracownicy są zwalniani, a informacje te muszą zostać przekazane za pośrednictwem wielu systemów tożsamości i autoryzacji.
Używaj mechanizmów uwierzytelniania i autoryzacji dostarczonych przez platformę zamiast kodu niestandardowego. Przyczyną jest to, że tworzenie niestandardowego kodu uwierzytelniania może być podatne na błędy. Większość twoich programistów nie jest ekspertami od bezpieczeństwa i raczej nie zna niuansów oraz najnowszych osiągnięć w uwierzytelnianiu i autoryzacji. Kod komercyjny (na przykład od firmy Microsoft) jest często poddawany szerokim analizom bezpieczeństwa.
Stosuj uwierzytelnianie wieloskładnikowe (MFA) i upewnij się, że metody MFA odporne na phishing – takie jak klucze dostępu, FIDO2 czy uwierzytelnianie oparte na certyfikatach (CBA) – są egzekwowane w ramach polityk dostępu warunkowego. Wymagaj ich co najmniej od wszystkich administratorów, a dla zapewnienia optymalnego zabezpieczenia zaimplementuj je w całej organizacji. Dostęp do interfejsów zarządzania platformy Azure (portal/zdalnego programu PowerShell) i usług przeznaczonych dla klientów należy zaprojektować i skonfigurować do korzystania z uwierzytelniania wieloskładnikowego firmy Microsoft.
Do logowania do aplikacji użyj OpenID Connect (OIDC) z OAuth 2.0 za pośrednictwem Microsoft Entra ID. Protokoły te są szeroko recenzowane i prawdopodobnie są wdrażane jako część bibliotek platformy do uwierzytelniania i autoryzacji.
Korzystanie z modelowania zagrożeń podczas projektowania aplikacji
Cykl projektowania zabezpieczeń firmy Microsoft określa, że zespoły powinny zaangażować się w proces nazywany modelowaniem zagrożeń w fazie projektowania. Aby ułatwić ten proces, Microsoft stworzył narzędzie SDL Threat Modeling Tool. Modelowanie projektu aplikacji i wyliczanie zagrożeń STRIDE we wszystkich granicach zaufania może wcześnie przechwytywać błędy projektowe.
W poniższej tabeli wymieniono zagrożenia STRIDE i przedstawiono przykładowe środki zaradcze korzystające z funkcji platformy Azure. Te środki zaradcze nie działają w każdej sytuacji.
| Groźba | Właściwość zabezpieczeń | Potencjalne środki zaradcze dotyczące platformy Azure |
|---|---|---|
| Fałszowanie | Uwierzytelnianie | Wymagaj połączeń HTTPS. |
| Manipulowanie | Integralność | Zweryfikuj certyfikaty TLS/SSL. |
| Odrzucenie | Niezaprzeczalność | Włącz monitorowanie i diagnostykę platformy Azure. |
| Ujawnienie informacji | Poufność | Zaszyfruj poufne dane przechowywane przy użyciu certyfikatów usługi. |
| Odmowa usługi | Dostępność | Monitorowanie metryk wydajności pod kątem potencjalnych warunków odmowy usługi. Zaimplementuj filtry połączeń. |
| Podniesienie uprawnień | Autoryzacja | Użyj usługi Privileged Identity Management. |
Azure App Service
Azure App Service to oferta PaaS, która pozwala tworzyć aplikacje webowe i mobilne na dowolną platformę lub urządzenie oraz łączyć się z danymi w dowolnym miejscu – w chmurze lub lokalnie. Usługa App Service obejmuje funkcje internetowe i mobilne, które zostały wcześniej dostarczone oddzielnie jako usługi Azure Websites i Azure Mobile Services. Obejmuje również nowe możliwości automatyzowania procesów biznesowych i hostowania interfejsów API w chmurze.
Korzystaj z poniższych najlepszych praktyk dotyczących App Service.
Najlepsze rozwiązanie: uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft. Szczegóły: usługa App Service udostępnia usługę OAuth 2.0 dostawcy tożsamości. Protokół OAuth 2.0 koncentruje się na ułatwieniu pracy deweloperom klientów, zapewniając jednocześnie określone przepływy autoryzacji dla aplikacji internetowych, aplikacji desktopowych i telefonów komórkowych. Identyfikator Entra firmy Microsoft używa protokołu OAuth 2.0, aby umożliwić autoryzowanie dostępu do aplikacji mobilnych i internetowych.
Najlepsza praktyka: ogranicz dostęp oparty na zasadzie konieczności posiadania wiedzy i zasady najmniejszych uprawnień bezpieczeństwa. Szczegóły: Ograniczanie dostępu jest konieczne dla organizacji, które chcą wymusić zasady zabezpieczeń na potrzeby dostępu do danych. Azure RBAC umożliwia przypisywanie uprawnień użytkownikom, grupom i aplikacjom w określonym zakresie.
Najlepsze rozwiązanie: Ochrona kluczy. Szczegóły: usługa Azure Key Vault pomaga chronić klucze kryptograficzne i wpisy tajne używane przez aplikacje i usługi w chmurze. Usługa Key Vault umożliwia szyfrowanie kluczy i sekretów (takich jak klucze uwierzytelniania, klucze konta magazynu, klucze szyfrowania danych, pliki .PFX i hasła) przy użyciu kluczy chronionych przez sprzętowe moduły zabezpieczeń (HSM). Aby zapewnić dodatkową pewność, możesz zaimportować lub wygenerować klucze w modułach HSM. Aby dowiedzieć się więcej, zobacz Azure Key Vault . Za pomocą usługi Key Vault można również zarządzać certyfikatami TLS przy użyciu automatycznego odnawiania.
Najlepsze rozwiązanie: ograniczanie przychodzących źródłowych adresów IP. Szczegóły: środowisko App Service Environment ma funkcję integracji sieci wirtualnej, która ułatwia ograniczanie przychodzących źródłowych adresów IP za pośrednictwem sieciowych grup zabezpieczeń. Sieci wirtualne umożliwiają umieszczanie zasobów platformy Azure w sieci nieinternetowej, do której kontrolujesz dostęp. Aby dowiedzieć się więcej, zobacz Integrowanie aplikacji z siecią wirtualną platformy Azure. Możesz też użyć prywatnego łącza (prywatnego punktu końcowego) i wyłączyć sieć publiczną, aby wymusić połączenie sieci prywatnej między App Service a innymi usługami.
Najlepsze rozwiązanie: Wymuszanie ruchu tylko https i wymaganie protokołu TLS 1.2 lub nowszego dla wszystkich połączeń. Wyłącz dostęp do FTP, gdzie to możliwe. Jeśli transfer plików jest konieczny, użyj FTPS, aby zapewnić bezpieczne, szyfrowane transfery. Szczegóły: Skonfigurowanie usługi App Service w celu akceptowania tylko ruchu HTTPS gwarantuje, że dane są szyfrowane podczas przesyłania, co chroni poufne informacje przed przechwyceniem. Wymaganie protokołu TLS 1.2 lub nowszego zapewnia silniejsze zabezpieczenia przed lukami w zabezpieczeniach znalezionymi we wcześniejszych wersjach protokołu. Wyłączenie protokołu FTP zmniejsza ryzyko przesyłania poświadczeń lub danych niezaszyfrowanych. Jeśli potrzebujesz transferu plików, włącz tylko FTPS, który szyfruje zarówno dane uwierzytelniające, jak i dane podczas transportu.
Najlepsze rozwiązanie: Monitorowanie stanu zabezpieczeń środowisk usługi App Service. Szczegóły: monitorowanie środowisk usługi App Service za pomocą usługi Microsoft Defender dla Chmury. Gdy usługa Defender dla Chmury identyfikuje potencjalne luki w zabezpieczeniach, tworzy zalecenia, które przeprowadzą Cię przez proces konfigurowania wymaganych mechanizmów kontroli. Usługa Microsoft Defender for App Service zapewnia ochronę przed zagrożeniami dla zasobów usługi App Service.
Aby uzyskać więcej informacji, zobacz Microsoft Defender for App Service.
Web Application Firewall
Aplikacje internetowe są coraz bardziej celem złośliwych ataków, które wykorzystują typowe znane luki w zabezpieczeniach. Do powszechnych podatności należą ataki typu SQL injection oraz ataki typu cross-site scripting (XSS). Zapobieganie takim atakom w kodzie aplikacji może być wyzwaniem i może wymagać rygorystycznej konserwacji, łatania oraz monitorowania na wielu poziomach topologii aplikacji. Scentralizowana zapora aplikacji webowych upraszcza zarządzanie bezpieczeństwem i zapewnia administratorom aplikacji lepszą pewność przed zagrożeniami i włamaniami. Rozwiązanie WAF może również szybciej reagować na zagrożenie bezpieczeństwa, stosując łatki dla znanych luk w centralnej lokalizacji zamiast zabezpieczać każdą aplikację internetową z osobna.
Usługa Azure Web Application Firewall (WAF) zapewnia scentralizowaną ochronę aplikacji internetowych przed typowymi lukami w zabezpieczeniach i exploitami. WAF jest dostępny za pośrednictwem Azure Application Gateway i Azure Front Door.
ochrona przed atakami DDoS
Platforma Azure oferuje dwie główne warstwy ochrony przed atakami DDoS: DDoS IP Protection i DDoS Network Protection. Te opcje obejmują różne scenariusze i mają różne funkcje i ceny.
- Ochrona przed atakami DDoS IP: najlepiej chronić określone publiczne adresy IP, idealne dla mniejszych lub docelowych wdrożeń wymagających niezbędnego ograniczenia ryzyka ataków DDoS na poziomie adresu IP.
- Ochrona sieci przed atakami DDoS: obejmuje całe sieci wirtualne z zaawansowanym ograniczeniem ryzyka, analizą i integracją; odpowiednie dla większych lub korporacyjnych środowisk wymagających szerszych zabezpieczeń.
Wybierz DDoS IP Protection do ukierunkowanych zastosowań, w których liczą się koszty. Wybierz ochronę sieci DDoS, aby uzyskać kompleksowy zasięg i zaawansowane funkcje.
Ochrona DDoS chroni na warstwie sieci (3/4). W przypadku obrony warstwy aplikacji (7) dodaj zaporę aplikacji internetowej. Zobacz Ochrona przed atakami DDoS aplikacji.
Monitorowanie wydajności aplikacji
Usługa Azure Monitor zbiera, analizuje dane telemetryczne i działa na podstawie danych telemetrycznych ze środowisk chmurowych i lokalnych. Efektywna strategia monitorowania pomaga zrozumieć szczegółową operację składników aplikacji. Ta strategia pomaga zwiększyć dostępność, informując Cię o poważnych problemach, abyś mógł je rozwiązać, zanim staną się problemami. Ta strategia pomaga również wykrywać anomalie związane z bezpieczeństwem.
Usługa Application Insights umożliwia monitorowanie dostępności, wydajności i użycia aplikacji niezależnie od tego, czy jest ona hostowana w chmurze, czy lokalnie. Korzystając z usługi Application Insights, można szybko identyfikować i diagnozować błędy w aplikacji bez oczekiwania na ich zgłaszanie przez użytkownika. Dzięki zebranym informacjom możesz dokonać świadomych wyborów dotyczących konserwacji i ulepszeń aplikacji.
Usługa Application Insights oferuje rozbudowane narzędzia do interakcji z zbieranymi danymi. Usługa Application Insights przechowuje swoje dane w typowym repozytorium. Może korzystać z funkcji udostępnionych, takich jak alerty, pulpity nawigacyjne i głęboka analiza za pomocą języka zapytań Kusto.
Przeprowadzanie testów penetracyjnych zabezpieczeń
Weryfikowanie zabezpieczeń ochrony jest równie ważne, jak testowanie innych funkcji. Przetestuj testy penetracyjne w standardowej części procesu kompilacji i wdrażania. Zaplanuj regularne testy zabezpieczeń i skanowanie luk w zabezpieczeniach na wdrożonych aplikacjach oraz monitoruj otwarte porty, punkty końcowe i ataki.
Dalsze kroki
Niniejszy artykuł koncentruje się na zaletach bezpieczeństwa wdrożenia Azure PaaS oraz najlepszych praktykach bezpieczeństwa dla aplikacji chmurowych. Następnie poznaj zalecane praktyki zabezpieczania swoich rozwiązań PaaS webowych i mobilnych za pomocą konkretnych usług Azure. Zacznij od Azure App Service, Azure SQL Database oraz Azure Synapse Analytics i Azure Storage. W miarę pojawiania się artykułów o zalecanych praktykach dla innych usług Azure, ta lista będzie zawierać linki:
Zobacz Tworzenie bezpiecznych aplikacji na platformie Azure , aby uzyskać pytania dotyczące zabezpieczeń i mechanizmów kontroli, które należy wziąć pod uwagę na każdej fazie cyklu tworzenia oprogramowania podczas tworzenia aplikacji dla chmury.
Zobacz Najlepsze rozwiązania i wzorce zabezpieczeń platformy Azure , aby uzyskać więcej najlepszych rozwiązań dotyczących zabezpieczeń, które należy stosować podczas projektowania, wdrażania i zarządzania rozwiązaniami w chmurze przy użyciu platformy Azure.
Dostępne są następujące zasoby, aby uzyskać bardziej ogólne informacje na temat zabezpieczeń platformy Azure i powiązanych usługi firmy Microsoft:
- Dokumentacja bezpieczeństwa Azure – kompleksowe wytyczne dotyczące bezpieczeństwa.
- Centrum zabezpieczeń firmy Microsoft – Zgłaszaj luki bezpieczeństwa Microsoft, w tym problemy z Azure, e-mailem na adres secure@microsoft.com.