Udostępnij przez


Zabezpieczanie wdrożeń PaaS

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
  • Implementowanie ogólnych zaleceń dotyczących najlepszych rozwiązań w zakresie zabezpieczeń 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.

Istnieją zalety zabezpieczeń związane z byciem w chmurze. W środowisku lokalnym organizacje prawdopodobnie mają niezaspokojonych obowiązków i ograniczone zasoby dostępne do inwestowania w zabezpieczenia, co tworzy środowisko, w którym osoby atakujące mogą wykorzystywać luki w zabezpieczeniach we wszystkich warstwach.

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

Przyjrzyjmy się zaletom zabezpieczeń wdrożenia paaS platformy Azure w porównaniu z środowiskiem lokalnym.

Zalety zabezpieczeń paaS

Rozpoczynając od najniższego poziomu stosu, czyli infrastruktury fizycznej, firma Microsoft zmniejsza typowe ryzyko i obowiązki. Ponieważ chmura firmy Microsoft jest stale monitorowana przez firmę Microsoft, trudno jest atakować. Nie ma sensu, aby atakujący obrał chmurę Microsoft za cel. Jeśli osoba atakująca nie ma dużo pieniędzy i zasobów, osoba atakująca prawdopodobnie przejdzie do innego celu.

W środku stosu nie ma różnicy między wdrożeniem paaS a środowiskiem lokalnym. W warstwie aplikacji i warstwie zarządzania kontami i dostępem istnieją podobne zagrożenia. W następnej sekcji tego artykułu przeprowadzimy Cię przez najlepsze rozwiązania dotyczące eliminowania lub minimalizowania tych zagrożeń.

Na szczycie stosu zagadnień zarządzania danymi i prawami podejmujesz jedno ryzyko, które może być zminimalizowane przez zarządzanie kluczami. Chociaż zarządzanie kluczami jest dodatkową odpowiedzialnością, masz obszary wdrożenia PaaS, którymi nie trzeba już zarządzać, aby można było przenieść zasoby do zarządzania 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ń

W przypadku wdrożeń PaaS następuje zmiana ogólnego podejścia do zabezpieczeń. 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ń. W przeszłości podstawowym lokalnym perymetrem zabezpieczeń była sieć, a większość lokalnych projektów zabezpieczeń używa sieci jako głównego punktu odniesienia zabezpieczeń. W przypadku wdrożeń PaaS lepiej jest rozważyć tożsamość jako podstawowy obwód zabezpieczeń.

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 będzie gdzieś w Internecie.

Na poniższej ilustracji pokazano, jak obwód zabezpieczeń ewoluował z obwodu sieci po obwód 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.

Tożsamość jako nowy obwód zabezpieczeń

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. Rozumiano, że celem elementu było wystawienie na widok publiczny w Internecie (web role) i że uwierzytelnianie stanowi nową granicę bezpieczeństwa (na przykład Azure SQL).

Nowoczesne rozwiązania w zakresie zabezpieczeń zakładają, że przeciwnik naruszył obwód sieci. W związku z tym, nowoczesne praktyki obronne skupiły 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

Poniżej przedstawiono najlepsze rozwiązania dotyczące zarządzania obwodem tożsamości.

Najlepsze rozwiązanie: najpierw należy rozważyć użycie tożsamości zarządzanych dla zasobów platformy Azure w celu bezpiecznego uzyskiwania dostępu do innych usług bez przechowywania poświadczeń. Szczegóły: Tożsamości zarządzane automatycznie zapewniają tożsamość aplikacji działających w usługach platformy Azure, umożliwiając im uwierzytelnianie w usługach obsługujących identyfikator Entra firmy Microsoft bez konieczności stosowania poświadczeń w kodzie lub plikach konfiguracji. Zmniejsza to ryzyko ujawnienia poświadczeń i upraszcza zarządzanie tożsamościami w przypadku 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, w którym klucze i wpisy tajne mogą być przechowywane w sprzętowych modułach zabezpieczeń (HSM). Usługa Azure Key Vault chroni klucze i tajne dane poprzez szyfrowanie kluczy uwierzytelniania, kluczy konta magazynu, kluczy szyfrowania danych, plików .pfx i haseł przy użyciu kluczy chronionych modułami 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 wpisów tajnych 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 deweloperów nie jest ekspertami w dziedzinie zabezpieczeń i prawdopodobnie nie zdaje sobie sprawy z subtelności i najnowszych zmian w zakresie uwierzytelniania i autoryzacji. Kod komercyjny (na przykład od firmy Microsoft) jest często poddawany szerokim analizom bezpieczeństwa.

Użyj uwierzytelniania wieloskładnikowego (MFA) i upewnij się, że metody uwierzytelniania wieloskładnikowego odporne na wyłudzanie informacji — takie jak passkeys, FIDO2 lub Certificate-Based Authentication (CBA) — są wymuszane za pomocą zasad 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.

W przypadku logowania do aplikacji użyj protokołu OpenID Connect (OIDC) z uwierzytelnianiem OAuth 2.0 za pośrednictwem identyfikatora Entra firmy Microsoft. Protokoły te zostały poddane szerokiej ocenie ekspertów i prawdopodobnie są implementowane w ramach bibliotek platformy dla 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, firma Microsoft utworzyła narzędzie do modelowania zagrożeń SDL. 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. Środki zaradcze nie będą działać 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

Usługa Azure App Service to oferta PaaS, która umożliwia tworzenie aplikacji internetowych i mobilnych dla dowolnej platformy lub urządzenia i łączenie 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.

Poniżej przedstawiono najlepsze rozwiązania dotyczące korzystania z usługi 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. Ponadto można również użyć łącza prywatnego (prywatnego punktu końcowego) i wyłączyć sieć publiczną, aby wymusić połączenie sieci prywatnej między usługą App Service i 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 FTP tam, gdzie to możliwe; Jeśli transfer plików jest konieczny, użyj protokołu FTPS, aby zapewnić bezpieczne, zaszyfrowane 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 wymagany jest transfer plików, włącz tylko protokół FTPS, który szyfruje zarówno poświadczenia, jak i dane podczas przesyłania.

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 for Cloud. Gdy usługa Defender for Cloud 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. Typowe wśród tych luk w zabezpieczeniach są ataki polegających na wstrzyknięciu kodu SQL i atakach skryptowych obejmujących wiele witryn. Zapobieganie takim atakom w kodzie aplikacji może być trudne i może wymagać rygorystycznej konserwacji, stosowania poprawek i monitorowania w wielu warstwach topologii aplikacji. Scentralizowana zapora aplikacji internetowej ułatwia zarządzanie zabezpieczeniami i zapewnia lepszą gwarancję administratorom aplikacji przed zagrożeniami lub 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 ochronę przed atakami DDoS IP dla ukierunkowanych, wrażliwych na koszty przypadków; wybierz pozycję Ochrona sieci przed atakami DDoS, aby uzyskać kompleksowe pokrycie 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. Pomaga zwiększyć czas pracy, powiadamiając o krytycznych problemach, aby można było je rozwiązać, zanim staną się problemami. Pomaga również wykrywać anomalie, które mogą być związane z zabezpieczeniami.

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

W tym artykule skupiliśmy się na zaletach zabezpieczeń wdrożenia paaS platformy Azure i najlepszych rozwiązań w zakresie zabezpieczeń dla aplikacji w chmurze. Następnie zapoznaj się z zalecanymi rozwiązaniami dotyczącymi zabezpieczania rozwiązań internetowych i mobilnych PaaS przy użyciu określonych usług platformy Azure. Zaczniemy od usług Azure App Service, Azure SQL Database i Azure Synapse Analytics oraz Azure Storage. W miarę udostępniania artykułów dotyczących zalecanych rozwiązań dotyczących innych usług platformy Azure linki będą dostępne na następującej liście:

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: